How do I install NixOS in a container on Debian?

I tried using Distrobox with
this image and I get an error

distrobox create -n nixos -i docker.io/nixos/nix:latest-amd64 Image docker.io/nixos/nix:latest-amd64 not found. Do you want to pull the image now? [Y/n]: y Trying to pull docker.io/nixos/nix:latest-amd64... Getting image source signatures Copying blob 3cd1eec0d07f done | Copying blob 2dbe7022f334 done | Copying blob 63b2855ad714 done | Copying blob 1860380436d7 done | Copying blob b9d5f768ccd7 done | Copying blob 8caaa1dc142b done | Copying blob 4412f62d2bd0 done | Copying blob 4412f62d2bd0 done | Copying blob 4412f62d2bd0 done | Copying blob b171b4d377bf done | Copying blob cbbc8ae9ea1a done | Copying blob eed66e609929 done | Copying blob 46b5b67fd529 done | Copying blob bd843cf8536a done | Copying blob 46b5b67fd529 done | Copying blob fa232d409e0a done | Copying blob 373465378e97 done | Copying blob 8a7c1de2c050 done | Copying blob c33965a8aca6 done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 67af9fdf0e9e done | Copying blob 373465378e97 done | Copying blob c33965a8aca6 done | Copying blob 8bc38a10256b done | Copying blob 8a7c1de2c050 done | Copying blob 7db1ed9cdb57 done | Copying blob 3bbbb6950846 done | Copying blob 9c2ae65887f4 done | Copying blob c64bb5136c4f done | Copying blob b2702e50cf12 done | Copying blob 37af0d58d47c done | Copying blob e3e1d653a848 done | Copying blob 4b16dc8169d9 done | Copying blob eea29fd3aa66 done | Copying blob de0d929b61c6 done | Copying blob 6f908e16f897 done | Copying blob 0e07dbeac99b done | Copying blob ed34e8bd60c6 done | Copying blob 479c08aa609b done | Copying blob c3fc4cd09ce3 done | Copying blob 2b59cf151aad done | Copying blob 9ef64a89dd3e done | Copying blob 91c1e28db211 done | Copying blob 60022fbc7f47 done | Copying blob d7e740b75df3 done | Copying blob e89e61a712a9 done | Copying blob 91d5c410b35c done | Copying blob 9f2454c50726 done | Copying blob d7d6e3ba6921 done | Copying config a69447ad47 done | Writing manifest to image destination a69447ad471e5723846b6a2e1f10ccdfeca3db914f08c88e2e9665f60390f798 Creating 'nixos' using image docker.io/nixos/nix:latest-amd64 [ OK ] Distrobox 'nixos' successfully created. To enter, run: distrobox enter nixos Error: "/etc/os-release" could not be found on container nixos: no such file or directory
If I then try to run the container, it fails to start:
distrobox enter nixos Error: could not start entrypoint. + stat /run/host/etc/shadow ++ stat -c %u /run/host/etc/shadow + '[' 65534 = 0 ']' + '[' -f /run/host/etc/locale.conf ']' ++ grep -e '^LANG=' /run/host/etc/locale.conf ++ sed s/LANG=// ++ sed 's/"//g' /usr/bin/entrypoint: line 244: sed: command not found /usr/bin/entrypoint: line 244: sed: command not found ++ sed 's/'\''//g' /usr/bin/entrypoint: line 244: sed: command not found + HOST_LOCALE= + '[' 127 -ne 0 ']' + printf 'Error: An error occurred\n' Error: An error occurred
Apparently this is a known issue with Distrobox
https://github.com/89luca89/distrobox/issues/1604

#Podman #Distrobox #NixOS #Debian #TechQuestions

Docker

@2something I don't think that's an image of nixos, just the nix tool. So it makes sense it can't be started as an OS
@Kiskae
Huh. Do you know where I could find an image of NixOS?

@2something https://distrobox.it/compatibility/

> NixOS is not a supported container distro, and there are currently no plans to bring support to it.

Distrobox

Use any linux distribution inside your terminal.

@2something I haven't seen anyone build an OCI image containing NixOS yet. In fact, running systemd in an OCI container is quite unconventional, although it seems to theoretically be possible? https://developers.redhat.com/blog/2019/04/24/how-to-run-systemd-in-a-container
How to run systemd in a container | Red Hat Developer

In this article, we show how and why to run systemd in a container using Podman

Red Hat Developer
github.com/hercules-ci/arion kinda did it for a while
GitHub - hercules-ci/arion: Run docker-compose with help from Nix/NixOS

Run docker-compose with help from Nix/NixOS. Contribute to hercules-ci/arion development by creating an account on GitHub.

GitHub
@2something also Nixos on distrobox really doesn't add anything over just using nix itself. Either by installing it on Debian or running it in a container
@Kiskae

Thanks: I briefly tried the Debian Nix package awhile ago and couldn't figure out how to use it, so I guess I should more seriously read the docs if I want try again.
@2something @Kiskae I don't think it's even possible to create a NixOS distrobox because of the way #NixOS works

@2something your best opinion is to use nix infect, or Nix home-manager to use Nix on other systems.

Be warned Nix infect is pretty drastic, use home-manager for a more stable time

https://github.com/elitak/nixos-infect

GitHub - elitak/nixos-infect: [GPLv3+] install nixos over the existing OS in a DigitalOcean droplet (and others with minor modifications)

[GPLv3+] install nixos over the existing OS in a DigitalOcean droplet (and others with minor modifications) - elitak/nixos-infect

GitHub