193 lines
5.2 KiB
Nix
Executable File
193 lines
5.2 KiB
Nix
Executable File
# 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, pkgs, modulesPath, ... }:
|
||
|
||
let
|
||
unstable_tarball =
|
||
builtins.fetchTarball "https://github.com/nixos/nixpkgs/tarball/master";
|
||
unstable = import unstable_tarball { config = config.nixpkgs.config; };
|
||
in {
|
||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||
boot = {
|
||
#plymouth = { enable = true; };
|
||
loader = {
|
||
efi = {
|
||
canTouchEfiVariables = true;
|
||
efiSysMountPoint = "/boot/efi";
|
||
};
|
||
grub = {
|
||
enable = true;
|
||
device = "nodev";
|
||
efiSupport = true;
|
||
enableCryptodisk = true;
|
||
};
|
||
};
|
||
initrd.luks.devices = {
|
||
nvme = {
|
||
device = "/dev/disk/by-uuid/af72f45c-cf7c-4e7d-8eab-2a95ab754921";
|
||
preLVM = true;
|
||
};
|
||
disk1 = {
|
||
device = "/dev/disk/by-uuid/a9b0f346-7e38-40a6-baf6-3ad80cafc842";
|
||
preLVM = true;
|
||
};
|
||
disk2 = {
|
||
device = "/dev/disk/by-uuid/0ed12b83-4c56-4ba8-b4ea-75a9e927d771";
|
||
preLVM = true;
|
||
};
|
||
hnbox = {
|
||
device = "/dev/disk/by-uuid/c7dd2d5a-b0b3-46a0-aca9-3d4975c1f0bc";
|
||
preLVM = true;
|
||
};
|
||
seedbox = {
|
||
device = "/dev/disk/by-uuid/04f06a3e-a91f-476b-9a4b-b9c722ba99e7";
|
||
preLVM = true;
|
||
};
|
||
};
|
||
kernelModules = [ "kvm-intel" ];
|
||
kernel.sysctl = { "vm.swappiness" = 80; };
|
||
extraModulePackages = [ ];
|
||
initrd = {
|
||
availableKernelModules =
|
||
[ "xhci_pci" "ahci" "usbhid" "nvme" "usb_storage" "sd_mod" ];
|
||
kernelModules = [ ];
|
||
};
|
||
};
|
||
|
||
fileSystems."/" = {
|
||
device = "/dev/mapper/nvme";
|
||
fsType = "btrfs";
|
||
options = [
|
||
"subvol=nix"
|
||
"ssd"
|
||
"compress=zstd:3"
|
||
"x-systemd.device-timeout=0"
|
||
"space_cache=v2"
|
||
"commit=120"
|
||
"datacow"
|
||
"noatime"
|
||
];
|
||
};
|
||
|
||
fileSystems."/home" = {
|
||
device = "/dev/mapper/nvme";
|
||
fsType = "btrfs";
|
||
options = [
|
||
"subvol=home"
|
||
"ssd"
|
||
"compress=zstd:3"
|
||
"x-systemd.device-timeout=0"
|
||
"space_cache=v2"
|
||
"commit=120"
|
||
"datacow"
|
||
];
|
||
};
|
||
fileSystems."/mnt/disk1" = {
|
||
device = "/dev/mapper/disk1";
|
||
fsType = "btrfs";
|
||
options = [ "compress=zstd:3" "space_cache=v2" "commit=120" "datacow" ];
|
||
};
|
||
|
||
fileSystems."/var/lib/nextcloud/data" = {
|
||
device = "/mnt/disk1/nextcloud";
|
||
options = [ "bind" ];
|
||
};
|
||
|
||
fileSystems."/mnt/jellyfin/media" = {
|
||
device = "/mnt/disk1/multimedia/media";
|
||
options = [ "bind" "ro" ];
|
||
};
|
||
|
||
fileSystems."/mnt/disk2" = {
|
||
device = "/dev/mapper/disk2";
|
||
fsType = "btrfs";
|
||
options = [ "compress=zstd:3" "space_cache=v2" "commit=120" "datacow" ];
|
||
};
|
||
|
||
fileSystems."/mnt/hnbox" = {
|
||
device = "/dev/mapper/hnbox";
|
||
fsType = "btrfs";
|
||
options = [ "compress=zstd:3" "space_cache=v2" "commit=120" "datacow" ];
|
||
};
|
||
|
||
fileSystems."/mnt/seedbox" = {
|
||
device = "/dev/mapper/seedbox";
|
||
fsType = "btrfs";
|
||
options = [ "compress=zstd:3" "space_cache=v2" "commit=120" "datacow" ];
|
||
};
|
||
|
||
fileSystems."/mnt/jellyfin/external" = {
|
||
device = "/mnt/seedbox/external";
|
||
options = [ "bind" "ro" ];
|
||
};
|
||
|
||
fileSystems."/mnt/parity" = {
|
||
device = "/dev/disk/by-uuid/643b727a-555d-425c-943c-62f5b93631c9";
|
||
fsType = "xfs";
|
||
options = [ "defaults" ];
|
||
};
|
||
|
||
fileSystems."/boot" = {
|
||
device = "/dev/disk/by-uuid/c574cb53-dc40-46db-beff-0fe8a4787156";
|
||
fsType = "ext4";
|
||
};
|
||
|
||
fileSystems."/boot/efi" = {
|
||
device = "/dev/disk/by-uuid/CBE7-5DEB";
|
||
fsType = "vfat";
|
||
};
|
||
|
||
swapDevices = [{
|
||
device = "/dev/disk/by-partuuid/cb0ad486-ebf8-4bfc-ad7c-96bdc68576ca";
|
||
randomEncryption = {
|
||
enable = true;
|
||
cipher = "aes-xts-plain64";
|
||
keySize = 512;
|
||
sectorSize = 4096;
|
||
};
|
||
}];
|
||
|
||
# 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.enp0s31f6.useDHCP = lib.mkDefault true;
|
||
|
||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||
powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
|
||
|
||
hardware = {
|
||
sane = {
|
||
enable = true;
|
||
extraBackends = [ pkgs.hplip pkgs.hplipWithPlugin ];
|
||
};
|
||
cpu.intel.updateMicrocode = lib.mkDefault true;
|
||
bluetooth.enable = true;
|
||
# huion driver
|
||
# opentabletdriver = {
|
||
# enable = true;
|
||
# package = unstable.opentabletdriver;
|
||
# daemon.enable = false;
|
||
# };
|
||
# nvidia driver
|
||
nvidia.modesetting.enable = true;
|
||
opengl = {
|
||
enable = true;
|
||
setLdLibraryPath = true;
|
||
driSupport = true;
|
||
driSupport32Bit = true;
|
||
extraPackages = with pkgs; [
|
||
intel-media-driver # LIBVA_DRIVER_NAME=iHD
|
||
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
|
||
vaapiVdpau
|
||
libvdpau-va-gl
|
||
];
|
||
};
|
||
};
|
||
# hardware.cpu.intel.updateMicrocode =
|
||
# lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||
|
||
}
|