Don't try to migrate existing profiles

Doing so would be more dangerous than useful, better leave them as-is if
they already exist
This commit is contained in:
Théophane Hufschmitt 2023-01-17 14:15:00 +01:00
parent 1f02aa4098
commit c80621dbac

View file

@ -292,30 +292,9 @@ Path getDefaultProfile()
{ {
Path profileLink = getHome() + "/.nix-profile"; Path profileLink = getHome() + "/.nix-profile";
try { try {
// Migrate from the “old-style” profiles stored under `/nix/var`: auto profile = profilesDir() + "/profile";
// If the link exists and points to the old location, then: if (!pathExists(profileLink)) {
// - Rewrite it to point to the new location replaceSymlink(profile, profileLink);
// - For every generation of the old default profile, create a symlink
// from the new directory to it (so that all the previous profiles
// and generations are still available).
auto legacyProfile = getuid() == 0
? settings.nixStateDir + "/profiles/default"
: fmt("%s/profiles/per-user/%s/profile", settings.nixStateDir, getUserName());
auto newProfile = profilesDir() + "/profile";
if (!pathExists(profileLink)
|| (isLink(profileLink)
&& readLink(profileLink) == legacyProfile)) {
warn("Migrating the default profile");
replaceSymlink(newProfile, profileLink);
replaceSymlink(legacyProfile, newProfile);
if (pathExists(legacyProfile)) {
for (auto & oldGen : findGenerations(legacyProfile).first) {
replaceSymlink(
oldGen.path,
dirOf(newProfile) + "/"
+ std::string(baseNameOf(oldGen.path)));
}
}
} }
return absPath(readLink(profileLink), dirOf(profileLink)); return absPath(readLink(profileLink), dirOf(profileLink));
} catch (Error &) { } catch (Error &) {