Managed with GNU Stow.
Install git and stow through your distribution's package manager.
# Fedora
sudo dnf install git stowgit clone git@github.com:timotah/dotfiles.git ~/dotfiles
cd ~/dotfiles
./bootstrap.sh
./stow-all.sh
./check.shTo choose only some packages instead of all of them, use:
./stow-select.shgit clone git@github.com:timotah/dotfiles.git ~/dotfiles
cd ~/dotfiles
./switchover.sh
./check.shswitchover.sh backs up your current config and replaces it with symlinks into this repo.
| Stow package | Contents |
|---|---|
shell |
.bashrc, .bash_profile |
git |
.gitconfig |
nvim |
Neovim config (Git submodule, timotah/nvim-config) |
ghostty |
Ghostty terminal config |
starship |
Starship prompt config |
fontconfig |
Font aliases |
dunst |
Notification daemon |
walker |
Application launcher |
elephant |
Custom power + screenshot menus for Walker |
sway |
Window manager config |
swaylock |
Lock screen config |
waybar |
Status bar |
gtk |
GTK 3/4 theme settings |
themes |
Nordic GTK theme (vendored) |
scripts |
pick-color, screenshot-save |
systemd-user |
Walker + Elephant services |
wallpapers |
Background images |
| Script | Purpose |
|---|---|
bootstrap.sh |
Detect distro and install packages |
stow-all.sh |
Symlink all packages into $HOME |
stow-select.sh |
Interactively choose which packages to symlink |
unstow-all.sh |
Remove all symlinks |
check.sh |
Verify commands, fonts, and symlinks |
switchover.sh |
Back up live configs and activate Stow |
- This repo uses a Git submodule for Neovim.
stow-all.shandswitchover.shinitialize it automatically, but if you clone manually, rungit submodule update --init --recursive. starshipandautotiling-rsare not in the default Fedora repositories. They must be installed separately if you want them.power-profiles-daemonandpapirus-icon-themeare intentionally left out of the main setup. Add them later if needed.- The Nordic GTK theme is vendored in the repo, so no separate package install is needed.
Edit files directly inside ~/dotfiles. Most changes take effect immediately because the live files are symlinks.
After changing a service file:
systemctl --user daemon-reload
systemctl --user restart elephant.service walker.serviceAfter changing Sway config:
# Mod+Shift+cCommit changes regularly:
cd ~/dotfiles
git add -A
git commit -m "..."If you want to add power profile support or Papirus notification icons later, create small install scripts or package entries and keep them in the repo.