test: dn-lap test build

This commit is contained in:
DACHXY 2024-12-24 10:44:37 +08:00
parent 36b9f4e2b0
commit 04ce8d76ba
25 changed files with 245 additions and 160 deletions

View file

@ -1,16 +0,0 @@
{ config, pkgs, lib, ... }:
{
boot.loader.systemd-boot.enable = true;
boot.kernelParams = ["nvidia-drm.fbdev=1" "nvidia.NVreg_PreserveVideoMemoryAllocations=1"];
boot.extraModprobeConfig = ''
options hid_apple fnmode=2
options nvidia_drm modeset=1 dbdev=1
'';
boot.initrd.systemd.enable = true;
boot.initrd.kernelModules = [ "nvidia" "i915" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
boot.swraid.enable = true;
boot.swraid.mdadmConf =
"\n MAILADDR smitty\n ARRAY /dev/md126 metadata=1.2 name=stuff:0\n UUID=3b0b7c51-2681-407e-a22a-e965a8aeece7\n ";
}

View file

@ -2,8 +2,7 @@
{
imports = [
./boot.nix
./plymouth.nix # Boot splash
./plymouth.nix # Boot splash
./fonts.nix
./gaming.nix
./hardware.nix

View file

@ -1,19 +1,17 @@
{ ... }:
{
security.pki.certificates = [
''
-----BEGIN CERTIFICATE-----
MIIBhzCCAS2gAwIBAgIQUwzjgrU4LTTmE7FTvaCHlzAKBggqhkjOPQQDAjAiMQsw
CQYDVQQKEwJETjETMBEGA1UEAxMKRE4gUm9vdCBDQTAeFw0yNDExMTAwMjE5MzRa
Fw0zNDExMDgwMjE5MzRaMCIxCzAJBgNVBAoTAkROMRMwEQYDVQQDEwpETiBSb290
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhjokYiCE96DzqXb0pXgV7/DW
ns8BTBq67KGeLaH77Ywv15PzR1ydwaJ1NvvwNbyZh5TwpkMtXIEG7Cr44w/Ip6NF
MEMwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYE
FBgyUYt4st+TkVu4WWEfOhuVjbzqMAoGCCqGSM49BAMCA0gAMEUCIGUdeDfQJ+m0
tdlSDJgnIXbJyU0u4cSvi8faJa7OtVovAiEAxvEteXU7f4+5U1yyk0NxJ7jg8B6P
K5hP1e2clgjFv/k=
-----END CERTIFICATE-----
''
];
security.pki.certificates = [''
-----BEGIN CERTIFICATE-----
MIIBhzCCAS2gAwIBAgIQUwzjgrU4LTTmE7FTvaCHlzAKBggqhkjOPQQDAjAiMQsw
CQYDVQQKEwJETjETMBEGA1UEAxMKRE4gUm9vdCBDQTAeFw0yNDExMTAwMjE5MzRa
Fw0zNDExMDgwMjE5MzRaMCIxCzAJBgNVBAoTAkROMRMwEQYDVQQDEwpETiBSb290
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhjokYiCE96DzqXb0pXgV7/DW
ns8BTBq67KGeLaH77Ywv15PzR1ydwaJ1NvvwNbyZh5TwpkMtXIEG7Cr44w/Ip6NF
MEMwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYE
FBgyUYt4st+TkVu4WWEfOhuVjbzqMAoGCCqGSM49BAMCA0gAMEUCIGUdeDfQJ+m0
tdlSDJgnIXbJyU0u4cSvi8faJa7OtVovAiEAxvEteXU7f4+5U1yyk0NxJ7jg8B6P
K5hP1e2clgjFv/k=
-----END CERTIFICATE-----
''];
}

View file

@ -1,14 +1,13 @@
{ pkgs, ... }:
# Nvidia only
let
offload = pkgs.writeShellScriptBin "offload" ''
#!/bin/bash
export __NV_PRIME_RENDER_OFFLOAD=1
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
exec "$@"
'';
in {
environment.systemPackages = [ offload ];
}
offload = pkgs.writeShellScriptBin "offload" ''
#!/bin/bash
export __NV_PRIME_RENDER_OFFLOAD=1
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
exec "$@"
'';
in { environment.systemPackages = [ offload ]; }

View file

@ -7,7 +7,20 @@
experimental-features = [ "nix-command" "flakes" ];
auto-optimise-store = true;
substituters = [ "https://nix-gaming.cachix.org" ];
trusted-public-keys = [ "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" ];
trusted-public-keys = [
"nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="
];
};
};
hardware.steam-hardware.enable = true;
nixpkgs.config.allowUnfree = true;
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"steam"
"steam-original"
"steam-unwrapped"
"steam-run"
];
}

