# System configuration { config, pkgs, ... }: { virtualisation.vmVariant = { # following configuration is added only when building VM with build-vm virtualisation = { memorySize = 4096; cores = 4; }; # Enable the OpenSSH daemon. services.openssh.enable = true; networking.firewall.enable = false; }; imports = [ ./hardware-configuration.nix ]; users.users.hheikkinen.isNormalUser = true; users.users.hheikkinen.extraGroups = [ "networkmanager" "wheel" ]; users.users.hheikkinen.initialPassword = "password"; boot.loader.systemd-boot.enable = false; boot.loader.efi.canTouchEfiVariables = true; boot.loader.grub = { device = "nodev"; useOSProber = false; efiSupport = true; }; hardware.opengl.enable = true; networking.hostName = "nixos"; # Pick only one of the below networking options. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. programs.nm-applet.enable = true; time.timeZone = "Europe/Helsinki"; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "fi_FI.UTF-8"; LC_IDENTIFICATION = "fi_FI.UTF-8"; LC_MEASUREMENT = "fi_FI.UTF-8"; LC_MONETARY = "fi_FI.UTF-8"; LC_NAME = "fi_FI.UTF-8"; LC_NUMERIC = "fi_FI.UTF-8"; LC_PAPER = "fi_FI.UTF-8"; LC_TELEPHONE = "fi_FI.UTF-8"; LC_TIME = "fi_FI.UTF-8"; }; fonts.fonts = with pkgs; [ envypn-font nerdfonts ]; console = { font = "envypn 11"; #keyMap = "us"; useXkbConfig = true; # use xkbOptions in tty. }; # Enable the X11 windowing system services.xserver.enable = true; services.xserver = { displayManager.defaultSession = "none+i3"; displayManager.lightdm.enable = true; displayManager.autoLogin.enable = false; displayManager.autoLogin.user = "hheikkinen"; windowManager.i3.enable = true; layout = "us"; xkbVariant = ""; videoDrivers = [ "nvidia" ]; }; sound.enable = true; hardware.pulseaudio.enable = true; nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ # Basics neovim wget curl w3m ly git ranger openssl killall # General development mold clang # Bevy related pkg-config xorg.libXcursor xorg.libXrandr xorg.libXi vulkan-tools vulkan-headers vulkan-loader vulkan-validation-layers alsaLib libudev-zero ]; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It's perfectly fine and recommended to leave # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "23.05"; # Did you read the comment? }