snowflake/hosts/tsuki/default.nix

121 lines
2.8 KiB
Nix
Raw Normal View History

2023-04-23 17:45:37 -04:00
{
2023-11-15 02:01:46 -05:00
inputs,
2023-04-09 18:01:28 -04:00
config,
pkgs,
...
2023-03-31 18:15:58 -04:00
}: {
2023-04-23 17:45:37 -04:00
imports = [
2023-11-15 02:01:46 -05:00
inputs.nix-gaming.nixosModules.steamCompat
inputs.nix-gaming.nixosModules.pipewireLowLatency
2023-01-31 12:18:27 -05:00
./hardware-configuration.nix
2023-06-02 23:30:30 -04:00
./services
2023-06-10 06:01:35 -04:00
../../home/wayland/hyprland/wayland.nix
../../modules
../../modules/fonts.nix
2023-04-23 17:45:37 -04:00
];
2023-01-31 12:18:27 -05:00
boot.loader = {
systemd-boot = {
enable = true;
configurationLimit = 8;
2023-01-31 12:18:27 -05:00
};
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi";
};
};
2023-04-23 17:45:37 -04:00
boot.extraModulePackages = with config.boot.kernelPackages; [v4l2loopback.out];
boot.kernelModules = ["v4l2loopback" "kvm-intel"];
2023-01-31 12:18:27 -05:00
virtualisation.libvirtd.enable = true;
2023-03-31 18:15:58 -04:00
networking = {
hostName = "tsuki";
2023-01-31 12:18:27 -05:00
};
services = {
xserver = {
2023-04-23 17:45:37 -04:00
enable = true;
videoDrivers = ["nvidia"];
layout = "us";
xkbVariant = "";
};
udev = {
extraRules = ''
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", TAG+="uaccess"
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", TAG+="uaccess"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", TAG+="uaccess"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", TAG+="uaccess"
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", TAG+="uaccess"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2403", TAG+="uaccess"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", TAG+="uaccess"
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", TAG+="uaccess"
'';
};
};
2023-01-31 12:18:27 -05:00
services.pcscd.enable = true;
2023-09-01 08:52:33 -04:00
services.davfs2.enable = true;
2023-01-31 12:18:27 -05:00
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
wireplumber.enable = true;
2023-11-15 02:01:46 -05:00
lowLatency = {
enable = true;
quantum = 64;
rate = 48000;
};
2023-01-31 12:18:27 -05:00
};
programs.steam = {
enable = true;
2023-11-15 02:01:46 -05:00
extraCompatPackages = [
inputs.nix-gaming.packages.${pkgs.system}.proton-ge
];
2023-01-31 12:18:27 -05:00
};
2023-04-23 17:45:37 -04:00
2023-01-31 12:18:27 -05:00
security.polkit.enable = true;
security.pam.services.swaylock = {
text = ''
auth include login
2023-04-23 17:45:37 -04:00
'';
2023-01-31 12:18:27 -05:00
};
2023-04-23 17:45:37 -04:00
hardware = {
2023-01-31 12:18:27 -05:00
nvidia = {
powerManagement.enable = true;
modesetting.enable = true;
2023-11-15 02:01:46 -05:00
package = config.boot.kernelPackages.nvidiaPackages.production;
2023-01-31 12:18:27 -05:00
};
opengl = {
2023-04-23 17:45:37 -04:00
enable = true;
extraPackages = with pkgs; [
nvidia-vaapi-driver
];
};
opentabletdriver = {
enable = true;
daemon.enable = true;
};
};
2023-05-17 12:57:18 -04:00
2023-01-31 12:18:27 -05:00
environment.systemPackages = with pkgs; [
2023-10-28 08:51:09 -04:00
nil
2023-04-23 17:45:37 -04:00
dconf
polkit_gnome
libvirt
qemu_kvm
pinentry-gtk2
jdk17
2023-09-24 17:23:20 -04:00
comma
2023-11-15 02:01:46 -05:00
inputs.matugen.packages.${system}.default
2023-04-23 17:45:37 -04:00
];
2023-01-31 12:18:27 -05:00
}