Skip to content

nixos/stage-1: always include util-linux mount#414391

Merged
JohnRTitor merged 1 commit intoNixOS:masterfrom
chetgurevitch:respect-X.mount-subdir-stage-1
Oct 25, 2025
Merged

nixos/stage-1: always include util-linux mount#414391
JohnRTitor merged 1 commit intoNixOS:masterfrom
chetgurevitch:respect-X.mount-subdir-stage-1

Conversation

@chetgurevitch
Copy link
Contributor

Updates stage-1.nix to make enabling util-linux's mount possible for multiple reasons, like the existing ZFS mount helper use case and the new X-mount.subdir use case.

Resolves #414390


Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: module (update) This PR changes an existing module in `nixos/` 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. labels Jun 6, 2025
Copy link
Contributor

@ElvishJerricco ElvishJerricco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we just.... always use util-linux mount? It's arguably always good to delegate to the mount helper, and to support the X-mount.* options that only util-linux supports. The only concern is if that grows the size of the initrd by an intolerable amount but I strongly suspect it'll only be a few kilobytes so we should just do it.

And yea while we're at it we should just move the mount.zfs part into the ZFS module.

@chetgurevitch
Copy link
Contributor Author

I had that thought too, both changes sound good to me but will double check the size to make sure.

@chetgurevitch chetgurevitch force-pushed the respect-X.mount-subdir-stage-1 branch from 6f3ced8 to 1007970 Compare June 15, 2025 07:36
@chetgurevitch
Copy link
Contributor Author

chetgurevitch commented Jun 15, 2025

Yeah it's only 12kB, made it unconditional. The ZFS module now includes mount.zfs either in extraUtilsCommands or systemd.extraBin. Also I noticed zdb doesn't get added with boot.initrd.systemd, is that an oversight?

@qubitnano
Copy link
Contributor

This has been working for me on two bcachefs on root machines with subvolumes.

@chetgurevitch chetgurevitch changed the title nixos/stage-1: respect X-mount.subdir option nixos/stage-1: always include util-linux mount Sep 15, 2025
@chetgurevitch
Copy link
Contributor Author

@ElvishJerricco I believe this is ready for merge, been working for me and a few others for awhile. Currently there are some unrelated issues from outdated bcachefs-tools in 25.05 but once 1.25.3 is promoted those will disappear.

@qweered

This comment has been minimized.

- respect X-mount.subdir option
- fix mount test redirection (1>&1 to 2>&1)
@Mic92 Mic92 dismissed ElvishJerricco’s stale review September 15, 2025 06:05

That part got resolved.

@chetgurevitch chetgurevitch force-pushed the respect-X.mount-subdir-stage-1 branch from 47a31c3 to 148d76c Compare September 15, 2025 06:06
@qweered

This comment has been minimized.

VlaDexa added a commit to VlaDexa/nixos-config that referenced this pull request Sep 15, 2025
Flake lock file updates:

• Updated input 'nixpkgs-patch-414391':
    'NixOS/nixpkgs#414391'
  → 'NixOS/nixpkgs#414391'
@chetgurevitch
Copy link
Contributor Author

The failures aren't from the PR, if you look at the logs for the devShellTools failure it runs out of space, and the issue also occurs on master.
image
Looking at the logs for aarch64-linux reveals the system used for nixpkgs-review-gha is built without kvm support, which is responsible for the 4 additional failures.
image
image
image
The PR has no relevance to Darwin, but there seems to be a configuration issue for nixpkgs-review-gha there too.
image

Should be ready for merge.

VlaDexa added a commit to VlaDexa/nixos-config that referenced this pull request Oct 19, 2025
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/758cf7296bee11f1706a574c77d072b8a7baa881?narHash=sha256-wfG0S7pltlYyZTM%2BqqlhJ7GMw2fTF4mLKCIVhLii/4M%3D' (2025-10-01)
  → 'github:hercules-ci/flake-parts/4e627ac2e1b8f1de7f5090064242de9a259dbbc8?narHash=sha256-lbHQ7FXGzt6/IygWvJ1lCq%2BTxcut3xYYd6VIpF1ojkg%3D' (2025-10-18)
• Updated input 'home-manager':
    'github:nix-community/home-manager/722792af097dff5790f1a66d271a47759f477755?narHash=sha256-mlDqR1Ntgs9uYYEAUR1IhamKBO0lxoNS4zGLzEZaY0A%3D' (2025-10-17)
  → 'github:nix-community/home-manager/aeabc1ac63e6ebb8ba4714c4abdfe0556f2de765?narHash=sha256-/xU8iYZjolWbMUNBQF6af5zgGs73Qw21WMgz1tLs3Yw%3D' (2025-10-19)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/6607c6440d4e3e7313e421f6258b52e6b7982170?narHash=sha256-JQb8TtSMp5r%2BpG6DsqYg/YsQ4sr82aCCvkJ0bUbyZ9c%3D' (2025-10-18)
  → 'github:hyprwm/Hyprland/59ff7b2f891d06f4097128faf7027a3863542167?narHash=sha256-w2JettCPyqWKMYoJRCTc5/nsSvGrSV9jG4kbn8Q0pZk%3D' (2025-10-19)
