1
1
Fork 0
nixos-configs/machine/imperium/default.nix

81 lines
1.9 KiB
Nix

{ 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";
}