diff --git a/modules/home/programs/firefox.nix b/modules/home/programs/firefox.nix index 0f78491..5097bfe 100644 --- a/modules/home/programs/firefox.nix +++ b/modules/home/programs/firefox.nix @@ -3,6 +3,7 @@ inputs, pkgs, lib, + allHosts, ... }: let @@ -29,6 +30,16 @@ in { options.custom.programs.firefox = { enable = lib.mkEnableOption ""; + homepage = lib.mkOption { + type = lib.types.nonEmptyStr; + default = + allHosts + |> lib.attrValues + |> lib.map (host: host.config.custom.web-services.glance) + |> lib.filter (glance: glance.enable) + |> lib.map (glance: glance.domain) + |> lib.head; + }; extensions = lib.mkOption { type = lib.types.attrsOf ( lib.types.submodule ( @@ -86,6 +97,7 @@ in { "intl.accept_languages" = "en-us,en,de-de,de"; "browser.uiCustomization.state" = uiState; + "browser.startup.homepage" = cfg.homepage; "sidebar.position_start" = false; "browser.toolbars.bookmarks.visibility" = "always"; "browser.bookmarks.restore_default_bookmarks" = false; diff --git a/profiles/workstation.nix b/profiles/workstation.nix index f75ec43..f203ea9 100644 --- a/profiles/workstation.nix +++ b/profiles/workstation.nix @@ -4,6 +4,7 @@ self, pkgs, pkgs-unstable, + allHosts, ... }: { @@ -40,7 +41,14 @@ home-manager = { useGlobalPkgs = true; useUserPackages = true; - extraSpecialArgs = { inherit inputs self pkgs-unstable; }; + extraSpecialArgs = { + inherit + inputs + self + pkgs-unstable + allHosts + ; + }; users.seb = "${self}/users/seb/@${config.networking.hostName}/home.nix"; }; }