|
1 | | -{ pkgs, lib, config, is-home-manager, ... }: |
| 1 | +{ |
| 2 | + pkgs, |
| 3 | + lib, |
| 4 | + config, |
| 5 | + is-home-manager, |
| 6 | + ... |
| 7 | +}: |
2 | 8 | with lib; |
3 | 9 | let |
4 | 10 | cfg = config.programs._1password-shell-plugins; |
|
44 | 50 | # for which the executable has a supported 1Password Shell Plugin |
45 | 51 | apply = |
46 | 52 | package_list: |
47 | | - map |
48 | | - ( |
49 | | - package: |
50 | | - if (elem (getExeName package) supported_plugins) then |
51 | | - package |
52 | | - else |
53 | | - abort "${getExeName package} is not a valid 1Password Shell Plugin. A list of supported plugins can be found by running `op plugin list` or at: https://developer.1password.com/docs/cli/shell-plugins/" |
54 | | - ) |
55 | | - package_list; |
| 53 | + map ( |
| 54 | + package: |
| 55 | + if (elem (getExeName package) supported_plugins) then |
| 56 | + package |
| 57 | + else |
| 58 | + abort "${getExeName package} is not a valid 1Password Shell Plugin. A list of supported plugins can be found by running `op plugin list` or at: https://developer.1password.com/docs/cli/shell-plugins/" |
| 59 | + ) package_list; |
56 | 60 | }; |
57 | 61 | }; |
58 | 62 | }; |
|
80 | 84 | # end |
81 | 85 | # ``` |
82 | 86 | # where `{pkg}` is the executable name of the package |
83 | | - posixFunctions = map |
84 | | - (package: '' |
85 | | - ${package}() { |
86 | | - op plugin run -- ${package} "$@"; |
87 | | - } |
88 | | - '') |
89 | | - pkg-exe-names; |
90 | | - fishFunctions = map |
91 | | - (package: '' |
92 | | - function ${package} --wraps "${package}" --description "1Password Shell Plugin for ${package}" |
93 | | - op plugin run -- ${package} $argv |
94 | | - end |
95 | | - '') |
96 | | - pkg-exe-names; |
| 87 | + posixFunctions = map (package: '' |
| 88 | + ${package}() { |
| 89 | + op plugin run -- ${package} "$@"; |
| 90 | + } |
| 91 | + '') pkg-exe-names; |
| 92 | + fishFunctions = map (package: '' |
| 93 | + function ${package} --wraps "${package}" --description "1Password Shell Plugin for ${package}" |
| 94 | + op plugin run -- ${package} $argv |
| 95 | + end |
| 96 | + '') pkg-exe-names; |
97 | 97 | packages = lib.optional (cfg.package != null) cfg.package ++ cfg.plugins; |
98 | 98 | in |
99 | 99 | mkIf cfg.enable (mkMerge [ |
100 | | - { |
101 | | - programs.fish.interactiveShellInit = strings.concatStringsSep "\n" fishFunctions; |
102 | | - } |
| 100 | + { programs.fish.interactiveShellInit = strings.concatStringsSep "\n" fishFunctions; } |
103 | 101 | (optionalAttrs is-home-manager { |
104 | 102 | programs = { |
105 | 103 | # for the Bash and Zsh home-manager modules, |
|
109 | 107 | }; |
110 | 108 | home = { |
111 | 109 | inherit packages; |
112 | | - sessionVariables = { OP_PLUGINS_SOURCED = "1"; }; |
| 110 | + sessionVariables = { |
| 111 | + OP_PLUGINS_SOURCED = "1"; |
| 112 | + }; |
113 | 113 | }; |
114 | 114 | }) |
115 | 115 | (optionalAttrs (!is-home-manager) { |
116 | 116 | programs = { |
117 | | - bash.interactiveShellInit = |
118 | | - strings.concatStringsSep "\n" posixFunctions; |
| 117 | + bash.interactiveShellInit = strings.concatStringsSep "\n" posixFunctions; |
119 | 118 | zsh.interactiveShellInit = strings.concatStringsSep "\n" posixFunctions; |
120 | 119 | }; |
121 | 120 | environment = { |
122 | 121 | systemPackages = packages; |
123 | | - variables = { OP_PLUGINS_SOURCED = "1"; }; |
| 122 | + variables = { |
| 123 | + OP_PLUGINS_SOURCED = "1"; |
| 124 | + }; |
124 | 125 | }; |
125 | 126 | }) |
126 | 127 | ]); |
127 | 128 | } |
128 | | - |
0 commit comments