# 0x29a nixos conifg { pkgs, lib, ... }: { imports = [ ./hardware-configuration.nix ]; # use flakes nix.settings.experimental-features = [ "nix-command" "flakes" ]; # configure bootloader boot.loader.systemd-boot.enable = false; boot.loader.grub = { enable = true; device = "nodev"; efiSupport = true; }; boot.loader.efi.canTouchEfiVariables = true; boot.kernelParams = [ "quiet" "console.ttyS0,115200n8" # allow terminals on serial console ]; # 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; # guest agent for proxmox services.qemuGuest.enable = true; # networking networking.hostName = "nixos"; networking.networkmanager.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 services.xserver = { enable = true; xkb.layout = "ch"; xkb.options = "eurosign:e,caps:escape"; windowManager.qtile = { enable = true; extraPackages = python3Packages: with python3Packages; [ qtile-extras ]; }; }; #services.displayManager.lightdm.enable = true; #services.desktopManager.session = [ { # name = "qtile"; # start = '' # exec ${pkgs.qtile}/bin/qtile start # ''; #} ]; 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" "python" "ansible" ]; theme = "agnoster"; }; }; # system packages environment.systemPackages = with pkgs; [ vim neovim git ghostty kitty wget gnupg ]; # Some programs need SUID wrappers programs.mtr.enable = true; programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; # enable the OpenSSH daemon services.openssh.enable = true; # firewall configs networking.firewall.allowedTCPPorts = [ 22 ]; # networking.firewall.allowedUDPPorts = [ ... ]; # install state version system.stateVersion = "25.05"; # Don't change }