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.