summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorRyan Schanzenbacher <ryan@rschanz.org>2026-08-03 01:22:44 -0400
committerRyan Schanzenbacher <ryan@rschanz.org>2026-08-03 01:22:44 -0400
commit0c8fa3a2a270747f3dbb54fe8792f3f0aec997e3 (patch)
tree6f94ff3aeea2af859c7c166e01a8e73002017893 /README.md
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.
Diffstat (limited to 'README.md')
-rw-r--r--README.md44
1 files changed, 44 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..8476171
--- /dev/null
+++ b/README.md
@@ -0,0 +1,44 @@
1# nix-combined
2
3One 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,
15starship, zsh, zen-browser, neovim). `darwin.nix` and `linux.nix` hold the
16platform-specific rest.
17
18## Darwin
19
20```
21sudo 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
26Subsequent rebuilds: `rebuild` (zsh alias) or
27`sudo darwin-rebuild switch --flake ~/.config/nix/.`
28
29## Linux (Guix)
30
31Requires `experimental-features = nix-command flakes` in
32`~/.config/nix/nix.conf` (guix-dotfiles already symlinks this in).
33
34```
35nix run --extra-experimental-features "nix-command flakes" home-manager -- switch --flake .#ryan
36```
37
38Subsequent rebuilds: `rebuild` (zsh alias) or
39`home-manager switch --flake ~/.config/home-manager#ryan`.
40
41See `MIGRATION.md` for what needs to change in `guix-dotfiles` for this to
42slot in cleanly (symlink target, overlapping config entries to remove, the
43zsh login-shell switch), what stays Guix-native and why, and what got
44dropped as dead weight along the way.