File: nix-bin.README.Debian

package info (click to toggle)
nix 2.8.0-1.1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 7,304 kB
  • sloc: cpp: 62,562; sh: 7,853; yacc: 680; perl: 606; xml: 410; lex: 314; makefile: 73; ansic: 57; sql: 49; python: 22; exp: 3; ruby: 1
file content (53 lines) | stat: -rw-r--r-- 2,037 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
nix for Debian
--------------

The access to the nix-daemon is restricted to members of the
`nix-users` group. Therefore it is necessary to add the users that
should be able to perform nix operations to the group `nix-users`.

Setting up of the user environment is done by the systemd
configuration files /usr/share/user-tmpfiles.d/nix-daemon.conf[1] and
/usr/lib/environment.d/nix-daemon.conf[2]. For this to work there
must be a user session instance of systemd running, as provided by
the recommended package libpam-systemd.

[1] http://manpages.debian.org/systemd-tmpfiles
[2] http://manpages.debian.org/environment.d

Users of other init systems must take other measures to setup the
user environment. The packages examples file folder
(/usr/share/doc/nix-bin/examples) contains the shell recommended by the
upstream nix project to be sourced via Xsession.d or /etc/profile.d.

Note that you need to add a nix channel by yourself, e.g.:

$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs
$ nix-channel --update

Bugs
----

The Nix package-manager keeps by default all packages in the path
`/nix/store`. In principal this path can be changed, but it would make
it impossible to use pre-build binaries from the standard Nixpkgs
channels [3]. The /nix folders are managed with the systemd tmpfiles.d
[4] mechanism, see /usr/lib/tmpfiles.d/nix-daemon.conf.

The problem are retained dependencies. A package keeps references to a
package it depends on. And this references contain the absolute path
(including `/nix/store`).

Section 5.5.3 and 6.1 of the PHD thesis "The Purely Functional
Software Deployment Model" [5] on which Nix is based gives some more
insight.

This was discussed on the debian-devel mailing list [6] and so far no
objection was raised.

[3] https://nixos.org/nix/manual/#sec-building-source
[4] man tmpfiles.d
[5] https://nixos.org/~eelco/pubs/phd-thesis.pdf
[6] https://lists.debian.org/debian-devel/2019/01/msg00010.html

 -- Thomas Koch <thomas@koch.ro>, Sun, 13 Mar 2022 16:48:21 +0200