about summary refs log tree commit diff stats
path: root/hosts/IDOHVE/hardware.nix
blob: be55c07c51c5af22eae1ab56bd096408a7dab166 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
{
  config,
  lib,
  pkgs,
  modulesPath,
  ...
}: let
  main_disk = "/dev/disk/by-uuid/<uuid>";
in {
  imports = [
    (modulesPath + "/installer/scan/not-detected.nix") # TODO is this necessary?
  ];

  boot = {
    initrd = {
      compressor = "lz4";
      compressorArgs = ["-9"];

      # TODO check this:
      availableKernelModules = ["xhci_pci" "nvme" "rtsx_pci_sdmmc"];
    };

    kernelModules = ["kvm-amd"];
    kernelPackages = pkgs.linuxPackages_latest;
    loader = {
      grub = {
        enable = true;
        version = 2;
        theme = pkgs.nixos-grub2-theme;
        splashImage = ./grub_boot_image.png;
        efiSupport = true;
        device = "nodev"; # TODO add this
      };
      efi = {
        canTouchEfiVariables = true;
        efiSysMountPoint = "/boot";
      };
    };
  };

  fileSystems = {
    "/" = {
      device = "none";
      fsType = "tmpfs";
      options = ["defaults" "size=2G" "mode=755"];
    };
    "/nix" = {
      device = main_disk;
      fsType = "btrfs";
      options = ["subvol=@nix" "compress-force=zstd:9"];
    };
    "/boot" = {
      device = "/dev/disk/by-uuid/<uuid>";
      fsType = "vfat";
    };

    "/srv/home" = {
      device = main_disk;
      fsType = "btrfs";
      options = ["subvol=@home" "compress-force=zstd:9"];
    };
    "/srv/nixos-config" = {
      device = main_disk;
      fsType = "btrfs";
      options = ["subvol=@nixos-config" "compress-force=zstd:9"];
    };

    "/etc/nixos" = {
      device = "/srv/nix-config";
      options = ["bind"];
    };
    "/home" = {
      device = "/srv/home";
      options = ["bind"];
    };
  };

  swapDevices = [];



  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
  powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
}