diff --git a/pkgs/tools/misc/kb/default.nix b/pkgs/tools/misc/kb/default.nix new file mode 100644 index 00000000000..76db4d7deca --- /dev/null +++ b/pkgs/tools/misc/kb/default.nix @@ -0,0 +1,58 @@ +{ lib +, fetchFromGitHub +, python3 +}: + +python3.pkgs.buildPythonApplication rec { + pname = "kb"; + version = "0.1.7"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "gnebbia"; + repo = pname; + rev = "v${version}"; + hash = "sha256-K8EAqZbl2e0h03fFwaKIclZTZARDQp1tRo44znxwW0I="; + }; + + postPatch = '' + # `attr` module is not available. And `attrs` defines another `attr` package + # that shadows it. + substituteInPlace setup.py \ + --replace \ + "install_requires=[\"colored\",\"toml\",\"attr\",\"attrs\",\"gitpython\"]," \ + "install_requires=[\"colored\",\"toml\",\"attrs\",\"gitpython\"]," + + # pytest coverage reporting isn't necessary + substituteInPlace setup.cfg \ + --replace \ + "addopts = --cov=kb --cov-report term-missing" "" + ''; + + propagatedBuildInputs = with python3.pkgs; [ + colored + toml + attrs + gitpython + ]; + + nativeCheckInputs = with python3.pkgs; [ + pytestCheckHook + ]; + + meta = with lib; { + description = "A minimalist command line knowledge base manager"; + longDescription = '' + kb is a text-oriented minimalist command line knowledge base manager. kb + can be considered a quick note collection and access tool oriented toward + software developers, penetration testers, hackers, students or whoever has + to collect and organize notes in a clean way. Although kb is mainly + targeted on text-based note collection, it supports non-text files as well + (e.g., images, pdf, videos and others). + ''; + homepage = "https://github.com/gnebbia/kb"; + changelog = "https://github.com/gnebbia/kb/blob/v${version}/CHANGELOG.md"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ wesleyjrz ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 51c87b6f985..8d017c8d531 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10229,6 +10229,8 @@ with pkgs; nb = callPackage ../tools/misc/nb { }; + kb = callPackage ../tools/misc/kb { }; + notable = callPackage ../applications/misc/notable { }; nth = with python3Packages; toPythonApplication name-that-hash;