1
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-06-22 01:11:02 +03:00
Commit graph

260 commits

Author SHA1 Message Date
Artturin
60e9cffe2c Merge branch 'master' into staging-next 2024-07-22 22:53:31 +03:00
nikstur
2ca04530c9 nixos/systemd-sysusers: assert against password and hashedPassword
Regardless of mutable or immutable users, systemd-sysupdate never
updates existing user records and thus will for example never change
passwords for you.

It only support initial passwords and now actively asserts agains other
paswords.
2024-07-21 16:23:11 +02:00
nikstur
2710a49adb nixos/systemd-sysusers: stop creating users statically
On Linux we cannot feasbibly generate users statically because we need
to take care to not change or re-use UIDs over the lifetime of a machine
(i.e. over multiple generations). This means we need the context of the
running machine.

Thus, stop creating users statically and instead generate them at
runtime irrespective of mutableUsers.

When /etc is immutable, the password files (e.g. /etc/passwd etc.) are
created in a separate directory (/var/lib/nixos/etc). /etc will be
pre-populated with symlinks to this separate directory.

Immutable users are now implemented by bind-mounting the password files
read-only onto themselves and only briefly re-mounting them writable to
re-execute sysusers. The biggest limitation of this design is that you
now need to manually unmount this bind mount to change passwords because
sysusers cannot change passwords for you. This shouldn't be too much of
an issue because system users should only rarely need to change their
passwords.
2024-07-21 16:23:11 +02:00
nikstur
d43e323b4a nixos/systemd-sysusers: only create systemusers
systemd-sysusers cannot create normal users (i.e. with a UID > 1000).
Thus we stop trying an explitily only use systemd-sysusers when there
are no normal users on the system (e.g. appliances).
2024-07-21 16:22:01 +02:00
Will Fancher
6f959a9e96 nixos/make-initrd-ng: dlopen ELF notes 2024-07-21 06:31:42 -04:00
Will Fancher
e6c544270c nixos/make-initrd-ng: Pass contents as JSON 2024-07-21 06:31:42 -04:00
nikstur
d4a80b6d0c systemd: 255.6 -> 256.2 2024-07-21 06:31:37 -04:00
Florian Klink
68767b54d3
Merge pull request #321935 from Ma27/nspawn-cgroupsv2
nixos/nspawn: cgroupsv2 by default
2024-07-12 18:06:08 +03:00
Robert Hensing
7b1af67486 nixos/journald: Link to journald manpage
This creates a link to https://www.freedesktop.org/software/systemd/man/latest/journald.conf.html,
thanks to `doc/manpage-urls.json`.
2024-07-02 12:09:07 +02:00
Maximilian Bosch
749aec8444
nixos/nspawn: cgroupsv2 by default
That way you also get features like cgroup accounting for systemd units
when using systemd-nspawn w/o classic nixos containers.
2024-06-23 11:48:58 +02:00
Pol Dellaiera
f2318b9d58
nixos/boot: use --replace-fail 2024-06-06 18:33:30 +02:00
Dawid Dziurla
156757eaf7
nixos/systemd-user: add generators option 2024-05-30 19:51:42 +02:00
Will Fancher
0415aec200
Merge pull request #297250 from NickCao/sysuser
nixos/systemd-sysusers: make uid/gid allocation stable
2024-05-26 20:17:06 -04:00
Will Fancher
4871a4e0da nixos/systemd-stage-1: Fix fsck.xfs needing bash's sh symlink 2024-05-05 06:01:03 -04:00
r-vdp
9258f57625
systemd: add a name option to all systemd units
This allows us to set things like dependencies in a way that we can
catch typos at eval time.
So instead of
```nix
systemd.services.foo.wants = [ "bar.service" ];
```
we can write
```nix
systemd.services.foo.wants = [ config.systemd.services.bar.name ];
```
which will throw an error if no such service has been defined.

Not all cases can be done like this (eg template services), but in a lot
of cases this will allow to avoid typos.

