fix: prepare for installing /w nixos-anywhere

This commit is contained in:
Jay Looney 2025-09-12 17:14:06 -05:00
parent b025dbac46
commit 3ae9e4aae3
4 changed files with 92 additions and 84 deletions

View file

@ -6,7 +6,8 @@
../../modules/nixos/desktop.nix
../../modules/nixos/gaming.nix
inputs.nixos-hardware.nixosModules.asus-rog-strix-x570e
./hardware.nix
#./hardware.nix
./configuration.nix
./nvidia.nix
];
}

View file

@ -7,70 +7,76 @@
# `sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode destroy,format,mount /tmp/disk-config.nix`
disko.devices = {
disk = {
main-disk = {
main = {
type = "disk";
device = "/dev/disk/by-path/pci-0000:08:00.0-ata-2";
content = {
type = "gpt";
partitions = {
ESP = {
size = "512M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [ "umask=0077" ];
};
};
luks = {
size = "100%"; # Full Disk Encryption
content = {
type = "luks";
name = "crypted";
# disable settings.keyFile if you want to use interactive password entry
# passwordFile = "/tmp/secret.key"; # Interactive
settings = {
allowDiscards = true;
#keyFile = "/tmp/secret.key";
};
#additionalKeyFiles = [ "/tmp/additionalSecret.key" ];
content = {
type = "btrfs";
extraArgs = [ "-f" ]; # What?
subvolumes = {
"/root" = {
mountpoint = "/";
mountOptions = [
"compress=zstd"
"noatime"
];
};
"/home" = {
mountpoint = "/home";
mountOptions = [
"compress=zstd"
"noatime"
];
};
"/nix" = {
mountpoint = "/nix";
mountOptions = [
"compress=zstd"
"noatime"
];
};
"/swap" = {
mountpoint = "/.swapvol";
swap.swapfile.size = "16G";
};
};
};
};
};
};
type = "gpt";
partitions = {
ESP = {
size = "512M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [ "umask=0077" ];
};
};
luks = {
size = "100%"; # Full Disk Encryption
content = {
type = "luks";
name = "crypted";
# disable settings.keyFile if you want to use interactive password entry
# passwordFile = "/tmp/secret.key"; # Interactive
extraOpenArgs = [
"--allow-discards"
"--perf-no_read_workqueue"
"--perf-no_write_workqueue"
];
settings = {
allowDiscards = true;
crypttabExtraOpts = [ "fido2-device=auto" "token-timeout=10" ];
#keyFile = "/tmp/secret.key";
};
#additionalKeyFiles = [ "/tmp/additionalSecret.key" ];
content = {
type = "btrfs";
extraArgs = [ "-L" "nixos" "-f" ]; # What?
subvolumes = {
"/root" = {
mountpoint = "/";
mountOptions = [
"compress=zstd"
"noatime"
];
};
"/home" = {
mountpoint = "/home";
mountOptions = [
"compress=zstd"
"noatime"
];
};
"/nix" = {
mountpoint = "/nix";
mountOptions = [
"compress=zstd"
"noatime"
];
};
"/swap" = {
mountpoint = "/.swapvol";
swap.swapfile.size = "32G";
};
};
};
};
};
};
};
};
};
};
};
}

View file

@ -58,27 +58,4 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
# GPU Things
# NOTE: The following command can be helpful when diagnosing GPU issues:
# `nix shell nixpkgs#vulkan-tools -c vulkaninfo --summary`
hardware.graphics = {
enable = true;
enable32Bit = true;
};
services.xserver.videoDrivers = [ "nvidia" ];
# NOTE: This acceptLicense thing was necessary for nvidia packages to begin
# working, and it seems undocumented in the usual places.
# I found it on a forum thread, and then inside the nixpkgs repo.
# https://discourse.nixos.org/t/nvidia-settings-and-nvidia-offload-not-found/37187/23
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/nvidia-x11/generic.nix#L65
nixpkgs.config.nvidia.acceptLicense = true;
hardware.nvidia = {
package = config.boot.kernelPackages.nvidiaPackages.latest;
modesetting.enable = true;
open = true;
nvidiaSettings = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
};
}

24
hosts/titanium/nvidia.nix Normal file
View file

@ -0,0 +1,24 @@
{ config, ... }: {
# GPU Things
# NOTE: The following command can be helpful when diagnosing GPU issues:
# `nix shell nixpkgs#vulkan-tools -c vulkaninfo --summary`
hardware.graphics = {
enable = true;
enable32Bit = true;
};
services.xserver.videoDrivers = [ "nvidia" ];
# NOTE: This acceptLicense thing was necessary for nvidia packages to begin
# working, and it seems undocumented in the usual places.
# I found it on a forum thread, and then inside the nixpkgs repo.
# https://discourse.nixos.org/t/nvidia-settings-and-nvidia-offload-not-found/37187/23
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/nvidia-x11/generic.nix#L65
nixpkgs.config.nvidia.acceptLicense = true;
hardware.nvidia = {
package = config.boot.kernelPackages.nvidiaPackages.latest;
modesetting.enable = true;
open = true;
nvidiaSettings = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
};
}