diff --git a/pkgs/applications/misc/safecloset/default.nix b/pkgs/applications/misc/safecloset/default.nix new file mode 100644 index 000000000000..17be18f6585a --- /dev/null +++ b/pkgs/applications/misc/safecloset/default.nix @@ -0,0 +1,41 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, stdenv +, darwin +, xorg +}: + +rustPlatform.buildRustPackage rec { + pname = "safecloset"; + version = "1.3.0"; + + src = fetchFromGitHub { + owner = "Canop"; + repo = "safecloset"; + rev = "v${version}"; + hash = "sha256-HY8HaWGsqKUsqNLFpxrGJvAcVD68fqKX2v7xCiEKuDM="; + }; + + cargoHash = "sha256-geZoqfPgYUd4X903EM7+gq/VPvIClAmlC0nkqWriB0M="; + + buildInputs = lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + ] ++ lib.optionals stdenv.isLinux [ + xorg.libxcb + ]; + + checkFlags = [ + # skip flaky test + "--skip=timer::timer_tests::test_timer_reset" + ]; + + meta = with lib; { + description = "Cross-platform secure TUI secret locker"; + homepage = "https://github.com/Canop/safecloset"; + changelog = "https://github.com/Canop/safecloset/blob/${src.rev}/CHANGELOG.md"; + license = licenses.agpl3Only; + maintainers = with maintainers; [ figsoda ]; + mainProgram = "safecloset"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fa6b64cecc68..e00fbc33de82 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12829,6 +12829,8 @@ with pkgs; safe-rm = callPackage ../tools/system/safe-rm { }; + safecloset = callPackage ../applications/misc/safecloset { }; + safeeyes = callPackage ../applications/misc/safeeyes { }; sagoin = callPackage ../tools/misc/sagoin { };