Skip to content

flake: collapse host boilerplate; single-source deploy-node identity/domain#497

Open
kclejeune wants to merge 4 commits into
masterfrom
claude/refactor-nix-mise-bootstrap-c65qkd
Open

flake: collapse host boilerplate; single-source deploy-node identity/domain#497
kclejeune wants to merge 4 commits into
masterfrom
claude/refactor-nix-mise-bootstrap-c65qkd

Conversation

@kclejeune

Copy link
Copy Markdown
Owner
  • mkNixosHost helper supplies the shared system/specialArgs/baseline
    plumbing so each nixosConfigurations block lists only what makes the
    host distinct
  • standalone home-manager pkgs import now reuses _lib.mkNixpkgsArgs
    instead of restating the allow-flags + overlay it centralizes
  • deploy-rs nodes derive hostname domain from the node's own
    site.tailnetDomain and sshUser from its primary user, dropping the
    re-hardcoded literals

Co-Authored-By: Claude Fable 5 [email protected]
Claude-Session: https://claude.ai/code/session_01WFseTk1bUBrN1gYAJk6PB7

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4ec976cdbc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread flake.nix
# that dotfiles.path and programs.nh.flake expect.
mise.bootstrap = {
enable = true;
repos."~/.nixpkgs".url = "https://github.com/kclejeune/system";

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Pin mise before enabling bootstrap repos

With the current flake lock, inputs.nixpkgs provides pkgs.mise 2026.6.13, but upstream only added path-keyed [bootstrap.repos] / mise bootstrap repos in v2026.6.14. Since the standalone Home Manager configs enable this repos table by default, a first home-manager switch there runs the older mise bootstrap --yes and will not clone ~/.nixpkgs, leaving the dotfiles/nh path that this block is meant to create absent unless the user manually updates mise or clones the repo. Please bump/override mise to a version with repo bootstrap support before relying on this table.

Useful? React with 👍 / 👎.

claude added 3 commits July 8, 2026 15:08
…domain

- mkNixosHost helper supplies the shared system/specialArgs/baseline
  plumbing so each nixosConfigurations block lists only what makes the
  host distinct
- standalone home-manager pkgs import now reuses _lib.mkNixpkgsArgs
  instead of restating the allow-flags + overlay it centralizes
- deploy-rs nodes derive hostname domain from the node's own
  site.tailnetDomain and sshUser from its primary user, dropping the
  re-hardcoded literals

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01WFseTk1bUBrN1gYAJk6PB7
…n syncthing

- shell.nix: remove the slinky shell-hook helper — both call sites were
  commented out, but the interpolation still rendered commented noise
  into every generated zshrc/bashrc
- dev.nix: drop clang + cmake from the always-on set; they contradict
  its 'no heavy compilers' contract and already ship on desktop hosts
  via dev-interactive (headless hosts lose them intentionally)
- darwin/syncthing.nix: delete — never enrolled by any host, declared a
  homeDir option its body never read, and its hand-rolled
  services.syncthing options would collide with the module nix-darwin
  now ships upstream the moment it was imported

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01WFseTk1bUBrN1gYAJk6PB7
New homeModules.mise renders mise's [bootstrap.*] tables
(https://mise.jdx.dev/bootstrap.html) from typed nix options —
packages, repos, shell activation, hooks, user settings, macOS
defaults, linux systemd units, plus freeform escape hatches — through
programs.mise.globalConfig, and runs 'mise bootstrap --yes' as a
home-manager activation step (after writeBoundary, non-fatal by
default so offline switches still succeed; --only/--skip/--update/
--force-dotfiles are exposed as options).

Enabled for the standalone home configurations, where it converges the
day-0 layer nix doesn't own — starting with the ~/.nixpkgs checkout
that dotfiles.path and programs.nh.flake already assume exists.

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01WFseTk1bUBrN1gYAJk6PB7
@kclejeune
kclejeune force-pushed the claude/refactor-nix-mise-bootstrap-c65qkd branch from 4ec976c to 31cd7a2 Compare July 8, 2026 19:10
@kclejeune
kclejeune force-pushed the claude/refactor-nix-mise-bootstrap-c65qkd branch from 82d6620 to 5489fc0 Compare July 8, 2026 19:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants