No description
- CSS 84.7%
- Shell 11.2%
- Lua 4.1%
Token moved to settings.local.json (not tracked). MCP server now reads HA_TOKEN from the session env set in settings.local.json. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| autostart/.config/autostart | ||
| bash | ||
| btop/.config/btop | ||
| claude/.claude | ||
| cosmic/.config/cosmic | ||
| dconf/.config/dconf | ||
| fish/.config/fish | ||
| font-manager/.config/font-manager | ||
| fontconfig/.config/fontconfig | ||
| forge/.config/forge | ||
| FreeCAD/.config/FreeCAD | ||
| geary/.config/geary/account_01 | ||
| gedit/.config/gedit | ||
| ghostty/.config/ghostty | ||
| gitconfig | ||
| godot/.config/godot | ||
| gtk-3.0/.config/gtk-3.0 | ||
| gtk-4.0/.config/gtk-4.0 | ||
| gurk/.config/gurk | ||
| ironbar/.config/ironbar | ||
| kitty/.config/kitty | ||
| lf/.config/lf | ||
| micro/.config/micro | ||
| nautilus/.config/nautilus | ||
| neofetch/.config/neofetch | ||
| nnn/.config/nnn | ||
| nvim/.config/nvim | ||
| OpenSCAD/.config/OpenSCAD | ||
| pop-shell/.config/pop-shell | ||
| qalculate/.config/qalculate | ||
| r2modman/.config/r2modman | ||
| r2modmanPlus-local/.config/r2modmanPlus-local | ||
| scripts/.local/bin | ||
| ssh/.ssh | ||
| starship/.config | ||
| tmux | ||
| tmux-plugins/.tmux | ||
| touchegg/.config/touchegg | ||
| vlc/.config/vlc | ||
| VSCodium/.config/VSCodium | ||
| wezterm/.config/wezterm | ||
| yazi/.config/yazi | ||
| zed/.config/zed | ||
| .gitignore | ||
| install.sh | ||
| README.md | ||
jcrm's dotfiles
Personal dotfiles managed with GNU Stow.
Remote: ssh://git@git.lan.crabfactory.net/jcrm/dotfiles.git
Contents
| Category | Packages |
|---|---|
| Shells | bash, fish |
| Terminals | ghostty, kitty, wezterm |
| Multiplexer | tmux, tmux-plugins, tmux-command-palette |
| File Managers | lf, ranger, yazi, nnn, nautilus |
| Editors | micro, VSCodium, gedit, nvim, zed |
| Desktop | cosmic, pop-shell, dconf, gtk-3.0, gtk-4.0, autostart, ironbar |
| Theming | themes, wal, fontconfig, font-manager |
| Apps | FreeCAD, OpenSCAD, godot, vlc, qalculate, neofetch, touchegg, geary, gurk |
| Gaming | r2modman, r2modmanPlus-local, forge |
| Tools | ssh, claude, scripts, gitconfig, starship |
| System Monitor | btop |
Fresh Install
Prerequisites
# Debian/Ubuntu/Pop!_OS
sudo apt install git stow
# Fedora
sudo dnf install git stow
# Arch
sudo pacman -S git stow
Clone and Restore
# Clone the repo
git clone ssh://git@git.lan.crabfactory.net/jcrm/dotfiles.git ~/dotfiles
cd ~/dotfiles
# Stow everything
stow */
# Or stow specific packages
stow bash fish tmux ghostty
Post-Install
Tmux plugins:
# Start tmux, then press prefix + I (Ctrl+a I) to install plugins
tmux
SSH key: The SSH config is included but you'll need your keys in place:
ssh-keygen -t ed25519 -C "your@email.com" -f ~/.ssh/id_ed25519
# Add public key to git.lan.crabfactory.net
Day-to-Day Usage
Sync changes to remote
Since configs are symlinked, any changes you make in ~/.config/ etc. are automatically reflected in the repo:
cd ~/dotfiles
git add -A
git commit -m "Update configs"
git push
Pull latest from another machine
cd ~/dotfiles
git pull
# Symlinks already exist, no re-stowing needed for existing packages
# If new packages were added, stow them:
stow newpackage
Adding a new config
cd ~/dotfiles
# Create the stow package structure (mirrors home directory)
mkdir -p newapp/.config/newapp
# Move your existing config in
mv ~/.config/newapp/* newapp/.config/newapp/
# Create the symlink
stow newapp
# Commit
git add -A && git commit -m "Add newapp config" && git push
Removing a package
cd ~/dotfiles
stow -D packagename # Remove symlinks
rm -rf packagename # Delete from repo
git add -A && git commit -m "Remove packagename" && git push
Structure
Each package mirrors the home directory:
dotfiles/
├── bash/
│ ├── .bashrc
│ └── .profile
├── fish/
│ └── .config/
│ └── fish/
│ └── config.fish
├── tmux/
│ └── .tmux.conf
└── ghostty/
└── .config/
└── ghostty/
└── config
stow bash creates ~/.bashrc -> ~/dotfiles/bash/.bashrc.
Credentials & Secrets
Credentials are NOT stored in this repo. Use the backup/restore scripts:
# Before migration - backup credentials
./scripts/backup-credentials.sh ~/credential-backup
# After migration - restore credentials
./scripts/restore-credentials.sh /path/to/backup
What's backed up:
- SSH keys (
~/.ssh) - GPG keys (
~/.gnupg) - GNOME Keyring (
~/.local/share/keyrings) - Claude Code credentials
- Firefox logins/bookmarks
- Thunderbird mail