nichts/modules/options/system/programs/default.nix

51 lines
1.5 KiB
Nix
Raw Normal View History

2024-07-20 13:18:01 +02:00
{lib, ...}: let
inherit (lib) mkEnableOption mkOption types;
in {
options.modules.system.programs = {
editors = {
helix.enable = mkEnableOption "Helix text editor";
kakoune.enable = mkEnableOption "Kakoune text editor";
};
discord.enable = mkEnableOption "Discord messenger";
spotify.enable = mkEnableOption "Spotify music client";
zathura.enable = mkEnableOption "Zathura pdf viewer";
2024-09-09 21:33:14 +02:00
nushell.enable = mkEnableOption "nushell";
2024-07-20 13:18:01 +02:00
terminals = {
foot.enable = mkEnableOption "Foot terminal emulator";
kitty.enable = mkEnableOption "Kitty terminal emulator";
};
git = {
signingKey = mkOption {
type = types.str;
2024-07-21 15:11:55 +02:00
default = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILPiRe9OH/VtWFWyy5QbAVcN7CLxr4zUtRCwmxD6aeN6";
2024-07-20 13:18:01 +02:00
description = "The default gpg key used for signing commits";
};
};
default = {
terminal = mkOption {
type = types.enum ["foot" "kitty"];
default = "foot";
};
fileManager = mkOption {
type = types.enum ["thunar" "dolphin" "nemo"];
default = "thunar";
};
browser = mkOption {
type = types.enum ["firefox" "librewolf" "chromium"];
default = "firefox";
};
editor = mkOption {
type = types.enum ["neovim" "helix" "emacs"];
default = "emacs";
};
launcher = mkOption {
type = types.enum ["anyrun" "rofi" "wofi"];
default = "anyrun";
};
};
};
}