using flakes for devshell without reimporting nixpkgs multiple times

This commit is contained in:
Jörg Thalheim
2023-07-26 08:29:34 +02:00
committed by Mic92
parent 72f6b368d6
commit 3d14039474
4 changed files with 48 additions and 53 deletions

View File

@@ -1 +1 @@
use nix use flake .#clan

View File

@@ -1,11 +1,11 @@
{ pkgs ? import <nixpkgs> { } { pkgs
, lib ? pkgs.lib , lib
, python3 ? pkgs.python3 , python3
, ruff ? pkgs.ruff , ruff
, runCommand ? pkgs.runCommand , runCommand
, installShellFiles ? pkgs.installShellFiles , installShellFiles
, zerotierone ? pkgs.zerotierone , zerotierone
, bubblewrap ? pkgs.bubblewrap , bubblewrap
}: }:
let let
pyproject = builtins.fromTOML (builtins.readFile ./pyproject.toml); pyproject = builtins.fromTOML (builtins.readFile ./pyproject.toml);

View File

@@ -4,9 +4,11 @@
pyproject = builtins.fromTOML (builtins.readFile ./pyproject.toml); pyproject = builtins.fromTOML (builtins.readFile ./pyproject.toml);
name = pyproject.project.name; name = pyproject.project.name;
package = pkgs.callPackage ./default.nix { }; package = pkgs.callPackage ./default.nix { };
shell = pkgs.callPackage ./shell.nix { };
in in
{ {
packages.${name} = package; packages.${name} = package;
devShells.${name} = shell;
packages.default = package; packages.default = package;
checks = package.tests; checks = package.tests;
}; };

View File

@@ -1,13 +1,7 @@
{ pkgs ? import <nixpkgs> { } { pkgs }:
,
}:
let let
lib = pkgs.lib; package = pkgs.callPackage ./default.nix { };
python3 = pkgs.python3; pythonWithDeps = pkgs.python3.withPackages (
package = import ./default.nix {
inherit lib python3;
};
pythonWithDeps = python3.withPackages (
ps: ps:
package.propagatedBuildInputs package.propagatedBuildInputs
++ package.devDependencies ++ package.devDependencies
@@ -18,7 +12,8 @@ let
checkScript = pkgs.writeScriptBin "check" '' checkScript = pkgs.writeScriptBin "check" ''
nix build -f . tests -L "$@" nix build -f . tests -L "$@"
''; '';
devShell = pkgs.mkShell { in
pkgs.mkShell {
packages = [ packages = [
pkgs.ruff pkgs.ruff
pythonWithDeps pythonWithDeps
@@ -51,6 +46,4 @@ let
register-python-argcomplete --shell fish clan > $tmp_path/share/fish/vendor_completions.d/clan.fish register-python-argcomplete --shell fish clan > $tmp_path/share/fish/vendor_completions.d/clan.fish
register-python-argcomplete --shell bash clan > $tmp_path/share/bash-completion/completions/clan register-python-argcomplete --shell bash clan > $tmp_path/share/bash-completion/completions/clan
''; '';
}; }
in
devShell