Commit Graph

16159 Commits

Author SHA1 Message Date
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
Daniël de Kok
6e10cf2c1c
Merge pull request #108045 from mmilata/moinmoin-module-fix
nixos/moinmoin: fix module by switching to eventlet worker
2021-02-18 16:13:22 +01:00
Peter Hoeg
c382780e9b nixos/bluetooth: fix more stupidity on my part
Say this 10 times so I don't forget:

 - just because something has been tested and confirmed working, doesn't
   mean that a trivial change can go in without testing simply because
   it looks OK. test, test, test.
 - just because something has been tested and confirmed working, doesn't
   mean that a trivial change can go in without testing simply because
   it looks OK. test, test, test.
 - just because something has been tested and confirmed working, doesn't
   mean that a trivial change can go in without testing simply because
   it looks OK. test, test, test.
 - just because something has been tested and confirmed working, doesn't
   mean that a trivial change can go in without testing simply because
   it looks OK. test, test, test.
 - just because something has been tested and confirmed working, doesn't
   mean that a trivial change can go in without testing simply because
   it looks OK. test, test, test.
 - just because something has been tested and confirmed working, doesn't
   mean that a trivial change can go in without testing simply because
   it looks OK. test, test, test.
 - just because something has been tested and confirmed working, doesn't
   mean that a trivial change can go in without testing simply because
   it looks OK. test, test, test.
 - just because something has been tested and confirmed working, doesn't
   mean that a trivial change can go in without testing simply because
   it looks OK. test, test, test.
 - just because something has been tested and confirmed working, doesn't
   mean that a trivial change can go in without testing simply because
   it looks OK. test, test, test.
 - just because something has been tested and confirmed working, doesn't
   mean that a trivial change can go in without testing simply because
   it looks OK. test, test, test.

I'm sorry guys.
2021-02-18 14:54:19 +00:00
Maximilian Bosch
910e103fcb
Merge pull request #113323 from witchof0x20/nextcloud_redirect_fix
nixos/nextcloud: DAV .well-known redirect fix
2021-02-17 17:23:35 +01:00
Francesco Gazzetta
d56f72178e nixos/mlmmj: use appropriate postfix options
instead of extra*

