created program option entries for all packages that needs continual state

This commit is contained in:
Leyla Becker 2025-06-02 22:47:01 -05:00
parent 5484f9ba04
commit 9fe35e74ad
21 changed files with 374 additions and 63 deletions

View file

@ -6,5 +6,6 @@
./i18n.nix
./openssh.nix
./continue.nix
./programs
];
}

View file

@ -0,0 +1,24 @@
{
lib,
pkgs,
config,
osConfig,
...
}: {
options.programs.anki = {
enable = lib.mkEnableOption "enable anki";
};
config = lib.mkIf config.programs.anki.enable (lib.mkMerge [
{
home.packages = with pkgs; [
anki
];
}
(
lib.mkIf osConfig.host.impermanence.enable {
# TODO: map impermanence for anki
}
)
]);
}

View file

@ -0,0 +1,24 @@
{
lib,
pkgs,
config,
osConfig,
...
}: {
options.programs.bitwarden = {
enable = lib.mkEnableOption "enable bitwarden";
};
config = lib.mkIf config.programs.bitwarden.enable (lib.mkMerge [
{
home.packages = with pkgs; [
bitwarden
];
}
(
lib.mkIf osConfig.host.impermanence.enable {
# TODO: map impermanence for bitwarden
}
)
]);
}

View file

@ -0,0 +1,24 @@
{
lib,
pkgs,
config,
osConfig,
...
}: {
options.programs.calibre = {
enable = lib.mkEnableOption "enable calibre";
};
config = lib.mkIf config.programs.calibre.enable (lib.mkMerge [
{
home.packages = with pkgs; [
calibre
];
}
(
lib.mkIf osConfig.host.impermanence.enable {
# TODO: map impermanence for calibre
}
)
]);
}

View file

@ -0,0 +1,17 @@
{...}: {
imports = [
./firefox.nix
./signal.nix
./bitwarden.nix
./makemkv.nix
./obs.nix
./anki.nix
./qbittorrent.nix
./discord.nix
./obsidian.nix
./prostudiomasters.nix
./idea.nix
./protonvpn.nix
./calibre.nix
];
}

View file

@ -0,0 +1,24 @@
{
lib,
pkgs,
config,
osConfig,
...
}: {
options.programs.discord = {
enable = lib.mkEnableOption "enable discord";
};
config = lib.mkIf config.programs.discord.enable (lib.mkMerge [
{
home.packages = with pkgs; [
discord
];
}
(
lib.mkIf osConfig.host.impermanence.enable {
# TODO: map impermanence for discord
}
)
]);
}

View file

@ -0,0 +1,3 @@
{...}: {
# TODO: map firefox impermanence
}

View file

@ -0,0 +1,24 @@
{
lib,
pkgs,
config,
osConfig,
...
}: {
options.programs.jetbrains.idea-community = {
enable = lib.mkEnableOption "enable idea-community";
};
config = lib.mkIf config.programs.jetbrains.idea-community.enable (lib.mkMerge [
{
home.packages = with pkgs; [
jetbrains.idea-community
];
}
(
lib.mkIf osConfig.host.impermanence.enable {
# TODO: map impermanence for idea-community
}
)
]);
}

View file

@ -0,0 +1,25 @@
{
lib,
pkgs,
config,
osConfig,
...
}: {
options.programs.makemkv = {
enable = lib.mkEnableOption "enable makemkv";
};
config = lib.mkIf config.programs.makemkv.enable (lib.mkMerge [
{
home.packages = with pkgs; [
makemkv
];
# TODO: write config file for makemkv
}
(
lib.mkIf osConfig.host.impermanence.enable {
# TODO: map impermanence for makemkv
}
)
]);
}

View file

@ -0,0 +1,24 @@
{
lib,
pkgs,
config,
osConfig,
...
}: {
options.programs.obs-studio = {
# enable = lib.mkEnableOption "enable obs";
};
config = lib.mkIf config.programs.obs-studio.enable (lib.mkMerge [
{
home.packages = with pkgs; [
obs-studio
];
}
(
lib.mkIf osConfig.host.impermanence.enable {
# TODO: map impermanence for obs
}
)
]);
}

View file

@ -0,0 +1,24 @@
{
lib,
pkgs,
config,
osConfig,
...
}: {
options.programs.obsidian = {
# enable = lib.mkEnableOption "enable obsidian";
};
config = lib.mkIf config.programs.obsidian.enable (lib.mkMerge [
{
home.packages = with pkgs; [
obsidian
];
}
(
lib.mkIf osConfig.host.impermanence.enable {
# TODO: map impermanence for obsidian
}
)
]);
}

View file

@ -0,0 +1,24 @@
{
lib,
pkgs,
config,
osConfig,
...
}: {
options.programs.prostudiomasters = {
enable = lib.mkEnableOption "enable prostudiomasters";
};
config = lib.mkIf config.programs.prostudiomasters.enable (lib.mkMerge [
{
home.packages = with pkgs; [
prostudiomasters
];
}
(
lib.mkIf osConfig.host.impermanence.enable {
# TODO: map impermanence for prostudiomasters
}
)
]);
}

View file

@ -0,0 +1,24 @@
{
lib,
pkgs,
config,
osConfig,
...
}: {
options.programs.protonvpn-gui = {
enable = lib.mkEnableOption "enable protonvpn";
};
config = lib.mkIf config.programs.protonvpn-gui.enable (lib.mkMerge [
{
home.packages = with pkgs; [
protonvpn-gui
];
}
(
lib.mkIf osConfig.host.impermanence.enable {
# TODO: map impermanence for protonvpn
}
)
]);
}

View file

@ -0,0 +1,24 @@
{
lib,
pkgs,
config,
osConfig,
...
}: {
options.programs.qbittorrent = {
enable = lib.mkEnableOption "enable qbittorrent";
};
config = lib.mkIf config.programs.qbittorrent.enable (lib.mkMerge [
{
home.packages = with pkgs; [
qbittorrent
];
}
(
lib.mkIf osConfig.host.impermanence.enable {
# TODO: map impermanence for qbittorrent
}
)
]);
}

View file

@ -0,0 +1,24 @@
{
lib,
pkgs,
config,
osConfig,
...
}: {
options.programs.signal-desktop-bin = {
enable = lib.mkEnableOption "enable signal";
};
config = lib.mkIf config.programs.signal-desktop-bin.enable (lib.mkMerge [
{
home.packages = with pkgs; [
signal-desktop-bin
];
}
(
lib.mkIf osConfig.host.impermanence.enable {
# TODO: map impermanence for signal
}
)
]);
}