120 lines
2.8 KiB
Nix
Executable file
120 lines
2.8 KiB
Nix
Executable file
{
|
|
inputs,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
imports = [
|
|
inputs.nix-gaming.nixosModules.steamCompat
|
|
inputs.nix-gaming.nixosModules.pipewireLowLatency
|
|
./hardware-configuration.nix
|
|
./services
|
|
../../home/wayland/hyprland/wayland.nix
|
|
../../modules
|
|
../../modules/fonts.nix
|
|
];
|
|
|
|
boot.loader = {
|
|
systemd-boot = {
|
|
enable = true;
|
|
configurationLimit = 8;
|
|
};
|
|
efi = {
|
|
canTouchEfiVariables = true;
|
|
efiSysMountPoint = "/boot/efi";
|
|
};
|
|
};
|
|
|
|
boot.extraModulePackages = with config.boot.kernelPackages; [v4l2loopback.out];
|
|
boot.kernelModules = ["v4l2loopback" "kvm-intel"];
|
|
|
|
virtualisation.libvirtd.enable = true;
|
|
|
|
networking = {
|
|
hostName = "tsuki";
|
|
};
|
|
|
|
services = {
|
|
xserver = {
|
|
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"
|
|
'';
|
|
};
|
|
};
|
|
|
|
services.pcscd.enable = true;
|
|
services.davfs2.enable = true;
|
|
|
|
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;
|
|
lowLatency = {
|
|
enable = true;
|
|
quantum = 64;
|
|
rate = 48000;
|
|
};
|
|
};
|
|
|
|
programs.steam = {
|
|
enable = true;
|
|
extraCompatPackages = [
|
|
inputs.nix-gaming.packages.${pkgs.system}.proton-ge
|
|
];
|
|
};
|
|
|
|
security.polkit.enable = true;
|
|
security.pam.services.swaylock = {
|
|
text = ''
|
|
auth include login
|
|
'';
|
|
};
|
|
|
|
hardware = {
|
|
nvidia = {
|
|
powerManagement.enable = true;
|
|
modesetting.enable = true;
|
|
package = config.boot.kernelPackages.nvidiaPackages.production;
|
|
};
|
|
opengl = {
|
|
enable = true;
|
|
extraPackages = with pkgs; [
|
|
nvidia-vaapi-driver
|
|
];
|
|
};
|
|
opentabletdriver = {
|
|
enable = true;
|
|
daemon.enable = true;
|
|
};
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
nil
|
|
dconf
|
|
polkit_gnome
|
|
libvirt
|
|
qemu_kvm
|
|
pinentry-gtk2
|
|
jdk17
|
|
comma
|
|
inputs.matugen.packages.${system}.default
|
|
];
|
|
}
|