Назад | Перейти на главную страницу

Восстановление после `nixos-rebuild test` без перезагрузки

Есть ли способ вернуться к предыдущей (или, по крайней мере, «текущей») конфигурации после nixos-rebuild test без перезагрузки?

По nixos-rebuild руководство:

   test
       Build and activate the new configuration, but do not
       add it to the GRUB boot menu. Thus, if you reboot
       the system (or if it crashes), you will
       automatically revert to the default configuration
       (i.e. the configuration resulting from the last call
       to nixos-rebuild switch or nixos-rebuild boot).

Ясно, что перезагрузка должна вернуть меня к работающей системе, но, похоже, в этом нет необходимости.

В --rollback вариант выглядит многообещающим:

   --rollback
       Instead of building a new configuration as specified
       by /etc/nixos/configuration.nix, roll back to the
       previous configuration. (The previous configuration
       is defined as the one before the “current”
       generation of the Nix profile /nix/var/nix/profiles/
       system.)

Вот только я хочу активировать «текущее» поколение, а не старшее.

Например. Поколение 18 - это «текущее», которое немного устарело, но приемлемо. Поколение 17 старше. я использовал nixos-rebuild test --upgrade который сломал Chrome, поэтому я хочу вернуться к 18 без перезагрузки. (Пока я не смогу решить проблемы с обновлением.)

Обновление: я пробовал nixos-rebuild test --rollback, но документация верна: оно вернулось к 17, а не к 18.

Прочитав источник, я нашел это решение, которое кажется чтобы работать, но кажется действительно хакерским:

# /nix/var/nix/profiles/system-18-link/bin/switch-to-configuration test
activating the configuration...
setting up /etc...
setting up tmpfiles
reloading the following units: dbus.service

Есть способ чище?