Skip to content

fredrikaverpil/dotfiles

Repository files navigation

dotfiles 🍩

screenshot

Personal dotfiles using Nix for reproducible system/package management and GNU Stow for dotfile symlinking.

Quickstart

Nix

Note

  • This requires having Nix installed. See the Nix README.
  • The flake.nix is designed to set up the machine based on its hostname.
# Rebuild system + packages + dotfiles (reproducible, uses flake.lock)
./rebuild.sh

# Update ALL flake inputs + upgrade uv tools + upgrade bun packages
./rebuild.sh --update

# Update unstable inputs + upgrade uv tools + upgrade bun packages
./rebuild.sh --update-unstable

# Dotfiles only (no Nix rebuild)
./rebuild.sh --stow

Dotfiles

Dotfiles are managed with GNU Stow, not Nix:

  • Edit files in stow/ directory and run stow
  • Changes are immediately active (no rebuild needed)
  • Nix runs stow commands during home-manager activation
# Manual stow (if needed)
cd ~/.dotfiles/stow
stow --target="$HOME" --restow shared "$(uname -s)"

Shell

The shell entrypoint is stow/shared/.zshrc, which sources stow/shared/.zshrc_user. The user file loads the shell configuration chain:

  1. shell/exports.sh — PATH (including shell/bin/ utils), globals, env vars
  2. shell/aliases.sh — shell aliases
  3. shell/sourcing.sh — tool initialization, plugins, completions

See Project config for details on shell initialization, direnv, and per-project tooling.

Other READMEs and references

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Contributors