From 71a24ccbf43c7a40a2c8fbe29176158fadcd8b5e Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Wed, 31 Jul 2024 16:51:25 +0800 Subject: [PATCH] wrapper-manager-fds/modules/env: add options to add documentation packages --- modules/env/common.nix | 9 +++++++++ modules/env/home-manager/default.nix | 11 +++++++++-- modules/env/nixos/default.nix | 7 ++++++- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/modules/env/common.nix b/modules/env/common.nix index b852cb3..a116d61 100644 --- a/modules/env/common.nix +++ b/modules/env/common.nix @@ -119,5 +119,14 @@ in yourMomName = "Joe Mama"; }; }; + + # They're all disabled by default to let wrapper-manager not get out of the + # way. wrapper-manager configurations are meant to be a part of other + # environments and we're trying not to make a spotlight for wrapper-manager + # in whatever form including exporting the documentation. + documentation = { + manpage.enable = lib.mkEnableOption "manpage output"; + html.enable = lib.mkEnableOption "HTML output"; + }; }; } diff --git a/modules/env/home-manager/default.nix b/modules/env/home-manager/default.nix index 3cc0a44..2fa1df3 100644 --- a/modules/env/home-manager/default.nix +++ b/modules/env/home-manager/default.nix @@ -1,7 +1,8 @@ -{ config, lib, ... }@moduleArgs: +{ config, lib, pkgs, ... }@moduleArgs: let cfg = config.wrapper-manager; + wmDocs = import ../../../docs { inherit pkgs; }; in { imports = [ @@ -9,7 +10,13 @@ in ]; config = lib.mkMerge [ - { wrapper-manager.extraSpecialArgs.hmConfig = config; } + { + home.packages = + lib.optionals cfg.documentation.manpage.enable [ wmDocs.outputs.manpage ] + ++ lib.optionals cfg.documentation.html.enable [ wmDocs.outputs.html ]; + + wrapper-manager.extraSpecialArgs.hmConfig = config; + } (lib.mkIf (moduleArgs ? nixosConfig) { wrapper-manager.sharedModules = [ diff --git a/modules/env/nixos/default.nix b/modules/env/nixos/default.nix index a2bf0c5..943834a 100644 --- a/modules/env/nixos/default.nix +++ b/modules/env/nixos/default.nix @@ -1,7 +1,8 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: let cfg = config.wrapper-manager; + wmDocs = import ../../../docs { inherit pkgs; }; in { imports = [ @@ -10,6 +11,10 @@ in config = lib.mkMerge [ { + environment.systemPackages = + lib.optionals cfg.documentation.manpage.enable [ wmDocs.outputs.manpage ] + ++ lib.optionals cfg.documentation.html.enable [ wmDocs.outputs.html ]; + wrapper-manager.extraSpecialArgs.nixosConfig = config; wrapper-manager.sharedModules = [