Refactor package management into modular Nix configuration
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./packages
|
||||||
./boot.nix
|
./boot.nix
|
||||||
./flatpak.nix
|
./flatpak.nix
|
||||||
./fonts.nix
|
./fonts.nix
|
||||||
@@ -11,7 +12,6 @@
|
|||||||
./network.nix
|
./network.nix
|
||||||
./nfs.nix
|
./nfs.nix
|
||||||
./nh.nix
|
./nh.nix
|
||||||
./packages.nix
|
|
||||||
./printing.nix
|
./printing.nix
|
||||||
./greetd.nix
|
./greetd.nix
|
||||||
./security.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";
|
||||||
"..srvenv" = "source ../.venv/bin/activate";
|
"..srvenv" = "source ../.venv/bin/activate";
|
||||||
pm = "uv run manage.py";
|
pm = "uv run manage.py";
|
||||||
|
f8 = "uv run flake8 .";
|
||||||
bbr = "bun --bun run";
|
bbr = "bun --bun run";
|
||||||
mkgidf = "git add . --intent-to-add . && git diff > git-diff.txt";
|
mkgidf = "git add . --intent-to-add . && git diff > git-diff.txt";
|
||||||
snano = "sudo nano";
|
snano = "sudo nano";
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ in
|
|||||||
"$modifier, T, exec, thunar"
|
"$modifier, T, exec, thunar"
|
||||||
"$modifier, V, exec, codium"
|
"$modifier, V, exec, codium"
|
||||||
"$modifier, W, exec, ${browser}"
|
"$modifier, W, exec, ${browser}"
|
||||||
"$modifier, Z, exec, zed-editor"
|
"$modifier, Z, exec, zeditor"
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# APLIKACJE - Z SHIFT
|
# APLIKACJE - Z SHIFT
|
||||||
@@ -50,6 +50,7 @@ in
|
|||||||
"$modifier, E, exec, emopicker9000"
|
"$modifier, E, exec, emopicker9000"
|
||||||
"$modifier, K, exec, galculator"
|
"$modifier, K, exec, galculator"
|
||||||
"$modifier, P, exec, hyprpicker -a"
|
"$modifier, P, exec, hyprpicker -a"
|
||||||
|
"$modifier ALT, K, exec, kronometer"
|
||||||
"$modifier ALT, W, exec, wallsetter"
|
"$modifier ALT, W, exec, wallsetter"
|
||||||
"$modifier SHIFT, K, exec, list-keybinds"
|
"$modifier SHIFT, K, exec, list-keybinds"
|
||||||
"$modifier SHIFT, P, exec, pavucontrol"
|
"$modifier SHIFT, P, exec, pavucontrol"
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ in
|
|||||||
"float, class:^(com.heroicgameslauncher.hgl)$, title:negative:(Heroic Games Launcher)"
|
"float, class:^(com.heroicgameslauncher.hgl)$, title:negative:(Heroic Games Launcher)"
|
||||||
"float, class:^([Ss]team)$, title:negative:^([Ss]team)$"
|
"float, class:^([Ss]team)$, title:negative:^([Ss]team)$"
|
||||||
"float, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)"
|
"float, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)"
|
||||||
|
"float, class:^(galculator)$"
|
||||||
"float, initialTitle:(Add Folder to Workspace)"
|
"float, initialTitle:(Add Folder to Workspace)"
|
||||||
"float, initialTitle:(Open Files)"
|
"float, initialTitle:(Open Files)"
|
||||||
"float, initialTitle:(wants to save)"
|
"float, initialTitle:(wants to save)"
|
||||||
|
|||||||
Reference in New Issue
Block a user