Commit Graph

26782 Commits

Author SHA1 Message Date
lelgenio
4f802070e5 nixos/websockify: use python3 websockify 2023-09-12 10:50:57 -03:00
Maciej Krüger
a4dde5a1a9
Merge pull request #253334 from nbraud/nixos/terminfo 2023-09-12 14:46:08 +02:00
Martin Weinelt
651bacfe24
Merge pull request #251315 from mrVanDalo/fix/tts
nixos/tts: fix error messages read before text
2023-09-12 12:41:04 +02:00
Edward Tjörnhammar
9b95f21cdb nvidia,nixos/nvidia: add datacenter drivers compatible with default cudaPkgs
For NVLink topology systems we need fabricmanager. Fabricmanager itself is
dependent on the datacenter driver set and not the regular x11 ones, it is also
tightly tied to the driver version. Furhtermore the current cudaPackages
defaults to version 11.8, which corresponds to the 520 datacenter drivers.

Future improvement should be to switch the main nvidia datacenter driver version
on the `config.cudaVersion` since these are well known from:

> https://docs.nvidia.com/deploy/cuda-compatibility/index.html#use-the-right-compat-package

This adds nixos configuration options `hardware.nvidia.datacenter.enable` and
`hardware.nvidia.datacenter.settings` (the settings configure fabricmanager)

Other interesting external links related to this commit are:

* Fabricmanager download site:
    - https://developer.download.nvidia.com/compute/cuda/redist/fabricmanager/linux-x86_64/
* Data Center drivers:
    - https://www.nvidia.com/Download/driverResults.aspx/193711/en-us/

Implementation specific details:

* Fabricmanager is added as a passthru package, similar to settings and
  presistenced.
* Adds `use{Settings,Persistenced,Fabricmanager}` with defaults to preserve x11
  expressions.
* Utilizes mkMerge to split the `hardware.nvidia` module into three comment
  delimited sections:
    1. Common
    2. X11/xorg
    3. Data Center
* Uses asserts to make the configurations mutualy exclusive.

Notes:

* Data Center Drivers are `x86_64` only.
* Reuses the `nvidia_x11` attribute in nixpkgs on enable, e.g. doesn't change it
  to `nvidia_driver` and sets that to either `nvidia_x11` or `nvidia_dc`.
* Should have a helper function which is switched on `config.cudaVersion` like
  `selectHighestVersion` but rather `selectCudaCompatibleVersion`.
2023-09-12 07:17:33 +02:00
Anna Aurora
8a1734ec98 nixos/meme-bingo-web: init service 2023-09-12 02:45:58 +00:00
Maciej Krüger
78e149fba3
Merge pull request #244722 from mdlayher/mdl-dhcp 2023-09-11 21:12:56 +02:00
pennae
7343c13302
Merge pull request #254080 from rnhmjoj/pr-password
nixos/users-groups: rename passwordFile in hashedPasswordFile
2023-09-11 19:51:04 +02:00
datafoo
ade414b6c7 nixos/acme: rename option credentialsFile to environmentFile 2023-09-11 16:34:20 +00:00
datafoo
5f105f8778 nixos/acme: add option to set credential files
This is to leverage systemd credentials for variables suffixed by _FILE.
2023-09-11 16:34:20 +00:00
Maximilian Bosch
863598fdfc
Merge pull request #253427 from Yarny0/sshd-requiredrsasize
nixos/sshd: don't validate mock host key, permit `RequiredRSASize`
2023-09-11 17:40:23 +02:00
Lassulus
38e6d28575
Merge pull request #251323 from saserr/improve-healthchecks
healthchecks: add DB, DB_NAME and support for several _FILE options
2023-09-11 17:30:59 +02:00
mib
2e66f109ed nixos/pam: fix typo in fscrypt enable option
mkEnableOption prepends "Whether to enable" to text, so this became
"Whether to enable Enables fscrypt ..."
2023-09-11 12:06:39 +02:00
K900
a604b522be
Merge pull request #254429 from ctheune/fix-swraid-for-old-init
nixos/swraid: fix regression for old initrd and add test coverage
2023-09-11 09:11:10 +03:00
Artturi
4c22001bbf
Merge pull request #253973 from trofi/bcache-make-optional 2023-09-11 08:10:19 +03:00
Anderson Torres
77671b681c oroborus: remove
Because it is dead.
2023-09-11 01:56:45 +00:00
Christian Theune
0e1a8027d1 nixos/swraid: fix regression for old initrd and add test coverage 2023-09-10 17:16:33 +02:00
Florian Klink
688d95b6e6
Merge pull request #254056 from n8henrie/master
Include note about systemd default watchdog reboot time
2023-09-10 16:07:44 +02:00
Christian Theune
7f341bb450 nixos/swraid: fix monitor service 2023-09-10 15:34:11 +02:00
Sergei Trofimovich
566e32dd42 nixos/bcache: add a boot.bcache.enable kill switch
My system does not use `bcache` and I sould prever my `systemPackages`
not to have bcache tools.

