From 98cf67dbc8830303654607ffa6f9168b84871d26 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 29 Mar 2025 21:59:35 +0000 Subject: [PATCH] Add and use passmenu-otp --- nix/hosts/common/default.nix | 2 ++ nix/overlays/mods/dwm/default.nix | 2 +- nix/pkgs/default.nix | 1 + nix/pkgs/passmenu-otp.nix | 30 ++++++++++++++++++++++++++++++ 4 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 nix/pkgs/passmenu-otp.nix diff --git a/nix/hosts/common/default.nix b/nix/hosts/common/default.nix index fa21fc73..44999068 100644 --- a/nix/hosts/common/default.nix +++ b/nix/hosts/common/default.nix @@ -44,6 +44,8 @@ fastfetch mermaid-cli mkcert + passmenu-otp + (pass.withExtensions ( e: with e; [ passExtensions.pass-audit diff --git a/nix/overlays/mods/dwm/default.nix b/nix/overlays/mods/dwm/default.nix index 6c10626b..5e47cf06 100644 --- a/nix/overlays/mods/dwm/default.nix +++ b/nix/overlays/mods/dwm/default.nix @@ -89,7 +89,7 @@ prev.dwm.override { { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${lib.getExe prev.librewolf}") }, { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${prev.xfce.thunar}/bin/thunar") }, { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${prev.xdotool}/bin/xdotool type $(cat ~/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") }, - { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${prev.pass}/bin/passmenu", "-i", NULL} } }, + { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${lib.getExe prev.passmenu-otp}", "-i", NULL} } }, { MODKEY|ShiftMask, XK_q, quit, {0} }, { MODKEY|ShiftMask, XK_r, quit, {1} }, { MODKEY|ShiftMask, XK_s, spawn, SHCMD("${prev.flameshot}/bin/flameshot gui") }, diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index 4c5ab423..34c428e8 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -10,6 +10,7 @@ in build-glove80 = callPackage ./build-glove80.nix { }; displayselect = callPackage ./displayselect { }; notes = callPackage ./notes { }; + passmenu-otp = callPackage ./passmenu-otp.nix { }; tmux-sessionizer = callPackage ./tmux-sessionizer { }; upload-to-files = callPackage ./upload-to-files.nix { }; diff --git a/nix/pkgs/passmenu-otp.nix b/nix/pkgs/passmenu-otp.nix new file mode 100644 index 00000000..355855e4 --- /dev/null +++ b/nix/pkgs/passmenu-otp.nix @@ -0,0 +1,30 @@ +{ pkgs, ... }: + +with pkgs; + +stdenv.mkDerivation { + pname = "passmenu-otp"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "petrmanek"; + repo = "passmenu-otp"; + rev = "master"; + sha256 = "sha256-2EGomeK/p3uVfgho5xGR11ovJQ2q3cPZoFG+z88DyxA="; + }; + + buildInputs = [ + pass + ]; + + installPhase = '' + mkdir -p $out/bin + cp passmenu-otp $out/bin/passmenu-otp + chmod +x $out/bin/passmenu-otp + ''; + + meta = { + homepage = "https://github.com/petrmanek/passmenu-otp"; + mainProgram = "passmenu-otp"; + }; +}