My personal dotfiles
  • Python 49%
  • CSS 11.9%
  • Lua 9.9%
  • Shell 7.2%
  • Vim Script 5.6%
  • Other 16.3%
Find a file
2026-05-31 23:36:34 -05:00
.claude udpating claude settings 2026-05-31 20:25:27 -05:00
.git-crypt Add 1 git-crypt collaborator 2025-10-17 16:02:01 -05:00
aerc/.config/aerc Removing accounts.conf 2023-05-21 13:16:52 -05:00
aerospace/.config/aerospace updating gaps in aerospace 2026-04-12 16:46:38 -05:00
alacritty/.config/alacritty Rearranging folders to work with gnu stow 2023-03-30 17:45:59 -05:00
art/.config/art Fixing various problems 2023-05-05 14:13:01 -05:00
awesome/.config/awesome Awesomewm 2025-04-18 14:17:41 -05:00
bash Adding vivid catppuccin theme and setting LS_COLORS later in shell initialization 2026-05-20 22:02:07 -05:00
bat/.config/bat Switching bat theme 2025-09-11 10:08:07 -05:00
binaries/.local/scripts adding reencode script 2026-05-29 14:50:02 -05:00
borders/.config/borders updating bordersrc 2025-11-04 22:25:11 -06:00
btop/.config/btop Updating btop conf 2026-05-22 23:19:03 -05:00
claude/.claude Removing claude.json 2025-11-04 14:55:26 -06:00
common/.config/common Silly graphical fetch when on wezterm 2026-05-27 10:23:50 -05:00
cosmic/.config/cosmic Final changes to fix gtk themeing for catppuccin 2026-05-17 18:20:33 -05:00
darktable updating darktablerc 2026-05-31 13:52:36 -05:00
direnv/.config/direnv Adding direnv and customizing starship for it 2024-08-07 15:07:20 -05:00
doom/.doom.d updating doom emacs config 2025-08-21 20:01:42 -05:00
dunst/.config/dunst Updating nixos config 2025-10-10 21:10:45 -05:00
fastfetch/.config/fastfetch changing fastfetch 2026-05-27 10:03:51 -05:00
firefox updating user.js for both zen and firefox 2025-08-28 10:03:38 -05:00
flameshot/.config/flameshot updatinmg flameshot 2026-02-17 18:37:33 -06:00
fonts Removing fonts and fixing font install script 2025-11-21 22:16:25 -06:00
git/.config/git adding new stows 2026-05-05 15:47:06 -05:00
glzr/.glzr changing to catppuccin 2026-05-14 14:55:30 -05:00
gnupg/.local/share/gnupg Adding ssh-support to GNUPG 2025-11-19 12:28:57 -06:00
goxlr-utility changing goxlir profiles 2026-05-31 20:57:31 -05:00
helix/.config/helix Updating helix 2024-01-26 07:57:47 -06:00
htop/.config/htop updatin htoprc 2026-02-26 22:54:23 -06:00
hypr Updating rules 2026-05-31 21:50:59 -05:00
i3/.config/i3 Updating dotfiles for nixos 2025-07-06 15:52:52 -05:00
icons/.local/share/icons Silly graphical fetch when on wezterm 2026-05-27 10:23:50 -05:00
khal/.config/khal Moving khal to the right folder 2024-09-16 13:52:29 -05:00
kitty/.config/kitty updating kitty config 2025-09-20 14:08:23 -05:00
lazygit/.config/lazygit Updating lazygit config 2025-01-14 12:49:42 -06:00
lf/.config/lf Adding lf config 2023-07-14 12:24:25 -05:00
logos/.local/share/logos Adding nixos logo 2025-04-27 16:25:20 -05:00
lsd/.config/lsd Adding catppucin theme for lsd 2026-05-20 21:36:06 -05:00
macchina/.config/macchina Updating macchine 2023-11-07 10:19:50 -06:00
metadata Adding metadata for PSDotFiles 2024-04-19 11:37:19 -05:00
mise/.config/mise Adding vivid 2026-05-20 22:05:12 -05:00
nix updating flake.lock 2026-05-31 23:36:34 -05:00
noctalia/.config/noctalia pinned apps 2026-05-31 20:25:49 -05:00
nvim/.config/nvim Adding himalaya 2026-05-29 17:00:51 -05:00
obs/.config/obs-studio/themes Adding obs themes 2026-05-30 19:33:31 -05:00
oh-my-posh/.config/oh-my-posh/themes Switching to > symbol 2024-06-07 14:15:34 -05:00
omarchy Updating waybar config 2025-11-07 21:35:30 -06:00
openrgb/.config/OpenRGB Adding openrgb 2026-05-28 16:51:02 -05:00
pgcli/.config/pgcli adding new stows 2026-05-05 15:47:06 -05:00
polybar/.config/polybar Making sure all scripts use XDG variables correctly 2026-05-13 14:47:11 -05:00
prettierd/.config Updatign global prettierrc 2024-02-08 16:31:47 -06:00
resticprofile/.config/resticprofile Renaming restic profiles 2025-12-15 14:47:28 -06:00
rmpc/.config/rmpc Adding rmpc 2025-07-04 17:39:28 -05:00
rofi/.config/rofi Updating to iosevka font 2025-11-08 00:20:20 -06:00
sesh/.config/sesh Adding new sesh 2024-09-23 16:46:31 -05:00
sketchybar/.config/sketchybar updating sketchbarrc to catppuccin 2026-05-24 22:24:29 -05:00
ssh/.ssh adding hosts to ssh config 2026-04-18 17:08:28 -05:00
starship/.config Adding nushell, xonsh and changing starship to catppuccin 2026-05-15 09:42:07 -05:00
startx Adding xinitrc 2025-01-16 17:08:33 -06:00
streamcontroller/.var/app/com.core447.StreamController/data Updating noctalia/zen files 2026-05-27 08:36:31 -05:00
superfile/.config/superfile Adding superfile config 2025-10-01 20:25:40 -05:00
systemd/.config/systemd/user Messing about with more gnupg forwaring WIP 2025-11-21 20:29:50 -06:00
terminfo/.config/terminfo Moving terminfo file 2023-05-25 16:44:16 -05:00
tmux/.config/tmux Making sure all scripts use XDG variables correctly 2026-05-13 14:47:11 -05:00
vdirsyncer/.config/vdirsyncer Adding icloud mirror 2024-12-17 10:45:40 -06:00
vesktop/.config/vesktop Migrating to stylix 2026-05-17 17:14:02 -05:00
vim/.config/vim Trying to change neovide fonts 2026-05-28 22:15:01 -05:00
vscode/.config/Code nix configs for vscode 2026-05-25 14:46:04 -05:00
walker/.config/walker Updating nixos config 2025-10-10 21:10:45 -05:00
wallpaper/.local/share/wallpapers Adding wallpaper 2026-05-17 17:32:47 -05:00
waybar/.config/waybar Updating nixos configs 2026-01-28 19:24:23 -06:00
wezterm/.config/wezterm fixing tabline 2026-05-14 14:51:48 -05:00
wiki-tui/.config/wiki-tui Rearranging folders to work with gnu stow 2023-03-30 17:45:59 -05:00
windows Updating zen themes 2026-05-15 09:57:43 -05:00
wofi/.config/wofi Updating wofi config 2026-04-13 16:07:08 -05:00
wsl Updating resticprofile 2025-12-15 14:29:40 -06:00
yasb/.config/yasb changing to catppuccin 2026-05-14 14:55:30 -05:00
yazi/.config/yazi kde portal 2026-05-29 23:31:39 -05:00
zed/.config/zed Final changes to fix gtk themeing for catppuccin 2026-05-17 18:20:33 -05:00
zellij/.config/zellij Updating zellij 2024-04-24 15:38:47 -05:00
zen/.config/zen Removing devPixelsPerPx 2026-05-29 17:02:11 -05:00
zsh Adding vivid catppuccin theme and setting LS_COLORS later in shell initialization 2026-05-20 22:02:07 -05:00
.editorconfig Adding editorconfig 2024-12-09 16:54:18 -06:00
.gitattributes Adding .gitattributes for git-crypt 2025-08-15 13:35:28 -05:00
.gitignore Ignoring some zen files 2026-04-09 19:25:27 -05:00
.gitmodules Removingn submodules from .gitmodules 2025-10-04 00:00:11 -05:00
.luarc.json Enable lua type hints 2025-03-31 14:27:40 -05:00
.stylua.toml Updating LSP to format files properly 2023-03-23 12:11:15 -05:00
CHANGELOG.md Updating to hyprland 0.55 2026-05-21 11:13:53 -05:00
CLAUDE.md Updating CLAUDE.md 2025-07-23 10:05:05 -05:00
docker-compose.yml Fixing docker-compose yaml 2025-03-31 14:41:49 -05:00
Dockerfile Updating to node 24 2025-06-18 20:54:26 -05:00
install Adding skips for windows and macos while on linux 2026-05-05 15:46:52 -05:00
install-fonts Removing fonts and fixing font install script 2025-11-21 22:16:25 -06:00
install-tools Removing some stuff from install-tools 2026-03-25 11:25:01 -05:00
README.md adding README 2026-05-05 15:47:33 -05:00
selene.toml Updating LSP to format files properly 2023-03-23 12:11:15 -05:00
start.sh Fixing this to not use the readonly variables UID and GID 2025-02-20 11:53:20 -06:00
vim.toml Updating LSP to format files properly 2023-03-23 12:11:15 -05:00

