diff options
Diffstat (limited to 'nixpkgs/nixos/modules/programs/_1password-gui.nix')
-rw-r--r-- | nixpkgs/nixos/modules/programs/_1password-gui.nix | 70 |
1 files changed, 33 insertions, 37 deletions
diff --git a/nixpkgs/nixos/modules/programs/_1password-gui.nix b/nixpkgs/nixos/modules/programs/_1password-gui.nix index f57de44bb9e2..20bd846d5162 100644 --- a/nixpkgs/nixos/modules/programs/_1password-gui.nix +++ b/nixpkgs/nixos/modules/programs/_1password-gui.nix @@ -3,67 +3,63 @@ with lib; let + cfg = config.programs._1password-gui; -in { +in +{ + imports = [ + (mkRemovedOptionModule [ "programs" "_1password-gui" "gid" ] '' + A preallocated GID will be used instead. + '') + ]; + options = { programs._1password-gui = { - enable = mkEnableOption "The 1Password Desktop application with browser integration"; - - groupId = mkOption { - type = types.int; - example = literalExpression "5000"; - description = '' - The GroupID to assign to the onepassword group, which is needed for browser integration. The group ID must be 1000 or greater. - ''; - }; + enable = mkEnableOption "the 1Password GUI application"; polkitPolicyOwners = mkOption { type = types.listOf types.str; - default = []; - example = literalExpression "[\"user1\" \"user2\" \"user3\"]"; - description = '' - A list of users who should be able to integrate 1Password with polkit-based authentication mechanisms. By default, no users will have such access. - ''; + default = [ ]; + example = literalExpression ''["user1" "user2" "user3"]''; + description = lib.mdDoc '' + A list of users who should be able to integrate 1Password with polkit-based authentication mechanisms. + ''; }; - package = mkOption { - type = types.package; - default = pkgs._1password-gui; - defaultText = literalExpression "pkgs._1password-gui"; - example = literalExpression "pkgs._1password-gui"; - description = '' - The 1Password derivation to use. This can be used to upgrade from the stable release that we keep in nixpkgs to the betas. - ''; + package = mkPackageOption pkgs "1Password GUI" { + default = [ "_1password-gui" ]; }; }; }; - config = let - package = cfg.package.override { - polkitPolicyOwners = cfg.polkitPolicyOwners; - }; - in mkIf cfg.enable { - environment.systemPackages = [ package ]; - users.groups.onepassword.gid = cfg.groupId; + config = + let + package = cfg.package.override { + polkitPolicyOwners = cfg.polkitPolicyOwners; + }; + in + mkIf cfg.enable { + environment.systemPackages = [ package ]; + users.groups.onepassword.gid = config.ids.gids.onepassword; - security.wrappers = { - "1Password-BrowserSupport" = - { source = "${cfg.package}/share/1password/1Password-BrowserSupport"; + security.wrappers = { + "1Password-BrowserSupport" = { + source = "${package}/share/1password/1Password-BrowserSupport"; owner = "root"; group = "onepassword"; setuid = false; setgid = true; }; - "1Password-KeyringHelper" = - { source = "${cfg.package}/share/1password/1Password-KeyringHelper"; + "1Password-KeyringHelper" = { + source = "${package}/share/1password/1Password-KeyringHelper"; owner = "root"; group = "onepassword"; setuid = true; setgid = true; }; - }; + }; - }; + }; } |