1
0
forked from KYS/maxfiles
nix-config/conf/desks/max-desktop/configuration.nix
2025-09-23 16:37:32 +02:00

97 lines
1.8 KiB
Nix

{
config,
pkgs,
lib,
...
}:
{
networking.networkmanager.enable = true;
## Time & Locale
time.timeZone = "Europe/Prague";
i18n = {
defaultLocale = "en_US.UTF-8";
supportedLocales = [
"en_US.UTF-8/UTF-8"
"cs_CZ.UTF-8/UTF-8"
];
};
## Font rendering
console = {
font = "Lat2-Terminus16";
keyMap = "us";
};
fonts = {
fontconfig.enable = true;
packages = with pkgs; [
nerd-fonts.jetbrains-mono
noto-fonts
];
};
## Shells
programs = {
bash.enable = true;
zsh.enable = true;
};
## Hyprland
programs.hyprland.enable = true;
services.xserver.enable = false; # Pure Wayland, no X11
## SDDM
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
};
## Graphics
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [ vulkan-tools ];
};
## Audio
services.pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
jack.enable = true;
};
## System Packages
environment.systemPackages = with pkgs; [
vesktop
unzip
firefox # Browser
kitty # Terminal
waybar # Top bar
wofi # App launcher
alacritty # Wayland terminal
grim # Screenshots
slurp # Selection for screenshots
wl-clipboard # Clipboard integration
hyprpaper # Wallpaper manager
hyprlock # Lock screen
hyprsunset # Optional: Night light
pavucontrol # PulseAudio control
# NOT IN STABLE NIX YET => nix-sweep # Nix analyze and cleanup tool
];
## Auto nix GC
nix.gc = {
automatic = true;
dates = "daily";
options = "--delete-older-than 7d";
};
## Security / Firewall
networking.firewall.enable = true;
networking.firewall.allowedTCPPorts = [];
}