diff options
| author | Jakub Stachurski <j.stachurski@student.utwente.nl> | 2025-08-17 11:25:33 +0200 |
|---|---|---|
| committer | Jakub Stachurski <j.stachurski@student.utwente.nl> | 2025-08-17 11:25:33 +0200 |
| commit | 1be972048dd58218cd689ecb5cac562eb398b751 (patch) | |
| tree | 203f19ee01ad5fe28f2868e8c1451f9538e4ab12 /home-modules/apps/default.nix | |
| parent | 3cd59d4670711e34a50adea912c3b0894883e490 (diff) | |
refreshed config
Diffstat (limited to '')
| -rw-r--r-- | home-modules/apps/default.nix | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/home-modules/apps/default.nix b/home-modules/apps/default.nix new file mode 100644 index 0000000..20a3f33 --- /dev/null +++ b/home-modules/apps/default.nix @@ -0,0 +1,126 @@ +{lib, pkgs, inputs, config, ...}: +with lib; +let +cfg = config.homeapps.presets; +in +{ + imports = [ + ./nvim + ./desktop + ./zsh.nix + ]; + + options.homeapps.presets = { + base.enable = lib.mkOption { + type = lib.types.bool; + default = true; + description ="Enable basics for home-config"; + } ; + full.enable = lib.mkEnableOption "Enable everything" ; + email.enable = lib.mkEnableOption "Enable email-related config"; + browser.enable = lib.mkEnableOption "Enable the browser (librewolf)"; + comms.enable = lib.mkEnableOption "Enable communication-related config"; + utils.enable = lib.mkEnableOption "Enable utilities" ; + note-taking.enable = lib.mkEnableOption "Enable note taking apps"; + art.enable = lib.mkEnableOption "Enable art apps config"; + work.enable = lib.mkEnableOption "Enable research-related config"; + dev.enable = lib.mkEnableOption "Enable development apps"; + connectivity.enable = lib.mkEnableOption "Enable connectivity"; + multimedia.enable = lib.mkEnableOption "Enable multimedia apps"; + games.enable = lib.mkEnableOption "Enable games"; + }; + + + config = lib.mkMerge [ + (lib.mkIf cfg.full.enable { + homeapps.presets = { + base.enable = true; + email.enable = true; + browser.enable = true; + comms.enable = true; + utils.enable = true; + note-taking.enable = true; + art.enable = true; + work.enable = true; + dev.enable = true; + connectivity.enable = true; + multimedia.enable = true; + games.enable = true; + }; + }) + (lib.mkIf cfg.base.enable { + home.packages = with pkgs; [ + lm_sensors + ]; + homeapps.zsh.enable = true; + homeapps.nvim.enable = true; + }) + (lib.mkIf cfg.email.enable { + home.packages = with pkgs; [ + ]; + }) + (lib.mkIf cfg.comms.enable { + home.packages = with pkgs; [ + iamb + ]; + }) + (lib.mkIf cfg.utils.enable { + home.packages = with pkgs; [ + htop + btop + nmap + dig + ripgrep + unzip + unrar + sshfs + xdg-user-dirs + zsh + ranger + file + ]; + }) + (lib.mkIf cfg.note-taking.enable { + home.packages = with pkgs; [ ]; + # Todo force synthing to be on here + }) + (lib.mkIf cfg.work.enable { + home.packages = with pkgs; [ + ]; + }) + (lib.mkIf cfg.dev.enable { + home.packages = with pkgs; [ + cmake + ( hiPrio gcc) + gnumake + clang + rustup + pkg-config + ]; + homeapps.nvim.enable = true; + homesv.direnv.enable = true; + }) + (lib.mkIf cfg.connectivity.enable { + home.packages = with pkgs; [ + libsForQt5.kdeconnect-kde + syncthingtray + eduvpn-client + ]; + services.syncthing = { + enable = true; + }; + }) + (lib.mkIf cfg.multimedia.enable { + home.packages = with pkgs; [ + ani-cli + playerctl + ]; + + services.playerctld.enable = true; + }) + (lib.mkIf cfg.games.enable { + home.packages = with pkgs; [ + ]; + }) + ]; +} |
