nixos-config/hosts/desktop/default.nix

142 lines
3.7 KiB
Nix

{lib, pkgs, config, modulesPath, ...}: {
imports = [
# ./nvme-raid.nix
../../options.nix
(modulesPath + "/installer/scan/not-detected.nix")
];
darkMode = true;
enableHypridle = true;
has_battery = false;
extraOutputConfig = {
"HDMI-A-3" = {pos = "0 0";};
"HDMI-A-1" = { pos = "1920 0"; };
};
fileSystems = {
"/boot" = {
device = "/dev/disk/by-uuid/EF81-FDEB";
fsType = "vfat";
options = [ "uid=0" "gid=0" "fmask=0077" "dmask=0077" ];
};
"/" = {
device = "/dev/mapper/crypt0";
fsType = "btrfs";
options = [ "subvol=@root" "noatime" "compress=zstd" ];
};
"/mnt/rootfs" = {
device = "/dev/mapper/crypt0";
fsType = "btrfs";
options = [ "noatime" "compress=zstd" ];
};
"/home" = {
device = "/dev/mapper/crypt0";
fsType = "btrfs";
options = [ "subvol=@home" "noatime" "compress=zstd" ];
};
"/var/games" = {
device = "/dev/mapper/crypt0";
fsType = "btrfs";
options = [ "subvol=@games" "noatime" "compress=zstd" ];
};
"/var/code" = {
device = "/dev/mapper/crypt0";
fsType = "btrfs";
options = [ "subvol=@code" "noatime" "compress=zstd" ];
};
"/var/log" = {
device = "/dev/mapper/crypt0";
fsType = "btrfs";
options = [ "subvol=@log" "noatime" "compress=zstd" ];
};
"/persist" = {
device = "/dev/mapper/crypt0";
fsType = "btrfs";
options = [ "subvol=@persist" "noatime" "compress=zstd" ];
};
"/nix" = {
device = "/dev/mapper/crypt0";
fsType = "btrfs";
options = [ "subvol=@nix" "noatime" "compress=zstd" ];
};
"/var/.snapshots" = {
device = "/dev/mapper/crypt0";
fsType = "btrfs";
options = [ "subvol=@snapshots" "noatime" "compress=zstd" ];
};
"/swap" = {
device = "/dev/mapper/crypt0";
fsType = "btrfs";
options = [ "subvol=@swap" ];
};
};
swapDevices = [
{
device = "/swap/swapfile";
}
];
boot = {
kernelParams = [
"quiet"
"splash"
"boot.shell_on_fail"
"udev.log_priority=3"
"rd.systemd.show_status=auto"
"mem_sleep_default=deep"
"resume_offset=533760"
];
resumeDevice = "/dev/disk/by-uuid/c6442c5b-119b-4eba-82b3-0b9b89aab03f";
kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ];
consoleLogLevel = 3;
initrd = {
systemd.enable = true;
luks = {
devices = {
"crypt0" = {
device = "/dev/disk/by-uuid/7b5d31a2-0cc9-41a4-8ce4-d6b3a4c83f6a";
allowDiscards = true;
};
"crypt1" = {
device = "/dev/disk/by-uuid/bf7f6c09-ee13-4cb6-b56c-defd910b8265";
allowDiscards = true;
};
};
};
verbose = false;
availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ];
# kernelModules = ["amdgpu" ];
};
plymouth.enable = true;
# plymouth = {
# enable = true;
# theme = "rings";
# themePackages = with pkgs; [
# (adi1090x-plymouth-themes.override {
# selected_themes = ["rings"];
# }
# )
# ];
# };
};
# 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.enp1s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = true;
}