2023-12-15 21:13:23 +00:00
|
|
|
{ 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;
|
|
|
|
};
|
|
|
|
|
2023-12-18 20:38:47 +00:00
|
|
|
services.printing.enable = true;
|
|
|
|
|
2023-12-15 21:13:23 +00:00
|
|
|
users.users.tvb = {
|
|
|
|
extraGroups = [ "networkmanager" ];
|
|
|
|
};
|
|
|
|
|
2023-12-16 19:34:20 +00:00
|
|
|
# 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;
|
|
|
|
|
2023-12-15 21:13:23 +00:00
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
firefox
|
|
|
|
libreoffice
|
|
|
|
mpv
|
|
|
|
unzip
|
|
|
|
];
|
|
|
|
|
|
|
|
networking.firewall = {
|
|
|
|
enable = false;
|
|
|
|
};
|
|
|
|
|
2023-12-20 04:06:54 +00:00
|
|
|
# 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";
|
|
|
|
};
|
|
|
|
|
2023-12-15 21:13:23 +00:00
|
|
|
# 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";
|
|
|
|
}
|