Misterio77 / nix-config

Personal nixos and home-manager configurations.
https://m7.rs/git/nix-config/
MIT License
719 stars 42 forks source link

Home-Manager not working as anticipated #2

Closed lutzgo closed 2 years ago

lutzgo commented 2 years ago

First of all: Great work! Your starter-config helped me to understand nix-flake configuration a little more and your nix-config checked all the boxes for me: encrypted btrfs, impermanence, multiple users and host-machines ans everything in one flake-file.

Thanks to your nix-config I have a running NixOS although I am struggling with the home-manager (not for the first time). I can build and switch with home-manager switch --flake $user@$host but home-manager packages gives me nothing. I remember that I had problems with home-manager before (with a much simpler config) getting sway to work. Do you have any clues, what might be the problem? I basically edited your configuration to my needs.

Thank you in advance

Lutz

Misterio77 commented 2 years ago

Thank you for your kind words! I'm really glad I could help out fellow nixers with my configs :D

Hmm, maybe you might have some kind of issue with the new nix profile? home-manager isn't very compatible with it.

I think you can switch back to nix-env by using rm /nix/var/nix/profiles/per-user/$USER/profile.

Let me know if it works!

lutzgo commented 2 years ago

Thank you for the fast reply.

Removing of the per-user-profile had the effect, that the home-manager-configuration was build completely (my hopes where getting up). But after completion there is still nothing to be found with home-manager packages. I would really like to use home-manger especially for sway and the cli-config.

If it helps, my configuration is located at nix-config. Feel free to comment on my humble copy of your configuration (at the time I am using Gnome in the host-config as I have to get some things working).

Best Regards

Lutz

Misterio77 commented 2 years ago

Hey!

I'm hmm... Kinda out of ideas here. You're running something like (of course, with your own user and host) home-manager switch --flake .#misterio@atlas?

You can omit the URI fragment (part after #) if the user@host combination you're switching to is your current user and host (you can verify this with echo $USER@$(hostname).

Additionally (only if you already meet the previous requirement), you can omit the path (part before #) if your flake repository is located at (or symlinked to) ~/.config/nixpkgs.

Maybe try nix build .#homeConfigurations.yourname@yourhost.activationPackage, followed by ./result/activate.

lutzgo commented 2 years ago

Thank you for your patience. The home-manager switch -b backup --flake .#lgo@flores was build as expected (I have to use -b backup because of the existing firefox-profile. After the build I got:

Starting Home Manager activation
Activating checkFilesChanged
Activating checkLinkTargets
Activating unmountPersistentStoragePaths
Activating createAndMountPersistentStoragePaths
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option

The same goes for the nix build-approach.

Misterio77 commented 2 years ago

Yeah, this is an error from impermanence, it's kinda of a pain they don't tell which mountpoint is conflicted haha.

Okay hm you can try commenting out every home.persistence block (or set persistent = false on your flake), check if it works, and then uncomment half of then and so on, until you know what is conflicting.

lutzgo commented 2 years ago

Hey, that was a partial success. home-manager is working with persitance completly disabled. As soon as I enable it (wether or not something else is commented out or not) I get the described error.

Thank you so far. My system is usable now :)

Misterio77 commented 2 years ago

Glad you got it working :)

Impermanence sure is a tough nut to crack. Enabling one at a time should help!

badele commented 1 year ago

Thank you for your patience. The home-manager switch -b backup --flake .#lgo@flores was build as expected (I have to use -b backup because of the existing firefox-profile. After the build I got:

Starting Home Manager activation
Activating checkFilesChanged
Activating checkLinkTargets
Activating unmountPersistentStoragePaths
Activating createAndMountPersistentStoragePaths
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option

The same goes for the nix build-approach.

Indeed, it's a bit annoying, there is no debugging option in the home-manager mode.

I think that during the home-manager switch phase, if an application writes to one of the impermanence mount folders, that impermanence (fuse) cannot mount the whole impermanence.

It's a shame, because the idea was good, but too restrictive, I deactivated it