From ae3fa667bda75f11881c9209dc67226f98bcfd95 Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Thu, 17 Sep 2026 11:05:45 +0200 Subject: Add cross-platform Nix flake bootstrap Adds a flake providing shared modules for NixOS and standalone home-manager, a copyable NixOS host template, and the OpenSpec tooling/change scaffolding used to plan this work. --- lib/mkNixos.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 lib/mkNixos.nix (limited to 'lib/mkNixos.nix') diff --git a/lib/mkNixos.nix b/lib/mkNixos.nix new file mode 100644 index 0000000..00f19a0 --- /dev/null +++ b/lib/mkNixos.nix @@ -0,0 +1,21 @@ +{ inputs }: +{ hostname, system ? "x86_64-linux", users ? [ "tom" ], extraModules ? [ ] }: +inputs.nixpkgs.lib.nixosSystem { + inherit system; + specialArgs = { inherit inputs; }; + modules = [ + ../modules/nixos/common.nix + ../hosts/${hostname}/configuration.nix + inputs.home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserHomeDirectory = true; + home-manager.users = builtins.listToAttrs (map + (u: { + name = u; + value = import ../users/${u}.nix; + }) + users); + } + ] ++ extraModules; +} -- cgit v1.3