Refactor package management into modular Nix configuration
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
];
|
||||
}
|
||||
22
modules/core/packages/clients.nix
Normal file
22
modules/core/packages/clients.nix
Normal 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
|
||||
];
|
||||
}
|
||||
14
modules/core/packages/default.nix
Normal file
14
modules/core/packages/default.nix
Normal 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
|
||||
];
|
||||
}
|
||||
13
modules/core/packages/development.nix
Normal file
13
modules/core/packages/development.nix
Normal 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
|
||||
];
|
||||
}
|
||||
17
modules/core/packages/gaming.nix
Normal file
17
modules/core/packages/gaming.nix
Normal 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
|
||||
];
|
||||
}
|
||||
21
modules/core/packages/multimedia.nix
Normal file
21
modules/core/packages/multimedia.nix
Normal 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
|
||||
];
|
||||
}
|
||||
22
modules/core/packages/programs.nix
Normal file
22
modules/core/packages/programs.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
}
|
||||
11
modules/core/packages/terminal.nix
Normal file
11
modules/core/packages/terminal.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
cmatrix
|
||||
cowsay
|
||||
sl
|
||||
fortune
|
||||
lolcat
|
||||
eza
|
||||
];
|
||||
}
|
||||
46
modules/core/packages/tools.nix
Normal file
46
modules/core/packages/tools.nix
Normal 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
|
||||
];
|
||||
}
|
||||
10
modules/core/packages/virtualization.nix
Normal file
10
modules/core/packages/virtualization.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
virt-viewer
|
||||
lazydocker
|
||||
docker-client
|
||||
docker-compose
|
||||
distrobox
|
||||
];
|
||||
}
|
||||
@@ -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";
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)"
|
||||
|
||||
Reference in New Issue
Block a user