Commit graph

869 commits

Author SHA1 Message Date
Linus Heckemann f66d2b11d7
Merge pull request #270084 from Atemu/nixos/snapraid-top-level
nixos/snapraid: remove from top-level
2023-12-14 14:51:04 +01:00
rnhmjoj cdc24ab409
nixos/networking-interfaces: fix rootless ping
In 759ec111 the ping setuid wrapper was removed in favour of giving
permissions to perform ICMP echo requests to all users.
The problem is that the systemd file that was supposed to change the
`net.ipv4.ping_group_range` sysctl is not always installed, specifically
only if systemd.coredump.enable.
In that case the range is "0 1", which is effectively restricts ping to
only root.

This change explicitely sets the range to "0 2^31-1", as systemd does.
2023-12-11 13:22:26 +01:00
Atemu f39eb36250 nixos/snapraid: remove from top-level
I don't use this tool but saw it in the top level and that's not where it should
live.

This could arguably also be seen as a RAID; it's a bit of an in-between.
2023-12-06 19:02:38 +01:00
Julien Malka 28608b0448 nixos/clevis: skip filesystem with null devices 2023-12-04 15:21:16 +00:00
Julien Malka 9b6b934949 nixos/clevis: guard zfs code behind config.clevis.boot.initrd.enable 2023-12-04 15:09:49 +00:00
Camille Mondon 27493b4d49 nixos/clevis: init
Co-Authored-By: Julien Malka <julien@malka.sh>
2023-12-02 11:55:47 +00:00
Kyle Hendricks 463424129d snapraid: fix split parity files
SnapRAID has a feature where you can specify "split" parity files. This
is useful when you're using 16tb or bigger ext4-formatted disks for
parity. ext4 doesn't support files bigger than 16tb so this "split
parity file" can be used to specify two parity files on a single parity
disk and SnapRAID will automatically use the subsequent file when the current
cannot grow anymore (hits 16TB). You specify these split parity files by
separating them with commas in the "parity" config option. This
mostly already works except when it comes to the scheduled systemd sync
job where it specifies ReadWritePaths. If you specify a parity with
multiple files you'll get an error when the systemd job runs: Failed to
set up mount namespacing:
/run/systemd/unit-root/mnt/parity1/snapraid1.parity,/mnt/parity1/snapraid2.parity: No such file or directory
Essentially, when the parity file paths are passed into ReadWritePaths,
they're always treated as a single path.  This change makes sure to
split the paths if they contain a comma.

The big concern for this change is if it would break users who have
commas in their actual parity file paths.  This won't be an issue because SnapRAID
itself blindly splits on commas for parity files, so legitimate commas in a parity
file path wouldn't work in SnapRAID anyway. See here:
978d812153/cmdline/state.c (L692)

SnapRAID doc for split parity files: https://www.snapraid.it/manual#7.1
2023-11-29 20:10:29 -05:00
Ryan Lahfa 58fdc495ed
Merge pull request #269452 from RaitoBezarius/zfs-superstable 2023-11-24 17:41:43 +01:00
Raito Bezarius e04c0b0d99 zfs_2_1: init at 2.1.13
This re-introduces the old stable ZFS version we had in the past following
the many predicted issues of ZFS 2.2.x series, that is much more stable
than any further ZFS version at the moment.

I am also removing myself from maintenance of any further ZFS versions as I am
planning to quit ZFS maintenance at some point.