Dotfiles

Personal dotfiles managed with GNU Stow. Each directory is a stow package that gets symlinked into $HOME.

Usage

# Install everything
./install

# Install a specific package
stow -v -R <package> -t "$HOME"

# Remove a package's symlinks
stow -v -D <package> -t "$HOME"

# Dry run
stow -v -n -R <package> -t "$HOME"

Platform Notes

The install script detects the current platform and skips packages that don't apply:

Platform Skipped packages
Linux / NixOS aerospace/, sketchybar/, borders/ (macOS only)
Linux / macOS yasb/ (Windows only)
All firefox/, nix/, syncthing/, wsl/, systemd/, resticprofile/, goxlr-utility/, metadata/

Stow Packages

Shell & Terminal

Package Description
zsh/ Zsh config — modular setup with plugins, completions, vi mode, tool integrations (mise, direnv, zoxide)
bash/ Bash config — .bash_profile and shared config
common/ Shared shell scripts sourced by multiple shells — aliases, env vars, path setup, fzf, fetch, utils
tmux/ tmux config with TPM (Tmux Plugin Manager) and plugins
zellij/ Zellij terminal workspace manager config
starship/ Starship cross-shell prompt config
oh-my-posh/ Oh My Posh prompt theme engine config
terminfo/ Terminal capability database entries for custom terminals
direnv/ direnv .envrc hook config