• Updated input 'nix-index-database':
    'github:nix-community/nix-index-database/c9f5ea45f25652ec2f771f9426ccacb21cbbaeaa?narHash=sha256-OD7QnaGEVNdukYEbJbUNWPsvnDrpbZOZxVIk6Pt9Jhw%3D' (2025-10-12)
  → 'github:nix-community/nix-index-database/5024e1901239a76b7bf94a4cd27f3507e639d49e?narHash=sha256-xmU8kAsRprJiTGBTaGrwmjBP3AMA9ltlrxHKFuy5JWc%3D' (2025-10-19)
• Updated input 'nixpkgs-patch-414391':
    'NixOS/nixpkgs#414391'
  → 'NixOS/nixpkgs#414391'
• Updated input 'nixvim':
    'github:nix-community/nixvim/f473cee0d00a8c78b90e417e5a8a658aa4a2fe78?narHash=sha256-IXJeNw3l/zDT02chbp9lCmesPpBnby8aOcc6A0igLaA%3D' (2025-10-18)
  → 'github:nix-community/nixvim/b4852e4d359b89241497ee3cb29eaa83ef1510d4?narHash=sha256-TNBuBgesZcUO76dOi%2BxGFraT30umxQyfyogrWqiOJZE%3D' (2025-10-19)
• Updated input 'nur':
    'github:nix-community/NUR/a6d24e41011323f7e84293a93a420cc8e2581e3b?narHash=sha256-dplrSrGr5zZhVa4HkJivFsp78njjB6Oh7OB46rRbJBg%3D' (2025-10-18)
  → 'github:nix-community/NUR/fb79557210a1679b3dfb1656a81a816fdd6a73ee?narHash=sha256-SUibAoP0J7%2BsZuo17lrRAC/icjFYn3pTJNRTRYW0Xzw%3D' (2025-10-19)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/ab8d56e85b8be14cff9d93735951e30c3e86a437?narHash=sha256-8mN3kqyqa2PKY0wwZ2UmMEYMcxvNTwLaOrrDsw6Qi4E%3D' (2025-10-13)
  → 'github:Mic92/sops-nix/9c9a9798be331ed3f4b2902933d7677d0659ee61?narHash=sha256-PwGzU3EOU65Ef1VvuNnVLie%2Bl%2BP0g/fzf/PGUG82KbM%3D' (2025-10-19)
github-actions bot added a commit to VlaDexa/nixos-config that referenced this pull request Oct 20, 2025
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/aeabc1ac63e6ebb8ba4714c4abdfe0556f2de765?narHash=sha256-/xU8iYZjolWbMUNBQF6af5zgGs73Qw21WMgz1tLs3Yw%3D' (2025-10-19)
  → 'github:nix-community/home-manager/189c21cf879669008ccf06e78a553f17e88d8ef0?narHash=sha256-nZh6uvc71nVNaf/y%2BwesnjwsmJ6IZZUnP2EzpZe48To%3D' (2025-10-20)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/544961dfcce86422ba200ed9a0b00dd4b1486ec5?narHash=sha256-EVAqOteLBFmd7pKkb0%2BFIUyzTF61VKi7YmvP1tw4nEw%3D' (2025-10-15)
  → 'github:NixOS/nixpkgs/5e2a59a5b1a82f89f2c7e598302a9cacebb72a67?narHash=sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs%3D' (2025-10-19)
• Updated input 'nixpkgs-patch-414391':
    'NixOS/nixpkgs#414391'
  → 'NixOS/nixpkgs#414391'
• Updated input 'nixvim':
    'github:nix-community/nixvim/b4852e4d359b89241497ee3cb29eaa83ef1510d4?narHash=sha256-TNBuBgesZcUO76dOi%2BxGFraT30umxQyfyogrWqiOJZE%3D' (2025-10-19)
  → 'github:nix-community/nixvim/5c1be58f6d938ff93516d00cc3d2c0def4d80198?narHash=sha256-inbXtSqhaDOxvosjvt8hP/Az/wWwRCxjipH4x5DSD6A%3D' (2025-10-19)
• Updated input 'nur':
    'github:nix-community/NUR/fb79557210a1679b3dfb1656a81a816fdd6a73ee?narHash=sha256-SUibAoP0J7%2BsZuo17lrRAC/icjFYn3pTJNRTRYW0Xzw%3D' (2025-10-19)
  → 'github:nix-community/NUR/99425472273bb855ab6f55bc32283b9fd813d99d?narHash=sha256-Cj7S6XjpD9Ykcg2FOnhyhmEJGMvzw5AztzrQzr33emY%3D' (2025-10-20)