In the meantime, for users like me who depend on ZFS for critical operations, here is a ZFS version
that is known to work for LTS kernels.
2023-11-24 15:47:21 +01:00
Ryan Lahfa d783b6040d
Merge pull request #269381 from YellowOnion/bcachefs 2023-11-23 16:53:22 +01:00
Finn Behrens a51ea9ca17 nixos: fix bcachefs filesystem with symlinks 2023-11-23 08:14:27 +01:00
Daniel Hill 34a58ce86f bcachefs: fix lib.kernel.option miss use.
option is a function not a set.
2023-11-23 19:08:57 +13:00
Madoura 890cf0a79c
nixos/bcachefs: soft-deprecate 'linuxPackages_testing_bcachefs'
'bcachefs' is included in the linux kernel since 6.7-rc1
2023-11-18 09:58:51 -06:00
Madoura 0adbda28d3
nixos/bcachefs: remove 'with lib;' 2023-11-18 07:59:01 -06:00
Weijia Wang 74d102ce50 Merge branch 'master' into staging-next 2023-11-12 19:45:20 +01:00
Gaurav Juvekar 5ab4ce5d33 nixos/network-interfaces: fix typo in networking.fqdn 2023-11-12 08:47:01 -08:00
github-actions[bot] 931938d1df
Merge master into staging-next 2023-10-30 18:01:02 +00:00
Will Fancher cca22054c0 systemd-stage-1: Add assertions for unsupported options. 2023-10-30 12:15:58 +01:00
Vladimír Čunát 5c89ba8ab4
Merge branch 'master' into staging-next 2023-10-30 06:12:04 +01:00
Ryan Lahfa a905c3a544
Merge pull request #262854 from ElvishJerricco/systemd-stage-1-bcachefs-decryption
systemd-stage-1: bcachefs decryption
2023-10-29 22:24:38 +01:00
github-actions[bot] 64070c2fda
Merge master into staging-next 2023-10-29 18:01:23 +00:00
Rémy Grünblatt c9e3cc43c7
nixos: fix iproute2 invocations (#263976)
When using iproute2's ip binary, you can omit the dev parameter, e.g. ip link set up eth0 instead of ip link set up dev eth0.

This breaks if for some reason your device is named e.g. he, hel, … because it is interpreted as ip link set up help.

I just encountered this bug using networking.bridges trying to create an interface named he.

I used a grep on nixpkgs to try to find iproute2 invocations using variables without the dev keyword, and found a few, and fixed them by providing the dev keyword.

I merely fixed what I found, but the use of abbreviated commands makes it a bit hard to be sure everything has been found (e.g. ip l set … up instead of ip link set … up).
2023-10-29 18:27:16 +01:00
github-actions[bot] 571f1df5e4
Merge master into staging-next 2023-10-29 12:00:57 +00:00
Joseph Stahl 137a3c1303
systemd domainname service - fix missing domainname binary
needs nettools in path
2023-10-28 22:30:14 -04:00
github-actions[bot] 954eb09381
Merge master into staging-next 2023-10-29 00:02:24 +00:00
Ryan Lahfa de47b2e8a5
Merge pull request #263033 from ElvishJerricco/systemd-stage-1-filesystems-encrypted
systemd-stage-1: Enable more encrypted installer tests
2023-10-28 20:38:14 +02:00
github-actions[bot] 519b7ea0c3
Merge master into staging-next 2023-10-28 12:01:19 +00:00
Linus Heckemann 8670794565
Merge pull request #263203 from nikstur/replace-activation
Replace simple activationScripts
2023-10-28 10:17:15 +02:00
github-actions[bot] 96132a216a
Merge master into staging-next 2023-10-26 18:01:02 +00:00
Cole Mickens 8c7908acc8
nixos/fs/vfat: fix inclusion in systemd stage1 2023-10-26 18:44:02 +02:00
nikstur d300940637 nixos/network-interfaces: replace hostname and domain activationScript
The hostname is already set by systemd
https://www.freedesktop.org/software/systemd/man/latest/hostname.html#Hostname%20semantics

Create a separate service that registers the domainname.
2023-10-26 01:51:08 +02:00
Will Fancher 99a47a5e35 systemd-stage-1: Enable more encrypted installer tests 2023-10-23 17:40:34 -04:00
Will Fancher 0425c4de6d systemd-stage-1: bcachefs decryption 2023-10-22 20:07:55 -04:00
github-actions[bot] f4afba2014
Merge staging-next into staging 2023-10-21 18:01:53 +00:00
Ryan Lahfa e6ade691a5
Merge pull request #259347 from ElvishJerricco/systemd-stage-1-zfs-sysusr-dependency
systemd 254: ZFS /usr fix with systemd-stage-1
2023-10-21 18:04:13 +01:00
github-actions[bot] 682b6995b4
Merge staging-next into staging 2023-10-21 12:01:45 +00:00
nikstur 6958acea7e
Merge pull request #262179 from ElvishJerricco/systemd-stage-1-specific-fs-packages
systemd-stage-1: Use specific fs packages
2023-10-21 13:25:42 +02:00
github-actions[bot] 34db746ff9
Merge staging-next into staging 2023-10-20 06:35:22 +00:00
Will Fancher 18013cc71e systemd-stage-1: Use specific fs packages 2023-10-19 21:13:22 -04:00
Martin Weinelt d042a29613
Merge pull request #253764 from linj-fork/fix-ping-wrapper
nixos/network-interfaces: stop wrapping ping with cap_net_raw
2023-10-20 00:57:55 +02:00
github-actions[bot] ae77d35744
Merge staging-next into staging 2023-10-16 00:03:09 +00:00
Maximilian Bosch 083a10949a
Merge pull request #258695 from Majiir/fix-networkd-defaultgateway
nixos/network-interfaces-systemd: support and require defaultGateway.interface
2023-10-15 16:42:01 +02:00
github-actions[bot] 62370ea07d
Merge staging-next into staging 2023-10-15 00:03:07 +00:00
Maximilian Bosch 632cfff257
Merge pull request #259619 from Majiir/fix-networkd-dhcp
nixos/network-interfaces-systemd: fix DHCP setting
2023-10-14 20:47:36 +02:00
github-actions[bot] 879976f685
Merge staging-next into staging 2023-10-14 18:01:33 +00:00
Majiir Paktu c4228b6c8f nixos/network-interfaces-systemd: fix DHCP setting
The networkd backend logic for setting DHCP= on an interface is bugged
and inconsistent with the scripted logic. Consider this simple NixOS
configuration:

    {
      networking.useNetworkd = true;
      networking.interfaces.eth0.wakeOnLan.enable = true;
    }

The default value of networking.useDHCP is true, so we expect our eth0
interface to have DHCP enabled. With the scripted backend, this works.
But the networkd backend generates the following 40-eth0.network file:

    [Match]
    Name=eth0

    [Network]
    DHCP=no
    IPv6PrivacyExtensions=kernel

This is happening because the wakeOnLan configuration creates a key in
networking.interfaces, and the networkd backend erroneously checks that
instead of for explicitly configured IP addresses as in the scripted
backend. The documentation is also inconsistent across various options.

This change aligns the networkd backend and option documentation to the
actual behavior of the scripted backend, and updates a test to account
for this behavior for both backends.
2023-10-14 13:57:32 -04:00
Maximilian Bosch 6998695f5d
Merge pull request #259658 from Majiir/fix-networkd-wakeonlan
nixos/network-interfaces-systemd: fix WakeOnLan
2023-10-14 14:48:22 +02:00
github-actions[bot] 5b761c2ba3
Merge staging-next into staging 2023-10-14 12:01:32 +00:00
Maximilian Bosch d664571660
Merge pull request #256598 from adamcstephens/net/warn-multiple-net
nixos/networking: warn when both networkd and dhcpcd can collide
2023-10-14 12:24:24 +02:00
Majiir Paktu f5f1751b1f refactor: combine scripted and networkd WakeOnLan config 2023-10-07 21:02:46 -04:00