nixos/preload: init
[NixPkgs.git] / nixos / modules / programs / _1password.nix
blob8537484c7e67d26cbadbff2fe37dc1aa24a85745
1 { config, pkgs, lib, ... }:
3 with lib;
5 let
7   cfg = config.programs._1password;
9 in
11   imports = [
12     (mkRemovedOptionModule [ "programs" "_1password" "gid" ] ''
13       A preallocated GID will be used instead.
14     '')
15   ];
17   options = {
18     programs._1password = {
19       enable = mkEnableOption (lib.mdDoc "the 1Password CLI tool");
21       package = mkPackageOptionMD pkgs "1Password CLI" {
22         default = [ "_1password" ];
23       };
24     };
25   };
27   config = mkIf cfg.enable {
28     environment.systemPackages = [ cfg.package ];
29     users.groups.onepassword-cli.gid = config.ids.gids.onepassword-cli;
31     security.wrappers = {
32       "op" = {
33         source = "${cfg.package}/bin/op";
34         owner = "root";
35         group = "onepassword-cli";
36         setuid = false;
37         setgid = true;
38       };
39     };
40   };