README.md
0c8fa3a2a270747f3dbb54fe8792f3f0aec997e3
· 1.7 KB · 44 lines
raw
| 1 | # nix-combined |
| 2 | |
| 3 | One flake, two targets: |
| 4 | |
| 5 | - `darwinConfigurations.RyanMac` - the mac system (nix-darwin + home-manager), |
| 6 | equivalent to what `nix-dotfiles` built. |
| 7 | - `homeConfigurations.ryan` - standalone home-manager for `x86_64-linux`, |
| 8 | meant to run *on top of* Guix System as the home-manager substitute for |
| 9 | what `guix-dotfiles/home-config/home-configuration.scm` used to fully own. |
| 10 | Guix still owns the system config, package management, and three home |
| 11 | services that need shepherd (pipewire, dbus, downloads-gc) - see |
| 12 | `MIGRATION.md`. |
| 13 | |
| 14 | `users/ryan/common.nix` holds everything shared by both (git, ssh, gpg-agent, |
| 15 | starship, zsh, zen-browser, neovim). `darwin.nix` and `linux.nix` hold the |
| 16 | platform-specific rest. |
| 17 | |
| 18 | ## Darwin |
| 19 | |
| 20 | ``` |
| 21 | sudo nix run --extra-experimental-features "nix-command flakes" github:nix-darwin/nix-darwin -- switch --flake .#RyanMac \ |
| 22 | --option "extra-substituters" "https://virby-nix-darwin.cachix.org" \ |
| 23 | --option "extra-trusted-public-keys" "virby-nix-darwin.cachix.org-1:z9GiEZeBU5bEeoDQjyfHPMGPBaIQJOOvYOOjGMKIlLo=" |
| 24 | ``` |
| 25 | |
| 26 | Subsequent rebuilds: `rebuild` (zsh alias) or |
| 27 | `sudo darwin-rebuild switch --flake ~/.config/nix/.` |
| 28 | |
| 29 | ## Linux (Guix) |
| 30 | |
| 31 | Requires `experimental-features = nix-command flakes` in |
| 32 | `~/.config/nix/nix.conf` (guix-dotfiles already symlinks this in). |
| 33 | |
| 34 | ``` |
| 35 | nix run --extra-experimental-features "nix-command flakes" home-manager -- switch --flake .#ryan |
| 36 | ``` |
| 37 | |
| 38 | Subsequent rebuilds: `rebuild` (zsh alias) or |
| 39 | `home-manager switch --flake ~/.config/home-manager#ryan`. |
| 40 | |
| 41 | See `MIGRATION.md` for what needs to change in `guix-dotfiles` for this to |
| 42 | slot in cleanly (symlink target, overlapping config entries to remove, the |
| 43 | zsh login-shell switch), what stays Guix-native and why, and what got |
| 44 | dropped as dead weight along the way. |