]> git.scottworley.com Git - nix-env-apps/blobdiff - default.nix
README: Include a screenshot
[nix-env-apps] / default.nix
index 17ddac762b2ccbe2e5eb2ae495c7610d2e7baa91..e30926737602943436110db6a7ec90d1f0a59db0 100644 (file)
@@ -1,14 +1,41 @@
-{ pkgs ? import <nixpkgs> { } }:
-pkgs.python3Packages.callPackage ({ buildPythonPackage, gobject-introspection
-  , gtk4, lib, pygobject3, wrapGAppsHook4, }:
+{ pkgs ? import <nixpkgs> { }, lint ? false }:
+pkgs.python3Packages.callPackage ({ autopep8, buildPythonPackage
+  , gobject-introspection, gtk4, lib, makeDesktopItem, mypy, pylint, pygobject3
+  , wrapGAppsHook4, }:
   buildPythonPackage rec {
     pname = "apps";
-    version = "1.0";
+    version = "1.0.2";
+
     src = lib.cleanSource ./.;
-    nativeBuildInputs = [ gobject-introspection wrapGAppsHook4 ];
 
-    buildInputs = [ gtk4 ];
+    doCheck = true;
+    checkPhase = "./test.sh";
 
+    nativeBuildInputs = [ gobject-introspection wrapGAppsHook4 ];
+    nativeCheckInputs = [ mypy ] ++ lib.optionals lint [ autopep8 pylint ];
+    buildInputs = [ gtk4 ];
     pythonPath = [ pygobject3 ];
 
+    postInstall = ''
+      cp -r $desktopItem/share $out
+    '';
+
+    desktopItem = makeDesktopItem {
+      name = "Apps";
+      exec = "apps";
+      icon = ./apps.png;
+      comment = "Configure nix-env Apps";
+      desktopName = "Apps";
+      genericName = "Configure Apps";
+      categories = [ "Settings" ];
+    };
+
+    meta = {
+      description =
+        "A simple GUI for managing declarative nix-env user environments";
+      homepage = "https://git.scottworley.com/nix-env-apps";
+      license = pkgs.lib.licenses.gpl3;
+      maintainers = with pkgs.lib.maintainers; [ chkno ];
+    };
+
   }) { }