Refactor package management into modular Nix configuration

This commit is contained in:
2025-09-25 18:25:01 +02:00
parent 244567f465
commit 781cb53032
14 changed files with 181 additions and 118 deletions

View File

@@ -4,6 +4,7 @@
}:
{
imports = [
./packages
./boot.nix
./flatpak.nix
./fonts.nix
@@ -11,7 +12,6 @@
./network.nix
./nfs.nix
./nh.nix
./packages.nix
./printing.nix
./greetd.nix
./security.nix

View File

@@ -1,116 +0,0 @@
{
pkgs,
inputs,
system,
...
}:
{
programs = {
nano.enable = true;
hyprland = {
enable = true;
withUWSM = false;
};
dconf.enable = true;
seahorse.enable = true;
fuse.userAllowOther = true;
mtr.enable = true;
adb.enable = true;
hyprlock.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
};
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
nixd
nil
discord
trash-cli
eddie
dex
galculator
networkmanagerapplet
nix-output-monitor
nvd
ffmpegthumbnailer # Need For Video / Image Preview
virt-viewer # View Virtual Machines
lazydocker
docker-client
amfora # Fancy Terminal Browser For Gemini Protocol
appimage-run # Needed For AppImage Support
brightnessctl # For Screen Brightness Control
cliphist # Clipboard manager using rofi menu
cmatrix # Matrix Movie Effect In Terminal
cowsay # Great Fun Terminal Program
docker-compose # Allows Controlling Docker From A Single File
duf # Utility For Viewing Disk Usage In Terminal
dysk # Disk space util nice formattting
eza # Beautiful ls Replacement
ffmpeg # Terminal Video / Audio Editing
file-roller # Archive Manager
gedit # Simple Graphical Text Editor
gimp3 # Great Photo Editor
glxinfo # needed for inxi diag util
tuigreet # The Login Manager (Sometimes Referred To As Display Manager)
htop # Simple Terminal Based System Monitor
hyprpicker # Color Picker
eog # For Image Viewing
inxi # CLI System Information Tool
killall # For Killing All Instances Of Programs
libnotify # For Notifications
lm_sensors # Used For Getting Hardware Temps
lolcat # Add Colors To Your Terminal Command Output
lshw # Detailed Hardware Information
mpv # Incredible Video Player
ncdu # Disk Usage Analyzer With Ncurses Interface
nixfmt-rfc-style # Nix Formatter
nwg-displays # configure monitor configs via GUI
onefetch # provides zsaneyos build info on current system
pavucontrol # For Editing Audio Levels & Devices
pciutils # Collection Of Tools For Inspecting PCI Devices
picard # For Changing Music Metadata & Getting Cover Art
pkg-config # Wrapper Script For Allowing Packages To Get Info On Others
playerctl # Allows Changing Media Volume Through Scripts
rhythmbox # audio player
ripgrep # Improved Grep
socat # Needed For Screenshots
unrar # Tool For Handling .rar Files
unzip # Tool For Handling .zip Files
usbutils # Good Tools For USB Devices
uwsm # Universal Wayland Session Manager (optional must be enabled)
v4l-utils # Used For Things Like OBS Virtual Camera
waypaper # wallpaper changer
warp-terminal # Terminal with AI support build in
wget # Tool For Fetching Files With Links
ytmdl # Tool For Downloading Audio From YouTube
nextcloud-client
plexamp
bitwarden-desktop
tutanota-desktop
slack
ungoogled-chromium
anki-bin
onlyoffice-bin
freetube
mattermost-desktop
kdePackages.kdenlive
wineWowPackages.waylandFull # wine64
lutris
space-cadet-pinball
exercism
tty-solitaire
cmatrix
cowsay
sl
fortune
ookla-speedtest
kronometer
inputs.prismlauncher-cracked.packages.${system}.default
zed-editor
distrobox
];
}

View File

@@ -0,0 +1,22 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
# Communication
discord
slack
mattermost-desktop
# Productivity & Office
bitwarden-desktop
tutanota-desktop
anki-bin
onlyoffice-bin
# Cloud
nextcloud-client
# Browsers
ungoogled-chromium
# Utilities
galculator
gedit
eddie
];
}

