I’ve noticed that almost all flatpak packages that I have are also available on nix package manager and I was curious about it, so I’ve tried installing it and working with it.
I understand that for nix package manager flakes have recently gotten the popular method of installing packages instead of using channels, so I am choosing that route.
So far I’ve got:
$ guix packages -i nix
Then edit /etc/nix/nix.conf
extra-experimental-features = nix-command flakes
Now when running the first nix command, I get:
$ nix flake init
error: could not set permissions on '/nix/var/nix/profiles/per-user' to 755: Operation not permitted
This is “solved” by turning all nix files into ownership of the user, which I think is very wrong because only one user can then use nix to install packages.
sudo mkdir $USER /nix/var/nix/{profiles,gcroots}/per-user/$USER
sudo chown $USER --recursive /nix
On top of that, using it as a user gets the nix package manager to install packages on the home folder. I don’t think I would want that.
$ nix flake init
error: '/home/user/.local/share/nix/root/nix/store/f9c35cwj3asd78n5rfyriqdhb6d0ykil-source/trivial' was not found in the Nix store
If you've set 'defaultTemplate.path' to a string, try using a path instead.
So what is standard practice. Run nix package manager as user or as root?