marleyos/modules/home/options/apps/default.nix

78 lines
1.7 KiB
Nix
Raw Normal View History

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;
default = pkgs.wezterm;
description = "The terminal emulator to use.";
2025-01-12 09:44:58 -08:00
};
browser = lib.mkOption {
type = lib.types.package;
default = pkgs.floorp;
description = "The browser to use.";
};
launcher = lib.mkOption {
type = lib.types.submodule {
options = {
package = lib.mkOption {
type = lib.types.package;
default =
if config.marleyos.wayland.hyprland.enable
then pkgs.wofi
else pkgs.rofi;
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;
};
};
}