View file

@ -1,16 +1,12 @@
{ config, pkgs, nixpkgs, ... }:
{
services.xserver.videoDrivers = [ "nvidia" ];
nixpkgs.config.packageOverrides = pkgs: {
intel-vaapi-driver = pkgs.intel-vaapi-driver.override { enableHybridCodec = true; };
intel-vaapi-driver =
pkgs.intel-vaapi-driver.override { enableHybridCodec = true; };
};
hardware = {
steam-hardware.enable = true;
bluetooth = {
enable = true;
powerOnBoot = true;
@ -22,6 +18,8 @@
FastConnectable = true;
};
};
# Xbox controller
xpadneo.enable = true;
graphics = {
@ -33,25 +31,6 @@
];
};
nvidia.open = false;
nvidia.modesetting.enable = true;
nvidia.powerManagement.enable = true;
nvidia.powerManagement.finegrained = true;
nvidia.nvidiaSettings = true;
nvidia.dynamicBoost.enable = true;
nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable;
nvidia.prime = {
offload = {
enable = true;
enableOffloadCmd = true;
};
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
};
# Enable bluetooth

View file

@ -25,4 +25,18 @@
rofi
waybar
];
nix = {
settings = {
warn-dirty = false;
experimental-features = [ "nix-command" "flakes" ];
auto-optimise-store = true;
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
];
};
};
}

View file

@ -2,10 +2,9 @@
{
networking = {
hostName = "dn-nix";
networkmanager.enable = true;
enableIPv6 = false;
firewall = {
firewall = {
enable = true;
allowedTCPPorts = [ 22 ];
allowedUDPPorts = [ 51820 ];

View file

@ -3,27 +3,5 @@
{
documentation.nixos.enable = false;
nixpkgs.config.allowUnfree = true;
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"steam"
"steam-original"
"steam-unwrapped"
"steam-run"
];
nixpkgs.config.rcomSupport = true;
nix = {
settings = {
warn-dirty = false;
experimental-features = [ "nix-command" "flakes" ];
auto-optimise-store = true;
substituters =
[ "https://nix-gaming.cachix.org" "https://hyprland.cachix.org" ];
trusted-public-keys = [
"nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
];
};
};
}

24
system/modules/nvidia.nix Normal file
View file

@ -0,0 +1,24 @@
{ ... }:
{
services.xserver.videoDrivers = [ "nvidia" ];
nvidia.open = false;
nvidia.modesetting.enable = true;
nvidia.powerManagement.enable = true;
nvidia.powerManagement.finegrained = true;
nvidia.nvidiaSettings = true;
nvidia.dynamicBoost.enable = true;
nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable;
nvidia.prime = {
offload = {
enable = true;
enableOffloadCmd = true;
};
# This may different between devices
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
}

View file

@ -4,19 +4,22 @@
enable = true;
theme = "catppuccin-frappe";
themePackages = with pkgs; [
(adi1090x-plymouth-themes.override {
selected_themes = [ "motion" ];
})
(catppuccin-plymouth.override {
variant = "frappe";
}
)
(adi1090x-plymouth-themes.override { selected_themes = [ "motion" ]; })
(catppuccin-plymouth.override { variant = "frappe"; })
];
};
consoleLogLevel = 0;
initrd.verbose = false;
kernelParams = [ "quiet" "splash" "boot.shell_on_fail" "loglevel=3" "rd.systemd.show_status=false" "rd.udev.log_level=3" "udev.log_priority=3" ];
kernelParams = [
"quiet"
"splash"
"boot.shell_on_fail"
"loglevel=3"
"rd.systemd.show_status=false"
"rd.udev.log_level=3"
"udev.log_priority=3"
];
loader.timeout = 0;
};
}

View file

@ -3,7 +3,7 @@
{
users.users.danny = {
isNormalUser = true;
shell = pkgs.bash; # Actually fish
shell = pkgs.bash; # Actually fish
extraGroups = [ "wheel" "input" "networkmanager" "docker" ];
};
}

View file

@ -1,9 +1,7 @@
{config, pkgs, ...}:
{ config, pkgs, ... }:
{
networking.firewall = {
allowedUDPPorts = [ 51820 ];
};
networking.firewall = { allowedUDPPorts = [ 51820 ]; };
networking.wg-quick.interfaces.wg0.configFile = "/etc/wireguard/wg0.conf";
networking.wg-quick.interfaces.wg0.configFile = "/etc/wireguard/wg0.conf";
}