diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5c2fefc..51b2213 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: nix_path: nixpkgs=channel:nixos-unstable - uses: actions/checkout@v2.4.0 - name: Check format - run: ./check-fmt + run: nix-shell --arg packages 'pkgs:[ pkgs.nixpkgs-fmt ]' --run 'nixpkgs-fmt --check .' py2-compat: runs-on: ubuntu-latest @@ -22,7 +22,7 @@ jobs: nix_path: nixpkgs=channel:nixos-unstable - uses: actions/checkout@v2.4.0 - name: Check format - run: nix-shell --run 'git ls-files | grep -Pv "^tools" | grep -P "\.py$" | xargs py2-astparse' + run: nix-shell --arg packages 'pkgs:[ pkgs.p2nix-tools.py2-astparse ]' --run 'git ls-files | grep -Pv "^tools" | grep -P "\.py$" | xargs py2-astparse' black-fmt: runs-on: ubuntu-latest @@ -32,7 +32,7 @@ jobs: nix_path: nixpkgs=channel:nixos-unstable - uses: actions/checkout@v2.4.0 - name: Check format - run: nix-shell --run 'black --check .' + run: nix-shell --arg packages 'pkgs:[ pkgs.p2nix-tools.env ]' --run 'black --check .' matrix_generate: runs-on: ubuntu-latest @@ -64,4 +64,4 @@ jobs: with: name: poetry2nix signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}' - - run: nix-shell --run 'nix-build-uncached -build-flags "-L" --keep-going --show-trace tests/default.nix -A ${{ matrix.attr }}' + - run: nix-shell --arg packages 'pkgs:[ pkgs.nix-build-uncached ]' --run 'nix-build-uncached -build-flags "-L" --keep-going --show-trace tests/default.nix -A ${{ matrix.attr }}' diff --git a/shell.nix b/shell.nix index dcf8c18..689571f 100644 --- a/shell.nix +++ b/shell.nix @@ -1,21 +1,7 @@ -let - sources = import ./nix/sources.nix; - pkgs = import sources.nixpkgs { - overlays = [ - (import ./overlay.nix) - ]; - }; - tools = pkgs.callPackage ./tools { }; - -in -pkgs.mkShell { - - NIX_PATH = "nixpkgs=${sources.nixpkgs}"; - - buildInputs = [ - tools.env - tools.py2-astparse - tools.flamegraph +{ packages ? pkgs: [ + pkgs.p2nix-tools.env + pkgs.p2nix-tools.py2-astparse + pkgs.p2nix-tools.flamegraph pkgs.nixpkgs-fmt pkgs.poetry pkgs.niv @@ -23,5 +9,22 @@ pkgs.mkShell { pkgs.nix-prefetch-git pkgs.nix-eval-jobs pkgs.nix-build-uncached - ]; + ] +}: + +let + sources = import ./nix/sources.nix; + pkgs = import sources.nixpkgs { + overlays = [ + (import ./overlay.nix) + (self: super: { + p2nix-tools = self.callPackage ./tools { }; + }) + ]; + }; + +in +pkgs.mkShell { + NIX_PATH = "nixpkgs=${sources.nixpkgs}"; + packages = packages pkgs; }