The change does not change the default but proviced usual `enable` knob.
2023-09-10 14:26:53 +01:00
Nick Cao
a1635b3821
Merge pull request #249939 from erdnaxe/galene-fix
nixos/galene: do not restrict AF_NETLINK
2023-09-10 08:49:19 -04:00
K900
bf58d13eca
Merge pull request #254333 from amarshall/fix-networkd-reload
nixos/networkd: Fix incorrectly treating attrset as list
2023-09-10 12:48:16 +03:00
Pierre Bourdon
bfdf28becf
Merge pull request #251770 from robryk/suidwrapapparm
nixos/security/wrappers: simplifications and a fix for #98863 (respin of #199599)
2023-09-10 09:51:36 +02:00
Andrew Marshall
3f9cc71228 nixos/networkd: Fix incorrectly treating attrset as list
This reverses a [change made during PR review][1] that I did not sufficiently
test, causing [this error][2].

[1]: https://github.com/NixOS/nixpkgs/pull/249643#discussion_r1309151135
[2]: https://github.com/NixOS/nixpkgs/pull/249643#issuecomment-1712707336
2023-09-10 00:54:42 -04:00
Janik
27eedb5601
Merge pull request #246201 from n0emis/zigbee2mqtt-groups-file 2023-09-09 20:19:50 +02:00
Oliver Schmidt
e362fe9c6d security/acme: limit concurrent certificate generations
fixes #232505

Implements the new option `security.acme.maxConcurrentRenewals` to limit
the number of certificate generation (or renewal) jobs that can run in
parallel. This avoids overloading the system resources with many
certificates or running into acme registry rate limits and network
timeouts.

Architecture considerations:
- simplicity, lightweight: Concerns have been voiced about making this
  already rather complex module even more convoluted. Additionally,
  locking solutions shall not significantly increase performance and
  footprint of individual job runs.
  To accomodate these concerns, this solution is implemented purely in
  Nix, bash, and using the light-weight `flock` util. To reduce
  complexity, jobs are already assigned their lockfile slot at system
  build time instead of dynamic locking and retrying. This comes at the
  cost of not always maxing out the permitted concurrency at runtime.
- no stale locks: Limiting concurrency via locking mechanism is usually
  approached with semaphores. Unfortunately, both SysV as well as
  POSIX-Semaphores are *not* released when the process currently locking
  them is SIGKILLed. This poses the danger of stale locks staying around
  and certificate renewal being blocked from running altogether.
  `flock` locks though are released when the process holding the file
  descriptor of the lock file is KILLed or terminated.
- lockfile generation: Lock files could either be created at build time
  in the Nix store or at script runtime in a idempotent manner.
  While the latter would be simpler to achieve, we might exceed the number
  of permitted concurrent runs during a system switch: Already running
  jobs are still locked on the existing lock files, while jobs started
  after the system switch will acquire locks on freshly created files,
  not being blocked by the still running services.
  For this reason, locks are generated and managed at runtime in the
  shared state directory `/var/lib/locks/`.

nixos/security/acme: move locks to /run

also, move over permission and directory management to systemd-tmpfiles

nixos/security/acme: fix some linter remarks in my code

there are some remarks left for existing code, not touching that

nixos/security/acme: redesign script locking flow

- get rid of subshell
- provide function for wrapping scripts in a locked environment

nixos/acme: improve visibility of blocking on locks

nixos/acme: add smoke test for concurrency limitation

heavily inspired by m1cr0man

nixos/acme: release notes entry on new concurrency limits

