feat: added proton-pass and updated proton-vpn

This commit is contained in:
Leyla Becker 2026-04-12 13:14:01 -05:00
parent d661421821
commit 0e55f5d40a
5 changed files with 82 additions and 7 deletions

View file

@ -41,6 +41,7 @@ in {
mod.home-manager-prostudiomasters
mod.home-manager-proton-calendar-pwa
mod.home-manager-proton-mail-pwa
mod.home-manager-proton-pass
mod.home-manager-protonvpn
mod.home-manager-proxmark3
mod.home-manager-qbittorrent

View file

@ -0,0 +1,31 @@
{...}: {
flake.homeModules.home-manager-proton-pass = {
lib,
pkgs,
config,
...
}: let
cfg = config.programs.proton-pass;
in {
options.programs.proton-pass = {
enable = lib.mkEnableOption "enable Proton Pass";
};
config = lib.mkIf cfg.enable (lib.mkMerge [
{
home.packages = with pkgs; [
proton-pass
];
}
(
lib.mkIf config.impermanence.enable {
home.persistence."${config.impermanence.persistencePath}" = {
directories = [
"${config.xdg.configHome}/Proton Pass"
];
};
}
)
]);
};
}

View file

@ -4,15 +4,40 @@
pkgs,
config,
...
}: {
}: let
cfg = config.programs.protonvpn-gui;
package =
if builtins.compareVersions pkgs.protonvpn-gui.version cfg.minVersion < 0
then
pkgs.protonvpn-gui.overrideAttrs (old: {
version = cfg.minVersion;
src = pkgs.fetchFromGitHub {
owner = "ProtonVPN";
repo = "proton-vpn-gtk-app";
tag = "v${cfg.minVersion}";
hash = cfg.minVersionHash;
};
})
else pkgs.protonvpn-gui;
in {
options.programs.protonvpn-gui = {
enable = lib.mkEnableOption "enable protonvpn";
minVersion = lib.mkOption {
type = lib.types.str;
default = "4.15.1";
description = "Minimum version of protonvpn-gui to use. If nixpkgs has a lower version, it will be overridden.";
};
minVersionHash = lib.mkOption {
type = lib.types.str;
default = "sha256-mWQW/KR2zQxSMkcu5k79H3TNATmFB6J2vgFhgXNpM2s=";
description = "Source hash for the minimum version override.";
};
};
config = lib.mkIf config.programs.protonvpn-gui.enable (lib.mkMerge [
config = lib.mkIf cfg.enable (lib.mkMerge [
{
home.packages = with pkgs; [
proton-vpn
home.packages = [
package
];
}
(