Find a file
aszlig 9e9af4f9c0
nixos/confinement: Allow to include the full unit
From @edolstra at [1]:

  BTW we probably should take the closure of the whole unit rather than
  just the exec commands, to handle things like Environment variables.

With this commit, there is now a "fullUnit" option, which can be enabled
to include the full closure of the service unit into the chroot.

However, I did not enable this by default, because I do disagree here
and *especially* things like environment variables or environment files
shouldn't be in the closure of the chroot.

For example if you have something like:

  { pkgs, ... }:

  {
    systemd.services.foobar = {
      serviceConfig.EnvironmentFile = ${pkgs.writeText "secrets" ''
        user=admin
        password=abcdefg
      '';
    };
  }

We really do not want the *file* to end up in the chroot, but rather
just the environment variables to be exported.

Another thing is that this makes it less predictable what actually will
end up in the chroot, because we have a "globalEnvironment" option that
will get merged in as well, so users adding stuff to that option will
also make it available in confined units.

I also added a big fat warning about that in the description of the
fullUnit option.

[1]: https://github.com/NixOS/nixpkgs/pull/57519#issuecomment-472855704

Signed-off-by: aszlig <aszlig@nix.build>
2019-03-14 20:04:33 +01:00
.github .github/CODEOWNERS: remove @ryantm from haskell 2019-02-28 21:32:35 -08:00
doc doc: format the documentation (#57102) 2019-03-08 21:07:11 -08:00
lib lib: add showWarnings 2019-03-08 11:19:18 +02:00
maintainers tamsyn: init at 1.11 2019-03-12 20:45:19 -07:00
nixos nixos/confinement: Allow to include the full unit 2019-03-14 20:04:33 +01:00
pkgs Merge pull request #57621 from dtzWill/update/pyxlib-0.25 2019-03-14 18:20:46 +01:00
.editorconfig Revert ".version: remove final newline" 2018-04-28 14:23:13 +02:00
.gitattributes gitattributes: disable merge=union in all-packages 2018-03-27 11:03:03 -05:00
.gitignore Replace androidenv by new implementation 2018-12-18 21:16:06 +01:00
.version 19.09 is Loris. 2019-02-25 23:21:14 +01:00
COPYING COPYING: move notice to README.md 2018-10-13 13:22:18 +00:00
default.nix Fix local path to release notes in error message 2018-10-08 05:43:15 -05:00
README.md doc/reviewing-contributions: pull-requests -> pull requests 2018-11-19 13:03:23 -06:00

logo

Code Triagers Badge

Nixpkgs is a collection of packages for the Nix package manager. It is periodically built and tested by the Hydra build daemon as so-called channels. To get channel information via git, add nixpkgs-channels as a remote:

% git remote add channels https://github.com/NixOS/nixpkgs-channels.git

For stability and maximum binary package support, it is recommended to maintain custom changes on top of one of the channels, e.g. nixos-18.09 for the latest release and nixos-unstable for the latest successful build of master:

% git remote update channels
% git rebase channels/nixos-18.09

For pull requests, please rebase onto nixpkgs master.

NixOS Linux distribution source code is located inside nixos/ folder.

Communication:

Note: MIT license does not apply to the packages built by Nixpkgs, merely to the package descriptions (Nix expressions, build scripts, and so on). It also might not apply to patches included in Nixpkgs, which may be derivative works of the packages to which they apply. The aforementioned artifacts are all covered by the licenses of the respective packages.