refactor: simplify module composition

This commit is contained in:
2026-04-22 02:35:26 +02:00
parent 3b6c42ebe3
commit 5eec5689f4
25 changed files with 615 additions and 448 deletions
+16 -25
View File
@@ -17,22 +17,17 @@ in
...
}:
let
terminalPackage = metaLib.resolvePackagePath {
terminal = metaLib.resolveUserTerminal {
inherit pkgs;
path = config.meta.host.users.kiri.terminalPackagePath;
user = config.meta.host.users.kiri;
};
in
{
assertions = [
{
assertion = terminalPackage != null;
message = "Unknown terminal package `${lib.showAttrPath config.meta.host.users.kiri.terminalPackagePath}` for user `kiri`.";
}
{
assertion = terminalPackage != null && lib.elem "terminfo" terminalPackage.outputs;
message = "Terminal package `${lib.showAttrPath config.meta.host.users.kiri.terminalPackagePath}` must provide a `terminfo` output for `orion`.";
}
];
assertions = metaLib.mkTerminalAssertions {
inherit terminal;
user = config.meta.host.users.kiri;
requireTerminfo = true;
};
users.users.kiri = {
linger = true;
@@ -43,15 +38,20 @@ in
environment.systemPackages = [
]
++ lib.optional (terminalPackage != null && lib.elem "terminfo" terminalPackage.outputs) (
lib.getOutput "terminfo" terminalPackage
);
++ lib.optional terminal.hasTerminfo (lib.getOutput "terminfo" terminal.package);
};
flake.modules.nixos.orion = metaLib.mkHost {
name = "orion";
users = {
inherit (metaLib.users) kiri;
kiri = {
account = metaLib.users.kiri;
homeImports = [
homeModules.shell
homeModules.git
homeModules.syncthing
];
};
};
imports = [
@@ -66,15 +66,6 @@ in
nixosModules.radicale
nixosModules.actual
nixosModules.gitea
(metaLib.mkHostUser {
account = metaLib.users.kiri;
needsPassword = false;
homeImports = [
homeModules.shell
homeModules.git
homeModules.syncthing
];
})
./_hardware.nix
./_disk.nix
];