2025-01-12 09:44:58 -08:00
|
|
|
{
|
|
|
|
lib,
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
system,
|
|
|
|
...
|
|
|
|
}: let
|
|
|
|
inherit (lib.snowfall.system) is-linux;
|
|
|
|
|
|
|
|
cfg = config.marleyos.apps;
|
|
|
|
in {
|
|
|
|
options.marleyos.apps = {
|
|
|
|
pinentry = lib.mkOption {
|
|
|
|
type = lib.types.package;
|
|
|
|
default = pkgs.pinentry-gtk2;
|
|
|
|
description = "The pinentry package to use.";
|
|
|
|
};
|
|
|
|
|
|
|
|
clipboard = lib.mkOption {
|
|
|
|
type = lib.types.package;
|
|
|
|
default =
|
|
|
|
if config.marleyos.wayland.hyprland.enable
|
|
|
|
then pkgs.wl-clipboard
|
|
|
|
else pkgs.clipboard-jh;
|
|
|
|
description = "The clipboard manager to use.";
|
|
|
|
};
|
|
|
|
|
|
|
|
terminal = lib.mkOption {
|
|
|
|
type = lib.types.package;
|
2025-01-12 13:34:02 -08:00
|
|
|
default = config.programs.wezterm.package;
|
2025-01-12 11:12:41 -08:00
|
|
|
description = "The terminal emulator to use.";
|
2025-01-12 09:44:58 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
browser = lib.mkOption {
|
|
|
|
type = lib.types.package;
|
2025-01-12 13:34:02 -08:00
|
|
|
default = config.programs.floorp.package;
|
2025-01-12 09:44:58 -08:00
|
|
|
description = "The browser to use.";
|
|
|
|
};
|
2025-01-12 11:12:41 -08:00
|
|
|
|
|
|
|
launcher = lib.mkOption {
|
|
|
|
type = lib.types.submodule {
|
|
|
|
options = {
|
|
|
|
package = lib.mkOption {
|
|
|
|
type = lib.types.package;
|
|
|
|
default =
|
|
|
|
if config.marleyos.wayland.hyprland.enable
|
2025-01-12 13:34:02 -08:00
|
|
|
then config.programs.wofi.package
|
|
|
|
else config.programs.rofi.package;
|
2025-01-12 11:12:41 -08:00
|
|
|
description = "The launcher to use.";
|
|
|
|
};
|
|
|
|
command = lib.mkOption {
|
|
|
|
type = lib.types.str;
|
|
|
|
default = "--show drun";
|
|
|
|
description = ''
|
|
|
|
The command appended after the launcher binary to run it.
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2025-01-12 09:44:58 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
config = lib.mkIf (is-linux system) {
|
|
|
|
home.packages = [
|
|
|
|
cfg.pinentry
|
|
|
|
cfg.clipboard
|
|
|
|
];
|
|
|
|
|
|
|
|
programs.rbw = lib.mkDefault {
|
|
|
|
settings.pinentry = cfg.pinentry;
|
|
|
|
};
|
|
|
|
|
|
|
|
services.gpg-agent = lib.mkDefault {
|
|
|
|
pinentryPackage = cfg.pinentry;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|