The goal of flakefast
is to provide streamlined access to reproducible
and composable development environments for (spatial) data science projects
based on Nix flakes. The composition of the environments very
much reflects my personal project requirements, so it might not
provide the same value to others as it does to me. However, this
project also reflects very novice eyes on the Nix ecosystem, so in
case you too are learning more about Nix you are invited to have
a look around and provide feedback if you wish.
To install Nix:
sh <(curl -L https://nixos.org/nix/install) --no-daemon
Then to enable Flakes for your user:
mkdir -p ~/.config/nix && echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf
You can investigate what is available via:
nix flake show "github:goergen95/flakefast"
To drop into a shell with a basic installation of R:
nix develop "github:goergen95/flakefast#r-base"
You can also automatically enable a R spatial dev environment directly from
GitHub when cd
ing into the project directory via direnv:
echo "use flake \"github:goergen95/flakefast#r-spatial\"" >> .envrc && direnv allow
By adding additional references we can be compose our project environment from multiple ones:
echo "use flake \"github:goergen95/flakefast#py-spatial\"" >> .envrc && direnv allow
Alternativley, templates can be fetched to the project directory to manually customize the project environment:
nix flake init -t "github:goergen95/flakefast#py-spatial"
echo "use flake" >> .envrc && direnv allow
Please not that participation in this project is governed by a Code of Conduct and that by contributing you agree to abide by its terms.