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
+13 -21
View File
@@ -38,18 +38,17 @@ in
...
}:
let
terminalPackage = metaLib.resolvePackagePath {
terminal = metaLib.resolveUserTerminal {
inherit pkgs;
path = config.meta.user.terminalPackagePath;
user = config.meta.user;
};
hasMainProgram = terminalPackage != null && terminalPackage ? meta.mainProgram;
baseSettings =
if hasMainProgram then
if terminal.hasMainProgram then
import ./_noctalia-config.nix {
inherit
lib
terminalPackage
;
terminalPackage = terminal.package;
}
else
{ };
@@ -57,16 +56,10 @@ in
{
imports = [ inputs.noctalia.homeModules.default ];
assertions = [
{
assertion = terminalPackage != null;
message = "Unknown terminal package `${lib.showAttrPath config.meta.user.terminalPackagePath}` for user `${config.meta.user.name}`.";
}
{
assertion = hasMainProgram;
message = "Terminal package `${lib.showAttrPath config.meta.user.terminalPackagePath}` must define `meta.mainProgram`.";
}
];
assertions = metaLib.mkTerminalAssertions {
inherit terminal;
user = config.meta.user;
};
programs.noctalia-shell = {
enable = true;
@@ -88,18 +81,17 @@ in
...
}:
let
terminalPackage = metaLib.resolvePackagePath {
terminal = metaLib.resolveUserTerminal {
inherit pkgs;
path = config.meta.user.terminalPackagePath;
user = config.meta.user;
};
hasMainProgram = terminalPackage != null && terminalPackage ? meta.mainProgram;
baseSettings =
if hasMainProgram then
if terminal.hasMainProgram then
import ./_noctalia-config.nix {
inherit
lib
terminalPackage
;
terminalPackage = terminal.package;
}
else
{ };
@@ -107,7 +99,7 @@ in
{
imports = [ homeModules.noctalia ];
programs.noctalia-shell.settings = lib.mkForce (
if hasMainProgram then mkPortableSettings baseSettings else { }
if terminal.hasMainProgram then mkPortableSettings baseSettings else { }
);
};
}