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 | |
| parent | 3cd59d4670711e34a50adea912c3b0894883e490 (diff) | |
refreshed config
Diffstat (limited to 'home-modules/apps')
| -rw-r--r-- | home-modules/apps/default.nix | 126 | ||||
| -rw-r--r-- | home-modules/apps/desktop/default.nix | 100 | ||||
| -rw-r--r-- | home-modules/apps/desktop/floorp.nix | 2 | ||||
| -rw-r--r-- | home-modules/apps/desktop/ghidra.nix | 3 | ||||
| -rw-r--r-- | home-modules/apps/desktop/wine.nix | 7 | ||||
| -rw-r--r-- | home-modules/apps/nvim/default.nix | 61 | ||||
| -rw-r--r-- | home-modules/apps/zsh.nix | 29 |
7 files changed, 328 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; [ + ]; + }) + ]; +} diff --git a/home-modules/apps/desktop/default.nix b/home-modules/apps/desktop/default.nix new file mode 100644 index 0000000..3a06860 --- /dev/null +++ b/home-modules/apps/desktop/default.nix @@ -0,0 +1,100 @@ +{lib, pkgs, config ,hostconfig, ...}: +let + cfg = config.homeapps.presets; +in +{ + imports = [ + ./floorp.nix + ]; + + config = lib.mkIf hostconfig.addons.desktop.enable or false (lib.mkMerge [ + (lib.mkIf cfg.base.enable { + home.packages = with pkgs; [ + # Base + evince + kitty + mpv + #Theme + qt6Packages.qt6ct + kdePackages.qtstyleplugin-kvantum + (catppuccin-kvantum.override { + accent = "pink"; + variant = "mocha"; + }) + ]; + }) + (lib.mkIf cfg.email.enable { + home.packages = with pkgs; [ + thunderbird + ]; + }) + (lib.mkIf cfg.comms.enable { + home.packages = with pkgs; [ + element-desktop + vesktop + ]; + }) + (lib.mkIf cfg.utils.enable { + home.packages = with pkgs; [ + kdePackages.filelight + qalculate-qt + gparted + ]; + }) + (lib.mkIf cfg.note-taking.enable { + home.packages = with pkgs; [ obsidian ]; + # Todo force synthing to be on here + }) + (lib.mkIf cfg.art.enable { + home.packages = with pkgs; [ + krita + inkscape + ]; + }) + (lib.mkIf cfg.browser.enable { + home.packages = with pkgs; [ + librewolf + ]; + }) + (lib.mkIf cfg.work.enable { + home.packages = with pkgs; [ + libreoffice-qt6-fresh + zotero + ]; + }) + (lib.mkIf cfg.dev.enable { + home.packages = with pkgs; [ + hugo + wireshark-qt + ]; + }) + (lib.mkIf cfg.connectivity.enable { + home.packages = with pkgs; [ + libsForQt5.kdeconnect-kde + syncthingtray + eduvpn-client + ]; + services.syncthing = { + tray = { + enable = true; + command = "syncthingtray --wait"; + }; + }; + }) + (lib.mkIf cfg.multimedia.enable { + home.packages = with pkgs; [ + ani-cli + vlc + spotify + ]; + }) + (lib.mkIf cfg.games.enable { + home.packages = with pkgs; [ + # Games + prismlauncher + openttd + anki-bin + ]; + }) + ]); +} diff --git a/home-modules/apps/desktop/floorp.nix b/home-modules/apps/desktop/floorp.nix new file mode 100644 index 0000000..2d8cadb --- /dev/null +++ b/home-modules/apps/desktop/floorp.nix @@ -0,0 +1,2 @@ +{pkgs, config, ...}: { +} diff --git a/home-modules/apps/desktop/ghidra.nix b/home-modules/apps/desktop/ghidra.nix new file mode 100644 index 0000000..7bbcd0a --- /dev/null +++ b/home-modules/apps/desktop/ghidra.nix @@ -0,0 +1,3 @@ +{pkgs, ...}: +{ +} diff --git a/home-modules/apps/desktop/wine.nix b/home-modules/apps/desktop/wine.nix new file mode 100644 index 0000000..4aa00b6 --- /dev/null +++ b/home-modules/apps/desktop/wine.nix @@ -0,0 +1,7 @@ +{pkgs, config, lib, ...}: +{ + home.packages = with pkgs; [ + wineWowPackages.waylandFull + winetricks + ]; +} diff --git a/home-modules/apps/nvim/default.nix b/home-modules/apps/nvim/default.nix new file mode 100644 index 0000000..64c9619 --- /dev/null +++ b/home-modules/apps/nvim/default.nix @@ -0,0 +1,61 @@ +{ pkgs, config, lib,...}: +let +ts_ls=pkgs.typescript-language-server; +vue_ls=pkgs.vue-language-server; +in { + options.homeapps.nvim = { + enable = lib.mkEnableOption "Enables neovim configuration"; + }; + + config = lib.mkIf config.homeapps.nvim.enable { + programs.neovim = { + enable = true; + defaultEditor = true; + viAlias = true; + vimAlias = true; + vimdiffAlias = true; + withPython3 = true; + withNodeJs = true; + withRuby = true; + + coc.enable = false; + plugins = [ + ]; + }; + + home.file."./.config/nvim/lua/wilkuu/init.lua".text = '' + require("wilkuu.set") + require("wilkuu.remap") + ''; + + home.file."./.config/nvim/lua/wilkuu/nix.lua".text = '' + return { + vue_ts_plugin = "${lib.getBin vue_ls}/lib/node_modules/@vue/language-server/node_modules/@vue/typescript-plugin/" + } + ''; + + home.sessionPath = [ + "/home/wilkuu/.npm/bin/" + ]; + + home.packages = with pkgs; [ + lua + lua-language-server + gopls + go + typescript + nodejs_22 + rustup + nil + statix + nixfmt-rfc-style + # phpactor + pyright + nodePackages.intelephense + texlive.combined.scheme-medium + texlab + mermaid-cli + ] ++ [ ts_ls vue_ls]; + + }; +} diff --git a/home-modules/apps/zsh.nix b/home-modules/apps/zsh.nix new file mode 100644 index 0000000..b979a83 --- /dev/null +++ b/home-modules/apps/zsh.nix @@ -0,0 +1,29 @@ +{config ,pkgs, lib, ...}: { + options.homeapps.zsh = { + enable = lib.mkEnableOption "Enable ZSH shell"; + }; + + config = lib.mkIf config.homeapps.zsh.enable { + + programs.zsh = { + enable = true; + enableCompletion = true; + oh-my-zsh = { + enable = true; + theme = "clean"; + }; + plugins = [ + { + name = "zsh-nix-shell"; + file = "nix-shell.plugin.zsh"; + src = pkgs.fetchFromGitHub { + owner = "chisui"; + repo = "zsh-nix-shell"; + rev = "v0.8.0"; + sha256 = "1lzrn0n4fxfcgg65v0qhnj7wnybybqzs4adz7xsrkgmcsr0ii8b7"; + }; + } + ]; + }; + }; +} |
