diff --git a/justfile b/justfile index cfea086..49ca6cd 100644 --- a/justfile +++ b/justfile @@ -730,3 +730,27 @@ _packages_json: @_fmt: just --unstable --fmt #sd "\n+(@_[a-zA-Z_-]+:)" "\n" justfile + +#sync ./dev.nix +dev: + #!/usr/bin/env -S bash -euo pipefail + [[ -f "$invokedir"/flake.nix + && -f "$invokedir"/default.nix + && -e "$invokedir"/.git + && -f "$invokedir"/pkgs/top-level/impure.nix + ]] || ! echo >&2 "ERROR: not in nixpkgs root" + + # local .gitignore for dev.nix + if ! grep -qxF "/dev.nix" master/.git/info/exclude; then + echo "/dev.nix" >> master/.git/info/exclude + fi + + if [[ ! -f "$invokedir"/dev.nix ]]; then + (set -x; cp dev.nix "$invokedir"/dev.nix) + elif [[ dev.nix -nt "$invokedir"/dev.nix ]]; then + (set -x; cp -f dev.nix "$invokedir"/dev.nix) + elif diff -qs dev.nix "$invokedir"/default.nix; then + : + else + ! echo >&2 "dunnolol" + fi