push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
From a2d5d973f53efb11bdcaecbd0099df9714bc287f Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Tue, 8 Feb 2022 19:35:35 +0100
Subject: [PATCH] Set `base` to an empty value
`DESTDIR` ensures that everything lands in the correct location (i.e.
the target store-path on Nix), within this path, everything should be
moved into `/lib` and `/share`.
---
setup.py | 17 ++---------------
1 file changed, 2 insertions(+), 15 deletions(-)
diff --git a/setup.py b/setup.py
index 1f0a58b..f7baa41 100644
--- a/setup.py
+++ b/setup.py
@@ -8,21 +8,8 @@ from pathlib import Path
from setuptools import setup
-share = Path(sys.prefix, 'share')
-base = '/usr'
-if os.uname().sysname == 'Darwin':
- base = '/usr/local'
-lib = Path(base, 'lib', 'password-store', 'extensions')
-
-if '--user' in sys.argv:
- if 'PASSWORD_STORE_EXTENSIONS_DIR' in os.environ:
- lib = Path(os.environ['PASSWORD_STORE_EXTENSIONS_DIR'])
- else:
- lib = Path.home() / '.password-store' / '.extensions'
- if 'XDG_DATA_HOME' in os.environ:
- share = Path(os.environ['XDG_DATA_HOME'])
- else:
- share = Path.home() / '.local' / 'share'
+share = Path('share')
+lib = Path('lib', 'password-store', 'extensions')
setup(
data_files=[
--
2.33.1

View File

@@ -0,0 +1,28 @@
From 8f76b32946430737f97f2702afd828b09536afd2 Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Sun, 15 Mar 2020 20:10:11 +0100
Subject: [PATCH 2/2] Fix audit.bash setup
This sets PASSWORD_STORE_DIR (needed by the python-code) to
PASSWORD_STORE_DIR and properly falls back to `~/.password-store` if
it's not set.
---
audit.bash | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/audit.bash b/audit.bash
index 7a973dc..c40ff76 100755
--- a/audit.bash
+++ b/audit.bash
@@ -17,7 +17,7 @@
#
cmd_audit() {
- export PASSWORD_STORE_DIR=$PREFIX GIT_DIR PASSWORD_STORE_GPG_OPTS
+ export PASSWORD_STORE_DIR=${PASSWORD_STORE_DIR:-$HOME/.password-store} GIT_DIR PASSWORD_STORE_GPG_OPTS
export X_SELECTION CLIP_TIME PASSWORD_STORE_UMASK GENERATED_LENGTH
export CHARACTER_SET CHARACTER_SET_NO_SYMBOLS EXTENSIONS PASSWORD_STORE_KEY
export PASSWORD_STORE_ENABLE_EXTENSIONS PASSWORD_STORE_SIGNING_KEY
--
2.25.0

View File

@@ -0,0 +1,76 @@
{
lib,
stdenv,
pass,
fetchFromGitHub,
python3,
gnupg,
}:
python3.pkgs.buildPythonApplication rec {
pname = "pass-audit";
version = "1.2";
pyproject = true;
src = fetchFromGitHub {
owner = "roddhjav";
repo = "pass-audit";
rev = "v${version}";
hash = "sha256-xigP8LxRXITLF3X21zhWx6ooFNSTKGv46yFSt1dd4vs=";
};
patches = [
./0001-Set-base-to-an-empty-value.patch
./0002-Fix-audit.bash-setup.patch
];
postPatch = ''
substituteInPlace audit.bash \
--replace-fail python3 "${lib.getExe python3}"
rm Makefile
patchShebangs audit.bash
'';
outputs = [
"out"
"man"
];
build-system = with python3.pkgs; [ setuptools ];
dependencies = with python3.pkgs; [
requests
setuptools
zxcvbn
];
# Tests freeze on darwin with: pass-audit-1.1 (checkPhase): EOFError
doCheck = !stdenv.hostPlatform.isDarwin;
nativeCheckInputs = [
python3.pkgs.green
pass
gnupg
];
checkPhase = ''
python3 -m green -q
'';
postInstall = ''
mkdir -p $out/lib/password-store/extensions
install -m777 audit.bash $out/lib/password-store/extensions/audit.bash
cp -r share $out/
buildPythonPath "$out $dependencies"
wrapProgram $out/lib/password-store/extensions/audit.bash \
--prefix PYTHONPATH : "$PYTHONPATH" \
--run "export COMMAND"
'';
pythonImportsCheck = [ "pass_audit" ];
meta = with lib; {
description = "Pass extension for auditing your password repository";
homepage = "https://github.com/roddhjav/pass-audit";
license = licenses.gpl3Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ ma27 ];
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
stdenv,
fetchFromGitHub,
curl,
findutils,
gnugrep,
gnused,
shellcheck,
}:
let
pname = "pass-checkup";
version = "0.2.2";
in
stdenv.mkDerivation {
inherit pname version;
src = fetchFromGitHub {
owner = "etu";
repo = pname;
rev = version;
sha256 = "1p65yxr00k35g4bnagszp8i03pmhnrcmipgrdsawps2ba8faqp6r";
};
nativeBuildInputs = [ shellcheck ];
postPatch = ''
substituteInPlace checkup.bash \
--replace curl ${curl}/bin/curl \
--replace find ${findutils}/bin/find \
--replace grep ${gnugrep}/bin/grep \
--replace sed ${gnused}/bin/sed
'';
installPhase = ''
runHook preInstall
install -D -m755 checkup.bash $out/lib/password-store/extensions/checkup.bash
runHook postInstall
'';
meta = with lib; {
description = "Pass extension to check against the Have I been pwned API to see if your passwords are publicly leaked or not";
homepage = "https://github.com/etu/pass-checkup";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ etu ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,16 @@
{ pkgs, ... }:
let
inherit (pkgs) callPackage;
in
{
pass-audit = callPackage ./audit { };
pass-checkup = callPackage ./checkup.nix { };
pass-import = callPackage ./import.nix { };
pass-otp = callPackage ./otp.nix { };
pass-tomb = callPackage ./tomb.nix { };
pass-update = callPackage ./update.nix { };
pass-genphrase = callPackage ./genphrase.nix { };
pass-file = callPackage ./file.nix { };
}

View File

@@ -0,0 +1,27 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation rec {
pname = "pass-file";
version = "1.0.0";
src = fetchFromGitHub {
owner = "dvogt23";
repo = pname;
rev = version;
hash = "sha256-18KvmcfLwelyk9RV/IMaj6O/nkQEQz84eUEB/mRaKE4=";
};
installFlags = [ "PREFIX=$(out)" ];
meta = with lib; {
description = "Pass extension that allows to add files to password-store";
homepage = "https://github.com/dvogt23/pass-file";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ taranarmo ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
stdenv,
fetchFromGitHub,
python3,
}:
stdenv.mkDerivation rec {
pname = "pass-genphrase";
version = "0.3";
src = fetchFromGitHub {
owner = "congma";
repo = "pass-genphrase";
rev = version;
sha256 = "01dff2jlp111y7vlmp1wbgijzphhlzc19m02fs8nzmn5vxyffanx";
};
dontBuild = true;
buildInputs = [ python3 ];
installTargets = [ "globalinstall" ];
installFlags = [ "PREFIX=$(out)" ];
postFixup = ''
substituteInPlace $out/lib/password-store/extensions/genphrase.bash \
--replace '$EXTENSIONS' "$out/lib/password-store/extensions/"
'';
meta = with lib; {
description = "Pass extension that generates memorable passwords";
homepage = "https://github.com/congma/pass-genphrase";
license = licenses.gpl3;
maintainers = with maintainers; [ seqizz ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,68 @@
{
lib,
fetchurl,
python3Packages,
gnupg,
pass,
}:
python3Packages.buildPythonApplication rec {
pname = "pass-import";
version = "3.5";
format = "setuptools";
src = fetchurl {
url = "https://github.com/roddhjav/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
hash = "sha256-+wrff3OxPkAGu1Mn4Kl0KN4FmvIAb+MnaERcD5ScDNc=";
};
propagatedBuildInputs = with python3Packages; [
cryptography
defusedxml
jsonpath-ng
pyaml
pykeepass
python-magic # similar API to "file-magic", but already in nixpkgs.
requests
secretstorage
zxcvbn
];
nativeCheckInputs = [
gnupg
pass
python3Packages.pytestCheckHook
];
disabledTests = [
"test_import_gnome_keyring" # requires dbus, which pytest doesn't support
];
postInstall = ''
mkdir -p $out/lib/password-store/extensions
cp import.bash $out/lib/password-store/extensions/import.bash
wrapProgram $out/lib/password-store/extensions/import.bash \
--prefix PATH : "${python3Packages.python.withPackages (_: propagatedBuildInputs)}/bin" \
--prefix PYTHONPATH : "$out/${python3Packages.python.sitePackages}" \
--run "export PREFIX"
cp -r share $out/
'';
postCheck = ''
$out/bin/pimport --list-exporters --list-importers
'';
meta = with lib; {
description = "Pass extension for importing data from existing password managers";
mainProgram = "pimport";
homepage = "https://github.com/roddhjav/pass-import";
changelog = "https://github.com/roddhjav/pass-import/blob/v${version}/CHANGELOG.rst";
license = licenses.gpl3Plus;
maintainers = with maintainers; [
lovek323
fpletz
tadfisher
];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchFromGitHub,
oath-toolkit,
}:
stdenv.mkDerivation rec {
pname = "pass-otp";
version = "1.2.0";
src = fetchFromGitHub {
owner = "tadfisher";
repo = "pass-otp";
rev = "v${version}";
sha256 = "0cpqrf3939hcvwg7sd8055ghc8x964ilimlri16czzx188a9jx9v";
};
buildInputs = [ oath-toolkit ];
dontBuild = true;
patchPhase = ''
sed -i -e 's|OATH=\$(which oathtool)|OATH=${oath-toolkit}/bin/oathtool|' otp.bash
'';
installFlags = [
"PREFIX=$(out)"
"BASHCOMPDIR=$(out)/share/bash-completion/completions"
];
meta = with lib; {
description = "Pass extension for managing one-time-password (OTP) tokens";
homepage = "https://github.com/tadfisher/pass-otp";
license = licenses.gpl3;
maintainers = with maintainers; [
jwiegley
tadfisher
toonn
];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
stdenv,
fetchFromGitHub,
tomb,
}:
stdenv.mkDerivation rec {
pname = "pass-tomb";
version = "1.3";
src = fetchFromGitHub {
owner = "roddhjav";
repo = "pass-tomb";
rev = "v${version}";
sha256 = "sha256-kbbMHmYmeyt7HM8YiNhknePm1vUaXWWXPWePKGpbU+o=";
};
buildInputs = [ tomb ];
dontBuild = true;
installFlags = [ "PREFIX=$(out)" ];
postFixup = ''
substituteInPlace $out/lib/password-store/extensions/tomb.bash \
--replace 'TOMB="''${PASSWORD_STORE_TOMB:-tomb}"' 'TOMB="''${PASSWORD_STORE_TOMB:-${tomb}/bin/tomb}"'
'';
meta = with lib; {
description = "Pass extension that keeps the password store encrypted inside a tomb";
homepage = "https://github.com/roddhjav/pass-tomb";
license = licenses.gpl3Plus;
maintainers = with maintainers; [
lovek323
fpletz
tadfisher
];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation rec {
pname = "pass-update";
version = "2.2.1";
src = fetchFromGitHub {
owner = "roddhjav";
repo = "pass-update";
rev = "v${version}";
sha256 = "sha256-NFdPnGMs8myiHufeHAQUNDUuvDzYeoWYZllI9+4HL+s=";
};
postPatch = ''
substituteInPlace Makefile \
--replace "BASHCOMPDIR ?= /etc/bash_completion.d" "BASHCOMPDIR ?= $out/share/bash-completion/completions"
'';
dontBuild = true;
installFlags = [ "PREFIX=$(out)" ];
meta = with lib; {
description = "Pass extension that provides an easy flow for updating passwords";
homepage = "https://github.com/roddhjav/pass-update";
license = licenses.gpl3Plus;
maintainers = with maintainers; [
lovek323
fpletz
tadfisher
];
platforms = platforms.unix;
};
}