VlaDexa pushed a commit to VlaDexa/nixos-config that referenced this pull request Oct 20, 2025
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/aeabc1ac63e6ebb8ba4714c4abdfe0556f2de765?narHash=sha256-/xU8iYZjolWbMUNBQF6af5zgGs73Qw21WMgz1tLs3Yw%3D' (2025-10-19)
  → 'github:nix-community/home-manager/189c21cf879669008ccf06e78a553f17e88d8ef0?narHash=sha256-nZh6uvc71nVNaf/y%2BwesnjwsmJ6IZZUnP2EzpZe48To%3D' (2025-10-20)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/544961dfcce86422ba200ed9a0b00dd4b1486ec5?narHash=sha256-EVAqOteLBFmd7pKkb0%2BFIUyzTF61VKi7YmvP1tw4nEw%3D' (2025-10-15)
  → 'github:NixOS/nixpkgs/5e2a59a5b1a82f89f2c7e598302a9cacebb72a67?narHash=sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs%3D' (2025-10-19)
• Updated input 'nixpkgs-patch-414391':
    'NixOS/nixpkgs#414391'
  → 'NixOS/nixpkgs#414391'
• Updated input 'nixvim':
    'github:nix-community/nixvim/b4852e4d359b89241497ee3cb29eaa83ef1510d4?narHash=sha256-TNBuBgesZcUO76dOi%2BxGFraT30umxQyfyogrWqiOJZE%3D' (2025-10-19)
  → 'github:nix-community/nixvim/5c1be58f6d938ff93516d00cc3d2c0def4d80198?narHash=sha256-inbXtSqhaDOxvosjvt8hP/Az/wWwRCxjipH4x5DSD6A%3D' (2025-10-19)
• Updated input 'nur':
    'github:nix-community/NUR/fb79557210a1679b3dfb1656a81a816fdd6a73ee?narHash=sha256-SUibAoP0J7%2BsZuo17lrRAC/icjFYn3pTJNRTRYW0Xzw%3D' (2025-10-19)
  → 'github:nix-community/NUR/99425472273bb855ab6f55bc32283b9fd813d99d?narHash=sha256-Cj7S6XjpD9Ykcg2FOnhyhmEJGMvzw5AztzrQzr33emY%3D' (2025-10-20)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
VlaDexa added a commit to VlaDexa/nixos-config that referenced this pull request Oct 20, 2025
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/aeabc1ac63e6ebb8ba4714c4abdfe0556f2de765?narHash=sha256-/xU8iYZjolWbMUNBQF6af5zgGs73Qw21WMgz1tLs3Yw%3D' (2025-10-19)
  → 'github:nix-community/home-manager/189c21cf879669008ccf06e78a553f17e88d8ef0?narHash=sha256-nZh6uvc71nVNaf/y%2BwesnjwsmJ6IZZUnP2EzpZe48To%3D' (2025-10-20)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/544961dfcce86422ba200ed9a0b00dd4b1486ec5?narHash=sha256-EVAqOteLBFmd7pKkb0%2BFIUyzTF61VKi7YmvP1tw4nEw%3D' (2025-10-15)
  → 'github:NixOS/nixpkgs/5e2a59a5b1a82f89f2c7e598302a9cacebb72a67?narHash=sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs%3D' (2025-10-19)
• Updated input 'nixpkgs-patch-414391':
    'NixOS/nixpkgs#414391'
  → 'NixOS/nixpkgs#414391'
• Updated input 'nixvim':
    'github:nix-community/nixvim/b4852e4d359b89241497ee3cb29eaa83ef1510d4?narHash=sha256-TNBuBgesZcUO76dOi%2BxGFraT30umxQyfyogrWqiOJZE%3D' (2025-10-19)
  → 'github:nix-community/nixvim/5c1be58f6d938ff93516d00cc3d2c0def4d80198?narHash=sha256-inbXtSqhaDOxvosjvt8hP/Az/wWwRCxjipH4x5DSD6A%3D' (2025-10-19)
• Updated input 'nur':
    'github:nix-community/NUR/fb79557210a1679b3dfb1656a81a816fdd6a73ee?narHash=sha256-SUibAoP0J7%2BsZuo17lrRAC/icjFYn3pTJNRTRYW0Xzw%3D' (2025-10-19)
  → 'github:nix-community/NUR/28453eca976c3e4225a94e38b009eda9d55f55c6?narHash=sha256-pk4LVvrAnp0p/nlYjN5zj6o6d3OeCRCLigb2dWWxMyY%3D' (2025-10-20)
github-actions bot added a commit to VlaDexa/nixos-config that referenced this pull request Oct 24, 2025
Flake lock file updates:

• Updated input 'bcachefs-nixpkgs-patch-429126':
    'NixOS/nixpkgs#429126'
  → 'NixOS/nixpkgs#429126'
