From 47f6c0bee97a8d91132faeef7d94251a7bd01dba Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Wed, 4 Sep 2024 14:48:04 +0800 Subject: [PATCH] users/foo-dogsquared: use upstream config for custom-homepage --- .../home-manager/foo-dogsquared/default.nix | 19 ++++++++++----- .../modules/programs/browsers.nix | 2 +- .../foo-dogsquared/modules/setups/music.nix | 24 +++++++++++++------ 3 files changed, 31 insertions(+), 14 deletions(-) diff --git a/configs/home-manager/foo-dogsquared/default.nix b/configs/home-manager/foo-dogsquared/default.nix index eb5b3e18..a93d3c1e 100644 --- a/configs/home-manager/foo-dogsquared/default.nix +++ b/configs/home-manager/foo-dogsquared/default.nix @@ -24,16 +24,23 @@ in custom-homepage = { enable = true; - sections.services = lib.mkMerge [ + sections = lib.mkMerge [ + # Merge the upstream since any new files will be overridden. It also + # allows us to attach data to it such as new links to the hardcoded + # sections. + (lib.importTOML "${config.users.foo-dogsquared.programs.custom-homepage.package.src}/data/foodogsquared-homepage/links.toml") + { - name = "Local services"; - flavorText = "For your local productivity"; - textOnly = true; - weight = (-50); + services = { + name = "Local services"; + flavorText = "For your local productivity"; + textOnly = true; + weight = (-50); + }; } (lib.mkIf config.services.archivebox.webserver.enable { - links = lib.singleton { + services.links = lib.singleton { url = "http://localhost:${builtins.toString config.state.ports.archivebox-webserver.value}"; text = "Archive webserver"; }; diff --git a/configs/home-manager/foo-dogsquared/modules/programs/browsers.nix b/configs/home-manager/foo-dogsquared/modules/programs/browsers.nix index 213335c9..5ad53713 100644 --- a/configs/home-manager/foo-dogsquared/modules/programs/browsers.nix +++ b/configs/home-manager/foo-dogsquared/modules/programs/browsers.nix @@ -131,7 +131,7 @@ in "browser.search.widget.inNavBar" = true; "browser.search.openintab" = true; "browser.startup.homepage" = - lib.mkIf userCfg.programs.custom-homepage.enable "file://${userCfg.programs.custom-homepage.finalPackage}"; + lib.mkIf userCfg.programs.custom-homepage.enable "file://${userCfg.programs.custom-homepage.finalPackage}/index.html"; # Some privacy settings... "privacy.donottrackheader.enabled" = true; diff --git a/configs/home-manager/foo-dogsquared/modules/setups/music.nix b/configs/home-manager/foo-dogsquared/modules/setups/music.nix index 2ea1a8fe..5c171bc7 100644 --- a/configs/home-manager/foo-dogsquared/modules/setups/music.nix +++ b/configs/home-manager/foo-dogsquared/modules/setups/music.nix @@ -99,10 +99,15 @@ in # Set every music-related services from the encompassing NixOS # configuration. - users.foo-dogsquared.programs.custom-homepage.sections.services.links = lib.mkMerge [ - (lib.mkIf (attrs.nixosConfig.services.gonic.enable or false) (lib.singleton { - url = "http://localhost:${builtins.toString attrs.nixosConfig.state.ports.gonic.value}"; - text = "Subsonic music server"; + users.foo-dogsquared.programs.custom-homepage.sections = lib.mkMerge [ + (lib.mkIf (attrs.nixosConfig.services.gonic.enable or false) (let + subsonicLink = { + url = "http://localhost:${builtins.toString attrs.nixosConfig.state.ports.gonic.value}"; + text = "Jukebox server"; + }; + in { + services.links = lib.singleton subsonicLink; + music.links = lib.mkAfter [ (subsonicLink // { text = "Subsonic music server"; }) ]; })) ]; } @@ -171,9 +176,14 @@ in }; # Set this to the custom homepage. - users.foo-dogsquared.programs.custom-homepage.sections.services.links = lib.singleton { - url = "http://localhost:${builtins.toString config.state.ports.mopidy.value}"; - text = "Music streaming server"; + users.foo-dogsquared.programs.custom-homepage.sections = let + mopidyLink = { + url = "http://localhost:${builtins.toString config.state.ports.mopidy.value}"; + text = "Music streaming server"; + }; + in { + services.links = lib.singleton mopidyLink; + music.links = lib.singleton (mopidyLink // { text = "Mopidy server"; }); }; }) ]);