{ 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.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.gdm = { enable = true; wayland = true; }; 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; packages = with pkgs; [ tree fastfetch ]; }; # 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; [ efibootmgr neovim vim git alacritty ghostty kitty gnupg xwayland xwayland-satellite wget ]; # 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"; # install state version system.stateVersion = "25.11"; # Don't change }