This commit creates a nixos module for static-web-server.
The module uses upstream systemd units to start static-web-server.
It also includes options for configuring static-web-server.
This places a symlink to the running configuration where the admin
tools expect it, allowing users to control the powerdns server or
recursor without manually specifying a config file.
If plymouth is not enabled, there is no plymouth-quit service created
otherwise, so setting systemd.services.plymouth-quit.wantedBy creates an
empty service which logs an error during bootup. The plymouth fix should
only be applied if plymouth is actually available to prevent a needless
systemd service error on systems with gdm but no plymouth (such as a
default gnome setup).
8ea644997f moved the configuration outside
the pinentryFlavor check, causing evaluation to fail when it was set to
null.
960a5142aa removed the upstream systemd
units, causing gpg-agent.service to be conditional on pinentryFlavor.
When lib overrides were used, before this commit, they would not be made
available in the configuration evaluation of nixosTest's nodes.
Sample code:
``` nix
let
pkgs = import ./. {
overlays = [
(new: old: {
lib = old.lib.extend (self: super: {
sorry_dave = builtins.trace "There are no pod bay doors" "sorry dave";
});
})
];
};
in
pkgs.testers.nixosTest {
name = "demo lib overlay";
nodes = {
machine = { lib, ... }: {
environment.etc."got-lib-overlay".text = lib.sorry_dave;
};
};
testScript = { nodes }:
''
start_all()
machine.succeed('grep dave /etc/got-lib-overlay')
'';
}
```
This adds two main features:
1. `services.minetest-server.config` is an options object that is automatically serialized into a minetest config file.
2. `services.minetest-server.extraArgs` provides an escape hatch to pass extra arguments.
According to
https://github.com/NixOS/nixpkgs/issues/147599#issuecomment-1272286679
the bug that prevented this UMask directive from working has been fixed
in systemd, so it should be safe to use now.
This stops paperless-ngx from making everything world-readable on disk,
but it does not change permissions of any files previously created.