# Migrate disko config from `clanModules.disk-id` If you previously bootstrapped a machine's disk using `clanModules.disk-id`, you should now migrate to a standalone, self-contained disko configuration. This ensures long-term stability and avoids reliance on dynamic values from Clan. If your `disko.nix` currently looks something like this: ```nix title="disko.nix" { lib, clan-core, config, ... }: let suffix = config.clan.core.vars.generators.disk-id.files.diskId.value; in { imports = [ clan-core.clanModules.disk-id ]; # DO NOT EDIT THIS FILE AFTER INSTALLATION of a machine # Otherwise your system might not boot because of missing partitions / filesystems boot.loader.grub.efiSupport = lib.mkDefault true; boot.loader.grub.efiInstallAsRemovable = lib.mkDefault true; disko.devices = { disk = { "main" = { # suffix is to prevent disk name collisions name = "main-" + suffix; type = "disk"; # Set the following in flake.nix for each maschine: # device = ; content = { # edlied }; }; }; }; } ``` ## Step 1: Retrieve your `disk-id` Run the following command to retrieve the generated disk ID for your machine: ```bash clan vars list ``` Which should print the generated `disk-id/diskId` value in clear text You should see output like: ```shellSession disk-id/diskId: fcef30a749f8451d8f60c46e1ead726f # ... # elided ``` Copy this value — you'll need it in the next step. ## ✍️ Step 2: Replace Dynamic Configuration with Static Values ✅ Goal: Make your disko.nix file standalone. We are going to make three changes: - Remove `let in, imports, {lib,clan-core,config, ...}:` to isolate the file. - Replace `suffix` with the actual disk-id - Move `disko.devices.disk.main.device` from `flake.nix` or `configuration.nix` into this file. ```{.nix title="disko.nix" hl_lines="7-9 11-14"} { boot.loader.grub.efiSupport = lib.mkDefault true; boot.loader.grub.efiInstallAsRemovable = lib.mkDefault true; disko.devices = { disk = { "main" = { # ↓ Copy the disk-id into place name = "main-fcef30a749f8451d8f60c46e1ead726f"; type = "disk"; # Some earlier guides had this line in a flake.nix # disko.devices.disk.main.device = "/dev/disk/by-id/__CHANGE_ME__"; # ↓ Copy the '/dev/disk/by-id' into here instead device = "/dev/disk/by-id/nvme-eui.e8238fa6bf530001001b448b4aec2929"; # edlied; }; }; }; } ``` These steps are only needed for existing configurations that depend on the `diskId` module. For newer machines clan offers simple *disk templates* via its [templates cli](/reference/cli/templates.md)