Fold dotfiles-nixos into this repository #1

Merged
alexion merged 32 commits from nixos-migration into main 2026-07-19 09:30:46 -04:00
4 changed files with 10 additions and 18 deletions
Showing only changes of commit cfe8d4ff9f - Show all commits

View File

@@ -1,10 +1,8 @@
{ ... }: { ... }:
# neogaia — Dell XPS 13 9380 laptop. # neogaia — Dell XPS 13 9380 laptop.
# #
# Minimum viable Host: enough to evaluate and build the system toplevel. The # The filesystems and hardware profile below are placeholder values, not the
# real disk layout (disko: LUKS + btrfs + zram), the CachyOS kernel, networking, # machine's real encrypted layout.
# and the terminal Modules arrive in later tasks; the placeholders below are
# replaced by disko in task 0002.
{ {
imports = [ ./hardware-configuration.nix ]; imports = [ ./hardware-configuration.nix ];
@@ -13,8 +11,7 @@
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
# Placeholder filesystems so the toplevel builds; superseded by the disko # Placeholder label-based filesystems.
# layout in task 0002.
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-label/nixos"; device = "/dev/disk/by-label/nixos";
fsType = "ext4"; fsType = "ext4";

View File

@@ -1,7 +1,6 @@
{ lib, modulesPath, ... }: { lib, modulesPath, ... }:
# Placeholder hardware profile — regenerated on the target machine at install # Placeholder hardware profile for the XPS 13: the host platform and the initrd
# time (`nixos-generate-config` / `disko-install`). Carries only enough for the # modules the machine needs to evaluate and boot.
# toplevel to evaluate: the host platform and the XPS 13's initrd modules.
{ {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];

View File

@@ -15,8 +15,8 @@ let
# --- Auto-loader --------------------------------------------------------- # --- Auto-loader ---------------------------------------------------------
# Recursively collect every `.nix` file under `dir`, returned as a flat list # Recursively collect every `.nix` file under `dir`, returned as a flat list
# of paths suitable for a module `imports`. No null-placeholder traversal # of paths suitable for a module `imports`: a directory recurses, a `.nix`
# hack: a directory recurses, a `.nix` file is taken, anything else is skipped. # file is taken, anything else is skipped.
collectNixFiles = collectNixFiles =
dir: dir:
flatten ( flatten (

View File

@@ -23,10 +23,8 @@ in
type = types.str; type = types.str;
default = "alexion"; default = "alexion";
description = '' description = ''
The primary interactive user this Host is built for. An explicit option The primary interactive user this Host is built for. Drives both the
with no impure environment lookup, so the config is reproducible and system account and the home-manager user in lockstep.
honest about who the user is. Drives both the system account and the
home-manager user in lockstep.
''; '';
}; };
description = mkOption { description = mkOption {
@@ -55,9 +53,7 @@ in
]; ];
environment.systemPackages = [ pkgs.git ]; environment.systemPackages = [ pkgs.git ];
# Primary user, in wheel. The bootstrap password is set by hand at install # Primary user, in wheel. No password is set here.
# time and never committed; moving it to a sops-backed hashedPasswordFile is
# the first post-boot task (out of scope for the MVI).
users.users.${user.name} = { users.users.${user.name} = {
isNormalUser = true; isNormalUser = true;
description = user.description; description = user.description;