Commit Graph

980 Commits

Author SHA1 Message Date
pennae
423545fe48 nixos/*: normalize manpage references to single-line form
now nix-doc-munge will not introduce whitespace changes when it replaces
manpage references with the MD equivalent.

no change to the manpage, changes to the HTML manual are whitespace only.
2022-08-05 18:34:50 +02:00
pennae
61e93df189 nixos/*: automatically convert option docs to MD
once again using nix-doc-munge (69d080323a)
2022-08-03 22:46:41 +02:00
pennae
3aebb4a2be nixos/*: normalize link format
make (almost) all links appear on only a single line, with no
unnecessary whitespace, using double quotes for attributes. this lets us
automatically convert them to markdown easily.

the few remaining links are extremely long link in a gnome module, we'll
come back to those at a later date.
2022-08-03 21:57:46 +02:00
pennae
9c8531c8a5 nixos/*: replace <replaceable>s with «thing»
we can't embed syntactic annotations of this kind in markdown code
blocks without yet another extension. replaceable is rare enough to make
this not much worth it, so we'll go with «thing» instead. the module
system already uses this format for its placeholder names in attrsOf
paths.
2022-08-03 21:08:58 +02:00
pennae
16102dce2f nixos/*: replace <code> in option docs with <literal>
markdown can't represent the difference without another extension and
both the html manual and the manpage render them the same, so keeping the
distinction is not very useful on its own. with the distinction removed
we can automatically convert many options that use <code> tags to markdown.

the manpage remains unchanged, html manual does not render
differently (but class names on code tags do change from "code" to "literal").
2022-08-03 21:03:23 +02:00
pennae
6b13dd0e9e
Merge pull request #183491 from pennae/automatic-md-conversions
treewide: automatically md-convert option descriptions
2022-08-02 02:15:30 +02:00
pennae
2e751c0772 treewide: automatically md-convert option descriptions
the conversion procedure is simple:

 - find all things that look like options, ie calls to either `mkOption`
   or `lib.mkOption` that take an attrset. remember the attrset as the
   option
 - for all options, find a `description` attribute who's value is not a
   call to `mdDoc` or `lib.mdDoc`
 - textually convert the entire value of the attribute to MD with a few
   simple regexes (the set from mdize-module.sh)
 - if the change produced a change in the manual output, discard
 - if the change kept the manual unchanged, add some text to the
   description to make sure we've actually found an option. if the
   manual changes this time, keep the converted description

this procedure converts 80% of nixos options to markdown. around 2000
options remain to be inspected, but most of those fail the "does not
change the manual output check": currently the MD conversion process
does not faithfully convert docbook tags like <code> and <package>, so
any option using such tags will not be converted at all.
2022-07-30 15:16:34 +02:00
Linus Heckemann
bb7f88ccc0
Merge pull request #178529 from oxalica/fix/systemd-initrd-vconsole
nixos/console: add required store paths to initrd for systemd stage 1
2022-07-30 10:15:14 +02:00
pennae
a16b25432e
Merge pull request #182685 from pennae/invariant-option-conversions
treewide: invariant option conversions to MD
2022-07-27 15:39:47 +02:00
Sandro
7206899cbf
nixos/i18n: add en_US.UTF-8 to default locales
Closes #182798
2022-07-26 14:50:02 +02:00
pennae
ff56c775c8
Merge pull request #182098 from pennae/option-doc-md
convert some varlists in option docs to MD
2022-07-24 13:14:40 +02:00
pennae
8a79dfd94a nixos/config: invariant option docs MD conversions 2022-07-24 13:01:18 +02:00
Alois Wohlschlager
fe44207a71
nixos/power-management: run post-resume after suspend-then-hibernate
The suspend-then-hibernate functionality is implemented by systemd in
the suspend-then-hibernate.target, separately from suspend.target and
hibernate.target. Thus post-resume would not run after resuming from
suspend-then-hibernate.

Fix this by explicitly making post-resume run after
suspend-then-hibernate.
2022-07-22 18:33:37 +02:00
Florian Klink
7c119675a3
Merge pull request #179002 from klemensn/move-passwdEntry-type
move passwdEntry type
2022-07-22 14:16:57 +07:00
pennae
875acd1c2b nixos/qt5: convert option docs to MD
changing a varlist to an md list changes the rendering slightly.
2022-07-19 16:23:56 +02:00
Vladimír Čunát
7fbdf335d8
Merge #180368: nixos/i18n: normalise locale names 2022-07-16 09:01:42 +02:00
Sandro
a959a2cd26
Merge pull request #180992 from romildo/new.xdg.portal.lxqt 2022-07-13 14:15:09 +02:00
José Romildo
7e30ebb2c2 nixos/lxqt: add a module for the lxqt portal 2022-07-12 17:17:39 -03:00
Gaute Ravndal
cc0d38b58e nixos/i18n: normalise locale codeset names in supportedLocales 2022-07-11 20:17:50 +02:00
Sandro
366683965e
Merge pull request #166308 from ncfavier/wg-resolvconf
nixos/resolvconf: allow different implementations
2022-07-10 21:00:00 +02:00
José Romildo Malaquias
7802f1b647
Merge pull request #180570 from romildo/upd.nixos.qt5
nixos/qt5: add kde platform theme
2022-07-09 21:44:28 -03:00
Vladimír Čunát
a6d59d9ee4
Merge #180513: nixos/i18n: always generate C locale 2022-07-09 09:15:50 +02:00
José Romildo
41dbc0bdf2 nixos/qt5: add kde platform theme 2022-07-07 16:29:34 -03:00
Sandro Jäckel
59128a34c3
nixos/i18n: always generate C locale 2022-07-07 14:25:13 +02:00
José Romildo
6593595ee5 nixos/qt5: add lxqt platform theme 2022-07-07 09:05:46 -03:00
José Romildo
47ba8cdcc7 nixos/qt5: add maintainer 2022-07-05 13:34:20 -03:00
José Romildo
a264a86d93 nixos/qt5: add qt5ct as a possible platform theme 2022-07-05 11:15:19 -03:00
Jan Tojnar
ce28c99140
Merge pull request #179204 from jtojnar/no-gtk-xdg-use-portal
nixos/xdg.portal: deprecate gtkUsePortal option
2022-06-29 14:24:43 +02:00
Jan Tojnar
ebde08adf3 nixos/xdg.portal: deprecate gtkUsePortal option
It was never meant to be used for anything other than testing
and setting it globally can cause weird loops in GTK-based portals,
where the portal will end up waiting for itself until it times out.

https://github.com/NixOS/nixpkgs/issues/135898

Or it can mess up fonts:

https://github.com/NixOS/nixpkgs/issues/155291#issuecomment-1166199585

Having the option in NixOS makes it look like it is okay or even
desirable to enable, when in fact it is a hack that can subtly break apps.

Some apps allow opting into using portal-based APIs, e.g. for Firefox,
you can set `widget.use-xdg-desktop-portal.file-picker` to `1` in about:config.
Otherwise, you can set the `GTK_USE_PORTAL` environment variable to 1
for individual apps.

People who really want it and aware of the downsides can just set
`environment.sessionVariables.GTK_USE_PORTAL = "1";` NixOS option
directly to set the environment variable globally.
2022-06-27 00:33:59 +02:00
Gaute Ravndal
d534fa7085 nixos/i18n: include locales from extraLocaleSettings in supportedLocales 2022-06-27 00:02:04 +02:00
Thiago Kenji Okada
659096dd89 nixos/fontconfig: add fonts.fontconfig.hinting.style option 2022-06-26 12:19:04 +01:00
Klemens Nanni
574a90771f lib.types, nixos/users: Make passwdEntry available
More nixpkgs code such as `boot.initrd.systemd.emergencyAccess` defines
options that takes hashed passwords, so move the type definition from
modules/ into lib/.

The type definition itself stays unchanged.
2022-06-25 16:34:47 +04:00
Vladimír Čunát
24b43564ff
Merge #177318: nixos/i18n: reduce default supportedLocales 2022-06-25 10:29:27 +02:00
Jan Tojnar
5d5c2ef49b nixos/xdg.portal: avoid with statement 2022-06-22 21:26:53 +02:00
oxalica
3562c1d5c6 nixos/console: add required store paths to initrd for systemd stage 1
`console.{font,keyMap}` may be a path or a string to a store path,
which should be added to initrd for `systemd-vconsole-setup` before
the prompt for the LUKS password.
2022-06-22 11:55:58 +08:00
Naïm Favier
203696f098
nixos/resolvconf: add package
Expose the package that provides the system-wide `resolvconf` command
(either openresolv or systemd) to allow implementation-agnostic modules.
2022-06-21 22:58:43 +02:00
Robert Hensing
e2c261f2c0
Merge pull request #176146 from pennae/module-docs-markdown
treewide: markdown option docs
2022-06-21 13:16:02 +02:00
pennae
320aa2a791 treewide: attempt at markdown option docs 2022-06-12 12:44:38 +02:00
Sandro Jäckel
515b36c093
nixos/i18n: don't build all supportedLocales by default 2022-06-11 23:29:29 +02:00
Jan Tojnar
7f0ce26bbd nixos/xdg/icons: Install hicolor-icon-theme
While the package contains no icons, it includes an `index.theme` file
describing directories where toolkits should look for icons installed by apps.
2022-06-09 13:04:20 +02:00
Janne Heß
e9bdd5fa74
Merge pull request #168168 from fedeinthemix/home-mode
nixos/users-group: Add 'homeMode' option.
2022-05-23 12:27:49 +02:00
Federico Beffa
572ff94f55 nixos/users-group: make homeMode respect is_dry and create home directly with right permissions 2022-05-23 07:47:11 +02:00
Jared Baur
5463b86d03
nixos/users: Fix typo 2022-05-22 22:13:39 -07:00
Federico Beffa
311aa6d05d nixos/users-group: Update description of 'homeMode' option. 2022-05-14 11:59:44 +02:00
Bernardo Meurer
b29e3bb892
nixos/console: inird -> initrd 2022-04-30 14:43:09 -07:00
Janne Heß
18363cad97
nixos/console: Allow setting keymap without font 2022-04-30 11:22:08 +02:00
Sandro
6df0dae4f9
Merge pull request #118387 from raboof/document-how-to-disable-nss
Improved error message on disabling NSS modules when disabling nscd
2022-04-16 22:55:40 +02:00
Janne Heß
0efb6720a4
nixos/console: Fix attribute path to fix eval 2022-04-14 22:07:41 +01:00
Janne Heß
6d6c1c341c
nixos/stage-1-systemd: Add keymap support
Makes my life a lot easier with my non-american keyboard layout
2022-04-14 10:25:04 +01:00
Emil Karlson
a03b332b81 nixos/terminfo: add enableAllTerminfo option
Add an option to install all .terminfo packages, normally this should
add no runtime bloat, if caches are used.
2022-04-13 10:04:31 +03:00
Federico Beffa
9fc01af1cc nixos/users-group: Add 'homeMode' option. 2022-04-11 13:16:38 +02:00
Sandro
b9ddfd63b7
Merge pull request #162996 from alyssais/resolvconf-disable 2022-03-27 12:25:14 +02:00
Luna Nova
95077158aa
nixos/fonts: Remove ancient bitmap fonts from defaultXFonts
See https://github.com/NixOS/nixpkgs/issues/160740
2022-03-13 15:37:48 -07:00
Alyssa Ross
70d3697f8c
nixos/resolvconf: allow disabling
For systems without internet connections, it doesn't make sense to
require the existence of an /etc/resolv.conf file to disable
resolvconf, so let's expose networking.resolveconf.enable as a public
option that can be set to false.
2022-03-06 11:47:29 +00:00
eyjhb
db74bf5375
nixos/users: isSystemUser below 1000 above 400
To reflect changes done in 23d920c8f0
2022-02-26 22:53:03 +01:00
Robert Hensing
e3cfad0b9e nixos/users: Fix type error
Fixes what seems to be a programming error that went undetected by
me and @pasqui23

See https://github.com/NixOS/nixpkgs/issues/158279
2022-02-05 22:38:56 +01:00
Pasquale
07abf6942f
nixos/users:added users.allowLoginless
Correct the assertion logic

Fixed indentation

Better wording od allowLoginless' description

Co-authored-by: Eelco Dolstra <edolstra@gmail.com>

Better formatting

Co-authored-by: Eelco Dolstra <edolstra@gmail.com>

allowLoginless -> allowNoPasswordLogin

Clarified users.allowNoPasswordLogin's  description

Clarified assertion expression

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>

Reworded assertion message to gude to safer alternative
2022-02-05 16:00:55 +01:00
Jan Tojnar
d843a692ae
Merge pull request #148344 from pasqui23/portals
nixos/xdg-portals: add portals to systemPackages
2022-01-26 19:22:49 +01:00
Pasquale
e9c4910524
nixos/xdg-portals: add portals' desktop files to XDG_DATA_DIRS 2022-01-26 18:45:42 +01:00
Vladimír Čunát
24bb158cf0
Merge #143715: nixos/malloc: fix scudo on aarch64-linux 2022-01-18 17:39:33 +01:00
Nikolay Amiantov
f2c5970a76 users-groups service: add autoSubUidGidRange option
Previously we allocated subuids automatically for all normal users.
Make this explicitly configurable, so that one can use this for system
users too (or explicitly disable for normal users). Also don't allocate
automatically by default if a user already has ranges specified statically.
2022-01-09 09:43:55 +03:00
Robert Hensing
d75b85c5dc
Merge pull request #147690 from pasqui23/hosts
concatTextFile: init
2022-01-08 20:40:31 +01:00
Graham Christensen
06edb74413
Merge pull request #148785 from pennae/more-option-doc-staticizing
treewide: more defaultText for options
2021-12-17 11:14:08 -05:00
pennae
0eaf46a1dc nixos/system-path: add defaultText for defaultPackages 2021-12-09 01:42:24 +01:00
pennae
e24a8775a8 treewide: set defaultText for options using simple path defaults
adds defaultText for all options that set their default to a path expression
using the ubiquitous `cfg` shortcut bindings.
2021-12-09 01:12:13 +01:00
Artturi
779a657e37
Merge pull request #148649 from Artturin/sgxgid
nixos: add sgx group with gid 304
2021-12-06 17:05:00 +02:00
Artturin
fc4df13e26 nixos: add sgx group with gid 304
fix Unknown group 'sgx', ignoring message from udev
2021-12-05 01:37:43 +02:00
pennae
2512455639 nixos/*: add trivial defaultText for options with simple defaults 2021-12-02 22:35:04 +01:00
Pasquale
f81734f4e6
nixos/networking: using concatTextFile 2021-11-28 01:40:05 +01:00
Artturin
17c61e9772 nixos/swap: remove fallocate and use dd as the main swap creation method
https://github.com/NixOS/nixpkgs/issues/144572
https://github.com/NixOS/nixpkgs/issues/91986

nixos/swap: remove expansion if else because the file is already
recreated if file size is not the same as the configured size

nixos/swap: remove old fixme
2021-11-13 17:49:42 +02:00
bb2020
8a3a429da6 nixos/swap: add randomEncryption.allowDiscards option 2021-11-08 18:17:00 +03:00
06kellyjac
9ac11c0762 nixos/malloc: fix scudo on non-x86_64 machines 2021-10-29 19:56:17 +01:00
Julien Moutinho
661207ce7e nixos/console: fix cross-compiling 2021-10-20 02:15:09 +02:00
Michele Guerini Rocco
02fc8c2367
Merge pull request #140723 from rnhmjoj/pr-fontdir-headless
nixos/fontdir: always link the font directory
2021-10-11 19:42:19 +02:00
rnhmjoj
a27dc95e72
nixos/fontdir: always link the font directory
This fixes the fonts directory availability when not running an xserver,
such as headless machines.
2021-10-06 08:52:39 +02:00
Naïm Favier
2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
Vladimír Čunát
8be5516756
Merge #138918: Fix several NixOS errors in Hydra evaluation
In particular, this should unblock the trunk-combined jobset.
2021-09-22 17:28:37 +02:00
rnhmjoj
88b3c29cf1
nixos: heimdalFull -> heimdal
The package has been renamed in 2018-05-01.
2021-09-22 11:20:30 +02:00
Sandro
bfc38d3d0d
Merge pull request #125966 from ju1m/apparmor 2021-09-21 22:10:10 +02:00
Mikael Voss
5437b17b8e
nixos/malloc: add mimalloc 2021-09-20 19:10:28 +02:00
Michele Guerini Rocco
1cf01b5215
Merge pull request #138207 from rnhmjoj/layouts
nixos/extra-layouts: avoid all rebuilds
2021-09-19 01:10:55 +02:00
figsoda
f181160d4b
Merge pull request #120087 from figsoda/xdg-mime
nixos/xdg/mime: add config for associations between mimetypes and applications
2021-09-17 17:27:46 -04:00
rnhmjoj
e4da1edf8b
nixos/extra-layouts: avoid all rebuilds
Just setting the XKB_CONFIG_ROOT should be enough, so we don't need to
rebuild the xserver, xkbcomp and other packages anymore.
However, the variable has to be passed explicitely to scripts running at
build time: in particular to xkbvalidate and xkb-console-keymap.
2021-09-17 01:48:46 +02:00
Guillaume Girol
3592034595
Merge pull request #133166 from symphorien/nonogroup
Don't default to nogroup for the primary group of users.
2021-09-13 18:29:21 +00:00
figsoda
ec2690c67f nixos/xdg/mime: add config for associations
between mimetypes and applications
2021-09-12 21:02:40 -04:00
Janne Heß
a851b4d20e
nixos/users-groups: Add dry mode 2021-09-07 10:30:42 +02:00
Guillaume Girol
0f15a8f489 nixos/users-groups: don't default users.users.<name>.group to nogroup
this is unsafe, as many distinct services may be running as the same
nogroup group.
2021-09-03 21:22:07 +02:00
rnhmjoj
9e8fcb0184
nixos/fonts: fixup dd38ae1f 2021-08-29 11:03:13 +02:00
Michele Guerini Rocco
296da7b2f8
Merge pull request #133303 from rnhmjoj/cursor
nixos/hidpi: scale X11 core cursor
2021-08-25 21:07:47 +02:00
Silvan Mosberger
1ad73dadd2
Merge pull request #132836 from Infinisil/populate-members
nixos/users: Populate group members option
2021-08-25 20:17:09 +02:00
Jörg Thalheim
9b962429be
Merge pull request #133014 from Mic92/fix-pam
nixos: reduce pam files rebuilds on updates
2021-08-20 23:23:42 +01:00
Jörg Thalheim
1645acf1d3 nixos: reduce pam files rebuilds on updates
Before whenever environment variables changed, pam files had to be
rebuild.

This is expensive since each file needs its own sandbox set up.
2021-08-20 23:43:30 +02:00
Nikolay Amiantov
bd18e491a9 fontconfig service: drop dpi option
Recommend to use services.xserver.dpi option instead. Mention in the
documentation that it's a sledgehammer approach and monitor settings should be
used instead.

Also don't set DPI in fontconfig settings; fontconfig should use Xft settings
by default so let's not override one value in multiple places. For example,
user now can set DPI via ~/.Xresources properly.
2021-08-20 16:55:07 +00:00
Robert Hensing
fbafeb7ad5 treewide: runCommandNoCC -> runCommand
This has been synonymous for ~5y.
2021-08-15 17:36:41 +02:00
rnhmjoj
dd38ae1f2c
nixos/fonts: scale X11 core cursor
Most desktop environments manage the cursor using the Xcursor library
by default; this comes with scalable or multiple-sized cursor themes.
However, when running just a simple WM (twm, bspwm, ...) the cursor
handling is left to the X server, which uses a very simple fixed bitmap
font (this is called a "core" cursor). The font is uncomfortably small
on a high DPI display and must be replaced with a saner default.

Up until recently[1] it used to be possible to change the font on the
xserver command line, however the font name is now hardcoded. It's still
possible to change it, though: here I override the `fontcursormisc`
package and set an alias that points to a vector variant of the original
cursor font. The font size is set to match the standard cursor
dimensions on a 96dpi display. It's not perfect but it's a very simple
and effective solution.

[1]: 56ea4c769c
2021-08-15 12:01:38 +02:00
Silvan Mosberger
ea00f991c0 nixos/users: Populate group members option
This change makes it so that accessing config.users.groups.*.members isn't
empty by default, but instead contains all the users whose `extraGroups`
includes that group, allowing fancy things like

  { config, ... }: {
    users.groups.libvirt.members = config.users.groups.wheel.members;
  }

to add all users in the wheel group to the libvirt group
2021-08-08 18:40:06 +02:00
Ben Siraphob
b63a54f81c
Merge pull request #110742 from siraben/deprecate-fold 2021-07-27 15:13:31 +07:00
Jörg Thalheim
e2561ba61f
Merge pull request #129408 from kurnevsky/swap-luks-discards
nixos/swap: allow luks discards if swap discards are enabled
2021-07-23 11:11:04 +01:00
Robert Hensing
98352288bd
Merge pull request #128032 from Artturin/add-swap-options
nixos/swap: add options option
2021-07-23 10:45:53 +02:00
Artturin
c971de97c4 nixos/swap: add options option 2021-07-20 20:51:27 +03:00
Florian Klink
c1536f5c78 nixos/systemd: fix NSS database ordering
- The order of NSS (host) modules has been brought in line with upstream
  recommendations:

  - The `myhostname` module is placed before the `resolve` (optional) and `dns`
    entries, but after `file` (to allow overriding via `/etc/hosts` /
    `networking.extraHosts`, and prevent ISPs with catchall-DNS resolvers from
    hijacking `.localhost` domains)
  - The `mymachines` module, which provides hostname resolution for local
    containers (registered with `systemd-machined`) is placed to the front, to
    make sure its mappings are preferred over other resolvers.
  - If systemd-networkd is enabled, the `resolve` module is placed before
    `files` and `myhostname`, as it provides the same logic internally, with
    caching.
  - The `mdns(_minimal)` module has been updated to the new priorities.

  If you use your own NSS host modules, make sure to update your priorities
  according to these rules:

  - NSS modules which should be queried before `resolved` DNS resolution should
    use mkBefore.
  - NSS modules which should be queried after `resolved`, `files` and
    `myhostname`, but before `dns` should use the default priority
  - NSS modules which should come after `dns` should use mkAfter.
2021-07-17 23:55:35 +02:00
Evgeny Kurnevsky
11c0384bf0
nixos/swap: allow luks discards if swap discards are enabled 2021-07-06 10:18:58 +03:00
Jacob Hrbek
55a211ae31 Removed wrong comment 2021-06-30 21:32:08 +02:00
Jacob Hrbek
67af267cf7 Update nixos/modules/config/shells-environment.nix
lgtm

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-06-30 21:27:56 +02:00
Jacob Hrbek
9e166662e0 localBinInPath: Initial commit 2021-06-27 07:31:45 +00:00
Minijackson
f4dd218c7c
nixos/xdg/portal/wlr: init 2021-06-20 11:53:45 +02:00
Sandro
2b49e4e735
Merge pull request #107728 from nessdoor/master 2021-06-15 14:40:21 +02:00
Naïm Favier
39bc736382
nixos/console: allow console.font to be a path
As for console.keyMap, all uses of this option are compatible with paths. This allows doing things like `console.font = pkgs.runCommand ...`.
2021-06-12 13:24:32 +02:00
Vladimír Čunát
2ee781417e
nixos/*: replace alsa* aliases
The attributes got renamed in PR #126440 and in some places this caused
evaluation errors, e.g. the tarball job was saying (locally)
> attribute 'alsaUtils' missing, at /build/source/nixos/modules/services/audio/alsa.nix:6:4
and I suspect that trunk-combined jobset's failure to evaluate was also caused.
2021-06-10 09:46:55 +02:00
Julien Moutinho
22e52be3b3 nixos/apparmor: allow closure of selected mallocLib, fixes #125415 2021-06-06 17:51:12 +02:00
Tomas Antonio Lopez
b922fa959b nixos/swap: add discardPolicy option
Add option for activating discards on swap partitions (none, once, pages and both).
2021-05-19 21:23:35 +09:00
Michael Raskin
d04f1c4314
Merge pull request #101071 from ju1m/apparmor
apparmor: try again to fix and improve
2021-04-24 11:24:26 +00:00
davidak
fabdd46503 kbdKeymaps: remove
dvp and neo are now included in kbd

includes documentation in release notes and alias
2021-04-23 16:41:06 +02:00
Julien Moutinho
05d334cfe2 Revert "Revert "apparmor: fix and improve the service""
This reverts commit 420f89ceb2.
2021-04-23 07:17:55 +02:00
Alyssa Ross
9e400a8b93 nixos/users-groups: check format of passwd entries
Things will get quite broken if an /etc/passwd entry contains a
colon (which terminates a field), or a newline (which terminates a
record).  I know because I just accidentally made a user whose home
directory path contained a newline!

So let's make sure that can't happen.
2021-04-22 13:18:38 +00:00
Bernardo Meurer
411d6aeb06
nixos/modules/config/iproute2: avoid using iproute alias 2021-04-20 01:01:33 -07:00
Symphorien Gibol
7a87973b4c nixos/users: require one of users.users.name.{isSystemUser,isNormalUser}
As the only consequence of isSystemUser is that if the uid is null then
it's allocated below 500, if a user has uid = something below 500 then
we don't require isSystemUser to be set.

Motivation: https://github.com/NixOS/nixpkgs/issues/112647
2021-04-14 20:40:00 +02:00
Jan Tojnar
c04a14edd6 Merge branch 'master' into staging-next 2021-04-06 16:01:14 +02:00
Lassulus
e2080b39e6
Merge pull request #89951 from KoviRobi/nixos-user-name-not-attr-name
nixos/users-groups: Use user name not attribute name for /etc/profiles/…
2021-04-05 13:52:25 +02:00
Arnout Engelen
5610ff5ba1
Improved error message on disabling NSS modules when disabling nscd
Move the hint from a comment to the error message, and provide a clearer
example of how to achieve it.
2021-04-03 18:20:11 +02:00
rnhmjoj
61b7cab481
treewide: use perl.withPackages when possible
Since 03eaa48 added perl.withPackages, there is a canonical way to
create a perl interpreter from a list of libraries, for use in script
shebangs or generic build inputs. This method is declarative (what we
are doing is clear), produces short shebangs[1] and needs not to wrap
existing scripts.

Unfortunately there are a few exceptions that I've found:

  1. Scripts that are calling perl with the -T switch. This makes perl
  ignore PERL5LIB, which is what perl.withPackages is using to inform
  the interpreter of the library paths.

  2. Perl packages that depends on libraries in their own path. This
  is not possible because perl.withPackages works at build time. The
  workaround is to add `-I $out/${perl.libPrefix}` to the shebang.

In all other cases I propose to switch to perl.withPackages.

[1]: https://lwn.net/Articles/779997/
2021-03-31 21:35:37 +02:00
Samuel Gräfenstein
e6cd793a74
nixos/config: move nano to defaultPackages
Some people already have another editor installed and may want to
get rid of applications they don't use.
2021-03-30 11:50:03 +02:00
Jaakko Luttinen
099a9e809c nixos/update-users-groups: read access to /etc/shadow for group shadow 2021-03-18 00:08:35 -07:00
Kovacsics Robert
af4adb1dd2 nixos/users-groups: Use user name not attribute name for /etc/profiles/...
This cropped up, because I have a set-up where my work username is
different to my home desktop username, and I am using a parameterized
config for both, so I have something akin to

    config.users.users.default-user = ...;

and using

    config.users.users.default-user.{name, home}

in certain places to cope with this. Noticed my home-manager bought in
packages (which use the users.users.<name>.packages hence NixOS issue
not home-manager) weren't present.
2021-02-27 12:45:49 +00:00
Florian Klink
47589ade46
Merge pull request #113804 from rnhmjoj/no-udev-settle-2
nixos/console: fix console setting reloading
2021-02-22 23:22:04 +01:00
rnhmjoj
9be0529210
nixos/console: fix console setting reloading
It's a dull and boring day, it's cold outside and I'm stuck at home: let
me tell you the story of systemd-vconsole-setup.

In the beginnings of NixOS[1], systemd-vconsole-setup was a powerful
sysinit.target unit, installed and running at boot to set up fonts
keyboard layouts and even colors of the virtual consoles. If needed, the
service would also be restarted after a configuration change, consoles
were happy and everything was good, well, almost.

Since the service had no way to specify the dependency "ttys are ready",
modesetting could sometimes happen *after* systemd-vconsole-setup had
started, leaving the console in a broken state. So abbradar worked
around that by putting a systemd-udev-settle `After=`.

In the meanwhile, probably realizing their mistake, systemd added a
shiny udev rule to start the systemd-udev-settle at the right time[2].
However, the rule bypassed systemd by directly running the binary
`systemd-udev-settle`, and the service - though still installed - fell
into disuse.

Two years would pass before a good samaritan, seeing the poor jobless
systemd-udev-settle service, decided to give it the coup de grâs[3] by
unlisting it from the installed units.
This, combined with another bug, caused quite a commotion[4] in NixOS;
to see why remember the fact that `WantedBy=` in upstream units doesn't
work[5], so it had to be added manually in cc542110, but while systemd
removed it, the NixOS unit continued to install and restart the service,
making a lot of fuss when switching configuration.

After at least thee different tentative fixes, deedrah realised[6] what
the root cause was and fpletz put the final nail[7] in the coffin of
systemd-udev-settle. The service would never see the light of a boot
again, NixOS would not restart it all the time but thanks to udev
consoles would still get their pretty fonts and playful colors.

The En..

..no, wait! You should ask what came of systemd-udev-settle, first.
And why is the service even around if udev is doing all the work?

Udev-settle, like the deceitful snake that he is, laid hidden for years.
He looks innocuous doesn't it? A little hack. Only until it leaves his
den and a poor user[8] drops dead. Obviously, it serves no purpose, as
the service is not part of the boot process anymore, so let's remove it
for good!

About the service, it may not be useful at boot, but it can be started
to pick up changes in vconsole.conf and set the consoles accordingly.
But wait, this doesn't work anymore: the service is never started at
boot (remember f76d2aa6), so switch-to-configuration.pl will not restart
it. Fortunately it can be repaired: here I install a new unit which
does *nothing* on start, but restarts the real service when reloaded.
This perfectly reproduces the original behavior, hopefully without the
original bugs too.

The End?

[1]: cc54211069
[2]: f6ba8671d8 (diff-84849fddcef81458f69725dc18c6614aade5c4f41a032b6908ebcf1ee6740636)
[3]: 8125e8d38e
[4]: https://web.archive.org/web/20180603130107/https://github.com/NixOS/nixpkgs/issues/22470
[5]: https://github.com/NixOS/nixpkgs/issues/81138
[6]: https://web.archive.org/web/20180603130107/https://github.com/NixOS/nixpkgs/issues/22470#issuecomment-330930456
[7]: f76d2aa6e3
[8]: https://github.com/NixOS/nixpkgs/issues/107341
2021-02-21 10:27:34 +01:00
nicoo
c8dcbfc047 nixos/swap: Remove dependency on rngd (module removed) 2021-02-21 01:33:50 +01:00
Lassulus
2489d95c1c
Merge pull request #110627 from 4z3/use-real-user-name-for-per-user-packages
nixos/users: use proper name for per-user packages
2021-02-15 12:45:24 +01:00
Ben Siraphob
1c2a2b0a08 treewide: fold -> foldr 2021-01-26 10:57:07 +07:00
Yorick van Pelt
9df9c1992b
beam-packages: move wxSupport arg up to package set, add beam_nox
This allows us to override the erlang wxSupport argument globally from
an overlay, fixing builds for e.g. rabbitmq with noXlibs set.
2021-01-24 21:04:52 +01:00
volth
bc0d605cf1 treewide: fix double quoted strings in meta.description
Signed-off-by: Ben Siraphob <bensiraphob@gmail.com>
2021-01-24 19:56:59 +07:00
tv
530d3ffbcc nixos/users: use proper name for per-user packages
Fixes #107353
2021-01-23 21:36:14 +01:00
Scriptkiddi
1572940688
networking, chrony, ntpd, timesyncd: add timeServers option type 2021-01-20 10:54:24 +01:00
WORLDofPEACE
35ad1687a7
Merge pull request #109060 from MetaDark/nixos/xdg/portal
nixos/xdg/portal: fix loading portals from systemd service
2021-01-20 03:29:16 -05:00
Pavol Rusnak
66dc9dbb59
nixos/modules: stdenv.lib -> lib 2021-01-17 21:40:51 +01:00
Kira Bruneau
a13064ae27 nixos/xdg/portal: fix loading portals from systemd service 2021-01-11 19:22:22 -05:00
Masanori Ogino
d1d6403cb5 nixos/networking: make /etc/netgroup by default
This will prevent nscd from complaining /etc/netgroup being absent.

Signed-off-by: Masanori Ogino <167209+omasanori@users.noreply.github.com>
2021-01-10 11:01:48 +09:00
Benjamin Asbach
e02bf0737b nufraw: init at 0.43-3
`nufraw` is used to manipulate raw images.
`nufraw-thumbnailer` is used to generate thumbnails for raw images.

relates #108444
2021-01-07 22:41:34 +01:00
Florian Klink
88738dd72d
Merge pull request #106787 from flokli/console-optional-display-manager
nixos/console: fix Before= on the systemd-vconsole-setup unit
2021-01-02 11:04:14 +01:00
Niklas Hambüchen
9206c0d115
Merge pull request #41966 from aneeshusa/allow-mutable-shells-for-declarative-users
nixos/users: Allow mutable shells for declarative users
2020-12-31 02:03:22 +01:00
rnhmjoj
9728907cd3
console: remove console.extraTTYs option
This closes issue #88085
2020-12-17 21:29:33 +01:00
Klemens Nanni
8833983f26 nixos/users-groups: createHome: Ensure HOME permissions, fix description
configuration.nix(1) states

    users.extraUsers.<name>.createHome
        [...] If [...] the home directory already exists but is not
        owned by the user, directory owner and group will be changed to
        match the user.

i.e. ownership would change only if the user mismatched;  the code
however ignores the owner, it is sufficient to enable `createHome`:

    if ($u->{createHome}) {
        make_path($u->{home}, { mode => 0700 }) if ! -e $u->{home};
        chown $u->{uid}, $u->{gid}, $u->{home};
    }

Furthermore, permissions are ignored on already existing directories and
therefore may allow others to read private data eventually.

Given that createHome already acts as switch to not only create but
effectively own the home directory, manage permissions in the same
manner to ensure the intended default and cover all primary attributes.

Avoid yet another configuration option to have administrators make a
clear and simple choice between securely managing home directories
and optionally defering management to own code (taking care of custom
location, ownership, mode, extended attributes, etc.).

While here, simplify and thereby fix misleading documentation.
2020-12-16 03:40:29 +01:00
Florian Klink
536988b35e nixos/console: fix Before= on the systemd-vconsole-setup unit
Only set Before=display-manager.service if it is actually present.

On headless systems, `systemctl list-units --state not-found` will
otherwise show display-manager.service.

Reported-In: https://github.com/NixOS/nixpkgs/issues/88597
2020-12-12 21:21:51 +01:00
Linus Heckemann
f448ec3365
Merge pull request #98731 from mayflower/ldap-nss-optional
config.users.ldap: do not include nss module if turned off
2020-12-12 10:53:39 +01:00
Aaron Andersen
9826371e44
Merge pull request #101224 from aanderse/ldap
nixos/ldap: restart nslcd when configuration changes
2020-12-11 17:18:12 -05:00
Luke Granger-Brown
ad62155cb6 nixos/zram: add zramSwap.memoryMax option
This allows capping the total amount of memory that will be used for
zram-swap, in addition to the percentage-based calculation, which is
useful when blanket-applying a configuration to many machines.

This is based off the strategy used by Fedora for their rollout of
zram-swap-by-default in Fedora 33
(https://fedoraproject.org/wiki/Changes/SwapOnZRAM), which caps the
maximum amount of memory used for zram at 4GiB.

In future it might be good to port this to the systemd zram-generator,
instead of using this separate infrastructure.
2020-11-25 13:43:38 +00:00
Graham Christensen
bc49a0815a
utillinux: rename to util-linux 2020-11-24 12:42:06 -05:00
Joachim F
547d660f64
Merge pull request #104052 from TredwellGit/nixos/malloc
nixos/malloc: fix Scudo
2020-11-21 14:31:58 +00:00
Graham Christensen
75d7828724
Merge pull request #98544 from Mic92/unfuck-update-user-group
nixos/update-user-groups: Fix encoding issues + atomic writes
2020-11-20 10:28:52 -05:00
TredwellGit
fc6948cd47 nixos/malloc: fix Scudo
Fixes segmentation faults.
https://github.com/NixOS/nixpkgs/issues/100799
2020-11-17 09:11:31 -05:00