Commit graph

71 commits

Author SHA1 Message Date
Eelco Dolstra 5c1f8cbc70 Move all of NixOS to nixos/ in preparation of the repository merge 2013-10-10 13:28:20 +02:00
Eelco Dolstra 9df40867b9 In environment.variables, unify "value" and "list" 2013-09-23 23:07:32 +02:00
Jan Malakhovski b3f4040512 Radically change the way NixOS handles environment variables and make it possible not to use Bash as the default interactive shell.
This change does two things:

* "NixOSizes" environment variables generation. This allows some more
  error-checking and opens possibilities for a modular environment
  configuration. From now on the most of environment variables are
  generated directly by the nix code. Generating sh code that
  generates environment variables is left in a few places where
  nontrivial access to a local environment state is needed.
* By doing the first change this patch untangles bash from the
  environment configuration and makes it trivial to add a support for
  other non bash-compatible shells.

Now to the sad part. This change is quite large (and I'm not sure it's
possible to split it) and yet is not quite complete, it needs some
changes to nixpkgs to be perfect.
See !!! comments in modules/config/shells-environment.nix.

Main principle behind this change is "change environment generation
and nothing else". In particular, shell configuration principles stay
exactly the same as before.
2013-09-23 16:55:25 +00:00
Rob Vermaas 0408858a8a Set CURL_CA_BUNDLE env variable for nix-daemon to allow pulling from a binary cache on https. Did not add to nix.envVars to avoid being added to shellInit. 2013-09-16 19:02:20 +02:00
Eelco Dolstra 8bfbe7ef84 Don't try to guess the location of the NixOS config file
The NixOS config need not be $NIXOS_CONFIG, it can also be set through
-I nixos-config=... or not exist in a separate file at all (e.g. in a
NixOps deployment).

Issue #212.
2013-08-26 12:14:14 +02:00
Evgeny Egorochkin f29068342a Merge pull request #212 from ivan/nix-conf-header
Describe where /etc/nix/nix.conf settings come from
2013-08-10 22:02:32 -07:00
Ivan Kozik 390fdb3e60 Fix typos, especially those that end up in the NixOS manual 2013-08-10 21:07:13 +00:00
Ivan Kozik d6303b6068 Describe where /etc/nix/nix.conf settings come from 2013-08-09 00:51:45 +00:00
Eelco Dolstra 168d48a5c9 nix-daemon: Run under the default nice level
Running at a low priority is generally bad since it runs the risk of
priority inversions, etc.  It's really the builders that should run
under a different priority (e.g. in their own cgroup).
2013-08-07 14:10:49 +02:00
Martin Bravenboer 7bd50185ff Support Nix's mandatoryFeatures
Extend the buildMachines option to support specification of
supportedFeatures and mandatoryFeatures in order to support all
configuration options of the nix.machines file.
2013-07-31 15:49:35 +02:00
Rob Vermaas 2cb25bd65c Revert "Only include /bin/sh (not all of /bin) in the chroot"
This reverts commit 883d310bac.
2013-07-23 10:00:54 +02:00
Rob Vermaas 7163babe84 Revert "Allow specifying packages whose closures should be in the chroot"
This reverts commit be3d498b18.
2013-07-23 10:00:43 +02:00
Shea Levy be3d498b18 Allow specifying packages whose closures should be in the chroot
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-19 11:21:05 -04:00
Shea Levy 883d310bac Only include /bin/sh (not all of /bin) in the chroot
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-19 11:19:07 -04:00
Eelco Dolstra 7cf23a740d Update the default binary cache URL to cache.nixos.org 2013-06-12 14:23:33 +02:00
Eelco Dolstra b3f04718cf Use stable Nix by default 2013-06-11 12:10:58 +02:00
Eelco Dolstra 991a78dd8b Use nixUnstable 2013-03-26 15:58:38 +01:00
Marc Weber f3e6b42258 replace list by listOf using same style as for attrsOf 2013-03-14 17:09:21 +01:00
Eelco Dolstra 85188d19c5 nix-daemon: Restart when nix.conf changes 2013-02-26 03:15:29 +01:00
Eelco Dolstra 0930befd58 nix-daemon: Put back the --daemon flag
That flag doesn't do anything, except that it allows setting the
client PID in the process title of the children.
2013-01-24 13:34:47 +01:00
Eelco Dolstra 4ac619f6e5 Turn on nix.readOnlyStore again 2013-01-24 13:09:31 +01:00
Eelco Dolstra bd328680ce Revert "Enable nix.readOnlyStore by default"
This reverts commit 683100666d.

