Type
refactor
Scope
envfs
Summary
This repo pins envfs to 1.2.0 through a local overlay in modules/base/envfs.nix because nixpkgs still carries envfs 1.1.0. The overlay silences a spurious usr-bin.mount: Failed with result protocol boot log caused by envfs 1.1.0 exiting its mount helper before the FUSE mount is visible in /proc/self/mountinfo.
Mic92/envfs#216 fixed the upstream bug and envfs 1.2.0 has been released. The local follow-up is blocked until NixOS/nixpkgs#500707 lands and this flake updates to a nixpkgs revision that contains the envfs 1.2.0 package.
Unblock condition
Unblocked when NixOS/nixpkgs#500707 is merged and this flake is updated to a nixpkgs revision where pkgs.envfs.version is 1.2.0 without the local overlay.
Upstream pull requests
blocker NixOS/nixpkgs#500707 - r-ryantm envfs 1.1.0 to 1.2.0 bump
fix Mic92/envfs#216 - wait until filesystem is ready before the foreground process exits
Upstream issues
related Mic92/envfs#206 - usr-bin.mount failed with result protocol
Upstream releases and channels
fix https://github.com/Mic92/envfs/releases/tag/1.2.0 - envfs >= 1.2.0
Local workaround / affected code
|
# Pin envfs to 1.2.0 until nixpkgs PR #500707 lands. 1.1.0 exits its mount |
|
# helper before the FUSE mount is visible in /proc/self/mountinfo, so systemd |
|
# logs usr-bin.mount as `result=protocol` even though the mount succeeds. |
|
# Fixed upstream in Mic92/envfs#216 (released as 1.2.0). |
|
nixpkgs.overlays = [ |
|
(_final: prev: { |
|
envfs = prev.envfs.overrideAttrs (_oldAttrs: { |
|
version = "1.2.0"; |
|
src = prev.fetchFromGitHub { |
|
owner = "Mic92"; |
|
repo = "envfs"; |
|
rev = "1.2.0"; |
|
hash = "sha256-hj/6zS9ebF0IDqgc1Dne59nWx80nk6jn2gj8BzQUFIQ="; |
|
}; |
|
cargoDeps = prev.rustPlatform.fetchCargoVendor { |
|
src = prev.fetchFromGitHub { |
|
owner = "Mic92"; |
|
repo = "envfs"; |
|
rev = "1.2.0"; |
|
hash = "sha256-hj/6zS9ebF0IDqgc1Dne59nWx80nk6jn2gj8BzQUFIQ="; |
|
}; |
|
hash = "sha256-dz3gpE464jnmSDsAsmJHcxUsEKeUURNoUjgGU2214Xg="; |
|
}; |
|
}); |
|
}) |
|
]; |
Exit criteria
Validation
nix eval .#nixosConfigurations.system76.pkgs.envfs.version
nix eval .#nixosConfigurations.tpnix.pkgs.envfs.version
./build.sh --host system76 --skip-fmt --skip-hooks
./build.sh --host tpnix --skip-fmt --skip-hooks
journalctl -b -u usr-bin.mount --no-pager
Notes
The workaround was added in cd63f31. As of the 2026-04-20 template migration, NixOS/nixpkgs#500707 is open and labeled merge-bot eligible.
Confirmations
Type
refactor
Scope
envfs
Summary
This repo pins
envfsto 1.2.0 through a local overlay inmodules/base/envfs.nixbecause nixpkgs still carries envfs 1.1.0. The overlay silences a spurioususr-bin.mount: Failed with result protocolboot log caused by envfs 1.1.0 exiting its mount helper before the FUSE mount is visible in/proc/self/mountinfo.Mic92/envfs#216 fixed the upstream bug and envfs 1.2.0 has been released. The local follow-up is blocked until NixOS/nixpkgs#500707 lands and this flake updates to a nixpkgs revision that contains the envfs 1.2.0 package.
Unblock condition
Unblocked when NixOS/nixpkgs#500707 is merged and this flake is updated to a nixpkgs revision where
pkgs.envfs.versionis 1.2.0 without the local overlay.Upstream pull requests
blocker NixOS/nixpkgs#500707 - r-ryantm envfs 1.1.0 to 1.2.0 bump
fix Mic92/envfs#216 - wait until filesystem is ready before the foreground process exits
Upstream issues
related Mic92/envfs#206 -
usr-bin.mountfailed with resultprotocolUpstream releases and channels
fix https://github.com/Mic92/envfs/releases/tag/1.2.0 - envfs >= 1.2.0
Local workaround / affected code
nixos/modules/base/envfs.nix
Lines 9 to 34 in cd63f31
Exit criteria
./build.sh --updatepulls in a lockfile revision containing envfs 1.2.0pkgs.envfs.versionresolves to 1.2.0 from upstream with no local overlay appliednixpkgs.overlaysblock and explanatory pin comment are removed frommodules/base/envfs.nixusr-bin.mount: Failed with result protocolappears injournalctl -bafter rebuildValidation
Notes
The workaround was added in cd63f31. As of the 2026-04-20 template migration, NixOS/nixpkgs#500707 is open and labeled merge-bot eligible.
Confirmations
status(blocked-upstream)issues and this is not a duplicate.nonereference line starts with a reserved role keyword (blocker,fix,related,superseded).main.typeandscopein the issue title match the Type and Scope body fields.