nichts/modules/options/system/programs.mod.nix
Bloxx12 e641dfa114
treewide: format using nixfmt
Signed-off-by: Bloxx12 <charlie@charlieroot.dev>
Change-Id: I6a6a69641c36f9763e104087a559c148d0449f00
2025-07-20 02:14:32 +02:00

72 lines
1.6 KiB
Nix

{ lib, ... }:
let
inherit (lib.types) str enum;
inherit (lib.options) mkEnableOption mkOption;
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";
nushell.enable = mkEnableOption "nushell";
terminals = {
foot.enable = mkEnableOption "Foot terminal emulator";
kitty.enable = mkEnableOption "Kitty terminal emulator";
};
git = {
signingKey = mkOption {
type = str;
default = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILPiRe9OH/VtWFWyy5QbAVcN7CLxr4zUtRCwmxD6aeN6";
description = "The default gpg key used for signing commits";
};
};
default = {
terminal = mkOption {
type = enum [
"foot"
"kitty"
];
default = "foot";
};
fileManager = mkOption {
type = enum [
"thunar"
"dolphin"
"nemo"
];
default = "thunar";
};
browser = mkOption {
type = enum [
"firefox"
"librewolf"
"chromium"
];
default = "firefox";
};
editor = mkOption {
type = enum [
"neovim"
"helix"
"emacs"
];
default = "emacs";
};
launcher = mkOption {
type = enum [
"anyrun"
"rofi"
"wofi"
];
default = "anyrun";
};
};
};
}