For all to be inspired by and/or judge me by, my dotfiles.
Find a file
2026-02-02 12:33:26 -05:00
.config defiant 2026-02-02 12:33:26 -05:00
scripts defiant 2026-02-02 12:33:26 -05:00
.gitconfig defiant 2026-02-02 12:33:26 -05:00
.gitignore Improve AI configuration and key management 2025-05-19 19:48:40 -04:00
.skhdrc Migrate Neovim to lazy.nvim and update dotfiles 2025-04-14 01:30:04 -04:00
.tmux-line.conf Add fish, tmux, vim, and git dotfiles; clean up 2019-08-15 00:44:46 -04:00
.tmux.conf Add new nvim packages and update config 2023-02-03 22:14:47 -05:00
.wezterm.lua defiant 2026-02-02 12:33:26 -05:00
.yabairc Add FZF and ALE keymappings to vimrc; change yabai window_topmost to on; 2020-01-21 19:51:32 -05:00
fish_universal_vars.fish Add rofi, update fish cfg/scripts, update nvim cfg, update wezterm cfg 2024-07-04 18:25:22 -04:00
format_btrfs defiant 2026-02-02 12:33:26 -05:00
greetd_niri.kdl defiant 2026-02-02 12:33:26 -05:00
gtkgreet.css defiant 2026-02-02 12:33:26 -05:00
install_arch defiant 2026-02-02 12:33:26 -05:00
install_utils defiant 2026-02-02 12:33:26 -05:00
README.md defiant 2026-02-02 12:33:26 -05:00
swim Swap bspwmrc to fish; refactor root-level scripts 2021-12-28 15:03:49 -08:00
sync defiant 2026-02-02 12:33:26 -05:00

mitchell's dotfiles

This mostly exists for my convenient bootstrapping onto new systems. I would generally recommend drawing from individual applications' configurations as inspiration for your own dotfiles. However, the included scripts should be generalized enough to work on anybody's machines.

This repo contains my preferred configurations for:

  • neovim
  • fish shell
  • git
  • tmux
  • wezterm (X11/macOS)
  • ghostty (X11/Wayland)
  • keepassxc
  • bspwm (X11)
  • sxhkd (X11)
  • Niri (Wayland)
  • yabaiwm (macOS)
  • skhd (macOS)

Scripts

sync

Dependencies

  • fish
  • git
  • rsync
  • curl

Description

Warning: This will overwrite any existing files by the same name.

Syncs all configuration files found in this repository to your home folder.

To run sync script using curl: curl https://raw.githubusercontent.com/mitchell/dotfiles/master/sync | fish

install_utils

Dependencies

  • git
  • fish

Description

Installs various CLI utilities based on OS availability. Supports Arch, Debian, Fedora, and macOS (brew). I recommend quickly reading what you're getting.

install_arch

Dependencies

  • fish

Description

Performs the final installation steps for Arch Linux once inside arch-chroot. This is a highly specific configuration that makes A LOT of assumptions.

The timezone, hostname, username, network client, and boot mode can be chosen at runtime.

Locale is assumed to be en_US.UTF-8.

The created user will be added to the wheel group and given sudo permission. The root user will be locked.

If you choose systemd-networkd as your network manager it only configures a single interface matching the glob en*.

If installing to a UEFI system, it will use the systemd-boot bootloader and the "Boot target" should be the root partition, like /dev/vda2. UEFI mode makes the assumption that the root partition is a BTRFS partition, with at least one subvolume called root.

If installing to a BIOS system (VMs), it will use the Grub bootloader and the "Boot target" should be the boot drive, like /dev/vda (not partition /dev/vda1). BIOS mode makes no assumptions about root filesystem type.