• Updated input 'home-manager':
    'github:nix-community/home-manager/84e1adb0cdd13f5f29886091c7234365e12b1e7f?narHash=sha256-r6qbieh8iC1q1eCaWv15f4UIp8SeGffwswhNSA1Qk3s%3D' (2025-10-21)
  → 'github:nix-community/home-manager/5c71d4a730bd3c972befff343bb074421e345937?narHash=sha256-QxCyKWBmuzI%2BeMhYV1JmbZsiUnBNATRP1EW34OBt5Vg%3D' (2025-10-24)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/46dab01bcc47b2e29f36cd4d35d04091e4134a67?narHash=sha256-tqZWNOZg9P1gpWiHNGtZTTb/UK%2B2E5LFmFpfEIArTqE%3D' (2025-10-20)
  → 'github:hyprwm/Hyprland/aa5a239ac92a6bd6947cce2ca3911606df392cb6?narHash=sha256-MoPRHVRBS3DrqTBL52oxGuFhJ60NgnojwNtwqGNAmZM%3D' (2025-10-23)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/5e2a59a5b1a82f89f2c7e598302a9cacebb72a67?narHash=sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs%3D' (2025-10-19)
  → 'github:NixOS/nixpkgs/01f116e4df6a15f4ccdffb1bcd41096869fb385c?narHash=sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d%2BdAiC3H%2BCDle4%3D' (2025-10-22)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5e2a59a5b1a82f89f2c7e598302a9cacebb72a67?narHash=sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs%3D' (2025-10-19)
  → 'github:NixOS/nixpkgs/01f116e4df6a15f4ccdffb1bcd41096869fb385c?narHash=sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d%2BdAiC3H%2BCDle4%3D' (2025-10-22)
• Updated input 'nixpkgs-patch-414391':
    'NixOS/nixpkgs#414391'
  → 'NixOS/nixpkgs#414391'
• Updated input 'nixvim':
    'github:nix-community/nixvim/e3b77e803b2350b72f4d72c8f175ab0fbfe5a642?narHash=sha256-UP1v%2BsEkHuvD2%2BqyhxbkQpBR%2Bdl9U0ljml3/dMI2jeU%3D' (2025-10-20)
  → 'github:nix-community/nixvim/593e8114cd8356bbf2036f16e287ddcfac44a6ff?narHash=sha256-VJbm4H9KF3HOj6YDZH18NLvsyGFNtBspOnkB1QCyGu4%3D' (2025-10-23)
• Updated input 'nixvim/nuschtosSearch':
    'github:NuschtOS/search/7d4c0fc4ffe3bd64e5630417162e9e04e64b27a4?narHash=sha256-igrxT%2B/MnmcftPOHEb%2BXDwAMq3Xg1Xy7kVYQaHhPlAg%3D' (2025-09-23)
  → 'github:NuschtOS/search/3ebeebe8b6a49dfb11f771f761e0310f7c48d726?narHash=sha256-C88Pgz38QIl9JxQceexqL2G7sw9vodHWx1Uaq%2BNRJrw%3D' (2025-10-16)
• Updated input 'nur':
    'github:nix-community/NUR/62c5aee56c07b4536f87d2a1dc1a9439ed577dc1?narHash=sha256-ieaO94BvvJR54LYFyCJB1LB4nBt9ls4TtgXBdXENHCE%3D' (2025-10-21)
  → 'github:nix-community/NUR/224fa6452b673879260099aa3338d889ad1097d2?narHash=sha256-1Og/NhtqDyCoVsXpYtIUuvTuD29yEe83tTl/fG0FC7U%3D' (2025-10-24)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/205dcfd4a30d4a5d1b4f28defee69daa7c7252cd?narHash=sha256-8XkU4gIrLT2DJZWQyvsP5woXGZF5eE/7AnKfwQkiwYU%3D' (2025-10-01)
  → 'github:nix-community/plasma-manager/27dfa61b64d0cdb8e4ba6f3aaa4d4e067d64cb5c?narHash=sha256-JNJesbe9MMN1Brq41BHEpuH%2BZ%2BZg74y/nI5AFZX84Vw%3D' (2025-10-21)
github-actions bot added a commit to VlaDexa/nixos-config that referenced this pull request Oct 25, 2025
Flake lock file updates:

• Updated input 'bcachefs-nixpkgs-patch-429126':
    'NixOS/nixpkgs#429126'
  → 'NixOS/nixpkgs#429126'