Seems somebody (systemd? the kernel?) gets confused at power
events and remounts the filesystem containing /nix/store as
read-only.
2013-01-24 10:28:34 +01:00
Eelco Dolstra 683100666d Enable nix.readOnlyStore by default 2013-01-23 23:41:01 +01:00
Eelco Dolstra ae4e94d9ac Rename ‘boot.systemd’ to ‘systemd’
Suggested by Mathijs Kwik.  ‘boot.systemd’ is a misnomer because
systemd affects more than just booting.  And it saves some typing.
2013-01-16 12:33:18 +01:00
Eelco Dolstra f701acfac0 nix-daemon: Start "nix-daemon" rather than "nix-worker --daemon" 2013-01-04 13:50:50 +01:00
Eelco Dolstra 97ae408e83 Merge remote-tracking branch 'origin/master' into systemd 2012-12-11 17:40:39 +01:00
Eelco Dolstra ef3199f782 Add options for specifying binary caches
Cherry-picked a4bcb26b1a.
2012-12-08 18:37:40 +01:00
Eelco Dolstra a4bcb26b1a Add options for specifying binary caches 2012-11-22 11:49:47 +01:00
Eelco Dolstra 2cf5e3cb66 Add options ‘boot.systemd.targets’ and ‘boot.systemd.sockets’ 2012-10-01 18:58:11 -04:00
Eelco Dolstra 891be375b5 Make unitConfig/serviceConfig attribute sets
So instead of:

  boot.systemd.services."foo".serviceConfig =
    ''
      StartLimitInterval=10
      CPUShare=500
    '';

you can say:

  boot.systemd.services."foo".serviceConfig.StartLimitInterval = 10;
  boot.systemd.services."foo".serviceConfig.CPUShare = 500;

