aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-09-09 20:39:48 -0500
committerCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-09-09 20:39:48 -0500
commit10c22ef344bc22ca62e916d30468e97e368ff99b (patch)
tree2c2306a572d5df70059b0924ebd22f158a88aef6
parente26a6405bd5916a2eb6bed47a02ccd5273716901 (diff)
system-manager for non-nixos machine ganymede
-rw-r--r--flake.nix17
-rw-r--r--hosts/ganymede/system.nix8
-rw-r--r--lib/nix-furnace/mkSystem.nix22
3 files changed, 40 insertions, 7 deletions
diff --git a/flake.nix b/flake.nix
index 2075adf..05970ce 100644
--- a/flake.nix
+++ b/flake.nix
@@ -19,6 +19,12 @@
inputs.nixpkgs.follows = "nixpkgs";
};
+ # for server that doesn't have nixos
+ system-manager = {
+ url = "github:numtide/system-manager";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+
hjem = {
url = "github:feel-co/hjem";
inputs.nixpkgs.follows = "nixpkgs";
@@ -26,19 +32,24 @@
};
outputs = inputs: let
- mkSystem = import ./lib/nix-furnace/mkSystem.nix;
+ inherit (import ./lib/nix-furnace/mkSystem.nix) mkNixosSystem mkSystemManagerSystem;
in {
- nixosConfigurations."mercury" = mkSystem {
+ nixosConfigurations."mercury" = mkNixosSystem {
inherit inputs;
hostname = "mercury";
username = "collin";
module_types = ["hjem" "nixos"];
};
- nixosConfigurations."jupiter" = mkSystem {
+ nixosConfigurations."jupiter" = mkNixosSystem {
inherit inputs;
hostname = "jupiter";
username = "collin";
module_types = ["hjem" "home" "nixos"];
};
+
+ systemConfigs."ganymede" = mkSystemManagerSystem {
+ inherit inputs;
+ hostanme = "ganymede";
+ };
};
}
diff --git a/hosts/ganymede/system.nix b/hosts/ganymede/system.nix
new file mode 100644
index 0000000..7eb2e74
--- /dev/null
+++ b/hosts/ganymede/system.nix
@@ -0,0 +1,8 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: {
+ nixpkgs.hostPlatform = "x86_64-linux";
+}
diff --git a/lib/nix-furnace/mkSystem.nix b/lib/nix-furnace/mkSystem.nix
index 3285f3a..cf14f4a 100644
--- a/lib/nix-furnace/mkSystem.nix
+++ b/lib/nix-furnace/mkSystem.nix
@@ -97,9 +97,23 @@ let
}
else {}
)
-
- # This is where we would add nix-on-droid modules
];
};
-in
- mkNixosSystem
+
+ mkSystemManagerSystem = {
+ inputs,
+ hostname,
+ }:
+ inputs.system-manager.lib.makeSystemConfig {
+ modules =
+ [../../modules/options.nix ../../hosts/${hostname}/system.nix]
+ ++ (listModules
+ |> (builtins.map (modName: [
+ (lazyImport ../../modules/${modName}/options.nix)
+ (lazyImport ../../modules/${modName}/system/default.nix)
+ ]))
+ |> my-lib.flatten);
+ };
+in {
+ inherit mkNixosSystem mkSystemManagerSystem;
+}