• Updated input 'home-manager':
    'github:nix-community/home-manager/84e1adb0cdd13f5f29886091c7234365e12b1e7f?narHash=sha256-r6qbieh8iC1q1eCaWv15f4UIp8SeGffwswhNSA1Qk3s%3D' (2025-10-21)
  → 'github:nix-community/home-manager/c644cb018f9fdec55f5ac2afb4713a8c7beb757c?narHash=sha256-6LNSptFYhiAd0M/maJoixJw7V0Kp5BSoMRtIahcfu3M%3D' (2025-10-24)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/46dab01bcc47b2e29f36cd4d35d04091e4134a67?narHash=sha256-tqZWNOZg9P1gpWiHNGtZTTb/UK%2B2E5LFmFpfEIArTqE%3D' (2025-10-20)
  → 'github:hyprwm/Hyprland/da04afa44e7545771b08f8e0defd2cd1810f1613?narHash=sha256-j12amQpLU23PbblMzw8Tt4whr2PxjP6XXYH99uYGFGc%3D' (2025-10-24)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/5e2a59a5b1a82f89f2c7e598302a9cacebb72a67?narHash=sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs%3D' (2025-10-19)
  → 'github:NixOS/nixpkgs/01f116e4df6a15f4ccdffb1bcd41096869fb385c?narHash=sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d%2BdAiC3H%2BCDle4%3D' (2025-10-22)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5e2a59a5b1a82f89f2c7e598302a9cacebb72a67?narHash=sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs%3D' (2025-10-19)
  → 'github:NixOS/nixpkgs/01f116e4df6a15f4ccdffb1bcd41096869fb385c?narHash=sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d%2BdAiC3H%2BCDle4%3D' (2025-10-22)
• Updated input 'nixpkgs-patch-414391':
    'NixOS/nixpkgs#414391'
  → 'NixOS/nixpkgs#414391'
• Updated input 'nixvim':
    'github:nix-community/nixvim/e3b77e803b2350b72f4d72c8f175ab0fbfe5a642?narHash=sha256-UP1v%2BsEkHuvD2%2BqyhxbkQpBR%2Bdl9U0ljml3/dMI2jeU%3D' (2025-10-20)
  → 'github:nix-community/nixvim/baa99016bc76881762540cedb7b1ed46d9f91e56?narHash=sha256-/YfeddQ06qFJQJxBzdkYQ00AS8sxXeauOV5jyurJ9qo%3D' (2025-10-24)
• Updated input 'nixvim/nuschtosSearch':
    'github:NuschtOS/search/7d4c0fc4ffe3bd64e5630417162e9e04e64b27a4?narHash=sha256-igrxT%2B/MnmcftPOHEb%2BXDwAMq3Xg1Xy7kVYQaHhPlAg%3D' (2025-09-23)
  → 'github:NuschtOS/search/3ebeebe8b6a49dfb11f771f761e0310f7c48d726?narHash=sha256-C88Pgz38QIl9JxQceexqL2G7sw9vodHWx1Uaq%2BNRJrw%3D' (2025-10-16)
• Updated input 'nur':
    'github:nix-community/NUR/62c5aee56c07b4536f87d2a1dc1a9439ed577dc1?narHash=sha256-ieaO94BvvJR54LYFyCJB1LB4nBt9ls4TtgXBdXENHCE%3D' (2025-10-21)
  → 'github:nix-community/NUR/cbe64052fb6a79ffaeba7d0b022d38d846e86334?narHash=sha256-2hvQzK%2BOYpNyKxTMevGOwBPFDJSvWQHBBASQVM94dDU%3D' (2025-10-25)
• Updated input 'plasma-manager':
    'github:nix-community/plasma-manager/205dcfd4a30d4a5d1b4f28defee69daa7c7252cd?narHash=sha256-8XkU4gIrLT2DJZWQyvsP5woXGZF5eE/7AnKfwQkiwYU%3D' (2025-10-01)
  → 'github:nix-community/plasma-manager/27dfa61b64d0cdb8e4ba6f3aaa4d4e067d64cb5c?narHash=sha256-JNJesbe9MMN1Brq41BHEpuH%2BZ%2BZg74y/nI5AFZX84Vw%3D' (2025-10-21)
@JohnRTitor JohnRTitor added this pull request to the merge queue Oct 25, 2025
Merged via the queue into NixOS:master with commit 5992eb7 Oct 25, 2025
31 checks passed
@nixpkgs-ci nixpkgs-ci bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Oct 25, 2025
VlaDexa added a commit to VlaDexa/nixos-config that referenced this pull request Oct 26, 2025
Flake lock file updates:

• Updated input 'bcachefs-nixpkgs-patch-429126':
    'NixOS/nixpkgs#429126'
  → 'NixOS/nixpkgs#429126'
• Updated input 'home-manager':
    'github:nix-community/home-manager/5c71d4a730bd3c972befff343bb074421e345937?narHash=sha256-QxCyKWBmuzI%2BeMhYV1JmbZsiUnBNATRP1EW34OBt5Vg%3D' (2025-10-24)
  → 'github:nix-community/home-manager/c644cb018f9fdec55f5ac2afb4713a8c7beb757c?narHash=sha256-6LNSptFYhiAd0M/maJoixJw7V0Kp5BSoMRtIahcfu3M%3D' (2025-10-24)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/aa5a239ac92a6bd6947cce2ca3911606df392cb6?narHash=sha256-MoPRHVRBS3DrqTBL52oxGuFhJ60NgnojwNtwqGNAmZM%3D' (2025-10-23)
  → 'github:hyprwm/Hyprland/da04afa44e7545771b08f8e0defd2cd1810f1613?narHash=sha256-j12amQpLU23PbblMzw8Tt4whr2PxjP6XXYH99uYGFGc%3D' (2025-10-24)
