{ config, lib, ... }: { options = { disko = { enable = lib.options.mkOption { default = false; type = lib.types.bool; }; impermanent = lib.options.mkOption { default = false; type = lib.types.bool; }; }; }; config = lib.mkIf config.disko.enable (lib.mkMerge [ { imports = [ ./disko.nix { device = config.sysconfig.opts.devices.main; } ]; } (lib.mkIf (config.sysconfig.opts.devices.bonus != null) { imports = [ (./disko_bonus.nix { devices = config.sysconfig.opts.devices.bonus; }) ]; }) (lib.mkIf config.disko.impermanent { imports = [ ./impermanent.nix ]; }) (lib.mkIf (!config.disko.enable) { disko.impermanent = lib.mkForce false; }) ]); }