Compare commits

...

1 commit

Author SHA1 Message Date
087f679e67 add modifiable homeManager 2026-02-18 23:56:05 +10:00
5 changed files with 66 additions and 52 deletions

View file

@ -54,6 +54,7 @@
base = null;
modules = [];
args = Terminal {};
homeManager = null;
groups = Terminal {};
nodes = Terminal {};
@ -192,12 +193,17 @@ in {
...
}: let
nixosDecl = let
homeManager =
if node.homeManager != null
then node.homeManager
else nexus.homeManager;
userArgs = nexus.args // node.args;
ceruleanArgs = {
inherit root base;
inherit (node) system;
_cerulean = {
inherit inputs userArgs ceruleanArgs;
inherit inputs userArgs ceruleanArgs homeManager;
specialArgs = userArgs // ceruleanArgs;
};
};
@ -219,9 +225,9 @@ in {
self.nixosModules.default
(findImport (root + "/hosts/${nodeName}"))
inputs.home-manager.nixosModules.default
# inputs.microvm.nixosModules.microvm
]
++ (homeManager.nixosModules.default or [])
++ (getGroupModules root nodeName node)
++ node.modules
++ nexus.modules;

View file

@ -38,6 +38,8 @@ in rec {
modules = [];
args = Terminal {};
homeManager = null;
base = null;
deploy = {

View file

@ -17,14 +17,18 @@
_cerulean,
...
} @ args: {
imports = [
imports =
[
# user configuration
(import (root + "/nixpkgs.nix"))
# options declarations
(import ./nixpkgs.nix (args // {contextName = "hosts";}))
./home-manager.nix
];
]
++ (
if _cerulean.homeManager != null
then [./home-manager.nix]
else []
);
environment.systemPackages = with _cerulean.inputs; [
deploy-rs.packages.${system}.default

81
flake.lock generated
View file

@ -3,7 +3,9 @@
"deploy-rs": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": "nixpkgs",
"nixpkgs": [
"nixpkgs"
],
"utils": "utils"
},
"locked": {
@ -58,6 +60,27 @@
"type": "github"
}
},
"microvm": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"spectrum": "spectrum"
},
"locked": {
"lastModified": 1771365290,
"narHash": "sha256-1XJOslVyF7yzf6yd/yl1VjGLywsbtwmQh3X1LuJcLI4=",
"owner": "microvm-nix",
"repo": "microvm.nix",
"rev": "789c90b164b55b4379e7a94af8b9c01489024c18",
"type": "github"
},
"original": {
"owner": "microvm-nix",
"repo": "microvm.nix",
"type": "github"
}
},
"nix-github-actions": {
"inputs": {
"nixpkgs": [
@ -105,38 +128,6 @@
}
},
"nixpkgs": {
"locked": {
"lastModified": 1743014863,
"narHash": "sha256-jAIUqsiN2r3hCuHji80U7NNEafpIMBXiwKlSrjWMlpg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bd3bac8bfb542dbde7ffffb6987a1a1f9d41699f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1768305791,
"narHash": "sha256-AIdl6WAn9aymeaH/NvBj0H9qM+XuAuYbGMZaP0zcXAQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1412caf7bf9e660f2f962917c14b1ea1c3bc695e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1768323494,
"narHash": "sha256-yBXJLE6WCtrGo7LKiB6NOt6nisBEEkguC/lq/rP3zRQ=",
@ -152,7 +143,7 @@
"type": "github"
}
},
"nixpkgs_3": {
"nixpkgs_2": {
"locked": {
"lastModified": 1767313136,
"narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=",
@ -171,7 +162,7 @@
"nt": {
"inputs": {
"nix-unit": "nix-unit",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_2",
"systems": "systems_2"
},
"locked": {
@ -191,12 +182,28 @@
"root": {
"inputs": {
"deploy-rs": "deploy-rs",
"nixpkgs": "nixpkgs_2",
"nixpkgs-unstable": "nixpkgs-unstable",
"microvm": "microvm",
"nixpkgs": "nixpkgs",
"nt": "nt",
"systems": "systems_3"
}
},
"spectrum": {
"flake": false,
"locked": {
"lastModified": 1759482047,
"narHash": "sha256-H1wiXRQHxxPyMMlP39ce3ROKCwI5/tUn36P8x6dFiiQ=",
"ref": "refs/heads/main",
"rev": "c5d5786d3dc938af0b279c542d1e43bce381b4b9",
"revCount": 996,
"type": "git",
"url": "https://spectrum-os.org/git/spectrum"
},
"original": {
"type": "git",
"url": "https://spectrum-os.org/git/spectrum"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,

View file

@ -23,11 +23,6 @@
nt.url = "github:cry128/nt";
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
deploy-rs = {
url = "github:serokell/deploy-rs";
inputs.nixpkgs.follows = "nixpkgs";