• Updated input 'nixpkgs-patch-414391':
    'NixOS/nixpkgs#414391'
  → 'NixOS/nixpkgs#414391'
• Updated input 'nixvim':
    'github:nix-community/nixvim/593e8114cd8356bbf2036f16e287ddcfac44a6ff?narHash=sha256-VJbm4H9KF3HOj6YDZH18NLvsyGFNtBspOnkB1QCyGu4%3D' (2025-10-23)
  → 'github:nix-community/nixvim/baa99016bc76881762540cedb7b1ed46d9f91e56?narHash=sha256-/YfeddQ06qFJQJxBzdkYQ00AS8sxXeauOV5jyurJ9qo%3D' (2025-10-24)
• Updated input 'nur':
    'github:nix-community/NUR/61ce824b07ce864a4932face71985b5a966a9eb1?narHash=sha256-Lash957eVZnV4AgIBgtVDxGooSSeUjc3REP83n%2Bpitg%3D' (2025-10-24)
  → 'github:nix-community/NUR/75f6b839a574c9f4dabc4494d59e130c0703599f?narHash=sha256-KxBkrBKbdT4Vbzu2vFlqXf90DAoi/ishXllk3fCsLnc%3D' (2025-10-25)
@magneticflux-
Copy link
Contributor

This is failing with boot.supportedFilesystems = [ "zfs" ]; boot.initrd.systemd.enable = true;, not sure about others. You might have intended to specify "mount.zfs" = "${cfgZfs.package}/sbin/mount.zfs"; so the dot isn't interpreted as an object property(?).

