From ea54e224e44690a57e408a36ed1a79deaedabf17 Mon Sep 17 00:00:00 2001 From: Jonni Liljamo Date: Wed, 10 Dec 2025 20:23:20 +0200 Subject: [PATCH] feat: pass and restructure files --- {certs => files/certs}/lab.pem | 0 files/scripts/passmenu.sh | 15 +++++++++++++++ modules/nixos/core.nix | 2 +- modules/nixos/pass.nix | 10 ++++++++++ modules/passmenu.nix | 16 ++++++++++++++++ 5 files changed, 42 insertions(+), 1 deletion(-) rename {certs => files/certs}/lab.pem (100%) create mode 100644 files/scripts/passmenu.sh create mode 100644 modules/nixos/pass.nix create mode 100644 modules/passmenu.nix diff --git a/certs/lab.pem b/files/certs/lab.pem similarity index 100% rename from certs/lab.pem rename to files/certs/lab.pem diff --git a/files/scripts/passmenu.sh b/files/scripts/passmenu.sh new file mode 100644 index 0000000..88b5461 --- /dev/null +++ b/files/scripts/passmenu.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +shopt -s nullglob globstar + +prefix=${PASSWORD_STORE_DIR-~/.password-store} +password_files=( "$prefix"/**/*.gpg ) +password_files=( "${password_files[@]#"$prefix"/}" ) +password_files=( "${password_files[@]%.gpg}" ) + +password=$(printf '%s\n' "${password_files[@]}" | rofi -dmenu "$@") + +[[ -n $password ]] || exit + +export PASSWORD_STORE_CLIP_TIME=10 +pass show -c "$password" 2>/dev/null diff --git a/modules/nixos/core.nix b/modules/nixos/core.nix index a2390ce..f0917c5 100644 --- a/modules/nixos/core.nix +++ b/modules/nixos/core.nix @@ -2,6 +2,6 @@ flake.modules.nixos.core = {...}: { i18n.defaultLocale = "en_US.UTF-8"; - security.pki.certificates = [(builtins.readFile ../../certs/lab.pem)]; + security.pki.certificates = [(builtins.readFile ../../files/certs/lab.pem)]; }; } diff --git a/modules/nixos/pass.nix b/modules/nixos/pass.nix new file mode 100644 index 0000000..ef0046d --- /dev/null +++ b/modules/nixos/pass.nix @@ -0,0 +1,10 @@ +{ + flake.modules.nixos.pass = {pkgs, ...}: { + environment.systemPackages = [ + (pkgs.pass.override { + dmenuSupport = false; + waylandSupport = true; + }) + ]; + }; +} diff --git a/modules/passmenu.nix b/modules/passmenu.nix new file mode 100644 index 0000000..a048e56 --- /dev/null +++ b/modules/passmenu.nix @@ -0,0 +1,16 @@ +{config, ...}: { + flake.modules.nixos.passmenu = {pkgs, ...}: { + imports = with config.flake.modules.nixos; [ + pass + ]; + + environment.systemPackages = [ + (pkgs.writeShellScriptBin "passmenu" (builtins.readFile ../files/scripts/passmenu.sh)) + ]; + }; + flake.modules.homeManager.passmenu = {...}: { + imports = with config.flake.modules.homeManager; [ + rofi + ]; + }; +} -- 2.44.1