Text Editors & IDEs

Package Description
nvim/ Neovim config — Lua-based with lazy.nvim, LSP for 23+ languages, 100+ plugins
vim/ Traditional Vim config with vim-plug
helix/ Helix modal editor config
vscode/ VS Code settings, keybindings, and extensions list
zed/ Zed code editor settings and keymap
prettierd/ Prettier code formatter config (prettierrc.json)

Terminal Emulators

Package Description
alacritty/ Alacritty GPU-accelerated terminal config
kitty/ Kitty GPU-accelerated terminal config
wezterm/ WezTerm terminal config — appearance, keybindings, domains, tabs
ghostty/ Ghostty terminal emulator config

Window Managers & Desktop

Package Description
hypr/ Hyprland Wayland compositor — keybinds, rules, animations, monitors
cosmic/ COSMIC desktop environment config — 214 config files
waybar/ Waybar status bar config — layout, modules, themes (gruvbox/catppuccin)
awesome/ AwesomeWM config (kept for potential X11 use)
i3/ i3 tiling window manager config (kept for potential X11 use)
polybar/ Polybar status bar for i3/X11 (kept for potential X11 use)
wofi/ Wofi Wayland app launcher config
rofi/ Rofi app launcher/switcher config
walker/ Walker application launcher config
dunst/ Dunst notification daemon config
dmux/ dmux tmux session layout manager config
sesh/ sesh tmux session manager config