should make the module more interoperable with others
2021-02-17 16:00:59 +00:00
Francesco Gazzetta
7596e7a495 nixos/mlmmj: add more list headers
since we already add a couple of default headers, it makes sense to have
a sensible default and add the unsubscribe header and friends
2021-02-17 15:59:06 +00:00
Justin Humm
40f60919ab nixos/mastodon: fix group membership for nginx
4255954d97 set the StateDirectory to 0750,
but nginx wasn't in the Mastodon group. This commit also deletes a line,
that probably was intended to serve this purpose, but makes no sense.
Why should the Mastodon user be added as an extraGroup to the nginx
user?
2021-02-17 15:16:14 +01:00
ilian
29a6c9b9a3 nixos/hypervGuest: add Microsoft Synthetic Keyboard driver
Ensure that the HyperV keyboard driver is available in the early
stages of the boot process. This allows the user to enter a disk
encryption passphrase or repair a boot problem in an interactive
shell.
2021-02-17 08:01:34 +00:00
Jörg Thalheim
9783fa9554
Merge pull request #110615 from jansol/pipewire 2021-02-17 07:41:27 +00:00
Peter Hoeg
bf11a28bd3 nixos/bluetooth: hotfix for stupidity 2021-02-17 05:58:08 +00:00
Peter Hoeg
1a4c039432 nixos/bluetooth: add support for disabling plugins 2021-02-17 02:40:59 +00:00
WORLDofPEACE
8a2bd1342e
Merge pull request #113064 from worldofpeace/fix-108124
nixos/tools: make desktopConfiguation types.listOf types.lines
2021-02-16 15:16:53 -05:00
Jade
f83d4f86d5
Nextcloud redirect fix 2021-02-16 11:58:38 -05:00
Izorkin
96f0c2c191 mastodon, nixos/mastodon: use the same nodejs package in package and module 2021-02-16 17:57:31 +01:00
Maximilian Bosch
274109a8d6
Merge pull request #113108 from Ma27/nextcloud-acme
nixos/nextcloud: fix regex to not return 404 on ACME challenges
2021-02-15 18:53:35 +01:00
Maximilian Bosch
31864de85d
Merge pull request #113187 from Ma27/nextcloud-dav
nixos/nextcloud: redirect /.well-known/*dav to https url
2021-02-15 18:53:19 +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
Izorkin
e3a7270e3d nixos/mastodon: fix mastodon-init-db script 2021-02-15 11:43:03 +01:00
Izorkin
4255954d97 nixos/mastodon: optimize permissions 2021-02-15 11:43:03 +01:00
Izorkin
424e7b0f5d nixos/mastodon: use unix socket to default 2021-02-15 11:43:03 +01:00
Izorkin
f1adea1a94 nixos/mastodon: add option trustedProxy 2021-02-15 11:43:03 +01:00
Maximilian Bosch
f89652a23e
nixos/nextcloud: redirect /.well-known/*dav to https url
Fixes #113155
2021-02-15 11:03:12 +01:00
Jan Solanti
3d69688289 pipewire: rename pwms to media-session 2021-02-14 23:54:23 +02:00
Jan Solanti
b9b9fff6d6 pipewire: use strictly upstream defaults 2021-02-14 23:54:17 +02:00
Aaron Andersen
796e3d6ff6
Merge pull request #111695 from jansol/xow
xow: fix service
2021-02-14 13:32:55 -05:00
Jean-Paul Calderone
9338023577
Fix typo in the GitLab smtp auth options docs 2021-02-14 09:55:54 -05:00
Maciej Krüger
8429831b67
Merge pull request #112746 from mkg20001/qemu-extra-disks 2021-02-14 13:20:44 +01:00
Maximilian Bosch
055b7e2a5d
nixos/nextcloud: fix regex to not return 404 on ACME challenges
Fixes #113027
2021-02-14 12:23:16 +01:00
pasqui23
04ef00987a
nixos/switcheroo-control: add to modules-list.nix (#113052) 2021-02-14 01:06:01 +01:00
WORLDofPEACE
452f7e14d4 nixos/tools: generate an xserver config
The desktop configuration won't enable xserver.
If there's multiple desktops enabled they will now evaluate properly.
2021-02-13 18:46:01 -05:00
WORLDofPEACE
94f0210e60 nixos/tools: make desktopConfiguation types.listOf types.lines
This fixes #108124.
2021-02-13 18:45:27 -05:00
zowoq
37f1ed7ca4 nixos/podman: install systemd files
- install podman service and socket
- install podman tmpfile
2021-02-14 06:57:39 +10:00
Milan
3b77e7c967
nixos/jitsi-videobridge: add apis option (#112960)
The `--apis=` command line parameter passed to Jitsi Videobridge is
required to monitor a Jitsi Meet instance for example via the prometheus
exporter [jitsiexporter](https://git.xsfx.dev/prometheus/jitsiexporter).
2021-02-13 15:04:58 +01:00
Jörg Thalheim
c875e8e673
Merge pull request #107394 from yorickvP/beam-nox 2021-02-13 09:01:06 +00:00
aszlig
2d5a31a3ef
Merge pull request #112819 (mkIf in systemd units)
@thelegy writes:

  unitOption is only used inside of attrsOf wich is perfectly capable of
  handling the attrsets from mkIf, though the checkUnitConfig test
  forbids it.

  This commit weakens that restriction to allow the usage of mkIf inside
  of systemd.services.<name>.serviceConfig.<something> etc.

While I personally don't like that we can't easily use
pushDownProperties from the module system and need to rely on internals,
we *already* use internals for the mkOverride case, so adding another
case for mkIf doesn't add a hard-to-find indirection.

I'm merging this, since this fixes a valid use case and it shouldn't
make refactoring worse than before.
2021-02-13 05:24:11 +01:00
Luke Granger-Brown
cfed3b8b22 treewide: update 21.03 to 21.05
The NixOS 21.03 release has been delayed to 21.05. See NixOS/rfcs#80.

There are two instances of 21.03 which have been left as is, since they
are in stateVersion comparisons. This will ensure that existing user
configurations which refer to 21.03 will continue to work.
2021-02-12 14:12:48 -08:00
erictapen
b2dbb4f50e
nixos/mastodon: set environment for mastodon-init-dirs (#112917)
mastodon-init-dirs should have the same environment as the other
services, as it also calls rake. Especially RAILS_ENV was missing.
2021-02-12 20:31:44 +01:00
Milan Pässler
4d6bfa473a
nixos/mastodon: init
Co-authored-by: Happy River <happyriver93@runbox.com>
Co-authored-by: ash lea <ashkitten@users.noreply.github.com>
Co-authored-by: Justin Humm <justin.humm@posteo.de>
2021-02-12 15:37:15 +00:00
Michael Raskin
27f172ebd1
Merge pull request #112019 from 7c6f434c/fix-service-runner
nixos/service-runner: fix evaluation
2021-02-12 08:50:52 +00:00
Peter Hoeg
04e9e9e510 nixos/captive-browser: make it work without a fixed interface
nixpkgs-fmt makes this a lot noisier than it has to be
2021-02-12 14:35:51 +08:00
Mario Rodas
ffedd32f9f
Merge pull request #108511 from nagy/apache-lua-path-fix
nixos/httpd: fix lua paths
2021-02-11 20:04:42 -05:00
Jan Beinke
97718a3584
nixos/systemd-lib: allow mkIf in unitOption
`unitOption` is only used inside of `attrsOf` wich is perfectly capable of
handling the attrsets from `mkIf`, though the checkUnitConfig test
forbids it. This commit weakens that restriction to allow the usage of
`mkIf` inside of `systemd.services.<name>.serviceConfig.<something>`
etc.
2021-02-11 22:18:21 +01:00
Daniel Nagy
7c121e60c5
nixos/httpd: fix lua paths
Account for the fact that, when creating a lua package without the
"withPackages" helper, we dont get an extra "lua" attribute in the
package.

Therefore we need to distinguish between the "withPackages" case and the
direct ( or "empty" ) lua package.

For example with this nixos config:

```nix
{
  services.httpd = {
      enable = true;
      package = pkgs.apacheHttpd.override {
        luaSupport = true;
        lua5 = pkgs.lua5_3.withPackages (ps: with ps; [ luafilesystem ] );
      };
    };
}
```

Here we say that we want to have apache to use a lua, packaged with the
`luafilesystem` module so that we can `require` that in scripts to
render http responses. There, the set that gets assigned to `lua5 ` does
not have a `luaversion` attribute, rather it has a `lua` attribute
wherein lies a `luaversion` attribute. If we dont package additional
modules, then we dont have that `lua` attribute in between and rather
directly have to use `luaversion` directly.
2021-02-11 11:56:06 +01:00
Maciej Krüger
45b8e83128
qemu-vm: add virtualisation.fileSystems to allow extra vm mounts 2021-02-11 11:02:45 +01:00
Linus Heckemann
e4cf0e7a45
Merge pull request #109345 from cole-h/zfs-closure
Shrink the ZFS closure by making mail support optional
2021-02-10 23:04:24 +01:00
Finn Behrens
92859ff489 nixos/prometheus-flow-exporter: init module 2021-02-10 14:29:05 +01:00
Robert Hensing
696294ea9f Improve todo 2021-02-10 10:36:00 +01:00
Robert Hensing
460ba46a4a nixos/hercules-ci-agent: Add myself to meta.maintainers 2021-02-10 09:50:27 +01:00
Robert Hensing
0c22957751 nixos/hercules-ci-agent: Improve concurrentTasks option doc 2021-02-10 09:49:57 +01:00
Robert Hensing
fbabab7b16 nixos/hercules-ci-agent: Format with nixpkgs-fmt 2021-02-10 09:49:21 +01:00