nixos/hosts/desktop/settings.nix
2026-04-01 22:36:46 +01:00

107 lines
2.8 KiB
Nix

{ config, pkgs, inputs, ... }:
{
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
services.pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
wireplumber.enable = true;
};
services.displayManager.gdm.enable = false;
services.displayManager.sddm.enable = true;
boot = {
initrd.luks.devices."luks-cbf20b12-90f7-4fbb-95d3-1320eece4d89".device = "/dev/disk/by-uuid/cbf20b12-90f7-4fbb-95d3-1320eece4d89";
kernelParams = [
"nvidia_drm.modeset=1"
"nvidia_drm.fbdev=1"
"nvidia.NVreg_PreserveVideoMemoryAllocations=1"
"module_blacklist=amdgpu"
];
};
#fileSystems."/run/media/admin/08cabc7a-9a6e-4c21-8a07-6663af77b705" = {
# device = "/dev/08cabc7a-9a6e-4c21-8a07-6663af77b705";
# fsType = "ext4";
# options = ["rw,nosuid,nodev,relatime,errors=remount-ro"];
# };
networking = {
hostName = "nixos-desktop";
interfaces.enp42s0 = {
wakeOnLan.enable = true;
ipv4.addresses = [
{
address = "192.168.30.40";
prefixLength = 24;
}
];
};
defaultGateway = "192.168.30.1";
nameservers = [ "192.168.0.1" "1.1.1.1" ];
};
services = {
xserver.videoDrivers = [ "nvidia" ];
};
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = true;
powerManagement.finegrained = false;
open = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
# this fixes the sleep/wake issue FUCK NVIDIA
# systemd.services."systemd-suspend" = {
# serviceConfig = {
# Environment = ''"SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false"'';
# };
# };
# fixes hardware accel on nvidia open FUCK NVIDIA
hardware.graphics.extraPackages = [
pkgs.nvidia-vaapi-driver
];
systemd.user.services.reset-gnome-idle-on-resume = {
description = "Reset GNOME idle timer after resume";
after = [ "suspend.target" ];
wantedBy = [ "suspend.target" ];
environment = {
DBUS_SESSION_BUS_ADDRESS = "unix:path=/run/user/1000/bus";
};
script = ''
sleep 3
# Tell gnome-session we have user activity
${pkgs.dbus}/bin/dbus-send \
--session \
--dest=org.gnome.Mutter.IdleMonitor \
/org/gnome/Mutter/IdleMonitor/Core \
org.gnome.Mutter.IdleMonitor.ResetIdleTime
'';
serviceConfig = {
Type = "oneshot";
User = "admin";
};
};
environment.variables = {
NVD_BACKEND = "direct";
LIBVA_DRIVER_NAME = "nvidia";
};
# cachyos kernel
# nixpkgs.overlays = [ inputs.nix-cachyos-kernel.overlays.pinned ];
# boot.kernelPackages = pkgs.cachyosKernels.linuxPackages-cachyos-latest;
# nix.settings.substituters = [ "https://attic.xuyh0120.win/lantian" ];
# nix.settings.trusted-public-keys = [ "lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc=" ];
system.stateVersion = "24.11";
}