Home-manager "fusermount": executable file not found in $PATH

Hi,

After installing home-manager on Ubuntu 24.04, I add keybase using home-manager. It seems to go well, however, in the kbfs.service I can see;

[WARN kbfs mounter.go:41] 011 KBFS failed to FUSE mount at /home/matstage//home/matstage/keybase: fusermount: exec: “fusermount”: executable file not found in $PATH

[ERRO kbfs mount_interrupter.go:52] 012 Mounting the filesystem failed: fusermount: exec: “fusermount”:

KBFS does not mount any files, duh!

Any ideas?

It might do some bind mounting for container stuff. fusermount has to be installed by root because it requires setuid, so home-mamager can’t do it (NixOS has a special option for this that does some fancy stuff home-manager cannot).

Installing fusermount with apt is probably the way to go here.

Removing fuse from home-manager and using the APT installed fusermount did not work.

matstage@matstage:~$ which fusermount
/usr/bin/fusermount
matstage@matstage:~$ whereis fusermount
fusermount: /usr/bin/fusermount /usr/share/man/man1/fusermount.1.gz

matstage@matstage:~$ fusermount --version
fusermount3 version: 3.14.0

Still looking…

Right, looking at the service it hard-codes $PATH so you get access to the NixOS wrappers, which is assumed to contain fusermount: home-manager/modules/services/kbfs.nix at c085b984ff2808bf322f375b10fea5a415a9c43d · nix-community/home-manager · GitHub

This is presumably because the services don’t normally inherit the external PATH, so that’s the simplest way to get it to work on NixOS.

As written, the service can only work on NixOS, and even there it implicitly depends on specifig config. This will need to be fixed upstream.