There is a matching option on the unit option
(`systemd.units."foo.service".name`) as well.
2024-04-15 11:32:45 +02:00
stuebinm
6afb255d97 nixos: remove all uses of lib.mdDoc
these changes were generated with nixq 0.0.2, by running

  nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix

two mentions of the mdDoc function remain in nixos/, both of which
are inside of comments.

Since lib.mdDoc is already defined as just id, this commit is a no-op as
far as Nix (and the built manual) is concerned.
2024-04-13 10:07:35 -07:00
nikstur
4c397ea6de systemd-lib: include GPTMaxLabelLength constant 2024-04-08 16:42:25 +02:00
Florian Klink
fd61db7a32
Merge pull request #299717 from ElvishJerricco/systemd-debug-shell
nixos/systemd: Enable debug-shell.service.
2024-04-01 17:20:24 +02:00
Will Fancher
df32b558b5 nixos/systemd: Enable debug-shell.service. 2024-03-29 17:32:38 -04:00
Philip Taron
e2e43f6ce7
nixos/systemd/initrd: make systemd mount root as rw if gpt-auto is set 2024-03-22 16:08:29 -07:00
Nick Cao
e339f0a1fb
nixos/systemd-sysusers: make uid/gid allocation stable 2024-03-19 15:05:45 -04:00
Will Fancher
f0701b576a
Merge pull request #290061 from SuperSandro2000/kernel-modules-package-name
nixos/boot: move name overwrite to pkgs.aggregateModules to option
2024-03-19 13:04:19 -04:00
Will Fancher
99587a3411
Merge pull request #209964 from Majiir/fix-initrd-systemd-closure
nixos/systemd/initrd: follow init param symlinks
2024-03-18 14:39:37 -04:00
Will Fancher
f1731f2e28 nixos: Support systemd-gpt-auto-root 2024-03-15 18:22:04 -04:00
Silvan Mosberger
cd5dc76d83 substitute: Deprecate replacements, introduce replacementsList
Also:
- Add tests
- Treewide update
- Improve docs
2024-02-29 00:35:27 +01:00
WilliButz
4d59ace14f
nixos/systemd-repart: add assertion for partition label length
The maximum length for a GPT label supported by systemd is 36
characters. When a repart definition contains a label that is longer
than the supported maximum length, it is ignored by systemd-repart and
a log message is produced.

The new assertion makes this obvious to the user at evaluation time,
allowing them to either drop the property entirely or choose a supported
label within the length limit instead.
2024-02-27 17:38:14 +01:00
Florian Klink
8b025e80dc
Merge pull request #288690 from maralorn/drop-unused-fs-binding
nixos: Drop unused variable in systemd/initrd.nix
2024-02-20 14:12:58 +07:00
Sandro Jäckel
191e258e6c
nixos/boot: move name overwrite to pkgs.aggregateModules to option
Before there was a kernel modules path named kernel-modules which then got turned
into linux-X.X.XX-modules-shrunk. Now the unshrunk package is called linux-X.X.XX-modules
and gets turned into X.X.XX-modules-shrunk.
2024-02-20 00:13:16 +01:00
Majiir Paktu
58a373809a nixos/systemd/initrd: follow init param symlinks 2024-02-18 14:57:12 -05:00
Jade Lovelace
5d1feba540 nixos/systemd.oomd: set the memory pressure thresholds as mkDefault
These should be defaults as they're pretty reasonable to want to
override as a user. Unsure how to change the slice defaults to be
overridable, that should probably be a later conversation.
2024-02-15 09:41:26 -08:00
maralorn
6634b86601 nixos: Drop unused variable in systemd/initrd.nix 2024-02-14 01:22:58 +01:00
Will Fancher
ee9becfdfb
Merge pull request #285315 from jmbaur/sysupdate-fixes
nixos/sysupdate: allow lists in sysupdate config
2024-02-07 03:01:49 -05:00
Florian Klink
7c0a129076
Merge pull request #256652 from giorgiga/rateLimitBurst-documentation
Clarify journal size limit defaults in documentaiton of services.journald.rateLimitBurst
2024-02-06 13:26:35 +01:00
Jared Baur
50866dc20f
nixos/sysupdate: allow lists in sysupdate config
Lists are convenient to have in sysupdate configuration when using
multiple `MatchPattern` under `Target` when the target can have multiple
filenames. This use-case is helpful for BootLoaderSpec bootcounting where the target file on
disk can have multiple filenames, and in order for sysupdate to properly
ensure only N number of instances of this target exist at one time, we
need to have multiple match patterns.
2024-01-31 09:12:28 -08:00
Will Fancher
6f1b17d4b8 systemd-stage-1: Fix hibernate-resume with systemd v255 2024-01-28 06:52:21 -05:00
github-actions[bot]
3a8094730e
Merge master into staging-next 2024-01-22 12:01:10 +00:00
nikstur
eec1845744 nixos/systemd-sysusers: init 2024-01-18 23:08:14 +01:00
github-actions[bot]
dc4a7c97b0
Merge master into staging-next 2024-01-18 18:00:55 +00:00
Janne Heß
15c31afd8a
Merge pull request #271067 from nikstur/sysinit-reactivation
nixos/switch-to-configuration: add sysinit-reactivation.target
2024-01-18 16:13:32 +01:00
nikstur
e6b66f08a5 nixos/switch-to-configuration: add sysinit-reactivation.target 2024-01-18 00:46:30 +01:00
nikstur
748378a3ec systemd: 254.6 -> 255.2
Removed patches:

