1{
2 buildPythonPackage,
3 colorama,
4 decorator,
5 dunamai,
6 fetchFromGitHub,
7 funcy,
8 git,
9 hatchling,
10 hatch-vcs,
11 iteration-utilities,
12 jinja2,
13 jinja2-ansible-filters,
14 lib,
15 mkdocs-material,
16 mkdocs-mermaid2-plugin,
17 nix-update-script,
18 mkdocstrings,
19 packaging,
20 pathspec,
21 plumbum,
22 pydantic,
23 pygments,
24 pyyaml,
25 pyyaml-include,
26 questionary,
27}:
28
29buildPythonPackage rec {
30 pname = "copier";
31 version = "9.10.2";
32 pyproject = true;
33
34 src = fetchFromGitHub {
35 owner = "copier-org";
36 repo = "copier";
37 tag = "v${version}";
38 # Conflict on APFS on darwin
39 postFetch = ''
40 rm $out/tests/demo/doc/ma*ana.txt
41 '';
42 hash = "sha256-vO807Jzl04DkiHPBhu3cGK0bhn2Cd2dT1nKznQKP/p0=";
43 };
44
45 POETRY_DYNAMIC_VERSIONING_BYPASS = version;
46
47 build-system = [
48 hatchling
49 hatch-vcs
50 ];
51
52 dependencies = [
53 colorama
54 decorator
55 dunamai
56 funcy
57 iteration-utilities
58 jinja2
59 jinja2-ansible-filters
60 mkdocs-material
61 mkdocs-mermaid2-plugin
62 mkdocstrings
63 packaging
64 pathspec
65 plumbum
66 pydantic
67 pygments
68 pyyaml
69 pyyaml-include
70 questionary
71 ];
72
73 makeWrapperArgs = [ "--suffix PATH : ${lib.makeBinPath [ git ]}" ];
74
75 passthru.updateScript = nix-update-script { };
76
77 meta = {
78 description = "Library and command-line utility for rendering projects templates";
79 homepage = "https://copier.readthedocs.io";
80 changelog = "https://github.com/copier-org/copier/blob/${src.tag}/CHANGELOG.md";
81 license = lib.licenses.mit;
82 maintainers = with lib.maintainers; [ greg ];
83 mainProgram = "copier";
84 };
85}