From 4daef71117a818904e14e0c2514371ccf0312999 Mon Sep 17 00:00:00 2001 From: Cookiez Date: Tue, 9 Dec 2025 12:52:01 +0100 Subject: [PATCH] Split packages into multiple files for easier management. --- modules/configuration.nix | 2 +- modules/default.nix | 5 -- modules/packages.nix | 134 -------------------------------- modules/packages/cli.nix | 19 +++++ modules/packages/default.nix | 9 +++ modules/packages/desktop.nix | 62 +++++++++++++++ modules/packages/essentials.nix | 40 ++++++++++ modules/packages/flatpak.nix | 20 +++++ 8 files changed, 151 insertions(+), 140 deletions(-) delete mode 100644 modules/packages.nix create mode 100644 modules/packages/cli.nix create mode 100644 modules/packages/default.nix create mode 100644 modules/packages/desktop.nix create mode 100644 modules/packages/essentials.nix create mode 100644 modules/packages/flatpak.nix diff --git a/modules/configuration.nix b/modules/configuration.nix index 0e4570b..2e3f155 100644 --- a/modules/configuration.nix +++ b/modules/configuration.nix @@ -30,7 +30,7 @@ ./boot-splash.nix ./zsh.nix ./neovim.nix - ./packages.nix + ./packages #./portainer.nix ]; diff --git a/modules/default.nix b/modules/default.nix index 13d3045..af63278 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -2,11 +2,6 @@ { imports = [ ./configuration.nix - #./firefox.nix - #./boot-splash.nix - #./zsh.nix - #./neovim.nix - #./packages.nix #./hardware-configuration.nix ../plasma/plasma.nix diff --git a/modules/packages.nix b/modules/packages.nix deleted file mode 100644 index e1724e1..0000000 --- a/modules/packages.nix +++ /dev/null @@ -1,134 +0,0 @@ -{config, pkgs, libs, inputs, nix-flatpak, ...}: -{ - environment.systemPackages = with pkgs; [ - #Essentials (CLI Only) - wget #A tool for quickly downloading things from the Web - micro-with-xclip #Micro text editor with xclip for clipboard - javaPackages.compiler.openjdk25 #Java Development Kit 23 - python312 #Python 3.12 - python312Packages.pip #Pip for Python 3.12 - python312Packages.cmake #The CMake tool to manage project build configurations - fastfetch #A utility to see information about your machine - btop #A replacement for htop to see your machines resources - git #Git ... no need to explain - efibootmgr - zip #A utility for ZIP archives - unzip #A utility for ZIP archives - rar #A utility for RAR archives - gnutar #A utility for .tar archives - cron #A tool to set up commands to run scheduled - tmux #A tool to let command windows contiune to run in the background - home-manager #A package to also edit the user Configuration, like with nix - konsave #A package to transfer the look and feel of KDE Plasma to other machines - ocs-url - kdePackages.plasma-workspace - kdePackages.kdialog - openssh #SSH - zoxide #Alternatice to cd, browse files - fzf-zsh #Search for file names - coreutils-full - multipath-tools - docker - docker-compose - plymouth - mesa - fprintd - nh - whois - - #Programming - #jetbrains.pycharm-community #The PyCharm IDE to edit Python code - #jetbrains.idea-community #The IntelliJ IDE to edit Java code - #jetbrains.clion #The CLion IDE to edit and compile c/c++ code - jetbrains-toolbox - #racket #The racket Programming language, with DrRacket IDE, for University (*Not* because it's my favourite) - rustup #Rust Programming Toolchain - #go #Go Programming Language - gcc - pkg-config - vscode #Editor for all kinds of programms - nodejs_22 - - #Hochschule - postgresql - dbeaver-bin - sqlite - - #Desktop Applications - drawio - #jetbrains.datagrip - ryubing - vlc - #steam - #heroic - lutris - #putty Need to find alternative as it sucks on linux - mission-center - trayscale - spotify - rpi-imager - kdePackages.yakuake - atlauncher - #discord - vesktop - wineWowPackages.stagingFull - winetricks - wasistlos #Whatsapp - #obs-studio - #i2p - gparted #Disk partition Manager - #rustdesk - realvnc-vnc-viewer - eddie #AirVPN desktop client - chromium #For Youtube app to work - kdePackages.bluez-qt - moonlight-qt - kitty - wmctrl #To Force windows into fullscreen - kdePackages.dolphin - persepolis #Download Manager - libreoffice-still - kdePackages.kservice - qbittorrent - waydroid #Android - grim - - #CLI tools - pdftk - yt-dlp - tailscale - speedtest-cli - #duplicati - #ollama - cloudflare-warp - ddrescue - texliveFull #LaTeX PDF maker - lazygit - gtypist - powertop - file - ]; - - nixpkgs.config.permittedInsecurePackages = [ - "dotnet-sdk-6.0.428" - "dotnet-runtime-6.0.36" - ]; - - services.flatpak = { - enable = true; - - remotes = [ - { - name = "flathub"; - location = "https://dl.flathub.org/repo/flathub.flatpakrepo"; - } - ]; - packages = [ - { - appId = "org.vinegarhq.Sober"; - origin = "flathub"; - #commit = "e28fd81675b0871614ccdc8fc66c6da6761dd11333a65900a0451edf07ef0ea6"; - } - ]; - }; -} diff --git a/modules/packages/cli.nix b/modules/packages/cli.nix new file mode 100644 index 0000000..5a9929f --- /dev/null +++ b/modules/packages/cli.nix @@ -0,0 +1,19 @@ +{config, pkgs, libs, inputs, ...}: +{ + environment.systemPackages = with pkgs; [ + #CLI tools + pdftk + yt-dlp + tailscale + speedtest-cli + #duplicati + #ollama + cloudflare-warp + ddrescue + texliveFull #LaTeX PDF maker + lazygit + gtypist + powertop + file + ]; +} diff --git a/modules/packages/default.nix b/modules/packages/default.nix new file mode 100644 index 0000000..9932529 --- /dev/null +++ b/modules/packages/default.nix @@ -0,0 +1,9 @@ +{ ... }: +{ + imports = [ + ./desktop.nix + ./cli.nix + ./essentials.nix + ./flatpak.nix + ]; +} diff --git a/modules/packages/desktop.nix b/modules/packages/desktop.nix new file mode 100644 index 0000000..380446c --- /dev/null +++ b/modules/packages/desktop.nix @@ -0,0 +1,62 @@ +{config, pkgs, libs, inputs, ...}: +{ + environment.systemPackages = with pkgs; [ + + #Programming + #jetbrains.pycharm-community #The PyCharm IDE to edit Python code + #jetbrains.idea-community #The IntelliJ IDE to edit Java code + #jetbrains.clion #The CLion IDE to edit and compile c/c++ code + jetbrains-toolbox + #racket #The racket Programming language, with DrRacket IDE, for University (*Not* because it's my favourite) + rustup #Rust Programming Toolchain + #go #Go Programming Language + gcc + pkg-config + vscode #Editor for all kinds of programms + nodejs_22 + + #Hochschule + postgresql + dbeaver-bin + sqlite + + #Desktop Applications + drawio + #jetbrains.datagrip + ryubing + vlc + #steam + #heroic + lutris + #putty Need to find alternative as it sucks on linux + mission-center + trayscale + spotify + rpi-imager + kdePackages.yakuake + atlauncher + #discord + vesktop + wineWowPackages.stagingFull + winetricks + wasistlos #Whatsapp + #obs-studio + #i2p + gparted #Disk partition Manager + #rustdesk + realvnc-vnc-viewer + eddie #AirVPN desktop client + chromium #For Youtube app to work + kdePackages.bluez-qt + moonlight-qt + kitty + wmctrl #To Force windows into fullscreen + kdePackages.dolphin + persepolis #Download Manager + libreoffice-still + kdePackages.kservice + qbittorrent + waydroid #Android + grim + ]; +} diff --git a/modules/packages/essentials.nix b/modules/packages/essentials.nix new file mode 100644 index 0000000..69c745f --- /dev/null +++ b/modules/packages/essentials.nix @@ -0,0 +1,40 @@ +{config, pkgs, libs, inputs, nix-flatpak, ...}: +{ + environment.systemPackages = with pkgs; [ + + #Essentials (CLI Only) + wget #A tool for quickly downloading things from the Web + micro-with-xclip #Micro text editor with xclip for clipboard + javaPackages.compiler.openjdk25 #Java Development Kit 23 + python312 #Python 3.12 + python312Packages.pip #Pip for Python 3.12 + python312Packages.cmake #The CMake tool to manage project build configurations + fastfetch #A utility to see information about your machine + btop #A replacement for htop to see your machines resources + git #Git ... no need to explain + efibootmgr + zip #A utility for ZIP archives + unzip #A utility for ZIP archives + rar #A utility for RAR archives + gnutar #A utility for .tar archives + cron #A tool to set up commands to run scheduled + tmux #A tool to let command windows contiune to run in the background + home-manager #A package to also edit the user Configuration, like with nix + konsave #A package to transfer the look and feel of KDE Plasma to other machines + ocs-url + kdePackages.plasma-workspace + kdePackages.kdialog + openssh #SSH + zoxide #Alternatice to cd, browse files + fzf-zsh #Search for file names + coreutils-full + multipath-tools + docker + docker-compose + plymouth + mesa + fprintd + nh + whois + ]; +} diff --git a/modules/packages/flatpak.nix b/modules/packages/flatpak.nix new file mode 100644 index 0000000..e4b9927 --- /dev/null +++ b/modules/packages/flatpak.nix @@ -0,0 +1,20 @@ +{config, pkgs, libs, inputs, nix-flatpak, ...}: +{ + services.flatpak = { + enable = true; + + remotes = [ + { + name = "flathub"; + location = "https://dl.flathub.org/repo/flathub.flatpakrepo"; + } + ]; + packages = [ + { + appId = "org.vinegarhq.Sober"; + origin = "flathub"; + #commit = "e28fd81675b0871614ccdc8fc66c6da6761dd11333a65900a0451edf07ef0ea6"; + } + ]; + }; +}