forked from KYS/maxfiles
97 lines
1.8 KiB
Nix
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 = [];
|
|
}
|