{ config, pkgs, ... }: { # Import other configuration modules # (hardware-configuration.nix is autogenerated upon installation) # paths in nix expressions are always relative the file which defines them imports = [ ./hardware-configuration.nix ]; boot.loader = { systemd-boot.enable = true; }; boot.initrd.luks.devices = { crypt-root = { device = "/dev/disk/by-label/luks"; preLVM = true; }; }; # Enable 32 Bit libraries for applications like Steam hardware.opengl.driSupport32Bit = true; # Name your host machine networking.hostName = "NixOS"; # Set your time zone. time.timeZone = "America/Denver"; # Enter keyboard layout services.xserver.layout = "us"; # Enable flatpak services.flatpak.enable = true; # Enable PackageKit for Discover services.packagekit.enable = true; # Enable fwupd services.fwupd.enable = true; # Define user accounts users.extraUsers = { aaronh = { home = "/home/aaronh"; extraGroups = [ "wheel" "networkmanager" ]; isNormalUser = true; }; }; # Install some packages environment.systemPackages = with pkgs; [ firefox fish flatpak git thunderbird tilix ]; # Enable the OpenSSH daemon services.openssh.enable = true; # Enable Pipewire security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; # GNOME services.xserver.enable = true; services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome.enable = true; # Disable GNOME applications environment.gnome.excludePackages = [ pkgs.gnome.cheese pkgs.gnome-photos pkgs.gnome.gnome-music pkgs.gnome.gnome-terminal pkgs.gnome.gedit pkgs.epiphany pkgs.evince pkgs.gnome.gnome-characters pkgs.gnome.totem pkgs.gnome.tali pkgs.gnome.iagno pkgs.gnome.hitori pkgs.gnome.atomix pkgs.gnome-tour pkgs.gnome.geary ]; # System system.autoUpgrade.enable = true; system.autoUpgrade.allowReboot = true; }