summary refs log tree commit diff
path: root/nixos/modules/system/activation
Commit message (Collapse)AuthorAge
* Don't silently ignore errors from the activation scriptEelco Dolstra2014-08-15
|
* Add system.replaceRuntimeDependencies to quickly replace system dependenciesLuca Bruno2014-06-06
|
* Don't create /mediaEelco Dolstra2014-05-21
| | | | It's obsolete - udisks2 uses /run/media/<username>.
* /var/run -> /runEelco Dolstra2014-05-09
|
* switch-to-configuration: Honour RefuseManualStopEelco Dolstra2014-05-05
| | | | | | This prevents spurious errors about systemd-tmpfiles-setup.service. Backport: 14.04
* switch-to-configuration: Use old systemctl to stop unitsEelco Dolstra2014-04-28
| | | | | | | | Otherwise, when switching from systemd 203 to 212, you get errors like: Failed to stop remote-fs.target: Bad message Failed to stop systemd-udevd-control.socket: Bad message ...
* switch-to-configuration: Use systemctl's --no-legend flagEelco Dolstra2014-04-25
|
* nixos: evaluate assertions at toplevel, not at systemPackagesShea Levy2014-04-22
| | | | Fixes #2340
* Revert "Merge branch 'dbus-switch-to-configuration'"Shea Levy2014-04-21
| | | | | | | | This seems to have combined badly with the systemd upgrade, we'll revert for now and revisit after the 14.04 branch. This reverts commit ad80532881119b642d63c7d126e46f4e26cdb0be, reversing changes made to 1c5d3c78831b5d1aee3b46c2e5cabe7af14bc1d1.
* Merge branch 'master' into dbus-switch-to-configurationOliver Charles2014-04-20
|\ | | | | | | | | Conflicts: nixos/modules/system/activation/switch-to-configuration.pl
| * switch-to-configuration: Check overrides.conf for X-* optionsEelco Dolstra2014-04-19
| |
| * Set personality when running a 32-bit container on a 64-bit hostEelco Dolstra2014-04-19
| |
| * switch-to-configuration: Handle systemctl output changeEelco Dolstra2014-04-18
| |
| * Allow upstream systemd units to be extendedEelco Dolstra2014-04-17
| | | | | | | | | | | | | | | | | | | | | | | | If you define a unit, and either systemd or a package in systemd.packages already provides that unit, then we now generate a file /etc/systemd/system/<unit>.d/overrides.conf. This makes it possible to use upstream units, while allowing them to be customised from the NixOS configuration. For instance, the module nix-daemon.nix now uses the units provided by the Nix package. And all unit definitions that duplicated upstream systemd units are finally gone. This makes the baseUnit option unnecessary, so I've removed it.
| * Rewrite ‘with pkgs.lib’ -> ‘with lib’Eelco Dolstra2014-04-14
| | | | | | | | | | | | | | | | Using pkgs.lib on the spine of module evaluation is problematic because the pkgs argument depends on the result of module evaluation. To prevent an infinite recursion, pkgs and some of the modules are evaluated twice, which is inefficient. Using ‘with lib’ prevents this problem.
| * Add an option to reload rather than restart changed unitsEelco Dolstra2014-03-17
| |
| * switch-to-configuration: Don't require /etc/NIXOSEelco Dolstra2014-03-17
| | | | | | | | Check /etc/os-release if /etc/NIXOS doesn't exist.
| * switch-to-configuration: Restart sockets.targetEelco Dolstra2014-03-17
| |
| * switch-to-configuration: Don't try to start masked unitsEelco Dolstra2014-03-12
| |
| * switch-to-configuration.pl: Handle successful auto-restartsOliver Charles2014-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | switch-to-configuration.pl is currently hard-coded to assume that if a unit is in the "auto-restart" state that something has gone wrong, but this is not strictly true. For example, I run offlineimap as a oneshot service restarting itself every minute (on success). NixOS currently thinks that offlineimap has failed to start as it enters the auto-restart state, because it doesn't consider why the unit failed. This commit changes switch-to-configuration.pl to inspect the full status of a unit in auto-restart state, and now only considers it failed if the ExecMainStatus is non-zero.
* | switch-to-configuration.pl: Interact via DBusOliver Charles2014-02-02
|/ | | | | | | Currently switch-to-configuration.pl uses system() calls to interact with DBus. This can be error prone, especially when we are parsing output that could change. In this commit, almost all calls to the systemctl binary have been replaced with equivalent operations via DBus.
* Fix passing of kernel parametersEelco Dolstra2013-12-02
| | | | | Broken in 9ee30cd9b51c46cea7193993d006bb4301588001. Reported by Arvin Moezzi.
* Add support for lightweight NixOS containersEelco Dolstra2013-11-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | You can now say: systemd.containers.foo.config = { services.openssh.enable = true; services.openssh.ports = [ 2022 ]; users.extraUsers.root.openssh.authorizedKeys.keys = [ "ssh-dss ..." ]; }; which defines a NixOS instance with the given configuration running inside a lightweight container. You can also manage the configuration of the container independently from the host: systemd.containers.foo.path = "/nix/var/nix/profiles/containers/foo"; where "path" is a NixOS system profile. It can be created/updated by doing: $ nix-env --set -p /nix/var/nix/profiles/containers/foo \ -f '<nixos>' -A system -I nixos-config=foo.nix The container configuration (foo.nix) should define boot.isContainer = true; to optimise away the building of a kernel and initrd. This is done automatically when using the "config" route. On the host, a lightweight container appears as the service "container-<name>.service". The container is like a regular NixOS (virtual) machine, except that it doesn't have its own kernel. It has its own root file system (by default /var/lib/containers/<name>), but shares the Nix store of the host (as a read-only bind mount). It also has access to the network devices of the host. Currently, if the configuration of the container changes, running "nixos-rebuild switch" on the host will cause the container to be rebooted. In the future we may want to send some message to the container so that it can activate the new container configuration without rebooting. Containers are not perfectly isolated yet. In particular, the host's /sys/fs/cgroup is mounted (writable!) in the guest.
* Add some primops to libEelco Dolstra2013-11-12
|
* Remove remaining references to UpstartEelco Dolstra2013-10-31
|
* Add lots of missing option typesEelco Dolstra2013-10-30
|
* Substitute "types.uniq types.string" -> "types.str"Eelco Dolstra2013-10-30
|
* Remove remaining uses of mkOverrideTemplateEelco Dolstra2013-10-28
|
* Remove uses of the "merge" option attributeEelco Dolstra2013-10-28
| | | | | It's redundant because you can (and should) specify an option type, or an apply function.
* Big cleanup of the NixOS module systemEelco Dolstra2013-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The major changes are: * The evaluation is now driven by the declared options. In particular, this fixes the long-standing problem with lack of laziness of disabled option definitions. Thus, a configuration like config = mkIf false { environment.systemPackages = throw "bla"; }; will now evaluate without throwing an error. This also improves performance since we're not evaluating unused option definitions. * The implementation of properties is greatly simplified. * There is a new type constructor "submodule" that replaces "optionSet". Unlike "optionSet", "submodule" gets its option declarations as an argument, making it more like "listOf" and other type constructors. A typical use is: foo = mkOption { type = type.attrsOf (type.submodule ( { config, ... }: { bar = mkOption { ... }; xyzzy = mkOption { ... }; })); }; Existing uses of "optionSet" are automatically mapped to "submodule". * Modules are now checked for unsupported attributes: you get an error if a module contains an attribute other than "config", "options" or "imports". * The new implementation is faster and uses much less memory.
* Allow options to be marked as "internal"Eelco Dolstra2013-10-23
| | | | | This means they're not for end users. Currently they're filtered from the manual, but we could include them in a separate section.
* Improve option descriptionEelco Dolstra2013-10-23
|
* Move all of NixOS to nixos/ in preparation of the repository mergeEelco Dolstra2013-10-10