boot.initrd.postDeviceCommands not executed by NixOS

I am trying to use impermanence with my NixOS VM.
Therefor I added this setting to my configuration.nix:

  boot.initrd.postDeviceCommands = pkgs.lib.mkBefore ''
    mkdir /btrfs_tmp
    mount /dev/root_vg/root /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
  '';

However it does not seem like it gets executed by NixOS. I already tried some echo statements and had a look at journalctl but the content of the system log is inconspicuous:

 Jul 11 19:40:28 work stage-1-init: [Thu Jul 11 17:40:28 UTC 2024] starting device mapper and LVM...
Jul 11 19:40:28 work stage-1-init: [Thu Jul 11 17:40:28 UTC 2024] 1 logical volume(s) in volume group "root_vg" now active
Jul 11 19:40:28 work kernel: BTRFS: device fsid 0b2d25c1-927b-4d0a-95b6-a5dfa30a4f75 devid 1 transid 576 /dev/mapper/root_vg-root scanned by btrfs (208)
Jul 11 19:40:28 work stage-1-init: [Thu Jul 11 17:40:28 UTC 2024] Scanning for Btrfs filesystems
Jul 11 19:40:28 work stage-1-init: [Thu Jul 11 17:40:28 UTC 2024] registered: /dev/mapper/root_vg-root
Jul 11 19:40:28 work stage-1-init: [Thu Jul 11 17:40:28 UTC 2024] mounting /dev/root_vg/root on /...
Jul 11 19:40:28 work kernel: BTRFS info (device dm-0): first mount of filesystem 0b2d25c1-927b-4d0a-95b6-a5dfa30a4f75
Jul 11 19:40:28 work kernel: BTRFS info (device dm-0): using crc32c (crc32c-intel) checksum algorithm
Jul 11 19:40:28 work kernel: BTRFS info (device dm-0): use zstd compression, level 3
Jul 11 19:40:28 work kernel: BTRFS info (device dm-0): using free space tree
Jul 11 19:40:28 work kernel: BTRFS info (device dm-0): auto enabling async discard
Jul 11 19:40:28 work stage-1-init: [Thu Jul 11 17:40:28 UTC 2024] mounting /dev/root_vg/root on /nix...
Jul 11 19:40:28 work unknown: booting system configuration /nix/store/s31czkb2lgsh3bq1ckqcps6znzpgc65a-nixos-system-work-24.05.20240709.249fbde
Jul 11 19:40:28 work stage-2-init: running activation script...
Jul 11 19:40:28 work stage-2-init: setting up /etc...
Jul 11 19:40:28 work stage-2-init: removing obsolete symlink ‘/etc/machine-id’...
Jul 11 19:40:28 work systemd[1]: Inserted module 'autofs4'

Any idea what could be missing so that the postDeviceCommands script is executed?

I added a sleep 30 command in the first line and did not notice any delay during boot. This confirms my assumption that the commands in this setting are not executed.