]> Git — Sourcephile - julm/julm-nix.git/blob - hosts/aubergine/hardware.nix
bash: smartctl-tbw: better support nvme drives
[julm/julm-nix.git] / hosts / aubergine / hardware.nix
1 { pkgs, lib, hostName, ... }:
2 {
3 imports = [
4 ../../nixos/profiles/hardware/apu6b4.nix
5 ../../nixos/profiles/hardware/ME909u-521.nix
6 ../../nixos/profiles/zfs.nix
7 ../../nixos/profiles/zramSwap.nix
8 ];
9
10 # Setting the machine-id avoids to reencrypt all credentials
11 # when reinstalling NixOS on a new drive.
12 # Manually generated with : uuidgen | tr -d -
13 environment.etc.machine-id.source = ./machine-id.clear;
14
15 # The 32-bit host id of the host, formatted as 8 hexadecimal characters.
16 # You should try to make this id unique among your hosts.
17 # Manually generated with : uuidgen | head -c8
18 networking.hostId = "408a404a";
19
20 /*
21 boot.loader.efi = {
22 canTouchEfiVariables = true;
23 efiSysMountPoint = "/boot/efi";
24 };
25 */
26 boot.loader.grub = {
27 enable = true;
28 devices = [
29 #"/dev/disk/by-id/mmc-SU08G_0xb0320f0f"
30 #"/dev/disk/by-id/usb-Generic-_Multi-Card_20071114173400000-0:0"
31 "/dev/disk/by-id/ata-YMTC_JGS_2201060101833"
32 ];
33 configurationLimit = 9;
34
35 #zfsSupport = true;
36 #efiSupport = true;
37 #enableCryptodisk = true;
38 };
39 boot.tmp.useTmpfs = true;
40 #boot.kernelPackages = pkgs.linuxKernel.packages.linux_4_14;
41 # linux-firmware-20230515
42 # linux-firmware-20221109
43 # linux-5.15.109 <-- working?
44 # linux-5.15.129
45
46 boot.supportedFilesystems = [ /*"ntfs"*/ "vfat" ];
47 boot.extraModulePackages = [
48 #config.boot.kernelPackages.exfat-nofuse
49 ];
50
51 powerManagement.powertop.enable = true;
52 #services.fprintd.enable = true;
53
54 fileSystems."/" =
55 {
56 device = "${hostName}/root";
57 fsType = "zfs";
58 };
59 fileSystems."/boot" =
60 {
61 device = "/dev/disk/by-partlabel/${hostName}_ssd_boot";
62 fsType = "ext4";
63 };
64 fileSystems."/boot/efi" =
65 {
66 device = "/dev/disk/by-partlabel/${hostName}_ssd_efi";
67 fsType = "vfat";
68 };
69 fileSystems."/nix" =
70 {
71 device = "${hostName}/nix";
72 fsType = "zfs";
73 };
74 fileSystems."/var" =
75 {
76 device = "${hostName}/var";
77 fsType = "zfs";
78 };
79 fileSystems."/home" =
80 {
81 device = "${hostName}/home";
82 fsType = "zfs";
83 };
84 swapDevices =
85 [
86 {
87 device = "/dev/disk/by-partlabel/${hostName}_ssd_swap";
88 randomEncryption = {
89 enable = true;
90 cipher = "aes-xts-plain64";
91 source = "/dev/urandom";
92 };
93 }
94 ];
95
96 hardware.pulseaudio.enable = lib.mkDefault true;
97 #hardware.pulseaudio.tcp.enable = lib.mkDefault true;
98
99 }