Skip to content
This repository was archived by the owner on Dec 29, 2021. It is now read-only.

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

* Nix-Docker-Nix

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`.

** Prior work
   
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

Goals are listed in order of importance.

*** 1. Easy to try out Nix in a Docker container

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:
   
  #+BEGIN_SRC shell
    $ docker run -ti nixos/nix:latest
  #+END_SRC

- [ ] 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:

  #+BEGIN_SRC shell
    $ docker run -ti --privileged nixos/nix-sandbox:latest
  #+END_SRC
  
  Default user is =root= and builds are performed without =nix-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:

  #+BEGIN_SRC shell
    $ docker run -ti --privileged nixos/nix-multiuser:latest
    or
    $ docker run -ti --privileged nixos/nix-daemon:latest
  #+END_SRC
  
  Default user is =app= and builds are performed via =nix-daemon=.
  
*** 2. Companies using Docker and Nix should be able to extend on this work
    
*** 3. Improve documentation and messaging how and why to build Docker images with Nix

** Want to help? Need help?

Look at currently open issues and get engaged.
Looking for help? Open an issue.

https://github.com/nix-community/nix-docker-nix/issues

About

An attept to a fully configured Nix environment in a Docker image.

Resources

Stars

18 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages