From 1be972048dd58218cd689ecb5cac562eb398b751 Mon Sep 17 00:00:00 2001 From: Jakub Stachurski Date: Sun, 17 Aug 2025 11:25:33 +0200 Subject: refreshed config --- home-modules/apps/default.nix | 126 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 home-modules/apps/default.nix (limited to 'home-modules/apps/default.nix') 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; [ + ]; + }) + ]; +} -- cgit v1.3.1