diff --git a/hosts/lightsail-tokyo/default.nix b/hosts/lightsail-tokyo/default.nix index 02b9a05..ae9900b 100644 --- a/hosts/lightsail-tokyo/default.nix +++ b/hosts/lightsail-tokyo/default.nix @@ -1,7 +1,8 @@ { - modulesPath, lib, config, + inputs, + modulesPath, pkgs, ... }: { @@ -230,7 +231,7 @@ href = "https://element.ny4.dev/"; }; "PixivFE" = { - description = "Privacy respecting frontend for Pixiv"; + description = getDesc inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.pixivfe; href = "https://pixiv.ny4.dev"; }; "Uptime Kuma" = { diff --git a/nixos/modules/services/pixivfe.nix b/nixos/modules/services/pixivfe.nix index a88e280..a86a621 100644 --- a/nixos/modules/services/pixivfe.nix +++ b/nixos/modules/services/pixivfe.nix @@ -1,7 +1,8 @@ { - pkgs, - config, lib, + config, + inputs, + pkgs, ... }: let cfg = config.services.pixivfe; @@ -9,10 +10,7 @@ in { options.services.pixivfe = { enable = lib.mkEnableOption "PixivFE, a privacy respecting frontend for Pixiv"; - # package = lib.mkPackageOption pkgs "pixivfe" {}; - package = lib.mkOption { - default = pkgs.callPackage ./pixivfe-pkg.nix {}; - }; + package = lib.mkPackageOption inputs.self.packages.${pkgs.stdenv.hostPlatform.system} "pixivfe" {}; openFirewall = lib.mkEnableOption "open ports in the firewall needed for the daemon to function"; diff --git a/pkgs/default.nix b/pkgs/default.nix index 59bcb8b..f44ff82 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,13 +1,18 @@ # NOTE: 301: All packages are migrated to `github:Guanran928/nur-packages`, # only keeping some packages that only fits for personal use. pkgs: let - inherit (pkgs) lib; + inherit (pkgs) lib callPackage; in { - scripts = lib.makeScope pkgs.newScope (self: { + # https://github.com/NixOS/nixpkgs/pull/308720 + pixivfe = callPackage ./pixivfe.nix {}; + + scripts = lib.makeScope pkgs.newScope (self: let + inherit (self) callPackage; + in { # util - makeScript = self.callPackage ./scripts/makeScript.nix {}; + makeScript = callPackage ./scripts/makeScript.nix {}; # scripts - lofi = self.callPackage ./scripts/lofi.nix {}; + lofi = callPackage ./scripts/lofi.nix {}; }); } diff --git a/nixos/modules/services/pixivfe-pkg.nix b/pkgs/pixivfe.nix similarity index 78% rename from nixos/modules/services/pixivfe-pkg.nix rename to pkgs/pixivfe.nix index 65aa2d7..2b5da37 100644 --- a/nixos/modules/services/pixivfe-pkg.nix +++ b/pkgs/pixivfe.nix @@ -18,18 +18,22 @@ buildGoModule rec { vendorHash = "sha256-QapDR964Tn+RxXdkGqCQXacdmlSapF841Y84n4d/6VI="; - ldflags = ["-s" "-w"]; + ldflags = [ + "-s" + "-w" + ]; nativeBuildInputs = [makeBinaryWrapper]; - # PixivFE require files from source code postInstall = '' + mkdir -p $out/share/pixivfe + cp -r ./views/ $out/share/pixivfe/views wrapProgram $out/bin/pixivfe \ - --chdir ${src} + --chdir $out/share/pixivfe ''; meta = { - description = "A privacy respecting frontend for Pixiv"; + description = "Privacy respecting frontend for Pixiv"; homepage = "https://codeberg.org/VnPower/PixivFE"; license = lib.licenses.agpl3Only; mainProgram = "pixivfe";