summary refs log tree commit diff
path: root/nixos/modules
Commit message (Collapse)AuthorAge
* Merge pull request #47563 from jameysharp/unscriptedJörg Thalheim2018-10-02
|\ | | | | Replace several activation script snippets with declarative configuration
| * nixos/pam: create wtmp/lastlog iff using pam_lastlogJamey Sharp2018-09-30
| | | | | | | | | | | | | | | | | | | | I think pam_lastlog is the only thing that writes to these files in practice on a modern Linux system, so in a configuration that doesn't use that module, we don't need to create these files. I used tmpfiles.d instead of activation snippets to create the logs. It's good enough for upstream and other distros; it's probably good enough for us.
| * nixos/opengl: create /run/opengl-driver using tmpfiles.dJamey Sharp2018-09-30
| | | | | | | | | | Anything that uses OpenGL starts after sysinit.target, so systemd-tmpfiles runs before anything that needs these symlinks.
| * nixos/activation: don't create /run/nixJamey Sharp2018-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Nix 2.0 no longer uses these directories. /run/nix/current-load was moved to /nix/var/nix/current-load in 2017 (Nix commit d7653dfc6dea076ecbe00520c6137977e0fced35). Anyway, src/build-remote/build-remote.cc will create the current-load directory if it doesn't exist already. /run/nix/remote-stores seems to have been deprecated since 2014 (Nix commit b1af336132cfe8a6e4c54912cc512f8c28d4ebf3) when the documentation for $NIX_OTHER_STORES was removed, and support for it was dropped entirely in 2016 (Nix commit 4494000e04122f24558e1436e66d20d89028b4bd).
| * nixos/polkit: use tmpfiles to clean old dirsJamey Sharp2018-09-30
| | | | | | | | | | These don't need to get cleaned up during activation; that can wait until systemd-tmpfiles-setup runs.
| * nixos/systemd: don't create /var/lib/udevJamey Sharp2018-09-30
| | | | | | | | | | As far as I can tell, systemd has never used this directory, so I think this is a holdover from before udev merged into systemd.
| * nixos/systemd: let journald create /var/log/journalJamey Sharp2018-09-30
| | | | | | | | | | | | | | | | | | | | | | The default value for journald's Storage option is "auto", which determines whether to log to /var/log/journal based on whether that directory already exists. So NixOS has been unconditionally creating that directory in activation scripts. However, we can get the same behavior by configuring journald.conf to set Storage to "persistent" instead. In that case, journald will create the directory itself if necessary.
| * nixos/stage-2: create empty machine-id at bootJamey Sharp2018-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the activation script was responsible for ensuring that /etc/machine-id exists. However, the only time it could not already exist is during stage-2-init, not while switching configurations, because one of the first things systemd does when starting up as PID 1 is to create this file. So I've moved the initialization to stage-2-init. Furthermore, since systemd will do the equivalent of systemd-machine-id-setup if /etc/machine-id doesn't have valid contents, we don't need to do that ourselves. We _do_, however, want to ensure that the file at least exists, because systemd also uses the non-existence of this file to guess that this is a first-boot situation. In that case, systemd tries to create some symlinks in /etc/systemd/system according to its presets, which it can't do because we've already populated /etc according to the current NixOS configuration. This is not necessary for any other activation script snippets, so it's okay to do it after stage-2-init runs the activation script. None of them declare a dependency on the "systemd" snippet. Also, most of them only create files or directories in ways that obviously don't need the machine-id set.
| * nixos/systemd: remove activation dependencyJamey Sharp2018-09-29
| | | | | | | | | | | | As far as I can tell, the systemd snippet hasn't depended on groups being initialized since 5d02c02a9bfd6912e4e0f700b1b35e76d1d6bd3f in 2015, when a `setfacl` call was removed.
* | nixos: include system-level dconf resources in GDM's profilePeter Simons2018-10-02
| | | | | | | | | | | | | | This is necessary when system-wide dconf settings must be configured, i.e. to disable GDM's auto-suspending of the machine when no user is logged in. Related to https://github.com/NixOS/nixpkgs/issues/42053.
* | nix: 2.1.2 -> 2.1.3Eelco Dolstra2018-10-02
| |
* | Merge pull request #47455 from nyanloutre/steamPackages.steam-udevJörg Thalheim2018-10-02
|\ \ | | | | | | steamPackages.steam: add udev rules and update to 1.0.0.56
| * | nixos/steam-hardware: module initnyanloutre2018-09-30
| |/
* | lightdm: add extraConfig option (#47630)Alyssa Ross2018-10-02
| |
* | nixos/clamav: fix freshclam service if db up to dateFranz Pletz2018-10-02
| |
* | nixos/clamav: fix daemon/updater services togglingFranz Pletz2018-10-02
| |
* | kubernetes: 1.11.3 -> 1.12.0Johan Thomsen2018-09-30
| | | | | | | | - kubelet CAdvisor port has been removed
* | docs: formatGraham Christensen2018-09-29
| |
* | nix-daemon: only add channels dir to NIX_PATH if existsWill Dietz2018-09-29
| | | | | | | | Per reviewer comment (thanks!).
* | NIX_PATH: don't prepend $HOME-based value in session variable, set laterWill Dietz2018-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | environment.sessionVariables cannot refer to the values of env vars, and as a result this has caused problems in a variety of scenarios. One use for these is that they're injected into /etc/profile, elewhere these are used to populate an 'envfile' for pam (`pam 5 pam_env.conf`) which mentions use of HOME being potentially problematic. Anyway if the goal is to make things easier for users, simply do the NIX_PATH modification as extraInit. This fixes the annoying problems generated by the current approach (#40165 and others) while hopefully serving the original goal. One way to check if things are borked is to try: $ sudo env | grep NIX_PATH Which (before this change) prints NIX_PATH variable with an unexpanded $HOME in the value. ------- This does mean the following won't contain user channels for 'will': $ sudo -u will nix-instantiate --eval -E builtins.nixPath However AFAICT currently they won't be present either, due to unescaped $HOME. Unsure if similar situation for other users of sessionVariables (not sudo) work with current situation (if they exist they will regress after this change AFAIK).
* | lidarr: init at 0.3.1.471Elis Hirwing2018-09-29
| | | | | | | | Fork of sonarr (as radarr) but for music instead of series and movies.
* | Merge pull request #46607 from rembo10/sickbeardMatthew Bauer2018-09-29
|\ \ | | | | | | Sickbeard/Sickgear/Sickrage: Init and module
| * | Add sickbeard module (with SickGear & SickRage)rembo102018-09-16
| | |
* | | nixos/zsh: use `escapeShelLArg' for shell aliases (#47471)Maximilian Bosch2018-09-28
| | | | | | | | | | | | | | | | | | | | | | | | Previously single quotes were used by default for aliases and the module never warned about possible collisions when having a shell alias which relies on single quotes. Adding `escapeShellArg` works around this fixes the issue and ensures that a properly quoted value is written to `/etc/zshrc`.
* | | Merge pull request #47449 from griff/remove-rspamd-socket-activationxeji2018-09-28
|\ \ \ | | | | | | | | nixos/rspamd: Remove non-working socket activation
| * | | nixos/rspamd: Remove non-working socket activationBrian Olsen2018-09-28
| | |/ | |/| | | | | | | | | | | | | | | | | | | The socket activation I added to the rspamd module doesn't actually work and can't be made to work without changes to rspamd. See: #47421 See: rspamd/rspamd#2035
* | | nixos/kexec: Fix typo in meta.platformsaszlig2018-09-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Evaluation error introduced in 599c4df46a90c7415a6cc0689f0b23d22e7fdb67. There is only a "platformS" attribute in kexectools.meta, so let's use this and from the code in the kexec module it operates on a list, matching the corresponding platforms, so this seems to be the attribute the original author intended. Tested by building nixos/tests/kexec.nix on x86_64-linux and while it evaluates now, the test still fails by timing out shortly after the kexec: machine: waiting for the VM to finish booting machine# Cannot find the ESP partition mount point. This however seems to be an unrelated issue and was also the case before the commit mentioned above. Signed-off-by: aszlig <aszlig@nix.build> Cc: @edolstra, @dezgeg
* | | nixos/kexec: Replace meta.available checksTuomas Tynkkynen2018-09-28
| | | | | | | | | | | | | | | This sort of code breaks config.{allowBroken, allowUnsupportedSystem} = true by making them do unpredictable things.
* | | Merge pull request #47462 from Mic92/fix-logind-user-tempJörg Thalheim2018-09-28
|\ \ \ | | | | | | | | systemd: don't restart user-runtime-dir@ on upgrades
| * | | systemd: don't restart user-runtime-dir@ on upgradesJörg Thalheim2018-09-28
| |/ / | | | | | | | | | | | | Likewise logind we should not try to restart this service after upgrade, the user's current session depends on it.
* / / Add ssh backdoor to VM tests infrastructure.Tuomas Tynkkynen2018-09-28
|/ / | | | | | | | | Thanks to @dezgeg for prototype implementation, I've cleaned it up and added documentation.
* | Merge pull request #35690 from griff/rspamd-socketruntimeJörg Thalheim2018-09-27
|\ \ | | | | | | nixos/rspamd: Preserve runtime directory when using socket activation
| * | nixos/rspamd: Preserve runtime directory when using socket activationBrian Olsen2018-02-26
| | |
* | | shairport-sync: fix pulseaudio support & default argumentsFranz Pletz2018-09-26
| | |
* | | postgresql: give postgres user a shellDomen Kožar2018-09-26
| | |
* | | google-compute-engine: 20180510 -> 20180905zimbatm2018-09-26
| | | | | | | | | | | | The list of corresponding NixOS services are also updated
* | | Merge reording asserts in NixOS eval (#47293)aszlig2018-09-26
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes the evaluation order in that it evaluates assertions before warnings, so that eg. the following would work: { config, lib, ... }: { options.foo = lib.mkOption { type = lib.types.bool; default = true; description = "..."; }; options.bar = lib.mkOption { type = lib.types.bool; default = false; description = "..."; }; config = lib.mkMerge [ (lib.mkIf config.bar { system.build.bar = "foobar"; }) (lib.mkIf config.foo { assertions = lib.singleton { assertion = config.bar; message = "Bar needs to be enabled"; }; systemd.services.foo = { description = "Foo"; serviceConfig.ExecStart = config.system.build.bar; }; }) ]; } This is because the systemd module includes definitions for warnings that would trigger evaluation of the config.system.build.bar definition. The original pull request references a breakage due to the following: { services.nixosManual.enable = false; services.nixosManual.showManual = true; } However, changing the eval order between asserts and warnings clearly is a corner case here and it only happens because of the aforementioned usage of warnings in the systemd module and needs more discussion. Nevertheless, this is still useful because it lowers the evaluation time whenever an assertion is hit, which is a hard failure anyway.
| * | | nixos: top-level: indentJan Malakhovski2018-09-24
| | | |
| * | | nixos: top-level: evaluate assertions before warningsJan Malakhovski2018-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | or else at least the following config will fail with an evaluation error instead of an assert ``` { services.nixosManual.enable = false; services.nixosManual.showManual = true; } ```
* | | | nixos: Fix eval error for documentation.nixosaszlig2018-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduced by 0f3b89bbedc1a33cc1fc3c142e235da2c64614c3. If services.nixosManual.showManual is enabled and documentation.nixos.enable is not, there is no config.system.build.manual available, so evaluation fails. For example this is the case for the installer tests. There is however an assertion which should catch exactly this, but it isn't thrown because the usage of config.system.build.manual is evaluated earlier than the assertions. So I split the assertion off into a separate mkIf to make sure it is shown appropriately and also fixed the installation-device profile to enable documentation.nixos. Signed-off-by: aszlig <aszlig@nix.build> Cc: @oxij
* | | | rabbitmq module: modernize after package upgradeAlexey Lebedeff2018-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use socket-activated epmd - that way there won't be any trouble when more than one erlang system is used within a single host. - Use new automation-friendly configuration file format - Use systemd notifications instead of buggy 'rabbitmqctl wait' for confirming successful server startup. 'wait' bug: https://github.com/rabbitmq/rabbitmq-server/issues/463 - Use 'rabbitmqctl shutdown' instead of 'stop', because it's not pid-file based - Use sane systemd unit defaults from RabbitMQ repo: https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq-server.service.example - Support for external plugins
* | | | Revert "virtualization/qemu-vm: fix and improve virtio/scsi switching"Sarah Brofeldt2018-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f777d2b719be0db4cb7819d5b6dbdd121db29a37. cc #34409 This breaks evaluation of the tested job: attribute 'diskInterface' missing, at /nix/store/5k9kk52bv6zsvsyyvpxhm8xmwyn2yjvx-source/pkgs/build-support/vm/default.nix:316:24
* | | | Merge pull request #47298 from oxij/nixos/doc-in-installerMichael Raskin2018-09-25
|\ \ \ \ | | | | | | | | | | nixos: fix fallout from #46193
| * | | | nixos: doc: fix minimal profile and installer configsJan Malakhovski2018-09-24
| | | | |
| * | | | nixos: doc: nixos-manual: fix assertJan Malakhovski2018-09-24
| |/ / /
* | | | nixos/gitlab: rebuild authorized_keys during preStartWilliButz2018-09-25
| | | | | | | | | | | | | | | | | | | | This updates the path to the 'gitlab-shell' to the correct store path when gitlab is restarted.
* | | | gitlab module: workhorse may start before gitlabRobin Gloster2018-09-25
| | | |
* | | | nixos/gitlab: avoid creating recursive symlinks, add gitlab-rake depsKristoffer Thømt Ravneberg2018-09-25
| | | |
* | | | Merge pull request #47296 from matthewbauer/closure-size-reductionsxeji2018-09-24
|\ \ \ \ | | | | | | | | | | ISO/OVA closure size reductions
| * | | | nixos: don’t enableQt4Support for installer profileMatthew Bauer2018-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is already done in installer/cd-dvd/installation-cd-graphical-kde.nix but not in profiles/graphical.nix. Related to #47256.