aboutsummaryrefslogtreecommitdiff
path: root/src/libstore
diff options
context:
space:
mode:
authorThéophane Hufschmitt <theophane.hufschmitt@tweag.io>2023-01-17 14:15:00 +0100
committerThéophane Hufschmitt <theophane.hufschmitt@tweag.io>2023-01-17 14:17:28 +0100
commitc80621dbacc501f8bf43863438a3df087436d13e (patch)
treeb748bedc2b55ce386e3438c3ed863560f8226a07 /src/libstore
parent1f02aa4098a61e60062e3ecdb713810e24efa25a (diff)
Don't try to migrate existing profiles
Doing so would be more dangerous than useful, better leave them as-is if they already exist
Diffstat (limited to 'src/libstore')
-rw-r--r--src/libstore/profiles.cc27
1 files changed, 3 insertions, 24 deletions
diff --git a/src/libstore/profiles.cc b/src/libstore/profiles.cc
index d185a898c..ff62d0972 100644
--- a/src/libstore/profiles.cc
+++ b/src/libstore/profiles.cc
@@ -292,30 +292,9 @@ Path getDefaultProfile()
{
Path profileLink = getHome() + "/.nix-profile";
try {
- // Migrate from the “old-style” profiles stored under `/nix/var`:
- // If the link exists and points to the old location, then:
- // - Rewrite it to point to the new location
- // - 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)));
- }
- }
+ auto profile = profilesDir() + "/profile";
+ if (!pathExists(profileLink)) {
+ replaceSymlink(profile, profileLink);
}
return absPath(readLink(profileLink), dirOf(profileLink));
} catch (Error &) {