- 0007-Fix-hwdb-paths.patch

  The directory we want seems to already be included in the list. Is there
  a reason why we want to restrict it further?

- 0010-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch

  This patch has little to do with how the meson.build file looks now. The
  new patch 0017 is the successor to this one.

- 0015-pkg-config-derive-prefix-from-prefix.patch

  This is fixed upstream. We don't need this anymore.
2024-01-17 14:13:46 +01:00
Will Fancher
bf54848f3b
Merge pull request #280232 from jmbaur/sysupdate-example-fix
nixos/sysupdate: fix example text
2024-01-16 15:43:05 -05:00
Will Fancher
66e3ec7d30
Merge pull request #278895 from jmbaur/repart-initrd-loopback
nixos/repart: add loop module to initrd
2024-01-16 15:40:19 -05:00
Jared Baur
d177e2ef06
nixos/sysupdate: fix example text
The example systemd-sysupdate transfer name has a ".conf" suffix,
although the files on the final system are already appended with this
suffix, so the file ends up being "transfer-name.conf.conf". Remove the
suffix in the example so that users will get a transfer filename they
expect.
2024-01-11 01:47:36 -08:00
Jared Baur
1dad7f6821
nixos/repart: add loop module to initrd
Systemd-repart will use loopback devices for partition creation if it is
able to, and will fallback to doing "offline" partition creation writing
data directly to files. From what I see looking at the repart code,
there are specific features that cannot be taken advantage of when not
using loopback devices (e.g. no BTRFS subvolumes in systemd v255) and in
certain places they have to perform some manual re-sizing work that can
otherwise be avoided.
2024-01-05 01:04:30 -08:00
github-actions[bot]
dc84f21849
Merge master into staging-next 2024-01-03 12:01:04 +00:00
Will Fancher
05706b850a
Merge pull request #273695 from lopsided98/initrd-systemd-lib-firmware
systemd-stage-1: allow non-existent /lib/firmware
2024-01-03 04:30:27 -05:00
Sandro Jäckel
27468aae96
nixos/oomd: add missing section to use slice 2024-01-03 02:45:38 +01:00
Sandro Jäckel
0a1d1907a5
nixos/oomd: use mkRenamedOptionModule like mentioned in the changelog 2024-01-01 22:33:00 +01:00
Jan Tojnar
80020c7db4 Merge branch 'master' into staging-next
; Conflicts:
;	pkgs/development/lua-modules/generated-packages.nix
;	pkgs/development/lua-modules/overrides.nix
2023-12-31 02:31:32 +01:00