{ config, pkgs, ... }: { boot = { kernelPackages = pkgs.linuxPackages_5_10; kernel.sysctl."vm.max_map_count" = 2147483642; initrd.systemd = { enable = true; services.root-reset = { description = "Reset root and snapshot last boot"; wantedBy = [ "initrd.target" ]; before = [ "sysroot.mount" ]; after = [ "dev-${config.networking.hostName}-root.device" ]; unitConfig.DefaultDependencies = "no"; serviceConfig.Type = "oneshot"; script = '' mkdir -p /mnt mount /dev/${config.networking.hostName}/root /mnt if [[ -e /mnt/prev ]]; then btrfs subvolume delete /mnt/prev fi btrfs subvolume snapshot /mnt/root /mnt/prev btrfs subvolume list -o /mnt/root | cut -f9 -d' ' | while read subvolume; do btrfs subvolume delete "/mnt/$subvolume" done btrfs subvolume delete /mnt/root btrfs subvolume create /mnt/root umount /mnt ''; }; }; }; }