Nautilus 'mount' command not found + CIFS double mounting issue

Hi NixOS discourse,

I’m encountering issues with CIFS shares on NixOS using BSPWM. Previously, this setup worked on the base GNOME configuration.

Issues:

  1. Nautilus error when mounting CIFS shares:

    Error spawning command-line `mount "/mnt/<...>"`: Failed to execute child process "mount" (No such file or directory)
    
  2. Double mounting of CIFS shares:
    Shares appear twice in Nautilus sidebar. dmesg shows:

    [ 1077.833546] CIFS: Attempting to mount //192.168.68.115/Public
    [ 1077.874463] CIFS: enabling forceuid mount option implicitly because uid= option is specified
    [ 1077.874465] CIFS: enabling forcegid mount option implicitly because gid= option is specified
    [ 1077.874466] CIFS: Attempting to mount //192.168.68.115/Public
    [ 1102.957021] CIFS: enabling forcegid mount option implicitly because gid= option is specified
    

Relevant config:

{
  environment.systemPackages = [ pkgs.cifs-utils pkgs.nautilus ];

  security.wrappers."mount.cifs" = {
    program = "mount.cifs";
    source = "${lib.getBin pkgs.cifs-utils}/bin/mount.cifs";
    owner = "root";
    group = "root";
    setuid = true;
  };

  sops.secrets."smb-secrets".owner = "${user}";

  fileSystems = let
    common = [
      "noauto"
      "x-gvfs-show"
      "x-systemd.automount"
      "credentials=${config.sops.secrets.smb-secrets.path}"
      "uid=${toString config.users.users."${user}".uid}"
      "gid=${toString config.users.groups.users.gid}"
      "user"
      "users"
    ];
  in {
    "/mnt/share/Personal" = {
      device = "//${nas-vpn-ip}/${capitalize user}";
      fsType = "cifs";
      options = common;
    };
    "/mnt/share/Shared" = {
      device = "//${nas-vpn-ip}/Public";
      fsType = "cifs";
      options = common;
    };
  };

  networking.firewall = {
    enable = lib.mkForce false; # debugging
    allowedTCPPorts = [ 139 445 ];
    allowedUDPPorts = [ 137 138 ];
  };
}

Relevant /etc/fstab entry:

//192.168.68.115/Public /mnt/share/Shared cifs noauto,x-gvfs-show,x-systemd.automount,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,x-systemd.requires=network-online.target,x-systemd.after=network-online.target,credentials=/run/secrets/smb-secrets,uid=1002,gid=100,user,users 0 0

How can I:

  1. Make the mount command available for Nautilus?
  2. Prevent the double mounting of CIFS shares?

Any insights would be appreciated. Thanks!