feat: added proton-pass and updated proton-vpn
This commit is contained in:
parent
d661421821
commit
0e55f5d40a
5 changed files with 82 additions and 7 deletions
|
|
@ -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
|
||||
|
|
|
|||
31
modules/home-manager/programs/proton-pass.nix
Normal file
31
modules/home-manager/programs/proton-pass.nix
Normal 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"
|
||||
];
|
||||
};
|
||||
}
|
||||
)
|
||||
]);
|
||||
};
|
||||
}
|
||||
|
|
@ -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
|
||||
];
|
||||
}
|
||||
(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue