aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTad Fisher <tadfisher@gmail.com>2022-02-12 17:51:59 -0800
committerTad Fisher <129148+tadfisher@users.noreply.github.com>2022-02-12 17:54:50 -0800
commit951e1263544994d8ef6c512eaed4dba569840532 (patch)
treefd23230a2ccc54979bec1503789e1c2d3d6d2b0f
parente0a023df7ebacb241ccd13dfe02a498e7c32cfe6 (diff)
flake: Add derivation for pass with local otp build
-rw-r--r--default.nix55
-rw-r--r--flake.nix43
2 files changed, 59 insertions, 39 deletions
diff --git a/default.nix b/default.nix
new file mode 100644
index 0000000..db19fa3
--- /dev/null
+++ b/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, stdenv
+, oathToolkit
+, bash
+, expect
+, git
+, gnumake
+, gnupg
+, pass
+, shellcheck
+, which
+}:
+
+stdenv.mkDerivation {
+ pname = "pass-otp";
+ version = "unstable";
+ src = ./.;
+
+ buildInputs = [ oathToolkit ];
+
+ checkInputs = [
+ bash
+ expect
+ git
+ gnumake
+ gnupg
+ pass
+ shellcheck
+ which
+ ];
+
+ dontBuild = true;
+ doCheck = true;
+
+ patchPhase = ''
+ sed -i -e 's|OATH=\$(which oathtool)|OATH=${oathToolkit}/bin/oathtool|' otp.bash
+ '';
+
+ checkPhase = ''
+ make SHELL=$SHELL check
+ '';
+
+ installFlags = [
+ "PREFIX=$(out)"
+ "BASHCOMPDIR=$(out)/share/bash-completions/completions"
+ ];
+
+ meta = with lib; {
+ description = "A pass extension for managing one-time-password (OTP) tokens";
+ homepage = "https://github.com/tadfisher/pass-otp";
+ license = licenses.gpl3Plus;
+ maintainers = with maintainers; [ tadfisher ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/flake.nix b/flake.nix
index 3fb9ad2..dd8d5c6 100644
--- a/flake.nix
+++ b/flake.nix
@@ -9,47 +9,12 @@
flake-utils.lib.eachDefaultSystem (system:
let pkgs = nixpkgs.legacyPackages.${system}; in
{
- defaultPackage = with pkgs; stdenv.mkDerivation {
- pname = "pass-otp";
- version = "unstable";
- src = ./.;
+ defaultPackage = self.packages.${system}.pass-otp;
- buildInputs = [ oathToolkit ];
+ packages = {
+ pass-otp = pkgs.callPackage ./default.nix { };
- checkInputs = [
- bash
- expect
- git
- gnumake
- gnupg
- pass
- shellcheck
- which
- ];
-
- dontBuild = true;
- doCheck = true;
-
- patchPhase = ''
- sed -i -e 's|OATH=\$(which oathtool)|OATH=${oathToolkit}/bin/oathtool|' otp.bash
- '';
-
- checkPhase = ''
- make SHELL=$SHELL check
- '';
-
- installFlags = [
- "PREFIX=$(out)"
- "BASHCOMPDIR=$(out)/share/bash-completions/completions"
- ];
-
- meta = with lib; {
- description = "A pass extension for managing one-time-password (OTP) tokens";
- homepage = "https://github.com/tadfisher/pass-otp";
- license = licenses.gpl3;
- maintainers = with maintainers; [ tadfisher ];
- platforms = platforms.unix;
- };
+ pass-with-otp = pkgs.pass.withExtensions (e: [ self.packages.${system}.pass-otp ]);
};
checks.pass-otp = self.defaultPackage.${system};