{ config, pkgs, ... }: { imports = [ ./flatpak-management.nix ./git-auto-update.nix ]; ############################################################ # BOOTLOADER - SYSTEMD-BOOT AND INITRD ############################################################ boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.configurationLimit = 3; boot.loader.efi.canTouchEfiVariables = false; boot.loader.efi.efiSysMountPoint = "/boot"; boot.initrd.systemd.timeouts.CryptSetup = "0"; # 0 = wait forever boot.plymouth.enable = true; boot.initrd.systemd.enable = true; boot.initrd.verbose = false; # Explicit graphics fallback for unknown hardware boot.initrd.kernelModules = [ "i915" "amdgpu" "nouveau" ]; boot.initrd.availableKernelModules = [ "usb_storage" "xhci_hcd" "ehci_pci" "ahci" "sd_mod" "nvme" "sr_mod" ]; boot.initrd.luks.devices.root = { device = "/dev/disk/by-partlabel/nixos-crypt"; preLVM = true; allowDiscards = true; }; ############################################################ # FIRMWARE - WIDE HARDWARE SUPPORT ############################################################ hardware.enableAllFirmware = true; hardware.enableRedistributableFirmware = true; hardware.cpu.intel.updateMicrocode = true; hardware.cpu.amd.updateMicrocode = true; ############################################################ # FILESYSTEMS ############################################################ services.fstrim.enable = true; fileSystems."/" = { device = "/dev/disk/by-label/nixos-root"; fsType = "ext4"; options = [ "noatime" "nodiratime" ]; }; fileSystems."/boot" = { device = "/dev/disk/by-label/EFI"; fsType = "vfat"; }; ############################################################ # WIRELESS + LOCALE ############################################################ hardware.bluetooth.enable = true; networking.networkmanager.enable = true; services.xserver.xkb.layout = "de"; console.keyMap = "de"; time.timeZone = "Europe/Berlin"; i18n.defaultLocale = "de_DE.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "de_DE.UTF-8"; LC_IDENTIFICATION = "de_DE.UTF-8"; LC_MEASUREMENT = "de_DE.UTF-8"; LC_MONETARY = "de_DE.UTF-8"; LC_NAME = "de_DE.UTF-8"; LC_NUMERIC = "de_DE.UTF-8"; LC_PAPER = "de_DE.UTF-8"; LC_TELEPHONE = "de_DE.UTF-8"; LC_TIME = "de_DE.UTF-8"; }; ############################################################ # DESKTOP - KDE ############################################################ services.displayManager.sddm.enable = true; services.displayManager.sddm.wayland.enable = true; services.desktopManager.plasma6.enable = true; services.xserver.enable = true; # x11 fallback xdg.portal.enable = true; services.libinput.enable = true; # touchpad support ############################################################ # AUDIO - PIPEWIRE ############################################################ services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; ############################################################ # PRINTING ############################################################ services.printing.enable = true; ############################################################ # USERS ############################################################ users.users.user = { isNormalUser = true; description = "user"; extraGroups = [ "wheel" "networkmanager" ]; shell = pkgs.bash; initialPassword = "1312"; }; ############################################################ # SOFTWARE ############################################################ nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ git curl wget openssh kdePackages.sddm-kcm gnome-disk-utility libreoffice pdfarranger ungoogled-chromium tor-browser vlc inkscape gimp obsidian signal-desktop keepassxc thunderbird ]; programs.firefox.enable = false; services.flatpak.enable = true; ############################################################ # USB OPTIMIZATIONS ############################################################ zramSwap.enable = true; boot.tmp.useTmpfs = true; services.journald.extraConfig = '' SystemMaxUse=200M RuntimeMaxUse=50M ''; ############################################################ # NIX UPDATES ############################################################ system.autoUpgrade = { enable = true; channel = "https://channels.nixos.org/nixos-25.11"; dates = "daily"; allowReboot = false; }; system.autoUpgrade = { enable = true; channel = "https://channels.nixos.org/nixos-unstable"; dates = "daily"; allowReboot = false; }; nix = { gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 14d"; }; settings = { auto-optimise-store = true; }; }; ############################################################ # NIXOS VERSION ############################################################ system.stateVersion = "25.11"; }