macOS Only

Package Description
aerospace/ AeroSpace tiling window manager for macOS
sketchybar/ SketchyBar macOS status bar replacement
borders/ JankyBorders window border highlight for macOS

Windows Only

Package Description
yasb/ YASB (Yet Another Status Bar) for Windows 11
glzr/ Glazewm tiling window manager for Windows (also Zebar status bar)

File Managers

Package Description
yazi/ Yazi terminal file manager config
lf/ lf terminal file manager config
superfile/ superfile terminal file manager config

Development Tools

Package Description
git/ Git config and global ignore rules
lazygit/ Lazygit TUI git client config
mise/ mise-en-place runtime version manager config
direnv/ direnv environment variable manager config
pgcli/ pgcli PostgreSQL CLI config

Email & Calendar

Package Description
aerc/ aerc terminal email client config
khal/ khal terminal calendar config
vdirsyncer/ vdirsyncer CalDAV/CardDAV sync tool config

System Utilities

Package Description
btop/ btop++ system resource monitor config
htop/ htop interactive process viewer config
bat/ bat (cat replacement) config and themes
lsd/ lsd (ls replacement) config
fastfetch/ fastfetch system info display config
macchina/ macchina system info display config
flameshot/ Flameshot screenshot tool config
ssh/ SSH keys and config (encrypted via git-crypt)
gnupg/ GnuPG config

Music & Media

Package Description
rmpc/ rmpc MPD music player TUI config
ncmpcpp/ ncmpcpp MPD music player TUI config

Hardware

Package Description
goxlr-utility/ GoXLR audio mixer daemon config (ignored by install, manual stow)

Appearance

Package Description
art/ ASCII art themes — nyancat, pusheen, gruvbox, supermario, etc.
fonts/ Custom font files installed to ~/.local/share/fonts
wallpaper/ Wallpaper images
logos/ Logo/icon assets

Applications

Package Description
vesktop/ Vesktop Discord client config and themes
zen/ Zen browser user chrome and config
claude/ Claude Code settings
doom/ Doom Emacs config (~/.doom.d)

Platform-Specific (Not Stowed)

Package Description
nix/ NixOS flake configs for all hosts — nzxt, nzxt-wsl, nixos-dev
wsl/ Windows Subsystem for Linux specific scripts and config
windows/ Windows-specific scripts and utilities
firefox/ Firefox profile and user chrome (manual setup — complex profile paths)
systemd/ User systemd service files (managed separately)
syncthing/ Syncthing config (contains certs, managed separately)
resticprofile/ Restic backup profiles (managed separately)
omarchy/ Omarchy desktop environment config (not currently active)

Scripts

Script Description
install Main setup script — stows all packages, installs zsh plugins, fixes SSH permissions
install-fonts Installs fonts from the fonts/ package to ~/.local/share/fonts
install-tools Installs additional CLI tools not managed by Nix
start.sh Quick start script

Non-Stow Directories

Directory Description
metadata/ Repository metadata (not stowed)
binaries/ Compiled/downloaded binaries stowed to ~/.local/bin
streamcontroller/ StreamDeck StreamController config

Encryption

SSH keys and other sensitive files are encrypted with git-crypt. Run git-crypt unlock after cloning (requires the key).

Development

Test changes in Docker without affecting your real system:

docker compose up --build -d homedir
docker compose exec homedir zsh
docker compose down