92 lines
3 KiB
Nix
92 lines
3 KiB
Nix
|
# 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, ... }:
|
|||
|
|
|||
|
{
|
|||
|
imports =
|
|||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
|||
|
];
|
|||
|
|
|||
|
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
|||
|
boot.initrd.kernelModules = [ ];
|
|||
|
boot.kernelModules = [ "kvm-amd" ];
|
|||
|
boot.extraModulePackages = [ ];
|
|||
|
boot.initrd.postDeviceCommands = lib.mkAfter ''
|
|||
|
mkdir /btrfs_tmp
|
|||
|
mount /dev/nvme0n1p2 /btrfs_tmp
|
|||
|
if [[ -e /btrfs_tmp/root ]]; then
|
|||
|
mkdir -p /btrfs_tmp/old_roots
|
|||
|
timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S")
|
|||
|
mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp"
|
|||
|
fi
|
|||
|
|
|||
|
delete_subvolume_recursively() {
|
|||
|
IFS=$'\n'
|
|||
|
for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do
|
|||
|
delete_subvolume_recursively "/btrfs_tmp/$i"
|
|||
|
done
|
|||
|
btrfs subvolume delete "$1"
|
|||
|
}
|
|||
|
|
|||
|
for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do
|
|||
|
delete_subvolume_recursively "$i"
|
|||
|
done
|
|||
|
|
|||
|
btrfs subvolume create /btrfs_tmp/root
|
|||
|
umount /btrfs_tmp
|
|||
|
'';
|
|||
|
|
|||
|
fileSystems."/" =
|
|||
|
{ device = "/dev/disk/by-uuid/8e515c16-703a-43ea-8653-ec0f739ba532";
|
|||
|
fsType = "btrfs";
|
|||
|
options = [ "subvol=root" "compress=zstd" "noatime" ];
|
|||
|
};
|
|||
|
|
|||
|
fileSystems."/home" =
|
|||
|
{ device = "/dev/disk/by-uuid/8e515c16-703a-43ea-8653-ec0f739ba532";
|
|||
|
fsType = "btrfs";
|
|||
|
options = [ "subvol=home" "compress=zstd" "noatime" ];
|
|||
|
};
|
|||
|
|
|||
|
fileSystems."/nix" =
|
|||
|
{ device = "/dev/disk/by-uuid/8e515c16-703a-43ea-8653-ec0f739ba532";
|
|||
|
fsType = "btrfs";
|
|||
|
options = [ "subvol=nix" "compress=zstd" "noatime" ];
|
|||
|
};
|
|||
|
|
|||
|
fileSystems."/var/log" =
|
|||
|
{ device = "/dev/disk/by-uuid/8e515c16-703a-43ea-8653-ec0f739ba532";
|
|||
|
fsType = "btrfs";
|
|||
|
options = [ "subvol=log" "compress=zstd" "noatime" ];
|
|||
|
neededForBoot = true;
|
|||
|
};
|
|||
|
|
|||
|
fileSystems."/boot" =
|
|||
|
{ device = "/dev/disk/by-uuid/A925-0013";
|
|||
|
fsType = "vfat";
|
|||
|
};
|
|||
|
|
|||
|
fileSystems."/media/vault" =
|
|||
|
{ device = "/dev/disk/by-uuid/048d175b-0e3e-4ec7-955b-3d9a45f9f237";
|
|||
|
fsType = "xfs";
|
|||
|
};
|
|||
|
|
|||
|
fileSystems."/media/attic" =
|
|||
|
{ device = "/dev/disk/by-uuid/ec32ce36-9f53-4f44-ac8f-2c9163f0b3d7";
|
|||
|
fsType = "xfs";
|
|||
|
};
|
|||
|
|
|||
|
swapDevices = [ ];
|
|||
|
|
|||
|
# 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.enp34s0.useDHCP = lib.mkDefault true;
|
|||
|
|
|||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|||
|
}
|