diff --git a/README.md b/README.md index 1a28bd3..1fd0f4e 100644 --- a/README.md +++ b/README.md @@ -214,6 +214,41 @@ $ touch shell.nix $ touch flake.nix ``` +## Shell integration + +To quickly add a default.nix/flake.nix to a project you can put the following snippets in your bashrc/zshrc + +```bash +nixify() { + if [ ! -e ./.envrc ]; then + echo "use nix" > .envrc + direnv allow + fi + if [[ ! -e shell.nix ]] && [[ ! -e default.nix ]]; then + cat > default.nix <<'EOF' +with import {}; +mkShell { + nativeBuildInputs = [ + bashInteractive + ]; +} +EOF + ${EDITOR:-vim} default.nix + fi +} + +flakifiy() { + if [ ! -e flake.nix ]; then + nix flake new -t github:nix-community/nix-direnv . + elif [ ! -e .envrc ]; then + echo "use flake" > .envrc + direnv allow + fi + ${EDITOR:-vim} flake.nix +} + +``` + ## Known Bugs At the moment `nix-direnv` depends on GNU Grep and a modern Bash version.