about summary refs log tree commit diff
path: root/nixos
AgeCommit message (Collapse)AuthorFilesLines
2024-05-15Revert "nixos/garage: drop replication_mode setting"Yureka1-18/+7
2024-05-15Merge pull request #311814 from donovanglover/fix/enableOCR-docsAleksana1-1/+1
nixos/testing: fix markdown link in enableOCR description
2024-05-15Merge pull request #275485 from Ex-32/binfmt-emulatedsystems-fixPol Dellaiera1-1/+1
nixos/binfmt: added assertion to prevent emulation of current system
2024-05-14nixos/testing: fix markdown link in enableOCR descriptionDonovan Glover1-1/+1
2024-05-14Merge pull request #311307 from michaelpj/mpj/remove-some-maintenncePol Dellaiera2-2/+2
Remove myself from some packages I no longer use
2024-05-14Merge pull request #311376 from SuperSandro2000/display-managers-miscNick Cao1-2/+2
nixos/display.managers: use cfg where possible
2024-05-14Merge pull request #300564 from Cynerd/bcg-fixAleksana1-3/+3
nixos/bcg: fix usage without environment files
2024-05-14hostapd: add "wpa2-sha1" to authentication.mode enumTom Fitzhenry1-6/+11
This is required for some Kindles (e.g. Kindle Paperwhite 7th Gen), and printers (e.g. Brother MFC-J4440DW). OpenWRT typically adds "wpa_key_mgmt = WPA-PSK", per https://github.com/openwrt/openwrt/blob/3f28c422ba7ca06efd41686fd2f9e664f7e8a12e/package/network/config/wifi-scripts/files/lib/netifd/hostapd.sh#L44-L71
2024-05-14nixos/doc: clarify command template parameterAsad Saeeduddin1-1/+3
squash-reworded from #284844
2024-05-13Merge pull request #310199 from symphorien/borg_ignore_warnings_masterGuillaume Girol1-6/+26
nixos/borgbackup: add an option to ignore warnings
2024-05-13Merge pull request #310823 from ↵Franz Pletz1-6/+6
WilliButz/systemd-initrd/fix-aarch64-modprobe-test
2024-05-13Merge pull request #311293 from diogotcorreia/pgvecto.rs-broken-pg12-pg13Weijia Wang1-1/+1
pgvecto-rs: mark as broken in pg12 and pg13
2024-05-13nixosTests.fcitx5: make test less flakyYongun Seong1-0/+3
2024-05-13Merge pull request #310786 from K900/greetd-plymouthK9001-1/+13
nixos/greetd: add option to make greetd not stop Plymouth early
2024-05-13nixos/display.managers: use cfg where possibleSandro Jäckel1-2/+2
2024-05-13Merge pull request #310926 from Gerg-L/display-managerSandro1-3/+0
2024-05-13Merge pull request #303745 from quantenzitrone/ydotoolCosima Neidahl5-0/+202
ydotool: refactor ; nixos/ydotool: init module & nixosTest
2024-05-13doc/release-notes: add finishing dot for ydotool entryOPNA26081-1/+1
2024-05-13Merge pull request #308801 from jmbaur/switch-to-configuration-rsFlorian Klink3-36/+83
nixos/switch-to-configuration: add new implementation
2024-05-13Merge pull request #311318 from toadjaune/doc-fix-download-linksAleksana2-4/+4
doc: Fix nixos download page links
2024-05-13Merge pull request #305286 from cafkafk/devpi-server-initChristina Rust4-0/+165
nixos/devpi-server: init
2024-05-13Merge pull request #309643 from flokli/garage-replication_modeFlorian Klink1-7/+18
nixos/garage: drop replication_mode setting
2024-05-13doc: Fix nixos download page linksArnaud Venturi2-4/+4
Those two links are currently broken, update them to point to the up-to-date nixos download page.
2024-05-13Merge pull request #310141 from MrMebelMan/init/ketoPavol Rusnak1-0/+2
2024-05-13nixosTests.ydotool: initQuantenzitrone2-0/+116
Co-authored-by: Cosima Neidahl <opna2608@protonmail.com>
2024-05-13nixos/ydotool: init moduleQuantenzitrone3-0/+86
Co-authored-by: Cosima Neidahl <opna2608@protonmail.com>
2024-05-13nixos/devpi-server: initChristina Sørensen4-0/+165
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2024-05-13Merge pull request #310350 from oddlama/fix-oauth2-proxyK9001-3/+3
nixos/oauth2-proxy: fix invalid comparison between list and attrset
2024-05-13tzupdate: remove michaelpj as maintainerMichael Peyton Jones1-1/+1
2024-05-13arbtt: remove michaeplj as maintainerMichael Peyton Jones1-1/+1
2024-05-13keto: init at 0.13.0-alpha.0Vladyslav Burzakovskyy1-0/+2
2024-05-13Merge pull request #310819 from ilya-epifanov/thermald-config-fixFranz Pletz1-2/+2
thermald: fixed handling of an external config
2024-05-13Merge pull request #307076 from flokli/caddy-reloadJörg Thalheim1-1/+1
nixos/caddy: don't set ExecReload if enableReload is disabled
2024-05-13pgvecto-rs: mark as broken in pg12 and pg13Diogo Correia1-1/+1
Upstream (accidentally) broke support for postgresql 12 and 13 on v0.2.1 by changing the signature of the `from_datum` function[^1]. This went unnoticed since the release branch `0.2` did not have CI. Furthermore, they are removing support for these versions of postgresql on v0.3.0[^2]. [^1]: https://github.com/tensorchord/pgvecto.rs/commit/97e861d51d5a5a8c314a6657e02d445a1edcaa30 [^2]: https://github.com/tensorchord/pgvecto.rs/issues/343
2024-05-13nixos/zsh: remove `lib.lib`Florian Klink1-1/+1
This fails my NixOS configuration: ``` error: attribute 'lib' missing at /nix/store/ninrqc3pblnmqgh489cbr9rq5pijcpd6-nixpkgs-src/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix:90:7: 89| programs.zsh.interactiveShellInit = 90| lib.lib.mkAfter (lib.concatStringsSep "\n" ([ | ^ 91| "source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" ```
2024-05-13Merge pull request #309115 from NyCodeGHG/nixos/miniflux-sd-notifyMartin Weinelt1-4/+11
nixos/miniflux: use systemd notify and watchdog
2024-05-13nixos/garage: add assertion for replication_factorYureka1-0/+18
2024-05-13Merge pull request #311197 from endocrimes/dani/fish-boogalooMartin Weinelt1-6/+6
nixos/fish: Fix more lib references
2024-05-13nixos/fish: Fix more lib referencesDanielle Lancashire1-6/+6
2024-05-13Merge pull request #311039 from DavHau/pr_smokepingFlorian Klink3-37/+44
nixos/smokeping: use nginx instead of thttpd
2024-05-13nixos/fish: fix reference to mapAttrsFlattenDanielle Lancashire1-1/+1
2024-05-13nixos/confinement: Use prio 100 for RootDirectoryaszlig1-1/+1
One of the module that already supports the systemd-confinement module is public-inbox. However with the changes to support DynamicUser and ProtectSystem, the module will now fail at runtime if confinement is enabled (it's optional and you'll need to override it via another module). The reason is that the RootDirectory is set to /var/empty in the public-inbox module, which doesn't work well with the InaccessiblePaths directive we now use to support DynamicUser/ProtectSystem. To make this issue more visible, I decided to just change the priority of the RootDirectory option definiton the default override priority so that whenever another different option is defined, we'll get a conflict at evaluation time. Signed-off-by: aszlig <aszlig@nix.build>
2024-05-13nixos/systemd-confinement: Make / read-onlyaszlig2-8/+8
Our more thorough parametrised tests uncovered that with the changes for supporting DynamicUser, we now have the situation that for static users the root directory within the confined environment is now writable for the user in question. This is obviously not what we want and I'd consider that a regression. However while discussing this with @ju1m and my suggestion being to set TemporaryFileSystem to "/" (as we had previously), they had an even better idea[1]: > The goal is to deny write access to / to non-root users, > > * TemporaryFileSystem=/ gives us that through the ownership of / by > root (instead of the service's user inherited from > RuntimeDirectory=). > * ProtectSystem=strict gives us that by mounting / read-only (while > keeping its ownership to the service's user). > > To avoid the incompatibilities of TemporaryFileSystem=/ mentioned > above, I suggest to mount / read-only in all cases with > ReadOnlyPaths = [ "+/" ]: > > ... > > I guess this would require at least two changes to the current tests: > > 1. to no longer expect root to be able to write to some paths (like > /bin) (at least not without first remounting / in read-write > mode). > 2. to no longer expect non-root users to fail to write to certain > paths with a "permission denied" error code, but with a > "read-only file system" error code. I like the solution with ReadOnlyPaths even more because it further reduces the attack surface if the user is root. In chroot-only mode this is especially useful, since if there are no other bind-mounted paths involved in the unit configuration, the whole file system within the confined environment is read-only. [1]: https://github.com/NixOS/nixpkgs/pull/289593#discussion_r1586794215 Signed-off-by: aszlig <aszlig@nix.build>
2024-05-13nixos/tests/confinement: Parametrise subtestsaszlig1-124/+65
This is to make sure that we test all of the DynamicUser/User/Group and PrivateTmp options in a uniform way. The reason why we need to do this is because we recently introduced support for the DynamicUser option and since there are some corner cases where we might end up with more elevated privileges (eg. writable directories in some cases), we want to make sure that the environment is as restrictive as with a static User/Group assignment. I also removed various checks that try to os.chown(), since with our new recursive checker those are redundant. Signed-off-by: aszlig <aszlig@nix.build>
2024-05-13nixos/tests/confinement: Run test probes in Pythonaszlig2-222/+398
So far the architecture for the tests was that we would use a systemd socket unit using the Accept option to start a small shell process where we can pipe commands into by connecting to the socket created by the socket unit. This is unnecessary since we can directly use the code snippets from the individual subtests and systemd will take care of checking the return code in case we get any assertions[^1]. Another advantage of this is that tests now run in parallel, so we can do rather expensive things such as looking in /nix to see whether anything is writable. The new assert_permissions() function is the main driver behind this and allows for a more fine-grained way to check whether we got the right permissions whilst also ignoring irrelevant things such as read-only empty directories. Our previous approach also just did a read-only check, which might be fine in full-apivfs mode where the attack surface already is large, but in chroot-only mode we really want to make sure nothing is every writable. A downside of the new approach is that currently the unit names are numbered via lib.imap1, which makes it annoying to track its definition. [^1]: Speaking of assertions, I wrapped the code to be run with pytest's assertion rewriting, so that we get more useful AssertionErrors. Signed-off-by: aszlig <aszlig@nix.build>
2024-05-13nixos/tests/confinement: Move to dedicated diraszlig2-2/+2
When experimenting on ways how to refactor the test, I wrote a significant enough amount of Python to warrant a dedicated Python file. This commit is mainly to prepare for that and make it easier to track renames. Signed-off-by: aszlig <aszlig@nix.build>
2024-05-13nixos/tests/confinement: Re-add description attraszlig1-194/+205
The reason why I originally used the "description" attribute was that it can be easily used to parametrise the tests so that we can specify common constraints and apply it across a number of different configurations. When porting the tests to Python, the description attribute was replaced by inlining it into the Python code, most probably because it was easier to do in bulk since using Nix to generate the subtest parts would be very complicated to do since we also had to please Black (a Python code formatter that we no longer use in test scripts). Since we now also want to support DynamicUser in systemd-confinement, the need to parametrise the tests became apparent again because it's now easier to refactor our subtests to run both with *and* without DynamicUser set to true. Signed-off-by: aszlig <aszlig@nix.build>
2024-05-13nixos/systemd-confinement: support ProtectSystem=/DynamicUser=Julien Moutinho3-22/+181
See https://discourse.nixos.org/t/hardening-systemd-services/17147/14
2024-05-12Merge pull request #311158 from lf-/jade/remove-outdated-maintainershipJade Lovelace27-27/+28
nixos: remove historical maintainership of modules by eelco
2024-05-12Merge pull request #310873 from ivan/radvd-debuglevelFranz Pletz1-1/+12
nixos/radvd: add debugLevel option