error: A definition for option `boot.initrd.systemd.extraBin.mount' is not of type `absolute path'. Definition values:
       - In `/nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/nixos/modules/tasks/filesystems/zfs.nix':
           {
             zfs = "/nix/store/hxg3s5l92y9n9m48p872i62dn5ck33hx-zfs-user-2.4.0-rc3/sbin/mount.zfs";
           }
Loooooong error
error:
       … while evaluating an expression to select 'drvPath' on it
         at «internal»:1:552:
       … while evaluating strict
         at «internal»:1:552:
       … while calling the 'derivationStrict' builtin
         at «internal»:1:208:
       … while evaluating derivation 'nixos-system-x-25.11.20251026.a10dede'
         whose name attribute is located at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/pkgs/stdenv/generic/make-derivation.nix:544:13

       … while evaluating attribute 'buildCommand' of derivation 'nixos-system-x-25.11.20251026.a10dede'
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/nixos/modules/system/activation/top-level.nix:71:7:
           70|       passAsFile = [ "extraDependencies" ];
           71|       buildCommand = systemBuilder;
             |       ^
           72|

       … from call site
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/nixos/modules/system/activation/top-level.nix:48:21:
           47|
           48|     ${config.system.systemBuilderCommands}
             |                     ^
           49|

       … while calling anonymous lambda
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/attrsets.nix:1188:17:
         1187|         mapAttrs (
         1188|           name: value:
             |                 ^
         1189|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value

       … from call site
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/attrsets.nix:1189:85:
         1188|           name: value:
         1189|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value
             |                                                                                     ^
         1190|         );

       … while calling anonymous lambda
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:275:71:
          274|           # For definitions that have an associated option
          275|           declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options;
             |                                                                       ^
          276|

       … while evaluating the attribute 'value'
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1118:7:
         1117|     // {
         1118|       value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |       ^
         1119|       inherit (res.defsFinal') highestPrio;

       … while calling the 'addErrorContext' builtin
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1118:15:
         1117|     // {
         1118|       value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |               ^
         1119|       inherit (res.defsFinal') highestPrio;

       … while evaluating the option `system.systemBuilderCommands':

       … while evaluating the attribute 'mergedValue'
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1166:5:
         1165|     # Type-check the remaining definitions, and merge them. Or throw if no definitions.
         1166|     mergedValue =
             |     ^
         1167|       if isDefined then

       … while evaluating isDefined
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1167:10:
         1166|     mergedValue =
         1167|       if isDefined then
             |          ^
         1168|         if type.merge ? v2 then

       … while evaluating defsFinal
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1225:17:
         1224|
         1225|     isDefined = defsFinal != [ ];
             |                 ^
         1226|

       … while evaluating the attribute 'values'
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1160:9:
         1159|       {
         1160|         values = defsSorted;
             |         ^
         1161|         inherit (defsFiltered) highestPrio;

       … while calling the 'any' builtin
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1154:14:
         1153|           # Avoid sorting if we don't have to.
         1154|           if any (def: def.value._type or "" == "order") defsFiltered.values then
             |              ^
         1155|             sortProperties defsFiltered.values

       … while evaluating the attribute 'values'
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1331:7:
         1330|     {
         1331|       values = concatMap (def: if getPrio def == highestPrio then [ (strip def) ] else [ ]) defs;
             |       ^
         1332|       inherit highestPrio;

       … while calling the 'concatMap' builtin
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1331:16:
         1330|     {
         1331|       values = concatMap (def: if getPrio def == highestPrio then [ (strip def) ] else [ ]) defs;
             |                ^
         1332|       inherit highestPrio;

       … while calling the 'concatMap' builtin
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1134:26:
         1133|         # Process mkMerge and mkIf properties.
         1134|         defsNormalized = concatMap (
             |                          ^
         1135|           m:

       … while calling anonymous lambda
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1135:11:
         1134|         defsNormalized = concatMap (
         1135|           m:
             |           ^
         1136|           map (

       … while calling the 'map' builtin
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1136:11:
         1135|           m:
         1136|           map (
             |           ^
         1137|             value:

       … while calling the 'addErrorContext' builtin
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1145:14:
         1144|               }
         1145|           ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |              ^
         1146|         ) defs;

       … while evaluating definitions from `/nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/nixos/modules/system/boot/kernel.nix':

       … from call site
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1145:80:
         1144|               }
         1145|           ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                ^
         1146|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1282:5:
         1281|   dischargeProperties =
         1282|     def:
             |     ^
         1283|     if def._type or "" == "merge" then

       … from call site
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1287:31:
         1286|       if isBool def.condition then
         1287|         if def.condition then dischargeProperties def.content else [ ]
             |                               ^
         1288|       else

       … while calling 'dischargeProperties'
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1282:5:
         1281|   dischargeProperties =
         1282|     def:
             |     ^
         1283|     if def._type or "" == "merge" then

       … while evaluating an expression to select '_type' on it
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1283:8:
         1282|     def:
         1283|     if def._type or "" == "merge" then
             |        ^
         1284|       concatMap dischargeProperties def.contents

       … while evaluating def
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1283:8:
         1282|     def:
         1283|     if def._type or "" == "merge" then
             |        ^
         1284|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'content'
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1442:23:
         1441|     _type = "if";
         1442|     inherit condition content;
             |                       ^
         1443|   };

       … while evaluating initrdPath
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/nixos/modules/system/boot/kernel.nix:415:19:
          414|
          415|           ln -s ${initrdPath} $out/initrd
             |                   ^
          416|

       … while calling the 'getAttr' builtin
         at «internal»:1:500:
       … while calling the 'derivationStrict' builtin
         at «internal»:1:208:
       … while evaluating derivation 'initrd-linux-6.17.5'
         whose name attribute is located at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/pkgs/stdenv/generic/make-derivation.nix:544:13

       … while evaluating attribute 'contents' of derivation 'initrd-linux-6.17.5'
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/pkgs/build-support/kernel/make-initrd-ng.nix:94:5:
           93|     passAsFile = [ "contents" ];
           94|     contents = builtins.toJSON contents;
             |     ^
           95|

       … while calling the 'toJSON' builtin
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/pkgs/build-support/kernel/make-initrd-ng.nix:94:16:
           93|     passAsFile = [ "contents" ];
           94|     contents = builtins.toJSON contents;
             |                ^
           95|

       … while evaluating list element at index 34

       … while evaluating attribute 'source'

       … while calling anonymous lambda
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/attrsets.nix:1188:17:
         1187|         mapAttrs (
         1188|           name: value:
             |                 ^
         1189|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value

       … from call site
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/attrsets.nix:1189:85:
         1188|           name: value:
         1189|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value
             |                                                                                     ^
         1190|         );

       … while calling anonymous lambda
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:275:71:
          274|           # For definitions that have an associated option
          275|           declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options;
             |                                                                       ^
          276|

       … while evaluating the attribute 'value'
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1118:7:
         1117|     // {
         1118|       value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |       ^
         1119|       inherit (res.defsFinal') highestPrio;

       … while calling the 'addErrorContext' builtin
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1118:15:
         1117|     // {
         1118|       value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |               ^
         1119|       inherit (res.defsFinal') highestPrio;

       … while evaluating the option `boot.initrd.systemd.storePaths."[definition 4-entry 29]".source':

       (11 duplicate frames omitted)

       … while evaluating definitions from `/nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/nixos/modules/system/boot/systemd/initrd.nix':

       … from call site
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1145:80:
         1144|               }
         1145|           ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                ^
         1146|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1282:5:
         1281|   dischargeProperties =
         1282|     def:
             |     ^
         1283|     if def._type or "" == "merge" then

       … while evaluating an expression to select '_type' on it
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1283:8:
         1282|     def:
         1283|     if def._type or "" == "merge" then
             |        ^
         1284|       concatMap dischargeProperties def.contents

       … while evaluating def
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1283:8:
         1282|     def:
         1283|     if def._type or "" == "merge" then
             |        ^
         1284|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'value'
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:805:21:
          804|             inherit (module) file;
          805|             inherit value;
             |                     ^
          806|           }) module.config

       … from call site
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:805:21:
          804|             inherit (module) file;
          805|             inherit value;
             |                     ^
          806|           }) module.config

       … while calling anonymous lambda
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/attrsets.nix:1188:17:
         1187|         mapAttrs (
         1188|           name: value:
             |                 ^
         1189|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value

       … from call site
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/attrsets.nix:1189:85:
         1188|           name: value:
         1189|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value
             |                                                                                     ^
         1190|         );

       … while calling anonymous lambda
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:275:71:
          274|           # For definitions that have an associated option
          275|           declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options;
             |                                                                       ^
          276|

       … while evaluating the attribute 'value'
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1118:7:
         1117|     // {
         1118|       value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |       ^
         1119|       inherit (res.defsFinal') highestPrio;

       … while calling the 'addErrorContext' builtin
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1118:15:
         1117|     // {
         1118|       value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |               ^
         1119|       inherit (res.defsFinal') highestPrio;

       … while evaluating the option `boot.initrd.systemd.contents."/bin".source':

       (19 duplicate frames omitted)

       … while evaluating derivation 'initrd-bin-env'
         whose name attribute is located at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/pkgs/stdenv/generic/make-derivation.nix:544:13

       … while evaluating attribute 'postBuild' of derivation 'initrd-bin-env'
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/pkgs/build-support/buildenv/default.nix:104:11:
          103|           extraPrefix
          104|           postBuild
             |           ^
          105|           nativeBuildInputs

       … while calling the 'concatStringsSep' builtin
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/nixos/modules/system/boot/systemd/initrd.nix:118:9:
          117|       find $out/sbin -maxdepth 1 -type l -print0 | xargs --null cp --no-dereference --no-clobber -t $out/bin/
          118|       ${concatStringsSep "\n" (
             |         ^
          119|         mapAttrsToList (n: v: ''

       … while calling anonymous lambda
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/nixos/modules/system/boot/systemd/initrd.nix:119:28:
          118|       ${concatStringsSep "\n" (
          119|         mapAttrsToList (n: v: ''
             |                            ^
          120|           ln -sf '${v}' $out/bin/'${n}'

       … while evaluating v
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/nixos/modules/system/boot/systemd/initrd.nix:120:21:
          119|         mapAttrsToList (n: v: ''
          120|           ln -sf '${v}' $out/bin/'${n}'
             |                     ^
          121|           ln -sf '${v}' $out/sbin/'${n}'

       … from call site
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/nixos/modules/system/boot/systemd/initrd.nix:120:21:
          119|         mapAttrsToList (n: v: ''
          120|           ln -sf '${v}' $out/bin/'${n}'
             |                     ^
          121|           ln -sf '${v}' $out/sbin/'${n}'

       … while calling anonymous lambda
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/types.nix:831:22:
          830|                 value = mapAttrs (
          831|                   n: v:
             |                      ^
          832|                   if lazy then

       … while evaluating the attribute 'optionalValue.value'
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1227:41:
         1226|
         1227|     optionalValue = if isDefined then { value = mergedValue; } else { };
             |                                         ^
         1228|   };

       … caused by explicit throw
         at /nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/lib/modules.nix:1181:11:
         1180|           in
         1181|           throw "A definition for option `${showOption loc}' is not of type `${type.description}'. Definition values:${showDefs allInvalid}"
             |           ^
         1182|       else

       error: A definition for option `boot.initrd.systemd.extraBin.mount' is not of type `absolute path'. Definition values:
       - In `/nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/nixos/modules/tasks/filesystems/zfs.nix':
           {
             zfs = "/nix/store/hxg3s5l92y9n9m48p872i62dn5ck33hx-zfs-user-2.4.0-rc3/sbin/mount.zfs";
           }

JohnRTitor added a commit to JohnRTitor/nixpkgs that referenced this pull request Oct 26, 2025
```
error: A definition for option `boot.initrd.systemd.extraBin.mount' is not of type `absolute path'. Definition values:
       - In `/nix/store/h259dzilgbvpfsnlcyims14jrcdnx8fk-source/nixos/modules/tasks/filesystems/zfs.nix':
           {
             zfs = "/nix/store/hxg3s5l92y9n9m48p872i62dn5ck33hx-zfs-user-2.4.0-rc3/sbin/mount.zfs";
           }

```
Fixes NixOS#414391 (comment)
@thefossguy
Copy link
Member

I noticed that this breaks my setup of ZFS on root. The patch is good and yet reverting it resolves the issue for me. I haven't been able to dive deep and figure out why this is the case. Does anyone have insights for why it might cause issues? The sysroot.mount systemd unit fails during stage-1.

My NixOS configuration is here and the hostname for machine with ZFS on root is chaturvyas (it is an aarch64 machine so you will not be able to test it on x86 without some extra qemu setup).

@thefossguy
Copy link
Member

Nevermind, I overlooked that the async mount option was being passed as a default from a different config file and that causes systemd.mount to "panic" in parsing Options= since sync/async is managed via zfs properties. I removed it and everything works as intended.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: module (update) This PR changes an existing module in `nixos/` 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

nixos/stage-1: X-mount.subdir option not respected

9 participants