- Notifications
You must be signed in to change notification settings - Fork0
Developer boxes (containers) for development and automated builds (prototyping or testing phase!)
rse-ops/devbox
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This is an experiment to useNix packagesand possiblydevboxto provide working environments and containers! We will be using the standardset linked above, along with the Nix UserRepository "NUR" atrseops, shown alsoin the community listinghere.
I like this approach because I think it's the best of both worlds - easybinaries with nix, but provided in containers so I don't need to worry aboutdumping them all onto my local hard drive!
How does it work?
Each diretory here has ashell.nix that defines a Nix environment.We build every environment against every base container (e.g., one vanilla,and one for VSCode) inbases usinguptodate.That's it!
- openmpi: with clang 14
Each environment (subfolder here that isn't bases) is built against each base.The below describes each of the bases, along with a local Devbox environment(not represented as a base).
Most of these containers will be pre-built and you can pull them down.Browse the packages alongside the repository here to see what is available!You an also browse our web interface athttps://rse-ops.github.io/devbox.
For these containers, they are installed to a nix-os to nix-env, so youshould be able to shell inside and find executables on the path.
These containers are optimized for use in VSCode. You can add a.devcontainersdirectory as follows:
.devcontainer/ devcontaine.json Dockerfile
Where thedevcontainer.json can minimally have:
{ "name": "Development environments on your infrastructure", "context": "../", "dockerFile": "Dockerfile",}And the Dockerfile can use one of the images asFROM and add more packagesor otherwise update the base, and then when the container starts you runnix-shellto get into your enviornment.
Devbox is a local development environment you can also use for any containerhere! Once you shell into the container, you can either add to your Devbox, or shellinside:
$ devbox add<package>$ devbox shell
And you can also use it locally with a devbox.json!To do this, you can installdevbox.You will also need toinstall Nix.Further instructions for interaction are below.
Choose an environment subdirectory, e.g.,
$cd openmpi$devbox shell
And that's it! Everything in the environment will be on your path.
You canbrowse for nix packagesand then just do:
$ devbox add<package>
And then shell.
To create a new environment, create your directory, and then:
$cd<mypackage>$ devbox init$ devbox add<package URI>
And please add a README.md with some basic instructions or descriptions!You are encouraged to add anuptodate.yaml that will build over a matrixof versions, and the automation will discover it.
About
Developer boxes (containers) for development and automated builds (prototyping or testing phase!)
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.