1{
2 lib,
3 python3Packages,
4 fetchFromGitHub,
5 tree,
6 versionCheckHook,
7 nix-update-script,
8}:
9let
10 version = "1.2.0";
11in
12python3Packages.buildPythonApplication {
13 pname = "stown";
14 inherit version;
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "rseichter";
19 repo = "stown";
20 tag = version;
21 hash = "sha256-iHeqmlo7be28ISJfPZ7GZC2gj2VVgt20ORnfYVToo0A=";
22 };
23
24 build-system = [
25 python3Packages.setuptools
26 ];
27
28 nativeCheckInputs = [
29 python3Packages.pytestCheckHook
30 tree
31 versionCheckHook
32 ];
33
34 passthru.updateScript = nix-update-script { };
35
36 meta = {
37 description = "Manage file system object mapping via symlinks. Lightweight alternative to GNU Stow";
38 homepage = "https://www.seichter.de/stown/";
39 changelog = "https://github.com/rseichter/stown/blob/${version}/CHANGELOG.md";
40 license = lib.licenses.gpl3Plus;
41 maintainers = with lib.maintainers; [ rseichter ];
42 mainProgram = "stown";
43 };
44}