107 lines
2.8 KiB
Nix
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";
|
|
}
|