aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mkNixos.nix
diff options
context:
space:
mode:
authorGravatar Tom van der Lee <tom@vanderlee.io>2026-09-17 11:05:45 +0200
committerGravatar Tom van der Lee <tom@vanderlee.io>2026-09-17 11:05:45 +0200
commitae3fa667bda75f11881c9209dc67226f98bcfd95 (patch)
tree1c2b16d8a97342fa608a15583ecc85ff0ec968eb /lib/mkNixos.nix
downloaddesktop-flake-ae3fa667bda75f11881c9209dc67226f98bcfd95.tar.gz
desktop-flake-ae3fa667bda75f11881c9209dc67226f98bcfd95.tar.bz2
desktop-flake-ae3fa667bda75f11881c9209dc67226f98bcfd95.zip
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.
Diffstat (limited to 'lib/mkNixos.nix')
-rw-r--r--lib/mkNixos.nix21
1 files changed, 21 insertions, 0 deletions
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 @@
1{ inputs }:
2{ hostname, system ? "x86_64-linux", users ? [ "tom" ], extraModules ? [ ] }:
3inputs.nixpkgs.lib.nixosSystem {
4 inherit system;
5 specialArgs = { inherit inputs; };
6 modules = [
7 ../modules/nixos/common.nix
8 ../hosts/${hostname}/configuration.nix
9 inputs.home-manager.nixosModules.home-manager
10 {
11 home-manager.useGlobalPkgs = true;
12 home-manager.useUserHomeDirectory = true;
13 home-manager.users = builtins.listToAttrs (map
14 (u: {
15 name = u;
16 value = import ../users/${u}.nix;
17 })
18 users);
19 }
20 ] ++ extraModules;
21}