1{
2 lib,
3 appimageTools,
4 fetchurl,
5 nix-update-script,
6}:
7let
8 pname = "artisan";
9 version = "3.2.0";
10
11 src = fetchurl {
12 url = "https://github.com/artisan-roaster-scope/artisan/releases/download/v${version}/${pname}-linux-${version}.AppImage";
13 hash = "sha256-p8M9Z0z/0unJPOLXVOnN8INO4v0D5Ojjug42xT77oqQ=";
14 };
15
16 appimageContents = appimageTools.extract {
17 inherit pname version src;
18 };
19in
20appimageTools.wrapType2 {
21 inherit pname version src;
22
23 extraInstallCommands = ''
24 install -m 444 -D ${appimageContents}/org.artisan_scope.artisan.desktop $out/share/applications/org.artisan_scope.artisan.desktop
25 install -m 444 -D ${appimageContents}/artisan.png $out/share/applications/artisan.png
26 '';
27
28 passthru.updateScript = nix-update-script {
29 extraArgs = [ "--version-regex=v([\\d.]+)" ];
30 };
31
32 meta = {
33 description = "Visual scope for coffee roasters";
34 homepage = "https://artisan-scope.org/";
35 changelog = "https://github.com/artisan-roaster-scope/artisan/releases/tag/v${version}";
36 downloadPage = "https://github.com/artisan-roaster-scope/artisan/releases";
37 license = lib.licenses.gpl3Only;
38 mainProgram = "artisan";
39 sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
40 maintainers = with lib.maintainers; [ bohreromir ];
41 platforms = [ "x86_64-linux" ];
42 };
43}