No description
Find a file
2026-08-05 17:42:25 -07:00
docs move kubernetes core network 2026-07-19 09:55:51 +08:00
modules clean up 2026-08-05 17:42:25 -07:00
sops Update secret penguin-age.key 2025-11-30 14:12:30 +08:00
vars vars: update via generator kubernetes-apiserver-crt (machine: nut-gc1) 2026-07-19 09:55:51 +08:00
.envrc move home manager configuration to machine 2025-11-04 13:43:16 +08:00
.gitignore add profiles 2026-07-21 15:17:20 +08:00
AGENTS.md add nvidia gpu configuration 2026-03-08 19:26:06 +08:00
flake.lock clean up 2026-08-05 17:42:25 -07:00
flake.nix clean up 2026-08-05 17:42:25 -07:00
flake.systems.nix replace numtide llm with my own 2026-07-26 01:51:25 +08:00
hosts.nix add profiles 2026-07-21 15:17:20 +08:00
README.md add profiles 2026-07-21 15:17:20 +08:00

Nix systems

Personal NixOS and nix-darwin configurations managed with flake-parts and Clan.

Structure

This repository follows the dendritic module pattern: flake.nix imports every Nix module below modules/ with import-tree, and the module system composes them.

  • hosts.nix contains deployment addresses and shared SSH public keys.
  • modules/profiles/ composes reusable system and Home Manager profiles.
  • modules/configurations/<machine>/ contains only machine-specific hardware, storage, networking, and service settings.
  • modules/kubernetes/ contains the Kubernetes cluster modules.
  • Other files under modules/ define focused reusable NixOS, Darwin, or Home Manager modules.

A machine is registered by defining either configurations.nixos.<name>.module or configurations.darwin.<name>.module. Its Clan machine class is derived from that declaration; hosts.nix only supplies deployment metadata.

Validation

nix flake check --no-build

For untracked module files, use path:. so Nix includes the whole working tree:

nix flake check --no-build path:.

Deployment

nix develop
clan machines update <machine-name>

See AGENTS.md for repository conventions and deployment safety rules.