Hi Guix Users! I would like to repair or reinstall my Guix package manager installation, because it seems broken and nothing I tried fixes the problem.
The problem: ~~~~ xiaolong@xlx200:~/Downloads$ guix pull Migrating profile generations to '/var/guix/profiles/per-user/xiaolong'... guix pull: error: symlink: File exists: "/var/guix/profiles/per-user/xiaolong/current-guix" ~~~~ It started appearing, when I once ran `guix pull` and `guix package -u` as `root` user, to update my locales in the root profile. Now I can only do a `guix pull` as `root` user, no longer as normal user. I've tried deleting the symlink, thinking: "Well if the error is, that a file exists in that place, it probably wants to write there and refuses to overwrite. I'll delete it for you then." That results in another error: ~~~~ xiaolong@xlx200:~/Downloads$ guix pull Migrating profile generations to '/var/guix/profiles/per-user/xiaolong'... Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'... guix pull: error: Git error: failed open - '/home/xiaolong/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/FETCH_HEAD' is locked: Permission denied ~~~~ I can get it back to previous state by running `guix pull` as `root` user again, but it does not fix the original problem then. Now I've gone 1 step further in frustration and deleted the whole `/var/guix/profiles/per-user/xiaolong` folder. OK, now guix does not know about any installed packages any more and the error becomes: ~~~~ xiaolong@xlx200:~$ guix pull guile: warning: failed to install locale Migrating profile generations to '/var/guix/profiles/per-user/xiaolong'... Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'... guix pull: error: Git error: failed open - '/home/xiaolong/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/FETCH_HEAD' is locked: Permission denied ~~~~ So I a basically giving up now and want to reinstall. I downloaded the install script `guix-install.sh` from the website and ran it: ~~~~ xiaolong@xlx200:~/Downloads$ sudo bash guix-install.sh (... big GUIX logo here ...) This script installs GNU Guix on your system https://www.gnu.org/software/guix/ Press return to continue... [1593338927.330]: Starting installation (So 28. Jun 12:08:47 CEST 2020) [1593338927.333]: [ PASS ] verification of required commands completed [1593338927.364]: [ INFO ] init system is: systemd [1593338927.368]: [ INFO ] system is x86_64-linux [1593338928.075]: [ PASS ] Release for your system: guix-binary-1.1.0.x86_64-linux [1593338928.077]: [ INFO ] Downloading Guix release archive guix-binary-1.1.0.x86_64 100%[==================================>] 70,14M 4,27MB/s in 21s guix-binary-1.1.0.x86_64 100%[==================================>] 833 --.-KB/s in 0s [1593338949.457]: [ PASS ] download completed. [1593338950.341]: [ PASS ] Signature is valid. [1593338959.807]: [ PASS ] unpacked archive [1593338959.808]: [ FAIL ] A previous Guix installation was found. Refusing to overwrite. ~~~~ "OK OK! I'll uninstall the previous one!" But how do I do it exactly? Or is there a flag or anything I can give to make it overwrite the previous installation? Regards, Zelphir -- repositories: https://notabug.org/ZelphirKaltstahl