{ pkgs, lib, inputs, ... }: { imports = [ ./hardware-configuration.nix ]; # use flakes nix.settings.experimental-features = [ "nix-command" "flakes" ]; # configure bootloader boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; # plymouth boot eye candy boot.initrd.systemd.enable = true; boot.kernelParams = [ "quiet" "loglevel=2" ]; boot.plymouth.enable = true; boot.plymouth.theme = "spinner"; # use latest kernel boot.kernelPackages = pkgs.linuxPackages_latest; # networking networking.hostName = "neon"; networking.networkmanager.enable = true; # bluetooth hardware.bluetooth.enable = true; # time zone. time.timeZone = "Europe/Amsterdam"; # select internationalisation properties 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"; }; console = { font = "Lat2-Terminus16"; keyMap = "de_CH-latin1"; }; # window manager configs programs.niri.enable = true; programs.xwayland.enable = true; services.displayManager.sddm = { enable = true; wayland = { enable = true; }; autoNumlock = true; enableHidpi = true; theme = "sddm-astronaut-theme"; settings = { Theme = { Current = "sddm-astronaut-theme"; }; }; extraPackages = with pkgs; [ sddm-astronaut ]; }; services.tuned.enable = true; services.upower.enable = true; environment.pathsToLink = [ "/libexec" ]; environment.variables.EDITOR = "vim"; # enable sound services.pipewire = { enable = true; pulse.enable = true; }; # define a user account users.users.aaron = { isNormalUser = true; group = "users"; extraGroups = [ "wheel" ]; shell = pkgs.zsh; }; # browser programs.firefox.enable = true; # zsh config programs.zsh = { enable = true; enableCompletion = true; autosuggestions.enable = true; ohMyZsh = { enable = true; plugins = [ "git" "sudo" ]; theme = "gentoo"; }; }; # system packages environment.systemPackages = with pkgs; [ alacritty btop cowsay dnsutils efibootmgr ethtool file ghostty git gnupg iftop imagemagick imv iotop iperf3 jq kdePackages.qtmultimedia kitty ldns lm_sensors lsof ltrace mtr neovim nh nix-output-monitor nmap nvd p7zip pciutils sddm-astronaut socat strace sysstat tree unzip usbutils vim wget which xwayland xwayland-satellite xz zip zstd ]; # Some programs need SUID wrappers programs.mtr.enable = true; programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; # enable steam on this machine nixpkgs.config.allowUnfree = true; programs.steam = { enable = true; remotePlay.openFirewall = true; dedicatedServer.openFirewall = true; localNetworkGameTransfers.openFirewall = true; }; # fix black screen in steam on intel gpu programs.steam.package = pkgs.steam.override { extraArgs = "-system-composer"; }; # enable the OpenSSH daemon services.openssh = { enable = true; openFirewall = true; }; # firewall configs networking.firewall.allowedTCPPorts = [ ]; networking.firewall.allowedUDPPorts = [ ]; # enable home-manager globally home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.backupFileExtension = "backup"; # add flake env variable for nh environment.sessionVariables = { NH_FLAKE = "/home/aaron/git/nixconfig"; }; # install state version system.stateVersion = "25.11"; # Don't change }