This way all unit options are available and users can set/override
options in configuration.nix.
2012-10-01 16:27:42 -04:00
Eelco Dolstra 3e6bb7d1de Move setting ownership of /nix/store to stage-2-init
This is necessary because the store might be bind-mounted read-only.
2012-09-28 10:59:58 -04:00
Eelco Dolstra a139fa14b1 Optionally make the Nix store read-only to enforce immutability
This will be the default once Nix 1.2 is released.
2012-09-25 16:33:21 -04:00
Eelco Dolstra b02c488fde Automatically append ".service" to the name of service units 2012-08-23 10:25:27 -04:00
Eelco Dolstra d4fec178fd Merge remote-tracking branch 'origin/master' into systemd 2012-08-02 13:44:16 -04:00
Eelco Dolstra 1fcef0a0e0 Don't use nixUnstable 2012-08-02 13:31:57 -04:00
Eelco Dolstra 1602f8e162 Typo 2012-07-20 14:58:15 -04:00
Eelco Dolstra 88f94d76bc Use socket-based activation of the Nix daemon 2012-06-18 23:31:07 -04:00
Eelco Dolstra 801cd7402c * Don't use ‘chown user.group’ since that syntax is not officially
supported (you're supposed to say ‘chown user:group’).

svn path=/nixos/trunk/; revision=34161
2012-05-17 19:43:32 +00:00
Eelco Dolstra dbf5e3229e * Remove Nix's dependencies from the chroot. Nix 1.0 doesn't need
this anymore.

svn path=/nixos/trunk/; revision=34113
2012-05-15 16:12:22 +00:00
Eelco Dolstra 6c1bb54483 * In the installation CD, make the NixOS/Nixpkgs available as if they
were obtained from the NixOS channel.  "nixos-install" copies this
  to the installed system as well.
* In the installation CD, set GC_INITIAL_HEAP_SIZE to a low value for
  the benefit of memory-constrained environments.

svn path=/nixos/trunk/; revision=33887
2012-04-23 00:41:37 +00:00
Florian Friesdorf eb755d4692 switched all mergeOptionString to pkgs.lib.types.string
pierron recommended the use of types.string over mergeOptionString, as
it is superior but might break things.

For my system the change evaluated to the exactly same.

svn path=/nixos/trunk/; revision=31138
2011-12-29 00:51:35 +00:00
Eelco Dolstra 8eba736da9 * Use the ‘path’ attribute in Upstart jobs in more places. It's a bit
more readable (also in "ps" output).

svn path=/nixos/trunk/; revision=30565
2011-11-25 16:32:54 +00:00
Eelco Dolstra d77fc84d2f * For consistency, use /etc/nix/nix.conf instead of /nix/etc/nix/nix.conf.
There is really no reason to have a configuration file outside of /etc,
  and it's consistent with what the Fedora/Debian packages for Nix use.

svn path=/nixos/trunk/; revision=30212
2011-11-03 19:04:54 +00:00
Peter Simons 20b364f4de Reverting revisions 30103-30106: "always set nixpkgs.config.{state,store}Dir", etc.
After the change from revision 30103, nixos-rebuild suddenly consumed
freaky amounts of memory. I had to abort the process after it had
allocated well in excess of 30GB(!) of RAM. I'm not sure what is causing
this behavior, but undoing that assignment fixes the problem. The other
two commits needed to be revoked, too, because they depend on 30103.

svn path=/nixos/trunk/; revision=30127
2011-10-30 15:19:58 +00:00
Shea Levy 09cf6ce70c find modules | fgrep .nix | fgrep -v .svn | fgrep -v nixpkgs.nix | xargs sed -i -e 's|/nix/var|${config.nixpkgs.config.nix.stateDir}|g' -e 's|/nix/store|${config.nixpkgs.config.nix.storeDir}|g'
Don't assume /nix/store or /nix/var in NixOS modules, this is configurable

svn path=/nixos/trunk/; revision=30104
2011-10-29 21:03:57 +00:00
Peter Simons eb6e1310b8 strip trailing whitespace; no functional change
svn path=/nixos/trunk/; revision=29285
2011-09-14 18:20:50 +00:00
Eelco Dolstra 908a025b22 * Die tabs die.
svn path=/nixos/trunk/; revision=26184
2011-03-07 08:21:39 +00:00
Eelco Dolstra 10e8a801b6 * Refactor: extraChrootPaths -> chrootDirs. This allows disabling the
default chroot paths using mkOverride.

svn path=/nixos/trunk/; revision=26183
2011-03-07 08:20:24 +00:00
Michael Raskin 00f3a816a9 Adding a possibility to add more paths to chroots used by nix-daemons. The use-case is building the latest version from repository with very large checkouts. That way you do not get extra copy in store every time you rebuild, and you can implement a saner version checking than checksumming all the data
svn path=/nixos/trunk/; revision=26174
2011-03-06 15:39:05 +00:00
Eelco Dolstra f729f12e4e Some cleanups in the activation script:
* Moved some scriptlets to the appropriate modules.
* Put the scriptlet that sets the default path at the start, since it
  never makes sense not to have it there.  It no longer needs to be
  declared as a dependency.
* If a scriptlet has no dependencies, it can be denoted as a plain
  string (i.e., `noDepEntry' is not needed anymore).

svn path=/nixos/trunk/; revision=23762
2010-09-13 15:41:38 +00:00