diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4d3c63c989b9..c111812667dc 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -18947,6 +18947,13 @@ github = "niklaskorz"; githubId = 590517; }; + niklasthorild = { + name = "Niklas Thorild"; + email = "niklas@thorild.se"; + github = "niklasthorild"; + githubId = 224864856; + keys = [ { fingerprint = "D116 2896 7DD7 4341 DF3C AB2D 285C 222F EC9C 0336"; } ]; + }; NiklasVousten = { name = "Niklas Vousten"; email = "nixpkgs@vousten.dev"; diff --git a/pkgs/by-name/qi/qidi-studio/package.nix b/pkgs/by-name/qi/qidi-studio/package.nix new file mode 100644 index 000000000000..dea95d34063b --- /dev/null +++ b/pkgs/by-name/qi/qidi-studio/package.nix @@ -0,0 +1,53 @@ +{ + appimageTools, + fetchurl, + webkitgtk_4_1, + lib, + makeWrapper, +}: +let + pname = "qidi-studio"; + version = "2.04.01.11"; + + src = fetchurl { + url = "https://github.com/QIDITECH/QIDIStudio/releases/download/v${version}/QIDIStudio_v0${version}_Ubuntu24.AppImage"; + hash = "sha256-+Uj0S4BOASST+3MqcFNdW1dBQeMxNC5btMUiNVxFs3g="; + }; + + appimageContents = appimageTools.extract { + inherit version pname src; + }; +in +appimageTools.wrapType2 { + inherit pname version src; + extraPkgs = pkgs: [ + webkitgtk_4_1 + ]; + + nativeBuildInputs = [ makeWrapper ]; + + extraInstallCommands = '' + install -m 444 -D ${appimageContents}/QIDIStudio.desktop $out/share/applications/QIDIStudio.desktop + install -m 444 -D ${appimageContents}/QIDIStudio.png \ + $out/share/icons/hicolor/scalable/apps/QIDIStudio.png + substituteInPlace $out/share/applications/QIDIStudio.desktop \ + --replace-fail 'Exec=AppRun' 'Exec=qidi-studio' + wrapProgram "$out/bin/qidi-studio" \ + --set-default WEBKIT_DISABLE_COMPOSITING_MODE 0 \ + --set-default WEBKIT_DISABLE_DMABUF_RENDERER 0 + ''; + + meta = { + description = "Slicer for QIDI 3D Printers, based on Bambu Studio"; + longDescription = '' + QIDI Studio is a professional 3D printer slicing software, which is perfectly compatible with all printers and 3D printing filaments of QIDI Technology. + Multi-platform support, simple inerface, easy to use, complate functions, easy to learn 3D printing. + ''; + homepage = "https://github.com/QIDITECH/QIDIStudio"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ niklasthorild ]; + mainProgram = "qidi-studio"; + platforms = [ "x86_64-linux" ]; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + }; +}