mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-22 10:33:55 -05:00
hwModul.es add common and common-gaming modules
This commit is contained in:
parent
370c786297
commit
12443409c3
|
@ -1,7 +1,5 @@
|
||||||
{lib, ...}: {
|
{lib, ...}: {
|
||||||
boot.loader.systemd-boot.configurationLimit = lib.mkDefault 10;
|
boot.loader.systemd-boot.configurationLimit = lib.mkDefault 10;
|
||||||
console.useXkbConfig = true;
|
|
||||||
hardware.keyboard.qmk.enable = true;
|
|
||||||
environment.variables.FLAKE = lib.mkDefault "github:alyraffauf/nixcfg";
|
environment.variables.FLAKE = lib.mkDefault "github:alyraffauf/nixcfg";
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
@ -36,26 +34,10 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
logind = {
|
|
||||||
powerKey = "suspend";
|
|
||||||
powerKeyLongPress = "poweroff";
|
|
||||||
};
|
|
||||||
|
|
||||||
openssh = {
|
openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
settings.PasswordAuthentication = false;
|
settings.PasswordAuthentication = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
udev.extraRules = ''
|
|
||||||
# Disable Fn Lock for ThinkPad Trackpoint USB/Bluetooth Keyboard
|
|
||||||
SUBSYSTEM=="hid", DRIVER=="lenovo", ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="6047|60ee", ATTR{fn_lock}="0"
|
|
||||||
SUBSYSTEM=="input", ATTRS{id/vendor}=="17ef", ATTRS{id/product}=="6048|60e1", TEST=="/sys/$devpath/device/fn_lock", RUN+="/bin/sh -c 'echo 0 > \"/sys/$devpath/device/fn_lock\"'"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
zramSwap = {
|
|
||||||
enable = lib.mkDefault true;
|
|
||||||
memoryPercent = lib.mkDefault 50;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -146,9 +146,11 @@
|
||||||
common-tailscale = import ./common/tailscale.nix;
|
common-tailscale = import ./common/tailscale.nix;
|
||||||
common-wifi-profiles = import ./common/wifi.nix;
|
common-wifi-profiles = import ./common/wifi.nix;
|
||||||
|
|
||||||
|
hw-common = import ./hwModules/common;
|
||||||
hw-common-amd-cpu = import ./hwModules/common/gpu/amd;
|
hw-common-amd-cpu = import ./hwModules/common/gpu/amd;
|
||||||
hw-common-amd-gpu = import ./hwModules/common/cpu/amd;
|
hw-common-amd-gpu = import ./hwModules/common/cpu/amd;
|
||||||
hw-common-bluetooth = import ./hwModules/common/bluetooth;
|
hw-common-bluetooth = import ./hwModules/common/bluetooth;
|
||||||
|
hw-common-gaming = import ./hwModules/common/gaming;
|
||||||
hw-common-intel-cpu = import ./hwModules/common/cpu/intel;
|
hw-common-intel-cpu = import ./hwModules/common/cpu/intel;
|
||||||
hw-common-intel-gpu = import ./hwModules/common/gpu/intel;
|
hw-common-intel-gpu = import ./hwModules/common/gpu/intel;
|
||||||
hw-common-laptop = import ./hwModules/common/laptop;
|
hw-common-laptop = import ./hwModules/common/laptop;
|
||||||
|
|
|
@ -21,10 +21,12 @@ in {
|
||||||
self.nixosModules.common-pkgs
|
self.nixosModules.common-pkgs
|
||||||
self.nixosModules.common-tailscale
|
self.nixosModules.common-tailscale
|
||||||
self.nixosModules.common-wifi-profiles
|
self.nixosModules.common-wifi-profiles
|
||||||
|
self.nixosModules.hw-common
|
||||||
self.nixosModules.hw-common-amd-cpu
|
self.nixosModules.hw-common-amd-cpu
|
||||||
self.nixosModules.hw-common-amd-gpu
|
self.nixosModules.hw-common-amd-gpu
|
||||||
self.nixosModules.hw-common-bluetooth
|
self.nixosModules.hw-common-bluetooth
|
||||||
self.nixosModules.hw-common-ssd
|
self.nixosModules.hw-common-ssd
|
||||||
|
self.nixosModules.hw-common-gaming
|
||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
@ -44,7 +46,6 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.enableAllFirmware = true;
|
|
||||||
networking.hostName = "mauville";
|
networking.hostName = "mauville";
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
self.nixosModules.common-pkgs
|
self.nixosModules.common-pkgs
|
||||||
self.nixosModules.common-tailscale
|
self.nixosModules.common-tailscale
|
||||||
self.nixosModules.common-wifi-profiles
|
self.nixosModules.common-wifi-profiles
|
||||||
|
self.nixosModules.hw-common
|
||||||
self.nixosModules.hw-common-bluetooth
|
self.nixosModules.hw-common-bluetooth
|
||||||
self.nixosModules.hw-common-intel-cpu
|
self.nixosModules.hw-common-intel-cpu
|
||||||
self.nixosModules.hw-common-intel-gpu
|
self.nixosModules.hw-common-intel-gpu
|
||||||
|
@ -31,7 +32,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.enableAllFirmware = true;
|
|
||||||
networking.hostName = "slateport";
|
networking.hostName = "slateport";
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
|
26
hwModules/common/default.nix
Normal file
26
hwModules/common/default.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{lib, ...}: {
|
||||||
|
console.useXkbConfig = true;
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
enableAllFirmware = true;
|
||||||
|
keyboard.qmk.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
logind = {
|
||||||
|
powerKey = "suspend";
|
||||||
|
powerKeyLongPress = "poweroff";
|
||||||
|
};
|
||||||
|
|
||||||
|
udev.extraRules = ''
|
||||||
|
# Disable Fn Lock for ThinkPad Trackpoint USB/Bluetooth Keyboard
|
||||||
|
SUBSYSTEM=="hid", DRIVER=="lenovo", ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="6047|60ee", ATTR{fn_lock}="0"
|
||||||
|
SUBSYSTEM=="input", ATTRS{id/vendor}=="17ef", ATTRS{id/product}=="6048|60e1", TEST=="/sys/$devpath/device/fn_lock", RUN+="/bin/sh -c 'echo 0 > \"/sys/$devpath/device/fn_lock\"'"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
zramSwap = {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
memoryPercent = lib.mkDefault 50;
|
||||||
|
};
|
||||||
|
}
|
42
hwModules/common/gaming/default.nix
Normal file
42
hwModules/common/gaming/default.nix
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
{lib, ...}: {
|
||||||
|
boot.kernel.sysctl = {
|
||||||
|
# Improved file monitoring
|
||||||
|
"fs.inotify.max_user_instances" = 8192;
|
||||||
|
"fs.inotify.max_user_watches" = 524288;
|
||||||
|
|
||||||
|
# Disable watchdogs for maximum performance at the cost of resiliency
|
||||||
|
"kernel.nmi_watchdog" = 0;
|
||||||
|
"kernel.soft_watchdog" = 0;
|
||||||
|
"kernel.split_lock_mitigate" = 0;
|
||||||
|
"kernel.watchdog" = 0;
|
||||||
|
|
||||||
|
# Network optimizations
|
||||||
|
"net.core.default_qdisc" = "fq";
|
||||||
|
"net.ipv4.tcp_congestion_control" = "bbr";
|
||||||
|
"net.ipv4.tcp_mtu_probing" = lib.mkForce 1;
|
||||||
|
|
||||||
|
# Memory management
|
||||||
|
"vm.dirty_background_bytes" = 134217728;
|
||||||
|
"vm.dirty_bytes" = 268435456;
|
||||||
|
"vm.max_map_count" = lib.mkForce 2147483642;
|
||||||
|
"vm.page-cluster" = 0;
|
||||||
|
"vm.swappiness" = 180;
|
||||||
|
"vm.watermark_boost_factor" = 0;
|
||||||
|
"vm.watermark_scale_factor" = 125;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.udev.extraRules = ''
|
||||||
|
# Significantly improved I/O performance
|
||||||
|
## SSD
|
||||||
|
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="kyber"
|
||||||
|
|
||||||
|
## NVME
|
||||||
|
ACTION=="add|change", KERNEL=="nvme[0-9]n[0-9]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="kyber"
|
||||||
|
|
||||||
|
## MicroSD
|
||||||
|
ACTION=="add|change", KERNEL=="mmcblk[0-9]p[0-9]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="bfq"
|
||||||
|
|
||||||
|
## HDD
|
||||||
|
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"
|
||||||
|
'';
|
||||||
|
}
|
|
@ -7,6 +7,7 @@
|
||||||
imports = [
|
imports = [
|
||||||
../../common.nix
|
../../common.nix
|
||||||
../common.nix
|
../common.nix
|
||||||
|
self.nixosModules.hw-common
|
||||||
self.nixosModules.hw-common-amd-cpu
|
self.nixosModules.hw-common-amd-cpu
|
||||||
self.nixosModules.hw-common-amd-gpu
|
self.nixosModules.hw-common-amd-gpu
|
||||||
self.nixosModules.hw-common-bluetooth
|
self.nixosModules.hw-common-bluetooth
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
imports = [
|
imports = [
|
||||||
../../common.nix
|
../../common.nix
|
||||||
../common.nix
|
../common.nix
|
||||||
|
self.nixosModules.hw-common
|
||||||
self.nixosModules.hw-common-bluetooth
|
self.nixosModules.hw-common-bluetooth
|
||||||
self.nixosModules.hw-common-intel-cpu
|
self.nixosModules.hw-common-intel-cpu
|
||||||
self.nixosModules.hw-common-intel-gpu
|
self.nixosModules.hw-common-intel-gpu
|
||||||
|
|
|
@ -18,10 +18,7 @@
|
||||||
|
|
||||||
environment.systemPackages = [pkgs.framework-tool] ++ lib.optional (pkgs ? "fw-ectool") pkgs.fw-ectool;
|
environment.systemPackages = [pkgs.framework-tool] ++ lib.optional (pkgs ? "fw-ectool") pkgs.fw-ectool;
|
||||||
|
|
||||||
hardware = {
|
hardware.sensor.iio.enable = true;
|
||||||
enableAllFirmware = true;
|
|
||||||
sensor.iio.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
fprintd.enable = true;
|
fprintd.enable = true;
|
||||||
|
|
|
@ -15,9 +15,11 @@
|
||||||
convolverPath = "${legion-go-tricks}/experimental_sound_fix/multiwayCor48.wav";
|
convolverPath = "${legion-go-tricks}/experimental_sound_fix/multiwayCor48.wav";
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
|
self.nixosModules.hw-common
|
||||||
self.nixosModules.hw-common-amd-cpu
|
self.nixosModules.hw-common-amd-cpu
|
||||||
self.nixosModules.hw-common-amd-gpu
|
self.nixosModules.hw-common-amd-gpu
|
||||||
self.nixosModules.hw-common-bluetooth
|
self.nixosModules.hw-common-bluetooth
|
||||||
|
self.nixosModules.hw-common-gaming
|
||||||
self.nixosModules.hw-common-ssd
|
self.nixosModules.hw-common-ssd
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -35,40 +37,11 @@ in {
|
||||||
|
|
||||||
extraModulePackages = with config.boot.kernelPackages; [acpi_call];
|
extraModulePackages = with config.boot.kernelPackages; [acpi_call];
|
||||||
|
|
||||||
kernel.sysctl = {
|
|
||||||
# Improved file monitoring
|
|
||||||
"fs.inotify.max_user_instances" = 8192;
|
|
||||||
"fs.inotify.max_user_watches" = 524288;
|
|
||||||
|
|
||||||
# Disable watchdogs for maximum performance at the cost of resiliency
|
|
||||||
"kernel.nmi_watchdog" = 0;
|
|
||||||
"kernel.soft_watchdog" = 0;
|
|
||||||
"kernel.split_lock_mitigate" = 0;
|
|
||||||
"kernel.watchdog" = 0;
|
|
||||||
|
|
||||||
# Network optimizations
|
|
||||||
"net.core.default_qdisc" = "fq";
|
|
||||||
"net.ipv4.tcp_congestion_control" = "bbr";
|
|
||||||
"net.ipv4.tcp_mtu_probing" = lib.mkForce 1;
|
|
||||||
|
|
||||||
# Memory management
|
|
||||||
"vm.dirty_background_bytes" = 134217728;
|
|
||||||
"vm.dirty_bytes" = 268435456;
|
|
||||||
"vm.max_map_count" = lib.mkForce 2147483642;
|
|
||||||
"vm.page-cluster" = 0;
|
|
||||||
"vm.swappiness" = 180;
|
|
||||||
"vm.watermark_boost_factor" = 0;
|
|
||||||
"vm.watermark_scale_factor" = 125;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Xanmod seems more responsive under load
|
# Xanmod seems more responsive under load
|
||||||
kernelPackages = lib.mkDefault pkgs.linuxPackages_xanmod_latest;
|
kernelPackages = lib.mkDefault pkgs.linuxPackages_xanmod_latest;
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
hardware.sensor.iio.enable = true;
|
||||||
enableAllFirmware = true;
|
|
||||||
sensor.iio.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
pipewire.wireplumber.configPackages = [
|
pipewire.wireplumber.configPackages = [
|
||||||
|
@ -132,19 +105,6 @@ in {
|
||||||
udev.extraRules = ''
|
udev.extraRules = ''
|
||||||
# Lenovo Legion Go Controller
|
# Lenovo Legion Go Controller
|
||||||
ACTION=="add", ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="6182", RUN+="${pkgs.kmod}/bin/modprobe xpad" RUN+="/bin/sh -c 'echo 17ef 6182 > /sys/bus/usb/drivers/xpad/new_id'"
|
ACTION=="add", ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="6182", RUN+="${pkgs.kmod}/bin/modprobe xpad" RUN+="/bin/sh -c 'echo 17ef 6182 > /sys/bus/usb/drivers/xpad/new_id'"
|
||||||
|
|
||||||
# Significantly improved I/O performance
|
|
||||||
## SSD
|
|
||||||
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="kyber"
|
|
||||||
|
|
||||||
## NVME
|
|
||||||
ACTION=="add|change", KERNEL=="nvme[0-9]n[0-9]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="kyber"
|
|
||||||
|
|
||||||
## MicroSD
|
|
||||||
ACTION=="add|change", KERNEL=="mmcblk[0-9]p[0-9]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="bfq"
|
|
||||||
|
|
||||||
## HDD
|
|
||||||
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
upower.enable = true;
|
upower.enable = true;
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
hardware = {
|
hardware.trackpoint = {
|
||||||
enableAllFirmware = true;
|
|
||||||
|
|
||||||
trackpoint = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
emulateWheel = true;
|
emulateWheel = true;
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{self, ...}: {
|
{self, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
../common.nix
|
../common.nix
|
||||||
|
self.nixosModules.hw-common
|
||||||
self.nixosModules.hw-common-bluetooth
|
self.nixosModules.hw-common-bluetooth
|
||||||
self.nixosModules.hw-common-intel-cpu
|
self.nixosModules.hw-common-intel-cpu
|
||||||
self.nixosModules.hw-common-intel-gpu
|
self.nixosModules.hw-common-intel-gpu
|
||||||
|
|
Loading…
Reference in a new issue