2024-01-01 13:14:24 +01:00
|
|
|
{ hostname }:
|
2024-02-02 13:45:05 +01:00
|
|
|
{
|
|
|
|
inputs,
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
{
|
2022-02-28 22:34:34 +01:00
|
|
|
imports = [
|
2023-05-29 16:21:23 +02:00
|
|
|
inputs.nixos-hardware.nixosModules.dell-precision-5530
|
|
|
|
inputs.nixos-hardware.nixosModules.common-gpu-intel
|
2022-02-28 22:34:34 +01:00
|
|
|
];
|
2021-11-29 20:59:10 +01:00
|
|
|
boot.initrd.availableKernelModules = [
|
2021-11-29 18:38:28 +01:00
|
|
|
"aesni_intel"
|
|
|
|
"ahci"
|
|
|
|
"cryptd"
|
2021-11-29 18:44:15 +01:00
|
|
|
"nvme"
|
|
|
|
"rtsx_pci_sdmmc"
|
2021-11-29 18:38:28 +01:00
|
|
|
"sd_mod"
|
2021-11-29 18:44:15 +01:00
|
|
|
"sr_mod"
|
|
|
|
"usbhid"
|
2021-11-29 18:38:28 +01:00
|
|
|
"usb_storage"
|
|
|
|
"xhci_pci"
|
|
|
|
];
|
2024-01-09 21:07:51 +01:00
|
|
|
|
2021-11-22 15:12:19 +01:00
|
|
|
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
2024-02-02 13:45:05 +01:00
|
|
|
boot.kernelModules = [
|
|
|
|
"kvm-intel"
|
|
|
|
"sg"
|
|
|
|
];
|
2021-11-16 20:57:04 +01:00
|
|
|
boot.extraModulePackages = [ ];
|
2024-01-09 21:07:51 +01:00
|
|
|
boot.kernelParams = [
|
|
|
|
"ip=dhcp" # required for ssh at initrd
|
|
|
|
];
|
2023-12-11 13:45:53 +01:00
|
|
|
|
2024-01-09 18:56:16 +01:00
|
|
|
boot.initrd.luks.devices."cryptlvm" = {
|
|
|
|
allowDiscards = true;
|
|
|
|
device = "/dev/nvme0n1p2";
|
|
|
|
};
|
2021-11-16 20:57:04 +01:00
|
|
|
|
2022-06-27 14:57:05 +02:00
|
|
|
# Required to build aarch64 packages
|
|
|
|
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
2024-02-02 13:45:05 +01:00
|
|
|
boot.supportedFilesystems = [
|
|
|
|
"apfs"
|
|
|
|
"exfat"
|
|
|
|
"ext4"
|
|
|
|
"nfs"
|
|
|
|
"nfs4"
|
|
|
|
"ntfs"
|
|
|
|
"cifs"
|
|
|
|
"f2fs"
|
|
|
|
];
|
2022-06-27 14:57:05 +02:00
|
|
|
|
2022-01-03 20:29:08 +01:00
|
|
|
fileSystems."/" = {
|
|
|
|
device = "/dev/disk/by-label/nixos";
|
|
|
|
fsType = "ext4";
|
|
|
|
};
|
|
|
|
fileSystems."/boot" = {
|
|
|
|
device = "/dev/disk/by-label/BOOT";
|
|
|
|
fsType = "vfat";
|
|
|
|
};
|
2022-01-10 20:58:26 +01:00
|
|
|
|
2022-09-06 23:03:29 +02:00
|
|
|
networking.hostName = hostname;
|
2022-01-10 20:58:26 +01:00
|
|
|
|
2024-03-07 21:01:47 +01:00
|
|
|
zramSwap = {
|
|
|
|
enable = true;
|
|
|
|
writebackDevice = "/var/lib/zwram_writeback";
|
|
|
|
};
|
|
|
|
|
2024-02-02 13:45:05 +01:00
|
|
|
swapDevices = [ { device = "/dev/disk/by-label/swap"; } ];
|
2023-05-27 17:38:54 +02:00
|
|
|
|
2023-05-27 18:16:19 +02:00
|
|
|
hardware = {
|
2023-05-29 09:17:12 +02:00
|
|
|
az-bluetooth.enable = true;
|
|
|
|
az-dvd.enable = true;
|
|
|
|
az-nvidia.enable = true;
|
2023-12-11 13:02:47 +01:00
|
|
|
opengl.enable = true;
|
2023-05-27 18:16:19 +02:00
|
|
|
};
|
|
|
|
|
2023-05-31 21:33:31 +02:00
|
|
|
profiles.az-desktop.enable = true;
|
2023-05-27 17:38:54 +02:00
|
|
|
programs = {
|
2024-02-25 09:31:49 +01:00
|
|
|
az-adb.enable = true;
|
2023-08-19 22:15:47 +02:00
|
|
|
az-distrobox.enable = true;
|
2023-05-29 09:17:12 +02:00
|
|
|
az-lockscreen.enable = true;
|
|
|
|
az-makemkv.enable = true;
|
2023-06-12 14:26:17 +02:00
|
|
|
az-restic-management.enable = true;
|
2023-05-27 17:38:54 +02:00
|
|
|
};
|
2022-01-10 20:58:26 +01:00
|
|
|
|
2023-05-29 15:20:49 +02:00
|
|
|
services = {
|
2023-05-31 22:01:26 +02:00
|
|
|
az-logs-share.enable = true;
|
2023-05-31 22:10:26 +02:00
|
|
|
az-restic-client-desktop.enable = true;
|
2023-05-31 22:13:56 +02:00
|
|
|
az-tlp.enable = true;
|
2023-05-29 15:20:49 +02:00
|
|
|
az-x86.enable = true;
|
2024-01-09 18:56:16 +01:00
|
|
|
fstrim.enable = true; # Enable TRIM for SD cards
|
2023-06-19 21:08:12 +02:00
|
|
|
hardware.bolt.enable = true; # Enable Thunderbolt control
|
2023-09-04 16:48:42 +02:00
|
|
|
logind.lidSwitchExternalPower = "ignore";
|
2024-02-12 09:44:46 +01:00
|
|
|
|
|
|
|
# Disable the integrated webcam
|
|
|
|
udev.extraRules = ''
|
|
|
|
ACTION=="add", ATTR{idVendor}=="0c45", ATTR{idProduct}=="671d", RUN="${pkgs.bash}/bin/sh -c 'echo 1 >/sys/\$devpath/remove'"
|
|
|
|
'';
|
2023-05-29 15:20:49 +02:00
|
|
|
};
|
2023-05-27 17:54:43 +02:00
|
|
|
|
2022-01-10 20:58:26 +01:00
|
|
|
virtualisation.virtualbox.host.enable = true;
|
2021-11-16 20:57:04 +01:00
|
|
|
}
|