Unverified Commit 9aab3f3b authored by Jared Baur's avatar Jared Baur Committed by GitHub
Browse files

nixos/homepage-dashboard: Allow multiple environmentFiles (#471565)

parents 9c93fd23 d57c48cd
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -144,6 +144,8 @@ See <https://github.com/NixOS/nixpkgs/issues/481673>.

- `services.angrr` now uses TOML for configuration. Define policies with `services.angrr.settings` (generate TOML file) or point to a file using `services.angrr.configFile`. The legacy options `services.angrr.period`, `services.angrr.ownedOnly`, and `services.angrr.removeRoot` have been removed. See `man 5 angrr` and the description of `services.angrr.settings` options for examples and details.

- `services.homepage-dashboard.environmentFile` has been renamed to `services.homepage-dashboard.environmentFiles`, and now expects a list of strings.

- `services.pingvin-share` has been removed as the `pingvin-share.backend` package was broken and the project was archived upstream.

- `geph` package's built-in GUI `geph5-client-gui` has been [removed](https://github.com/geph-official/geph5/commit/f2221fb8386312daf2cef05483ebb353ff48bdb4) by the upstream. All users who wish to continue using the GUI should install the `gephgui-wry`, which is consistent with the official release version.
+13 −5
Original line number Diff line number Diff line
@@ -10,6 +10,14 @@ let
  settingsFormat = pkgs.formats.yaml { };
in
{
  imports = [
    (lib.mkChangedOptionModule
      [ "services" "homepage-dashboard" "environmentFile" ]
      [ "services" "homepage-dashboard" "environmentFiles" ]
      (config: [ config.services.homepage-dashboard.environmentFile ])
    )
  ];

  options = {
    services.homepage-dashboard = {
      enable = lib.mkEnableOption "Homepage Dashboard, a highly customizable application dashboard";
@@ -41,10 +49,10 @@ in
        '';
      };

      environmentFile = lib.mkOption {
        type = lib.types.str;
      environmentFiles = lib.mkOption {
        type = lib.types.listOf lib.types.path;
        description = ''
          The path to an environment file that contains environment variables to pass
          A list of paths to environment files that contain environment variables to pass
          to the homepage-dashboard service, for the purpose of passing secrets to
          the service.

@@ -52,7 +60,7 @@ in

          <https://gethomepage.dev/installation/docker/#using-environment-secrets>
        '';
        default = "";
        default = [ ];
      };

      customCSS = lib.mkOption {
@@ -243,7 +251,7 @@ in

      serviceConfig = {
        Type = "simple";
        EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
        EnvironmentFile = cfg.environmentFiles;
        StateDirectory = "homepage-dashboard";
        CacheDirectory = "homepage-dashboard";
        ExecStart = lib.getExe cfg.package;