about summary refs log tree commit diff
path: root/nixpkgs/pkgs/by-name/sn
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/by-name/sn')
-rw-r--r--nixpkgs/pkgs/by-name/sn/snekim/package.nix1
-rw-r--r--nixpkgs/pkgs/by-name/sn/snipe-it/package.nix61
-rw-r--r--nixpkgs/pkgs/by-name/sn/snippetexpanderx/package.nix2
3 files changed, 63 insertions, 1 deletions
diff --git a/nixpkgs/pkgs/by-name/sn/snekim/package.nix b/nixpkgs/pkgs/by-name/sn/snekim/package.nix
index e041c1f0e314..d5e80a3c75fe 100644
--- a/nixpkgs/pkgs/by-name/sn/snekim/package.nix
+++ b/nixpkgs/pkgs/by-name/sn/snekim/package.nix
@@ -25,6 +25,7 @@ buildNimPackage (finalAttrs: {
   meta = {
     homepage = "https://codeberg.org/annaaurora/snekim";
     description = "A simple implementation of the classic snake game";
+    mainProgram = "snekim";
     license = lib.licenses.lgpl3Only;
     maintainers = [ lib.maintainers.annaaurora ];
   };
diff --git a/nixpkgs/pkgs/by-name/sn/snipe-it/package.nix b/nixpkgs/pkgs/by-name/sn/snipe-it/package.nix
new file mode 100644
index 000000000000..b8a9639b1a8d
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/sn/snipe-it/package.nix
@@ -0,0 +1,61 @@
+{ lib
+, dataDir ? "/var/lib/snipe-it"
+, fetchFromGitHub
+, mariadb
+, nixosTests
+, php
+}:
+
+php.buildComposerProject (finalAttrs: {
+  pname = "snipe-it";
+  version = "6.3.3";
+
+  src = fetchFromGitHub {
+    owner = "snipe";
+    repo = "snipe-it";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-ePE55mK8woopNuRXox51I0sJGBmjF6XDfjE+k+ncoJ0=";
+  };
+
+  vendorHash = "sha256-wO+hKttiI7T7C+4oSl8G0I4pQEfZpXjYspUhoaaLrAQ=";
+
+  postInstall = ''
+    snipe_it_out="$out/share/php/snipe-it"
+
+    # Before symlinking the following directories, copy the invalid_barcode.gif
+    # to a different location. The `snipe-it-setup` oneshot service will then
+    # copy the file back during bootstrap.
+    mkdir -p $out/share/snipe-it
+    cp $snipe_it_out/public/uploads/barcodes/invalid_barcode.gif $out/share/snipe-it/
+
+    rm -R $snipe_it_out/storage $snipe_it_out/public/uploads $snipe_it_out/bootstrap/cache
+    ln -s ${dataDir}/.env $snipe_it_out/.env
+    ln -s ${dataDir}/storage $snipe_it_out/
+    ln -s ${dataDir}/public/uploads $snipe_it_out/public/uploads
+    ln -s ${dataDir}/bootstrap/cache $snipe_it_out/bootstrap/cache
+
+    chmod +x $snipe_it_out/artisan
+
+    substituteInPlace $snipe_it_out/config/database.php --replace "env('DB_DUMP_PATH', '/usr/local/bin')" "env('DB_DUMP_PATH', '${mariadb}/bin')"
+  '';
+
+  passthru = {
+    tests = nixosTests.snipe-it;
+    phpPackage = php;
+  };
+
+  meta = with lib; {
+    description = "A free open source IT asset/license management system";
+    longDescription = ''
+      Snipe-IT was made for IT asset management, to enable IT departments to track
+      who has which laptop, when it was purchased, which software licenses and accessories
+      are available, and so on.
+      Details for snipe-it can be found on the official website at https://snipeitapp.com/.
+    '';
+    homepage = "https://snipeitapp.com/";
+    changelog = "https://github.com/snipe/snipe-it/releases/tag/v${version}";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ yayayayaka ];
+    platforms = platforms.linux;
+  };
+})
diff --git a/nixpkgs/pkgs/by-name/sn/snippetexpanderx/package.nix b/nixpkgs/pkgs/by-name/sn/snippetexpanderx/package.nix
index 3c91adbbbc0c..bb7ad94f51c9 100644
--- a/nixpkgs/pkgs/by-name/sn/snippetexpanderx/package.nix
+++ b/nixpkgs/pkgs/by-name/sn/snippetexpanderx/package.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   pname = "snippetexpanderx";
 
-  sourceRoot = "source/cmd/snippetexpanderx";
+  sourceRoot = "${src.name}/cmd/snippetexpanderx";
 
   nativeBuildInputs = [
     pkg-config