Add two new options to customize how extension permissions are checked:
- `extensions.exhaustivePermissions`
Ensures that the permissions requested by all extensions managed by
home-manager are authorized
- `extensions.exactPermissions`
When enabled, the user must authorize only the permissions that the
extensions requests, not more nor less.
error: The option `home.sessionVariables.GCC_COLORS' was accessed but
has no value defined. Try setting the option.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
error: The option `home.sessionVariables.GREP_COLORS' was accessed but
has no value defined. Try setting the option.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Upstream package removed and unmaintained project. Recommended to
replace with maintained alternatives such as `deskflow` and `input-leap`
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
The VSCode packages contain a product.json which is used to determine
the extension and config dirs. When the package name is not known,
this change parses this file (using IFD) (which may appear in a few
places) and uses that to generate the paths.
This hopefully allows more VSCode derivatives to "just work" without
Home Manager updates.
Co-authored-by: andre4ik3 <andre4ik3@fastmail.com>
When using the backupFileExtension option, if the backup file exists,
the activation process fails. This adds an option to instead overwrite
the old backup instead of failing.
Render each bullet as a single line at runtime while keeping ~80-column source formatting. Prevents truncation of the colliding path in service logs, reducing the need to inspect journal output.
Right now we load `hm-session-vars.sh` from
`config.home.profileDirectory`, generally resulting in the following
code being generated in `zshenv`:
```
. "/etc/profiles/per-user/<username>/etc/profile.d/hm-session-vars.sh"
```
This is problematic in a few situations. For example, when entering a
`distrobox` environment I got the following error:
```
/home/<username>/.zshenv:.:2: no such file or directory: /etc/profiles/per-user/<username>/etc/profile.d/hm-session-vars.sh
```
Instead, let's point to the path directly to the `/nix/store` by using
`config.home.sessionVariablesPackage` instead. This is more robust and
it is more consistent with other things we source in ZSH.