treewide: null package support (#6582)
Can generate the config without installing application through home-manager. Helpful when a package is broken (or not provided) on a specific platform through nixpkgs and needs to be installed through other means but you still can benefit from the declarative configuration.
This commit is contained in:
parent
6c2b79403e
commit
d2c014e1c7
83 changed files with 269 additions and 222 deletions
|
|
@ -9,7 +9,7 @@ in {
|
|||
options.programs.openstackclient = {
|
||||
enable = lib.mkEnableOption "OpenStack command-line client";
|
||||
|
||||
package = lib.mkPackageOption pkgs "openstackclient" { };
|
||||
package = lib.mkPackageOption pkgs "openstackclient" { nullable = true; };
|
||||
|
||||
clouds = lib.mkOption {
|
||||
type = lib.types.submodule { freeformType = yamlFormat.type; };
|
||||
|
|
@ -58,7 +58,7 @@ in {
|
|||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.packages = [ cfg.package ];
|
||||
home.packages = lib.mkIf (cfg.package != null) [ cfg.package ];
|
||||
|
||||
xdg.configFile."openstack/clouds.yaml".source = yamlFormat.generate
|
||||
"openstackclient-clouds-yaml-${config.home.username}" {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue