{ config, pkgs, ... }: { # Common system configuration shared across all machines # Bootloader boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; # Networking networking.networkmanager.enable = true; # Timezone and locale time.timeZone = "Europe/London"; i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "en_US.UTF-8"; LC_IDENTIFICATION = "en_US.UTF-8"; LC_MEASUREMENT = "en_US.UTF-8"; LC_MONETARY = "en_US.UTF-8"; LC_NAME = "en_US.UTF-8"; LC_NUMERIC = "en_US.UTF-8"; LC_PAPER = "en_US.UTF-8"; LC_TELEPHONE = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8"; }; # Enable sound hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; jack.enable = true; }; # Enable CUPS for printing services.printing.enable = true; # Enable OpenGL hardware.graphics = { enable = true; enable32Bit = true; }; # System-wide packages environment.systemPackages = with pkgs; [ vim wget curl git htop neofetch unzip zip ]; # Enable flakes nix.settings.experimental-features = [ "nix-command" "flakes" ]; # Allow unfree packages nixpkgs.config.allowUnfree = true; # Enable networking networking.firewall.enable = true; # System state version system.stateVersion = "25.05"; }