{ config, pkgs, ... }: { imports = [ ./hardware-configuration.nix ]; beatific.hostName = "imperium"; # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; networking.networkmanager.enable = true; time.timeZone = "America/Los_Angeles"; services.xserver = { enable = true; displayManager.gdm.enable = true; desktopManager.gnome.enable = true; # keyboard layout = "us"; xkbVariant = ""; }; # Enable sound with pipewire. sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; services.printing.enable = true; users.users.tvb = { extraGroups = [ "networkmanager" ]; }; # Configs needed to run TF2 on integrated graphics programs.steam.enable = true; nixpkgs.config.allowUnfree = true; services.xserver.videoDrivers = [ "i915" ]; hardware.opengl.enable = true; hardware.opengl.driSupport32Bit = true; environment.systemPackages = with pkgs; [ firefox libreoffice mpv unzip ]; networking.firewall = { enable = false; }; # tvb monopolizes the system syncthing for now. User services are harder to get working # and nobody else uses imperium right now. In the future, rewriting the syncthing module # to allow multiple instances is probably the right move. services.syncthing = { enable = true; dataDir = "/home/tvb"; openDefaultPorts = true; user = "tvb"; group = "tvb"; }; # This value governs how some stateful data, like databases, are handled # across different versions of NixOS. This should not be changed to a new # release unless the sysadmin has determined that no services would be # adversely affected by changing this. system.stateVersion = "23.11"; }