diff --git a/default.nix b/default.nix index ed14114..a6e2c7d 100644 --- a/default.nix +++ b/default.nix @@ -1,57 +1,7 @@ -{pkgs ? import {}}: let - cargoRoot = "src-tauri"; - src = ./.; - - patchSassEmbedded = pkgs.writeShellScriptBin "patch-sass-embedded" '' - NIX_LD="$(cat ${pkgs.stdenv.cc}/nix-support/dynamic-linker)" - for dart_bin in node_modules/sass-embedded-linux-*/dart-sass/src/dart; do - if [ -f "$dart_bin" ]; then - ${pkgs.patchelf}/bin/patchelf --set-interpreter "$NIX_LD" "$dart_bin" - fi - done - ''; -in - pkgs.rustPlatform.buildRustPackage { - pname = "creamlinux-installer"; - version = "1.5.0-unstable-2026-04-23"; - inherit src; - - cargoLock.lockFile = ./src-tauri/Cargo.lock; - - npmDeps = pkgs.fetchNpmDeps { - inherit src; - hash = "sha256-anYTERlnfOGDsGW0joy+h7wECJNDy6q+0a2to6t36pg="; - }; - - nativeBuildInputs = - [ - pkgs.cargo-tauri.hook - pkgs.nodejs - pkgs.npmHooks.npmConfigHook - pkgs.pkg-config - ] - ++ pkgs.lib.optionals pkgs.stdenv.isLinux [ - pkgs.wrapGAppsHook4 - ]; - - buildInputs = pkgs.lib.optionals pkgs.stdenv.isLinux [ - pkgs.glib-networking - pkgs.openssl - pkgs.webkitgtk_4_1 - ]; - - inherit cargoRoot; - - buildAndTestSubdir = cargoRoot; - - postPatch = '' - substituteInPlace src-tauri/tauri.conf.json \ - --replace-fail '"createUpdaterArtifacts": true' '"createUpdaterArtifacts": false' - ''; - - preBuild = '' - ${patchSassEmbedded}/bin/patch-sass-embedded - ''; - - env.NO_STRIP = true; - } +{ + pkgs ? + import + (fetchTarball "https://github.com/NixOS/nixpkgs/archive/c6d65881c5624c9cae5ea6cedef24699b0c0a4c0.tar.gz") + { }, +}: +pkgs.callPackage ./package.nix { } diff --git a/package.nix b/package.nix new file mode 100644 index 0000000..227848a --- /dev/null +++ b/package.nix @@ -0,0 +1,72 @@ +{ + cargo-tauri, + writeShellScriptBin, + stdenv, + patchelf, + rustPlatform, + fetchNpmDeps, + nodejs, + npmHooks, + pkg-config, + lib, + wrapGAppsHook4, + glib-networking, + openssl, + webkitgtk_4_1, +}: +let + cargoRoot = "src-tauri"; + src = ./.; + + patchSassEmbedded = writeShellScriptBin "patch-sass-embedded" '' + NIX_LD="$(cat ${stdenv.cc}/nix-support/dynamic-linker)" + for dart_bin in node_modules/sass-embedded-linux-*/dart-sass/src/dart; do + if [ -f "$dart_bin" ]; then + ${patchelf}/bin/patchelf --set-interpreter "$NIX_LD" "$dart_bin" + fi + done + ''; +in +rustPlatform.buildRustPackage { + pname = "creamlinux-installer"; + version = "1.5.5-unstable-2026-05-03"; + inherit src; + + cargoLock.lockFile = ./src-tauri/Cargo.lock; + + npmDeps = fetchNpmDeps { + inherit src; + hash = "sha256-9VUywt71u4kuHNCFxW2aiavqM7e6tvBMHyzeSdJIJ5o="; + }; + + nativeBuildInputs = [ + cargo-tauri.hook + nodejs + npmHooks.npmConfigHook + pkg-config + ] + ++ lib.optionals stdenv.isLinux [ + wrapGAppsHook4 + ]; + + buildInputs = lib.optionals stdenv.isLinux [ + glib-networking + openssl + webkitgtk_4_1 + ]; + + inherit cargoRoot; + + buildAndTestSubdir = cargoRoot; + + postPatch = '' + substituteInPlace src-tauri/tauri.conf.json \ + --replace-fail '"createUpdaterArtifacts": true' '"createUpdaterArtifacts": false' + ''; + + preBuild = '' + ${patchSassEmbedded}/bin/patch-sass-embedded + ''; + + env.NO_STRIP = true; +}