about summary refs log tree commit diff stats
path: root/flake/nixosConfigurations/default.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--flake/nixosConfigurations/default.nix78
1 files changed, 78 insertions, 0 deletions
diff --git a/flake/nixosConfigurations/default.nix b/flake/nixosConfigurations/default.nix
new file mode 100644
index 00000000..e5aa8020
--- /dev/null
+++ b/flake/nixosConfigurations/default.nix
@@ -0,0 +1,78 @@
+# vim: ts=2
+{
+  system,
+  inputs,
+  ...
+}: let
+  sysLib = import ../../lib {
+    inherit pkgs;
+    inherit (inputs) shell-library;
+  };
+  lib = inputs.nixpkgs.lib.extend (_: _: {
+    inherit (sysLib) makeShellScriptWithLibrary;
+  });
+
+  inherit (inputs.nixpkgs.lib) nixosSystem;
+
+  pkgs = import inputs.nixpkgs {
+    inherit system;
+    config = {
+      allowUnfreePredicate = pkg:
+        builtins.elem (lib.getName pkg) [
+          "steam"
+          "steam-original"
+        ];
+    };
+  };
+  homeManagerConfig = {
+    home-manager = {
+      useGlobalPkgs = true;
+      useUserPackages = true;
+      users.soispha = import ./home-manager;
+      extraSpecialArgs = {
+        inherit pkgs;
+        inherit
+          (inputs)
+          user_js
+          system
+          neovim_config
+          impermanence
+          snap-sync
+          ;
+      };
+    };
+  };
+  defaultModules = [
+    inputs.agenix.nixosModules.default
+
+    inputs.home-manager.nixosModules.home-manager
+    homeManagerConfig
+  ];
+in {
+  # full systems
+  tiamat = nixosSystem {
+    inherit system;
+    specialArgs = {inherit inputs pkgs;};
+    modules =
+      [
+        ./hosts/tiamat/configuration.nix
+      ]
+      ++ defaultModules;
+  };
+  mammun = nixosSystem {
+    inherit system;
+    specialArgs = {inherit inputs pkgs;};
+    modules =
+      [
+        ./hosts/mammun/configuration.nix
+      ]
+      ++ defaultModules;
+  };
+
+  # minimal ones
+  spawn = nixosSystem {
+    inherit system;
+    specialArgs = inputs;
+    modules = [./hosts/spawn/configuration.nix];
+  };
+}