refactor default apps and add walker
This commit is contained in:
+8
-66
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user