nix-files

Configs that consolidate things to nix

default branch main
updated
section Personal
22e588d2 Document git-submodule wiring into guix-dotfiles in MIGRATION.md Ryan Schanzenbacher ·

22e588d2f7dc164806f01511b46a52d6e6852505 · 8 entries

NameTypeSize
MIGRATION.md file 12.6 KB
README.md file 1.7 KB
files dir
flake.lock file 8.1 KB
flake.nix file 3.0 KB
hosts dir
modules dir
users dir

nix-combined

One flake, two targets:

users/ryan/common.nix holds everything shared by both (git, ssh, gpg-agent, starship, zsh, zen-browser, neovim). darwin.nix and linux.nix hold the platform-specific rest.

Darwin

sudo nix run --extra-experimental-features "nix-command flakes" github:nix-darwin/nix-darwin -- switch --flake .#RyanMac \
  --option "extra-substituters" "https://virby-nix-darwin.cachix.org" \
  --option "extra-trusted-public-keys" "virby-nix-darwin.cachix.org-1:z9GiEZeBU5bEeoDQjyfHPMGPBaIQJOOvYOOjGMKIlLo="

Subsequent rebuilds: rebuild (zsh alias) or sudo darwin-rebuild switch --flake ~/.config/nix/.

Linux (Guix)

Requires experimental-features = nix-command flakes in ~/.config/nix/nix.conf (guix-dotfiles already symlinks this in).

nix run --extra-experimental-features "nix-command flakes" home-manager -- switch --flake .#ryan

Subsequent rebuilds: rebuild (zsh alias) or home-manager switch --flake ~/.config/home-manager#ryan.

See MIGRATION.md for what needs to change in guix-dotfiles for this to slot in cleanly (symlink target, overlapping config entries to remove, the zsh login-shell switch), what stays Guix-native and why, and what got dropped as dead weight along the way.