diff options
Diffstat (limited to 'gnu/packages/password-utils.scm')
| -rw-r--r-- | gnu/packages/password-utils.scm | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index fa4f5b9e0c..3ba8a91e8f 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -47,6 +47,7 @@ ;;; Copyright © 2026 John Dawson <dawson.john.andrew@gmail.com> ;;; Copyright © 2026 Ivan Vilata i Balaguer <ivan@selidor.net> ;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me> +;;; Copyright © 2026 Zheng Junjie <z572@z572.online> ;;; ;;; This file is part of GNU Guix. ;;; @@ -65,6 +66,7 @@ (define-module (gnu packages password-utils) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) @@ -91,6 +93,7 @@ #:use-module (gnu packages crypto) #:use-module (gnu packages cryptsetup) #:use-module (gnu packages curl) + #:use-module (gnu packages databases) #:use-module (gnu packages digest) #:use-module (gnu packages docbook) #:use-module (gnu packages dotnet) @@ -133,6 +136,7 @@ #:use-module (gnu packages ruby) #:use-module (gnu packages ruby-xyz) #:use-module (gnu packages security-token) + #:use-module (gnu packages sqlite) #:use-module (gnu packages suckless) #:use-module (gnu packages tcl) #:use-module (gnu packages tls) @@ -776,6 +780,76 @@ age, and PGP.") convert SSH @code{ed25519} keys to @code{age} keys.") (license license:expat))) +(define-public vaultwarden + (package + (name "vaultwarden") + (version "1.36.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dani-garcia/vaultwarden") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1lipk99gqfivg95yqg80b8q0a220vwn9nmq0f4syawxnhvn9zkcd")))) + (build-system cargo-build-system) + (arguments + (list + #:install-source? #f + #:features '(list "sqlite_system" "s3" "postgresql") + ;; The build.rs script mandates the activation of a DB backend. + #:cargo-test-flags + '(list + "--features" + "sqlite_system,s3,postgresql" + "--") + #:cargo-install-paths ''("."))) + (inputs + (cons* openssl + postgresql + sqlite + `(,zstd "lib") + (cargo-inputs 'vaultwarden))) + (native-inputs (list pkg-config)) + (home-page "https://github.com/dani-garcia/vaultwarden") + (synopsis + "Alternative implementation of the Bitwarden server API") + (description + "Vaultwarden is an unofficial Bitwarden server implementation written in +Rust. It is compatible with the official Bitwarden clients, and is ideal for +self-hosted deployments where running the official resource-heavy service is +undesirable. + +Supported features are: +@itemize +@item Personal vault support +@item Organization vault support +@item Groups +@item Event Logs +@item Password sharing and access control +@item Collections +@item File attachments +@item Folders +@item Favorites +@item Website icons +@item Bitwarden Authenticator (TOTP) +@item Bitwarden Send +@item Emergency Access +@item Trash (soft delete, you can configure the days for automatic deletion) +@item Master password re-prompt +@item Personal API key +@item Two-step login via email, Duo, YubiKey, and FIDO2 WebAuthn +@item Username generator integration +@item Directory Connector support +@item Account Recovery (this requires mail to be enabled) +@item Live sync (WebSocket only) for desktop/browser clients/extensions +@item Live sync (push notifications) for mobile clients (Android/iOS) +@item Single Sign-On (SSO) +@end itemize +") + (license license:agpl3))) + (define-public yapet (package (name "yapet") |