nixos/acme: cleanup, clarifications
2023-09-09 20:13:18 +02:00
hexchen
15db31b2d9 nixos/decklink: init 2023-09-09 19:45:50 +02:00
Janik
1ffb4e592e
Merge pull request #249964 from ambroisie/woodpecker-improvements 2023-09-09 19:30:34 +02:00
Lassulus
b4f1091214
Merge pull request #252006 from ajs124/logrotate-extraParams 2023-09-09 19:12:20 +02:00
ajs124
f8df5ffdfe nixos/tt-rss: fix and significantly simplify database setup
the schema files referenced in the current preStart are empty.
other ones exist, but don't apply cleanly either.
calling update.php with --update-schema works for initial setup and
updates. if the database schema is already up to date, it's idempotent.
2023-09-09 19:11:54 +02:00
Janik
eda85eb31d
Merge pull request #251062 from ajs124/restic-wrapper-script 2023-09-09 19:11:33 +02:00
Lassulus
72160fbdc1
Merge pull request #251302 from Mic92/buildbot
nixos/buildbot: support reload, buildbot-www-react: init 3.9
2023-09-09 19:09:06 +02:00
Artturi
b3e16d6e10
Merge pull request #254166 from Artturin/fixthingy1 2023-09-09 19:56:02 +03:00
Yorick
df123af8b8
Merge pull request #248502 from kurnevsky/wstunnel
wstunnel: correct listen option
2023-09-09 18:45:45 +02:00
Janne Heß
6b8306c21c
Merge pull request #249643 from amarshall/networkd-reload
nixos/networkd: Reload (not restart) when only .network units change
2023-09-09 17:31:09 +02:00
Janne Heß
a71936c70f
Merge pull request #254027 from luochen1990/feature-better-binfmt
nixos/binfmt: improve type annotations
2023-09-09 17:24:53 +02:00
revol-xut
6f50091de7 nixos/listmonk: fixing datatype of options 2023-09-09 15:21:32 +02:00
Timothy DeHerrera
69bfaafc9d nixos/cfdyndns: add option to use CF token 2023-09-09 12:20:14 +00:00
nicoo
c5de4a5be3 yaft: Provide terminfo in separate output 2023-09-09 09:16:28 +00:00
nicoo
a4116e9289 st: Provide terminfo in separate output 2023-09-09 09:16:28 +00:00
nicoo
91b8537619 contour: Provide terminfo in separate output 2023-09-09 09:16:07 +00:00
nicoo
150b2ff4d5 nixos/terminfo: Improve snippet generating the “all terminfo” list
- Avoid false-positives on package sets that contain a `terminfo` derivation,
  like `haskellPackages` and `sbclPackages`.
- Directly provide a list of names that can be used to update the NixOS module,
  rather than a list of derivations which is hard to read in the REPL.
2023-09-09 08:21:59 +00:00
Artturin
f25f2a4209 nixos/stage-2-init: dont use install to create /etc/nixos if it's a symlink
it should be checking that it is not a broken symlink but bash
conditionals are difficult

-d was causing the directory to not be created if it does not exist

```
$ install -m 0755 -d $PWD/hello
$ ls
hello/
$ ln -s something notexist
'notexist' -> 'something'
$ ls -l
lrwxrwxrwx artturin artturin 9 B Sat Sep  9 06:59:44 2023 notexist@ ⇒ something
drwxr-xr-x artturin artturin 2 B Sat Sep  9 06:59:36 2023 hello/
$ install -m 0755 -d $PWD/notexist
install: cannot change permissions of ‘/home/artturin/nixgits/my-nixpkgs/test/notexist’: No such file or directory
```
2023-09-09 07:22:05 +03:00
Weijia Wang
11f492ef73
Merge pull request #254089 from BruNeu/patch-1
nixos/stalwart-mail: fixed broken link
2023-09-09 01:12:03 +02:00
BruNeu
c729c9746e nixos/stalwart-mail: fixed broken link 2023-09-08 23:59:03 +02:00
Maciej Krüger
a833668968
Merge pull request #254078 from nbraud/hail 2023-09-08 23:04:34 +02:00
Salar Rahmanian
e8210b2aac plausible: 1.4.4 -> 1.5.1 2023-09-08 20:54:05 +00:00
nicoo
8bb42ad1af nixos/hail: Remove module 2023-09-08 19:28:49 +00:00
rnhmjoj
5666a378cb
nixos/users-groups: rename passwordFile in hashedPasswordFile
This avoids the possible confusion with `passwordFile` being the file
version of `password`, while it should contain the password hash.

Fixes issue #165858.
2023-09-08 21:19:40 +02:00
Nathan Henrie
5061d9daf0 systemd.watchdog: (docs): include note about systemd default watchdog reboot time
I found it very confusing to get an error message on reboot about `10min` when that didn't seem to be the NixOS default.
2023-09-08 09:12:29 -06:00
LuoChen
9c5afb2f9a
nixos/binfmt: improve type annotations 2023-09-08 19:40:42 +08:00