View File

@@ -0,0 +1,14 @@
{ ... }:
{
nixpkgs.config.allowUnfree = true;
imports = [
./programs.nix
./clients.nix
./development.nix
./gaming.nix
./multimedia.nix
./terminal.nix
./tools.nix
./virtualization.nix
];
}

View File

@@ -0,0 +1,13 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
# Language servers & formatters
nixd
nil
nixfmt-rfc-style
# Editors & IDEs
zed-editor
# Learning & practice
exercism
];
}

View File

@@ -0,0 +1,17 @@
{
pkgs,
inputs,
system,
...
}:
{
environment.systemPackages = with pkgs; [
# Gaming platforms
lutris
wineWowPackages.waylandFull
inputs.prismlauncher-cracked.packages.${system}.default
# Games
space-cadet-pinball
tty-solitaire
];
}

View File

@@ -0,0 +1,21 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
# Video & image processing
ffmpeg
ffmpegthumbnailer
mpv
gimp3
eog
kdePackages.kdenlive
# Audio
rhythmbox
plexamp
picard
pavucontrol
playerctl
# Media downloaders & clients
freetube
ytmdl
];
}

View File

@@ -0,0 +1,22 @@
{
...
}:
{
programs = {
nano.enable = true;
hyprland = {
enable = true;
withUWSM = false;
};
dconf.enable = true;
seahorse.enable = true;
fuse.userAllowOther = true;
mtr.enable = true;
adb.enable = true;
hyprlock.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
};
}

View File

@@ -0,0 +1,11 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
cmatrix
cowsay
sl
fortune
lolcat
eza
];
}

View File

@@ -0,0 +1,46 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
# File management
trash-cli
file-roller
unrar
unzip
# System monitoring & info
inxi
lm_sensors
lshw
pciutils
usbutils
glxinfo
nix-output-monitor
nvd
onefetch
# Disk utilities
duf
dysk
ncdu
# Network & system utilities
ripgrep
wget
socat
ookla-speedtest
brightnessctl
killall
dex
# Desktop environment
networkmanagerapplet
tuigreet
nwg-displays
waypaper
uwsm
hyprpicker
cliphist
# Development utilities
pkg-config
appimage-run
libnotify
v4l-utils
kronometer
];
}

View File

@@ -0,0 +1,10 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
virt-viewer
lazydocker
docker-client
docker-compose
distrobox
];
}

View File

@@ -15,6 +15,7 @@
srvenv = "source .venv/bin/activate";
"..srvenv" = "source ../.venv/bin/activate";
pm = "uv run manage.py";
f8 = "uv run flake8 .";
bbr = "bun --bun run";
mkgidf = "git add . --intent-to-add . && git diff > git-diff.txt";
snano = "sudo nano";

View File

@@ -22,7 +22,7 @@ in
"$modifier, T, exec, thunar"
"$modifier, V, exec, codium"
"$modifier, W, exec, ${browser}"
"$modifier, Z, exec, zed-editor"
"$modifier, Z, exec, zeditor"
# =============================================================================
# APLIKACJE - Z SHIFT
@@ -50,6 +50,7 @@ in
"$modifier, E, exec, emopicker9000"
"$modifier, K, exec, galculator"
"$modifier, P, exec, hyprpicker -a"
"$modifier ALT, K, exec, kronometer"
"$modifier ALT, W, exec, wallsetter"
"$modifier SHIFT, K, exec, list-keybinds"
"$modifier SHIFT, P, exec, pavucontrol"

View File

@@ -57,6 +57,7 @@ in
"float, class:^(com.heroicgameslauncher.hgl)$, title:negative:(Heroic Games Launcher)"
"float, class:^([Ss]team)$, title:negative:^([Ss]team)$"
"float, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)"
"float, class:^(galculator)$"
"float, initialTitle:(Add Folder to Workspace)"
"float, initialTitle:(Open Files)"
"float, initialTitle:(wants to save)"