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

73 lines
1.6 KiB
Nix
Raw Permalink Normal View History

{ lib, ... }:
let
inherit (lib.types) str enum;
inherit (lib.options) mkEnableOption mkOption;
in
{
2024-07-20 13:18:01 +02:00
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 = 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 = enum [
"foot"
"kitty"
];
2024-07-20 13:18:01 +02:00
default = "foot";
};
fileManager = mkOption {
type = enum [
"thunar"
"dolphin"
"nemo"
];
2024-07-20 13:18:01 +02:00
default = "thunar";
};
browser = mkOption {
type = enum [
"firefox"
"librewolf"
"chromium"
];
2024-07-20 13:18:01 +02:00
default = "firefox";
};
editor = mkOption {
type = enum [
"neovim"
"helix"
"emacs"
];
2024-07-20 13:18:01 +02:00
default = "emacs";
};
launcher = mkOption {
type = enum [
"anyrun"
"rofi"
"wofi"
];
2024-07-20 13:18:01 +02:00
default = "anyrun";
};
};
};
}