Hardware: - New installer/hardware-db.sh: flat regex table mapping sys_vendor + product_name to nixos-hardware modules (Framework, Dell, Lenovo, Surface, ASUS, Apple T2, System76). - install.sh:select_hardware now auto-detects CPU vendor, GPU vendor, chassis type, and known model, then offers Accept / Add / Override. Manual menu retained as a fallback. - Fixes a latent bug where HARDWARE_MODULES used literal "\n" inside a heredoc, producing invalid Nix. Downstream flake: - Capture the running Nomarchy commit and pin `nomarchy.url` to it so the installed system can't drift onto a newer breaking main. - Prompt for a real hostname; nixosConfigurations.<hostname> replaces the generic .default. networking.hostName lands in system.nix. - Generated flake now derives a single `pkgs` from nixpkgs + Nomarchy's `overlays.default` and shares it between nixosSystem and the standalone homeManagerConfiguration so dotfile-fast-iteration with nomarchy-env-update stays separate from `nixos-rebuild` while still seeing Nomarchy packages. - `nix flake lock` runs in /mnt/etc/nixos before nixos-install so first boot consumes the resolved set. - Post-install, run home-manager switch inside `nixos-enter` via runuser so the user's first login already has dotfiles. Failure is non-fatal. Disk layout: - /boot bumped to 1 GiB (was 512 MiB; tight with multi-generation kernels). - New @snapshots subvolume at /.snapshots for snapper/btrbk/rollback. - LUKS passphrase moved from /tmp/secret.key to /dev/shm/nomarchy-luks.key (tmpfs), shredded after disko, LUKS_PASSWORD unset. Branding: - New core/system/branding.nix sets system.nixos.distroId = "nomarchy" and distroName = "Nomarchy". /etc/os-release now reports Nomarchy, so fastfetch and other os-release readers show the right name. Cleanup: - flake.nix exposes `overlays.default = nomarchyOverlay` for downstream use. - Trailing duplicated `main "$@"` + orphan `}` removed from install.sh. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
7.9 KiB
7.9 KiB