about summary refs log tree commit diff
path: root/pkgs/by-name/ni
diff options
context:
space:
mode:
authorEmery Hemingway <ehmry@posteo.net>2023-10-31 15:53:43 +0000
committerEmery Hemingway <ehmry@posteo.net>2023-11-28 16:48:10 +0200
commitdce1f58e63342945dfedaf1fb1752ef422caad13 (patch)
treeedfa6fbfc6a5b53557a72ec3b51da166013ee9c3 /pkgs/by-name/ni
parent0f089515b15af25212c404ced278fa3e8e178270 (diff)
downloadnixlib-dce1f58e63342945dfedaf1fb1752ef422caad13.tar
nixlib-dce1f58e63342945dfedaf1fb1752ef422caad13.tar.gz
nixlib-dce1f58e63342945dfedaf1fb1752ef422caad13.tar.bz2
nixlib-dce1f58e63342945dfedaf1fb1752ef422caad13.tar.lz
nixlib-dce1f58e63342945dfedaf1fb1752ef422caad13.tar.xz
nixlib-dce1f58e63342945dfedaf1fb1752ef422caad13.tar.zst
nixlib-dce1f58e63342945dfedaf1fb1752ef422caad13.zip
nimdow: build with lockfile
Diffstat (limited to 'pkgs/by-name/ni')
-rw-r--r--pkgs/by-name/ni/nimdow/lock.json52
-rw-r--r--pkgs/by-name/ni/nimdow/package.nix40
2 files changed, 92 insertions, 0 deletions
diff --git a/pkgs/by-name/ni/nimdow/lock.json b/pkgs/by-name/ni/nimdow/lock.json
new file mode 100644
index 000000000000..942e739e0863
--- /dev/null
+++ b/pkgs/by-name/ni/nimdow/lock.json
@@ -0,0 +1,52 @@
+{
+  "depends": [
+    {
+      "method": "fetchzip",
+      "packages": [
+        "nimtest"
+      ],
+      "path": "/nix/store/5nnqszvrqdmk7pkh5v8kq1i4q056jcss-source",
+      "ref": "v0.1.2",
+      "rev": "17bd3a0f794106428b8592c69832bf48c97b23e2",
+      "sha256": "15bv4vdg55zlbl9drwcp5lqfhfwdgzqlrz5pnfjg321r26rh2q3b",
+      "srcDir": "src",
+      "url": "https://github.com/avahe-kellenberger/nimtest/archive/17bd3a0f794106428b8592c69832bf48c97b23e2.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "parsetoml"
+      ],
+      "path": "/nix/store/nrgl7ks2x3svv6pkdxzr97d6jbd3zhlr-source",
+      "ref": "v0.7.1",
+      "rev": "6e5e16179fa2db60f2f37d8b1af4128aaa9c8aaf",
+      "sha256": "0lsgzbjlgd0h9859yn864y9h9h1v4f5jjk81yvfnlkc9zbwb5kfa",
+      "srcDir": "src",
+      "url": "https://github.com/NimParsers/parsetoml/archive/6e5e16179fa2db60f2f37d8b1af4128aaa9c8aaf.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "safeseq"
+      ],
+      "path": "/nix/store/k04c398bln6yffvajfk8hci47d703cr1-source",
+      "ref": "v1.0.0",
+      "rev": "ee71e961a66db64387e1437ca550d0c8218b099c",
+      "sha256": "01vlih133p3fgfnbiy1i3cq8kipgkpkal0z6jxy975yvz96gcb15",
+      "srcDir": "src",
+      "url": "https://github.com/avahe-kellenberger/safeseq/archive/ee71e961a66db64387e1437ca550d0c8218b099c.tar.gz"
+    },
+    {
+      "method": "fetchzip",
+      "packages": [
+        "x11"
+      ],
+      "path": "/nix/store/8qaywzr8nzsiddjba77nhf75hzmxx0d9-source",
+      "ref": "1.2",
+      "rev": "29aca5e519ebf5d833f63a6a2769e62ec7bfb83a",
+      "sha256": "16npqgmi2qawjxaddj9ax15rfpdc7sqc37i2r5vg23lyr6znq4wc",
+      "srcDir": "",
+      "url": "https://github.com/nim-lang/x11/archive/29aca5e519ebf5d833f63a6a2769e62ec7bfb83a.tar.gz"
+    }
+  ]
+}
diff --git a/pkgs/by-name/ni/nimdow/package.nix b/pkgs/by-name/ni/nimdow/package.nix
new file mode 100644
index 000000000000..a77fb05298b7
--- /dev/null
+++ b/pkgs/by-name/ni/nimdow/package.nix
@@ -0,0 +1,40 @@
+{ lib, buildNimPackage, fetchFromGitHub, testers }:
+
+buildNimPackage (finalAttrs: {
+  pname = "nimdow";
+
+  version = "0.7.37";
+
+  requiredNimVersion = 1;
+
+  src = fetchFromGitHub {
+    owner = "avahe-kellenberger";
+    repo = finalAttrs.pname;
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-930wDS0UW65QzpUHHOuM25oi/OhFmG0Q7N05ftu7XlI=";
+  };
+
+  lockFile = ./lock.json;
+
+  postInstall = ''
+    install -D config.default.toml $out/share/nimdow/config.default.toml
+    install -D nimdow.desktop $out/share/applications/nimdow.desktop
+  '';
+
+  postPatch = ''
+    substituteInPlace src/nimdowpkg/config/configloader.nim --replace "/usr/share/nimdow" "$out/share/nimdow"
+  '';
+
+  passthru.tests.version = testers.testVersion {
+    package = finalAttrs.finalPackage;
+    version = "v${finalAttrs.version}";
+  };
+
+  meta = with lib;
+    finalAttrs.src.meta // {
+      description = "Nim based tiling window manager";
+      license = [ licenses.gpl2 ];
+      maintainers = [ maintainers.marcusramberg ];
+      mainProgram = "nimdow";
+    };
+})