From 0c8fa3a2a270747f3dbb54fe8792f3f0aec997e3 Mon Sep 17 00:00:00 2001 From: Ryan Schanzenbacher Date: Mon, 3 Aug 2026 01:22:44 -0400 Subject: Initial commit: combined darwin + guix-linux home-manager flake Supersedes nix-dotfiles (darwin) and guix-dotfiles' ad-hoc nix-home-manager flake (linux). See README.md/MIGRATION.md. --- README.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..8476171 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# nix-combined + +One flake, two targets: + +- `darwinConfigurations.RyanMac` - the mac system (nix-darwin + home-manager), + equivalent to what `nix-dotfiles` built. +- `homeConfigurations.ryan` - standalone home-manager for `x86_64-linux`, + meant to run *on top of* Guix System as the home-manager substitute for + what `guix-dotfiles/home-config/home-configuration.scm` used to fully own. + Guix still owns the system config, package management, and three home + services that need shepherd (pipewire, dbus, downloads-gc) - see + `MIGRATION.md`. + +`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. -- cgit v1.3.1