{ pkgs, pkgs-stable, inputs, system, lib, config, ... }: { home.packages = ## Packages that are always installed, no matter what (with pkgs; [ # :3 fastfetch # Modern & faster neofetch alternative # CLI Tools ripgrep # Text searching and manipulation jq # JSON filtering eza # Directory lister bat # File reading doggo # DNS Requests nmap # Network scanning glow # Markdown rendering usbutils # `lsusb` pciutils # `lspci` unzip # Extract zip files xh # HTTPie-like rust cli tool rar bitwarden-cli # Editor neovim # CLI-Based editor # Process tools btop # Process monitor hyperfine # CLI Benchmarker ]) ## Packages that are only installed when a desktop environment is desired ++ (lib.optionals config.meta.home-manager.desktop.enable (with pkgs; [ # Documents logseq # Outliner libreoffice-qt6-fresh # Office-style editing hunspell hunspellDicts.en_US-large pkgs-stable.orca-slicer # 3d-printing (pkgs.calibre.overrideAttrs (old: { postInstall = '' wrapProgram $out/bin/calibre \ --set-default ACSM_LIBCRYPTO ${pkgs.openssl.out}/lib/libcrypto.so \ --set-default ACSM_LIBSSL ${pkgs.openssl.out}/lib/libssl.so ''; })) # E-book reading (with overridden openssl libs for acsm-calibre-plugin support) # Video jellyfin-media-player # Jellyfin electron client w/ MPV vlc # Video file player # Chat element-desktop # Matrix client vesktop # Discord client signal-desktop # Signal client # KDE Themes vimix-cursors # Cursors (pkgs.callPackage ../../packages/beautyline {}) # Icons (pkgs.callPackage ../../packages/magna-splash-6 {}) # Splash # Programming jetbrains.idea-ultimate # Jetbrains IntelliJ Idea Ultimate IDE jetbrains.rust-rover # Jetbrains Rust IDE nixd # LSP for .nix files gcc # GNU C++ Compiler (lib.meta.hiPrio clang) # LLVM C++ Compiler (better than g++) clang-tools # Clang language server cling # C++ REPL deno # Typescript & Javascript runtime gnumake # Makefile support httptoolkit # HTTP Interception android-tools # ADB and the such beekeeper-studio # SQL Database viewer # Games (heroic.override { extraPkgs = pkgs: [ pkgs.gamemode pkgs.gamescope ]; # Workaround electron 31 build failure on unstable heroic-unwrapped = (pkgs.heroic-unwrapped.override { electron = pkgs-stable.electron_31; }); }) # GOG & Epic Games Launcher # UI Tools qalculate-qt # Calculator # Process tools cont. nvtopPackages.full # GPU Monitor, only really necessary if we have a GPU to look at ])) ## Packages that are only installed if plasma is used as the desktop environment ++ (lib.optionals config.meta.home-manager.desktop.plasma.enable (with pkgs.kdePackages; [ kate # IDE elisa # Music kdeconnect-kde # Phone sync polkit-kde-agent-1 # Polkit authentication popup support ])) ## Firefox is only installed when requested ++ (lib.optionals config.meta.home-manager.firefox.enable [ # Firefox nightly inputs.firefox-nightly.packages.${system}.firefox-nightly-bin ]); }