diff --git a/default.nix b/default.nix index 89e183f..4123359 100644 --- a/default.nix +++ b/default.nix @@ -1,11 +1,12 @@ -{ pkgs ? import { } +{ pkgs ? (import { }) , callPackage ? pkgs.callPackage , stdenv ? pkgs.stdenv , fetchgit ? pkgs.fetchgit , name ? "brownpaper" -, src ? (builtins.filterSource (path: type: baseNameOf path != "target") ./.) +, src ? ./. }: let + filteredSrc = builtins.filterSource pkgs.lib.cleanSourceFilter src; crate2nix_tools = import "${fetchgit { url = "https://github.com/kolloch/crate2nix.git"; rev = "adecff03c53b87255b3299f5a5787327342a69b2"; sha256 = "0l10yqa3gq73fc4xc977vb9zk5jlp70xiz5qd9c1vq873yqk1c7g"; }}/tools.nix" { inherit pkgs; }; overrides = with pkgs; let clang = llvmPackages_10.clang; @@ -25,4 +26,4 @@ let PATH=${pkgs.bash}/bin/:${pkgs.gnupg}/bin/:${pkgs.curl}/bin/:$PATH ${./bp.sh} "$@" ''; in -{ server = callPackage (crate2nix_tools.generatedCargoNix { inherit name src; }) { inherit pkgs; defaultCrateOverrides = overrides; }; inherit client; } +{ server = callPackage (crate2nix_tools.generatedCargoNix { inherit name; src = filteredSrc; }) { inherit pkgs; defaultCrateOverrides = overrides; }; inherit client; } diff --git a/mod.nix b/mod.nix index 602c5a5..3427a0b 100644 --- a/mod.nix +++ b/mod.nix @@ -3,6 +3,7 @@ with lib; let cfg = config.services.brownpaper; cfgc = config.programs.brownpaper; + package = pkgs.callPackage ./. { inherit pkgs; src = ./.; }; keyDir = pkgs.runCommand "brownpaper-keys" { } '' mkdir -p $out ${concatStringsSep " && " (builtins.map (key: "ln -s ${key} $out") cfg.pgpKeys)} @@ -86,7 +87,7 @@ in serviceConfig = { BindPaths = [ cfg.dataDir ]; - ExecStart = "${(pkgs.callPackage ./. { inherit pkgs; src = ./.; }).server.rootCrate.build}/bin/brownpaper ${cfg.listen}:${toString cfg.port}"; + ExecStart = "${package.server.rootCrate.build}/bin/brownpaper ${cfg.listen}:${toString cfg.port}"; User = cfg.user; }; }; @@ -96,7 +97,7 @@ in }; environment.systemPackages = optionals cfgc.enable [ (pkgs.writeShellScriptBin "brownpaper" '' - BROWNPAPER_ENDPOINT='${cfgc.endpoint}' ${(pkgs.callPackage ./. { inherit pkgs; src = ./.; }).client}/bin/brownpaper "$@" + BROWNPAPER_ENDPOINT='${cfgc.endpoint}' ${package.client}/bin/brownpaper "$@" '') ]; };