An attempt to fully configure Docker image with a ready-to-use Nix environment.
Work in this repository is exploratory and once work is done it should be merged upstream. In order to push things upstream we should build docker images with `dockerTools` functions in `nixpkgs`.
This work would not be possible without prior efforts:
- https://github.com/NixOS/nixpkgs/tree/master/pkgs/build-support/docker
- https://github.com/LnL7/nix-docker
Goals are listed in order of importance.
Currently installation story is not perfect. A lot of potential users are feeling overwhelmed by the amount of installation steps and options. While options are always good to have, having to much of them at first only confuses potential users.
At the same time we also must admit that Docker is some sort of industry standard. For this project we can assume that most potential users will have basic Docker knowledge. (I’m aware this are not all of our potential users, this project does not try to make it work for everybody.)
Tasks:
- [ ] Build a Docker image with Nix and configure Nix to be running without
sandbox mode.
This would allow potential users to get Nix environment by typing:
$ docker run -ti nixos/nix:latest
- [ ] Test Nix installation on each commit to Nix repository.
https://github.com/grahamc/nix-install-matrix/tree/refactored-hacks
- [ ] Build a Docker image with Nix and configure Nix to be running with enabled
sandbox mode.
This would allow potential users to get Nix environment by typing:
$ docker run -ti --privileged nixos/nix-sandbox:latest
Default user is
root
and builds are performed withoutnix-daemon
. - [ ] Build a Docker image with Nix and configure Nix to be running with enabled
multiuser mode.
This would allow potential users to get Nix environment by typing:
$ docker run -ti --privileged nixos/nix-multiuser:latest or $ docker run -ti --privileged nixos/nix-daemon:latest
Default user is
app
and builds are performed vianix-daemon
.
Look at currently open issues and get engaged. Looking for help? Open an issue.