Nix expressions.
To subscribe to a channel (needs to be done only once):
nix-channel --add \
http://catamaran.labs.cs.uu.nl/dist/nix/channels/nixpkgs-unstable
This just adds the given URL to ~/.nix-channels (which can also be
edited manually).
To update from all channels:
nix-channel --update
This fetches the latest expressions and pulls cache manifests. The
default Nix expression (~/.nix-defexpr) is made to point to the
conjunction of the expressions downloaded from all channels.
So to update all installed derivations in the current user
environment:
nix-channel --update
nix-env --upgrade '*'
If you are really courageous, you can put this in a cronjob or
something.
You can subscribe to multiple channels. It is not entirely clear
what happens when there are name clashes between derivations from
different channels. From nix-env/main.cc it appears that the one
with the lowest (highest?) hash will be used, which is pretty
meaningless.
24 lines
812 B
Makefile
24 lines
812 B
Makefile
bin_SCRIPTS = nix-collect-garbage \
|
|
nix-pull nix-push nix-prefetch-url \
|
|
nix-install-package nix-channel
|
|
|
|
noinst_SCRIPTS = nix-profile.sh
|
|
|
|
nix-pull nix-push: readmanifest.pm
|
|
|
|
install-exec-local: readmanifest.pm
|
|
$(INSTALL) -d $(DESTDIR)$(sysconfdir)/profile.d
|
|
$(INSTALL_PROGRAM) nix-profile.sh $(DESTDIR)$(sysconfdir)/profile.d/nix.sh
|
|
$(INSTALL) -d $(DESTDIR)$(libexecdir)/nix
|
|
$(INSTALL_DATA) readmanifest.pm $(DESTDIR)$(libexecdir)/nix
|
|
$(INSTALL) -d $(DESTDIR)$(sysconfdir)/nix
|
|
# !!! don't overwrite local modifications
|
|
$(INSTALL_DATA) prebuilts.conf $(DESTDIR)$(sysconfdir)/nix/prebuilts.conf
|
|
|
|
include ../substitute.mk
|
|
|
|
EXTRA_DIST = nix-collect-garbage.in \
|
|
nix-pull.in nix-push.in nix-profile.sh.in \
|
|
nix-prefetch-url.in nix-install-package.in \
|
|
nix-channel.in \
|
|
prebuilts.conf readmanifest.pm.in
|