# Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. { config, lib, pkgs, modulesPath, ... }: { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.kernelModules = [ "dm-snapshot" "r8169" ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ]; boot.kernelParams = [ "ip=10.222.0.247::10.222.0.1:255.255.255.0::enp5s0:none" ]; boot.initrd.network = { enable = true; ssh = { enable = true; port = 22; hostKeys = [ "/etc/secrets/initrd/ssh_host_rsa_key" "/etc/secrets/initrd/ssh_host_ed25519_key" ]; authorizedKeys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICQGLdINKzs+sEy62Pefng0bcedgU396+OryFgeH99/c janezicmatej" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDk00+Km03epQXQs+xEwwH3zcurACzkEH+kDOPBw6RQe openpgp:0xB095D449" ]; }; postCommands = '' echo 'cryptsetup-askpass' >> /root/.profile ''; }; boot.initrd.luks.devices."cryptlvm".device = "/dev/disk/by-uuid/af0608c0-67cd-4ae4-b12c-252fa947da40"; fileSystems."/" = { device = "/dev/disk/by-uuid/f11fbdfe-4bcc-4e35-b72a-a4c94cb77262"; fsType = "ext4"; }; fileSystems."/boot" = { device = "/dev/disk/by-uuid/7151-CE52"; fsType = "vfat"; options = [ "fmask=0022" "dmask=0022" ]; }; swapDevices = [ { device = "/dev/disk/by-uuid/ff4750e7-3a9f-42c2-bb68-c458a6560540"; } ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's # still possible to use this option, but it's recommended to use it in conjunction # with explicit per-interface declarations with `networking.interfaces..useDHCP`. networking = { useDHCP = false; hostName = "matej-nixos"; networkmanager.enable = true; # Easiest to use and most distros use this by default. interfaces.enp5s0.ipv4.addresses = [ { address = "10.222.0.247"; prefixLength = 24; } ]; firewall = { enable = false; allowedTCPPorts = lib.range 8800 8900; }; defaultGateway = "10.222.0.1"; nameservers = [ "1.1.1.1" "8.8.8.8" ]; }; # networking.interfaces.enp4s0.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; # TODO: maybe move later hardware.bluetooth.enable = true; # enables support for Bluetooth hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot # Enable OpenGL hardware.graphics = { enable = true; }; # Load nvidia driver for Xorg and Wayland services.xserver.videoDrivers = [ "nvidia" ]; hardware.nvidia = { # Modesetting is required. modesetting.enable = true; # Nvidia power management. Experimental, and can cause sleep/suspend to fail. # Enable this if you have graphical corruption issues or application crashes after waking # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead # of just the bare essentials. powerManagement.enable = false; # Fine-grained power management. Turns off GPU when not in use. # Experimental and only works on modern Nvidia GPUs (Turing or newer). powerManagement.finegrained = false; # Use the NVidia open source kernel module (not to be confused with the # independent third-party "nouveau" open source driver). # Support is limited to the Turing and later architectures. Full list of # supported GPUs is at: # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus # Only available from driver 515.43.04+ open = true; # Enable the Nvidia settings menu, # accessible via `nvidia-settings`. nvidiaSettings = true; # Optionally, you may need to select the appropriate driver version for your specific GPU. package = config.boot.kernelPackages.nvidiaPackages.stable; }; }