refactor default apps and add walker

This commit is contained in:
2026-05-06 19:32:37 +02:00
parent be1a9b7852
commit d6878abc61
10 changed files with 161 additions and 299 deletions
+8 -66
View File
@@ -81,64 +81,6 @@ let
}
);
desktopApplicationType = lib.types.submodule (
{ config, ... }:
{
options = {
package = lib.mkOption {
type = lib.types.package;
};
command = lib.mkOption {
type = lib.types.str;
default = lib.getExe config.package;
defaultText = lib.literalExpression "lib.getExe config.package";
};
desktopEntryName = lib.mkOption {
type = lib.types.str;
};
desktopId = lib.mkOption {
type = lib.types.str;
default = "${config.desktopEntryName}.desktop";
defaultText = lib.literalExpression ''"${config.desktopEntryName}.desktop"'';
};
};
}
);
launcherType = lib.types.submodule (
{ config, ... }:
{
options = {
package = lib.mkOption {
type = lib.types.package;
};
command = lib.mkOption {
type = lib.types.str;
default = lib.getExe config.package;
defaultText = lib.literalExpression "lib.getExe config.package";
};
commands = {
open = lib.mkOption {
type = lib.types.listOf lib.types.str;
};
files = lib.mkOption {
type = lib.types.listOf lib.types.str;
};
dmenu = lib.mkOption {
type = lib.types.listOf lib.types.str;
};
};
};
}
);
displayType = lib.types.submodule (
{ ... }:
{
@@ -255,20 +197,20 @@ in
config.flake.modules.homeManager.meta =
{ ... }:
{
options.meta.desktop.browser = lib.mkOption {
type = desktopApplicationType;
options.meta.desktop.browserCommand = lib.mkOption {
type = lib.types.str;
};
options.meta.desktop.fileManager = lib.mkOption {
type = desktopApplicationType;
options.meta.desktop.fileManagerCommand = lib.mkOption {
type = lib.types.str;
};
options.meta.desktop.terminal = lib.mkOption {
type = desktopApplicationType;
options.meta.desktop.terminalCommand = lib.mkOption {
type = lib.types.str;
};
options.meta.desktop.launcher = lib.mkOption {
type = launcherType;
options.meta.desktop.launcherCommand = lib.mkOption {
type = lib.types.str;
};
options.meta.pinentry.package = lib.mkOption {