# 0x29a nixos conifg { pkgs, lib, inputs, ... }: { imports = [ ./hardware-configuration.nix inputs.home-manager.nixosModules.default ]; # 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"; }; # xserver config services.xserver = { enable = true; xkb.layout = "ch"; xkb.options = "eurosign:e,caps:escape"; windowManager.i3 = { enable = true; extraPackages = with pkgs; [ dmenu i3status ]; }; }; # window manager configs services.displayManager.defaultSession = "none+i3"; programs.i3lock.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" "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 }