Standardize all 'programs.<PROGRAM>.enable<SHELL>Integration' options
with the following new functions:
- lib.hm.shell.mkBashIntegrationOption
- lib.hm.shell.mkFishIntegrationOption
- lib.hm.shell.mkIonIntegrationOption
- lib.hm.shell.mkNushellIntegrationOption
- lib.hm.shell.mkZshIntegrationOption
These functions should default to their corresponding global option:
- home.shell.enableBashIntegration
- home.shell.enableFishIntegration
- home.shell.enableIonIntegration
- home.shell.enableNushellIntegration
- home.shell.enableZshIntegration
All these global options default to the
'home.shell.enableShellIntegration' value.
This hierarchy standardizes the shell integration and increases end-user
flexibility.
BREAKING CHANGE: The following inconsistent default values change from
'false' to 'true':
- programs.zellij.enableBashIntegration
- programs.zellij.enableFishIntegration
- programs.zellij.enableZshIntegration
Link: https://github.com/nix-community/home-manager/pull/6358
Co-authored-by: Robert Helgesson <robert@rycee.net>
* ghostty: allow darwin users to manager their config
Currently nixpkgs does not contain a package defintion for ghostty
compatible with Darwin. Darwin users may still want to use this module
to manage their config or share config between systems. This carries
over behaviour from the beta period where this same technique was used.
see: 887e13a6e7/module.nix (L167-L173)
Also improves validation to cover theme files.
* ghostty: guard all package access with isLinux
ghostty is currently marked as broken in nixpkgs. Darwin users still
want to manage ghostty config via home-manager. Avoiding installing the
package and any extra files that depend on the package outside Linux
allows this.
* ghostty: allow nullable