Files
dotfiles/nixos/ryu/ryu.nix
servius 68ac29b68b
All checks were successful
Flake checker / Build Nix targets (push) Successful in 9m25s
feat: Make /var a partition
2026-03-12 16:35:16 +05:30

155 lines
4.3 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{
config,
lib,
modulesPath,
device,
pkgs,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
services.xserver.videoDrivers = ["nvidia"]; # or "nvidiaLegacy470 etc.
hardware = {
graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
vpl-gpu-rt
intel-media-driver
nvidia-vaapi-driver
cudatoolkit
# vaapiVdpau
# libvdpau-va-gl
# nvidia-utils
];
};
nvidia = {
open = true;
modesetting.enable = true;
powerManagement.enable = true;
powerManagement.finegrained = false;
nvidiaSettings = true;
# package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
# version = "575.64.05";
# sha256_64bit = "sha256-hfK1D5EiYcGRegss9+H5dDr/0Aj9wPIJ9NVWP3dNUC0=";
# sha256_aarch64 = "sha256-GRE9VEEosbY7TL4HPFoyo0Ac5jgBHsZg9sBKJ4BLhsA=";
# openSha256 = "sha256-mcbMVEyRxNyRrohgwWNylu45vIqF+flKHnmt47R//KU=";
# settingsSha256 = "sha256-o2zUnYFUQjHOcCrB0w/4L6xI1hVUXLAWgG2Y26BowBE=";
# persistencedSha256 = "sha256-2g5z7Pu8u2EiAh5givP5Q1Y4zk4Cbb06W37rf768NFU=";
# };
package = config.boot.kernelPackages.nvidiaPackages.latest;
};
cpu.intel.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
firmware = [pkgs.linux-firmware];
};
# nixpkgs.localSystem = {system = "x86_64-linux";};
# nixpkgs.crossSystem = {system = "aarch64-linux";};
boot.binfmt.emulatedSystems = ["aarch64-linux"];
boot.loader.systemd-boot.consoleMode = "max";
boot.loader.systemd-boot.netbootxyz.enable = true;
boot.loader.systemd-boot.memtest86.enable = true;
environment.sessionVariables = {
LIBVA_DRIVER_NAME = "nvidia";
NVD_BACKEND = "direct";
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
NIXOS_OZONE_WL = "1";
};
users.extraUsers.${device.user}.extraGroups = ["libvirtd" "adbusers" "kvm"];
boot.extraModprobeConfig = ''
options kvm_intel nested=1
options kvm_intel emulate_invalid_guest_state=0
options kvm ignore_msrs=1
'';
boot.initrd.availableKernelModules = [
"vmd"
"xhci_pci"
"ahci"
"nvme"
"usbhid"
"usb_storage"
"sd_mod"
];
boot.kernelModules = [
"kvm-intel"
"i2c-dev"
];
boot.initrd.kernelModules = [
"nvidia"
"nvidia_modeset"
"nvidia_drm"
"dm-snapshot"
"dm-mirror"
];
boot.kernelParams = [
"intel_iommu=on"
# "vfio-pci.ids="
];
boot.extraModulePackages = [];
boot.kernel.sysctl."net.ipv4.ip_forward" = 1;
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = 1;
services.udev.extraRules = ''
KERNEL=="i2c-[0-9]*", GROUP="i2c", MODE="0660"
'';
fileSystems."/" = {
device = "/dev/disk/by-uuid/7b488da9-49d3-44d1-b11b-bc6dcd418b1d";
fsType = "ext4";
};
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/ef734595-a856-4207-8da1-1f0bde4bad61";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/4E27-DAC0";
fsType = "vfat";
options = ["fmask=0007" "dmask=0007"];
};
fileSystems."/home" = {
device = "/dev/disk/by-uuid/d0835bd2-62fd-48d3-a0d1-8ae659f2e727";
fsType = "ext4";
neededForBoot = true;
};
fileSystems."/games" = {
device = "/dev/storage/games";
fsType = "ext4";
options = ["nofail"];
};
fileSystems."/var" = {
device = "/dev/disk/by-uuid/ff874913-dc21-43f3-82f8-cdf45dd888f7";
fsType = "ext4";
};
swapDevices = [
{
device = "/home/swapfile";
size = 64 * 1024;
}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}