2024-12-15 22:43:55 -07:00
|
|
|
{ pkgs, inputs, system, lib, config, ... }:
|
|
|
|
{
|
2024-12-21 11:15:14 -07:00
|
|
|
home.packages =
|
2024-12-15 22:43:55 -07:00
|
|
|
## 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
|
|
|
|
tealdeer # TLDR
|
|
|
|
usbutils # `lsusb`
|
|
|
|
pciutils # `lspci`
|
|
|
|
unzip # Extract zip files
|
|
|
|
|
2024-12-21 11:15:14 -07:00
|
|
|
# Editor
|
|
|
|
neovim # CLI-Based editor
|
|
|
|
|
2024-12-15 22:43:55 -07:00
|
|
|
# Process tools
|
|
|
|
btop # Process monitor
|
2024-12-21 11:15:14 -07:00
|
|
|
hyperfine # CLI Benchmarker
|
2024-12-15 22:43:55 -07:00
|
|
|
])
|
|
|
|
## 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
|
|
|
|
|
|
|
|
# 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
|
2024-12-21 11:15:14 -07:00
|
|
|
jetbrains.rust-rover # Jetbrains Rust IDE
|
2024-12-15 22:43:55 -07:00
|
|
|
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
|
2024-12-21 11:15:14 -07:00
|
|
|
httptoolkit # HTTP Interception
|
|
|
|
android-tools # ADB and the such
|
|
|
|
beekeeper-studio # SQL Database viewer
|
|
|
|
|
|
|
|
# Games
|
|
|
|
(heroic.override {
|
|
|
|
extraPkgs = pkgs: [
|
|
|
|
pkgs.gamemode
|
|
|
|
pkgs.gamescope
|
|
|
|
];
|
|
|
|
}) # GOG & Epic Games Launcher
|
2024-12-15 22:43:55 -07:00
|
|
|
|
|
|
|
# UI Tools
|
|
|
|
qalculate-qt # Calculator
|
2024-12-21 11:15:14 -07:00
|
|
|
|
|
|
|
# Process tools cont.
|
|
|
|
nvtopPackages.full # GPU Monitor, only really necessary if we have a GPU to look at
|
2024-12-15 22:43:55 -07:00
|
|
|
]))
|
|
|
|
## 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
|
|
|
|
]);
|
|
|
|
}
|