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

@ -12,41 +12,47 @@ in {
# See https://search.nixos.org/packages for all options
home.packages = lib.lists.optionals userConfig.isDesktopUser (
with pkgs; [
firefox
bitwarden
discord
makemkv
signal-desktop-bin
ungoogled-chromium
]
);
# Packages that need to be installed with some extra configuration
# See https://home-manager-options.extranix.com/ for all options
programs = {
# Let Home Manager install and manage itself.
home-manager.enable = true;
programs = lib.mkMerge [
{
# Let Home Manager install and manage itself.
home-manager.enable = true;
}
(lib.mkIf (config.user.isDesktopUser || config.user.isTerminalUser) {
git = {
enable = true;
userName = "Eve";
userEmail = "evesnrobins@gmail.com";
extraConfig.init.defaultBranch = "main";
};
git = {
enable = true;
userName = "Eve";
userEmail = "evesnrobins@gmail.com";
extraConfig.init.defaultBranch = "main";
};
openssh = {
enable = true;
hostKeys = [
{
type = "ed25519";
path = "${config.home.username}_${osConfig.networking.hostName}_ed25519";
}
];
};
})
(lib.mkIf userConfig.isDesktopUser {
vscode = {
enable = true;
package = pkgs.vscodium;
};
vscode = {
enable = true;
package = pkgs.vscodium;
};
openssh = {
hostKeys = [
{
type = "ed25519";
path = "${config.home.username}_${osConfig.networking.hostName}_ed25519";
}
];
};
};
firefox.enable = true;
bitwarden.enable = true;
discord.enable = true;
makemkv.enable = true;
signal-desktop-bin.enable = true;
})
];
};
}

View file

@ -45,10 +45,6 @@ in {
++ (
lib.lists.optionals hardware.directAccess.enable (with pkgs; [
#foss platforms
# TODO: move signal to package with impermanence
signal-desktop-bin
# TODO: move bitwarden to package with impermanence
bitwarden
ungoogled-chromium
libreoffice
inkscape
@ -57,42 +53,25 @@ in {
freecad
# cura
# kicad-small
# TODO: move makemkv to package with configs set and impermanence
makemkv
onionshare
# rhythmbox
# TODO: move obs to package with impermanence
(lib.mkIf hardware.graphicsAcceleration.enable obs-studio)
# wireshark
# rpi-imager
# fritzing
mfoc
tor-browser
anki
pdfarranger
calibre
qbittorrent
picard
# proprietary platforms
# TODO: move discord to package with impermanence
discord
# TODO: move obsidian to package with impermanence
obsidian
# TODO: move prostudiomasters to package with impermanence
prostudiomasters
(lib.mkIf hardware.graphicsAcceleration.enable davinci-resolve)
# development tools
# androidStudioPackages.canary
# TODO: move idea to package with impermanence and installed extensions
jetbrains.idea-community
qFlipper
# system tools
# TODO: move protonvpn to package with impermanence and installed extensions
protonvpn-gui
openvpn
noisetorch
@ -103,12 +82,35 @@ in {
])
)
);
programs = {
# Let Home Manager install and manage itself.
home-manager.enable = true;
bash.enable = true;
};
programs = lib.mkMerge [
{
# Let Home Manager install and manage itself.
home-manager.enable = true;
bash.enable = true;
}
(lib.mkIf (config.user.isDesktopUser || config.user.isTerminalUser) {
git.enable = true;
openssh.enable = true;
})
(lib.mkIf hardware.directAccess.enable {
anki.enable = true;
bitwarden.enable = true;
signal-desktop-bin.enable = true;
makemkv.enable = true;
obs-studio.enable = hardware.graphicsAcceleration.enable;
calibre.enable = true;
qbittorrent.enable = true;
discord.enable = true;
obsidian.enable = true;
prostudiomasters.enable = true;
jetbrains.idea-community.enable = true;
protonvpn-gui.enable = true;
})
(lib.mkIf (hardware.directAccess.enable && config.user.isDesktopUser) {
vscode.enable = true;
firefox.enable = true;
})
];
})
];
}

View file

@ -2,12 +2,10 @@
lib,
pkgs,
inputs,
config,
...
}: {
config = {
programs.firefox = {
enable = config.user.isDesktopUser;
profiles.leyla = {
settings = {
"browser.search.defaultenginename" = "Searx";

View file

@ -1,8 +1,7 @@
{config, ...}: {
{...}: {
config = {
programs = {
git = {
enable = config.user.isDesktopUser || config.user.isTerminalUser;
userName = "Leyla Becker";
userEmail = "git@jan-leila.com";
extraConfig.init.defaultBranch = "main";

View file

@ -6,7 +6,6 @@
config = {
programs = {
openssh = {
enable = config.user.isDesktopUser;
authorizedKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJHeItmt8TRW43uNcOC+eIurYC7Eunc0V3LGocQqLaYj leyla@horizon"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIILimFIW2exEH/Xo7LtXkqgE04qusvnPNpPWSCeNrFkP leyla@defiant"
@ -20,6 +19,5 @@
];
};
};
# TODO: impermanence module, prob in home-manager-modules?
};
}

View file

@ -26,8 +26,6 @@ in {
open-vsx = extensions.open-vsx;
vscode-marketplace = extensions.vscode-marketplace;
in {
enable = true;
package = pkgs.vscodium;
mutableExtensionsDir = false;