Unable to use options except extensions for programs.chromium

I have wrote a Home Manager config for ungoogled-chromium, but I’m only able to use programs.chromium.extensions option.

{ options, pkgs, home-manager, username, lib, ... }:
{

  home-manager.users.${username} = { pkgs, ...}: {
    programs.chromium = {
      enable = true;
      package = pkgs.ungoogled-chromium;
      homepageLocation = "https://nixos.org";

      extensions =
      let
        #To fetch from source
        createSourceExtensionFor = browserVersion: { id, sha256, url, version }:
          {
            inherit id;
            crxPath = builtins.fetchurl {
            inherit url;
              name = "${id}.crx";
              inherit sha256;
            };
            inherit version;
          };

        #To fetch form WebStore
        createChromiumExtensionFor = browserVersion: { id, sha256, version }:
          {
            inherit id;
            crxPath = builtins.fetchurl {
            url = "https://clients2.google.com/service/update2/crx?response=redirect&prodversion=${browserVersion}&acceptformat=crx3&x=id%3D${id}%26installsource%3Dondemand%26uc";
              name = "${id}.crx";
              inherit sha256;
            };
            inherit version;
          };

        createSourceExtension = createSourceExtensionFor (lib.version.major pkgs.ungoogled-chromium.version);
        createChromiumExtension = createChromiumExtensionFor (lib.versions.major pkgs.ungoogled-chromium.version);
      in
      [
        (createSourceExtension {
          # Web Store
          url = "https://github.com/NeverDecaf/chromium-web-store/releases/download/v1.5.4/Chromium.Web.Store.crx";
          id = "ocaahdebbfolfmndjeplogmgcagdmblk";
          sha256 = "sha256:0xyzvkqmbzyp7h7kv56drhs2z46ihalz6l5zdck0sid3b2q94f7g";
          version = "1.5.4";
         })
        (createChromiumExtension {
          # uBlock Origin
          id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";
          sha256 = "sha256:0w9zc8in4gqlhg5hngffdi763h4d2mizq86z91z6rkjsj7w403fl";
          version = "1.55.0";
         })
        (createChromiumExtension {
          # Cookie-Editor
          id = "hlkenndednhfkekhgcdicdfddnkalmdm";
          sha256 = "sha256:1yv7872x0qp97jp3v3b6v012cf45kig0qlp2dnn51i1bi0h0iy98";
          version = "1.12.2";
         })
        (createChromiumExtension {
          # ClearURLs
          id = "lckanjgmijmafbedllaakclkaicjfmnk";
          sha256 = "sha256:06m3b3npis7cpv0yif0rs3dkfdgd69r0rkyxlwwry26h58dp7hdc";
          version = "1.26.0";
         })
        (createChromiumExtension {
          # FoxyProxy
          id = "gcknhkkoolaabfmlnjonogaaifnjlfnp";
          sha256 = "sha256:1mcjlhx8nd15qcnla4bbg0l2ydgsg9a1ymiksfs7mxjcf39a5rfm";
          version = "8.2";
         })
        (createChromiumExtension {
          # HackTools
          id = "cmbndhnoonmghfofefkcccljbkdpamhi";
          sha256 = "sha256:02jnhrjw0zwvyhcakzx5z1s2hvd6xbflvcqx7qc15sskqw5crb30";
          version = "0.50.0";
         })
        (createChromiumExtension {
          # HackKontext
          id = "emkdmncnikokjokffjhnoheobomcmifo";
          sha256 = "sha256:1dcpv92h8vayakdhz977bpyjz7wcpnqvnk6zmb3v3z74bhg5kail";
          version = "1.3";
         })
        (createSourceExtension {
          # LibRedirect
          url = "https://github.com/libredirect/browser_extension/releases/download/v2.8.1/libredirect-2.8.1.crx";
          id = "oladmjdebphlnjjcnomfhhbfdldiimaf";
          sha256 = "sha256:096inpffvhblzc1j4b7zl2fc8gs8cflgb68ik5br4kl6xf17kafz";
          version = "2.8.1";
         })
        (createChromiumExtension {
          # LocalCDN
          id = "njdfdhgcmkocbgbhcioffdbicglldapd";
          sha256 = "sha256:0dy02713hl719ryx5g0f2x1zdk2904bcm6zmw81lcji1ddc60is5";
          version = "2.6.61";
         })
        (createChromiumExtension {
          # OWASP Penetration Testing Kit
          id = "ojkchikaholjmcnefhjlbohackpeeknd";
          sha256 = "sha256:041ap7v5dy0iczm21aia394q1as3qpvhvh3j99b8lx7idxyn4z3m";
          version = "2.6.61";
         })
        (createChromiumExtension {
          # Canvas Blocker
          id = "nomnklagbgmgghhjidfhnoelnjfndfpd";
          sha256 = "sha256:0dbv2f3w5c7id9rqcawx4x8lqxk2kpd7i14l96jyp1bm2z0aydlv";
          version = "0.2.0";
         })
        (createChromiumExtension {
          # TOS; Didn't read
          id = "hjdoplcnndgiblooccencgcggcoihigg";
          sha256 = "sha256:0n62g7c3023gf48rs3g7qffc6s36v475cs8rn74xsplvcgf98y3d";
          version = "4.1.2";
         })
        (createChromiumExtension {
          # UA Switcher and Manager
          id = "bhchdcejhohfmigjafbampogmaanbfkg";
          sha256 = "sha256:10j4hq8npdrvmlry8j8k1libxf7r6r2195mf6bsd2kfxdhxfx8q8";
          version = "0.5.0";
         })
        (createChromiumExtension {
          # Violentmonkey
          id = "jinjaccalgkegednnccohejagnlnfdag";
          sha256 = "sha256:1mb608lkxilbvs9wdk914raqv3hcfn3h3zfl3jgmh0m7x1i2c5cd";
          version = "2.18.0";
         })
        (createChromiumExtension {
          # Wappalyzer
          id = "gppongmhjkpfnbhagpmjfkannfbllamg";
          sha256 = "sha256:0f529cra8d7akphvpwf3lnlrd3l1i7wp40ribcy3ha42qrm3fbb7";
          version = "6.10.67";
         })
        (createChromiumExtension {
          # Wayback Machine
          id = "fpnmgdkabkmnadcjpehmlllkndpkmiak";
          sha256 = "sha256:0r4npqbdqy7hkgg85krz35714lyvk5iiyr3jcj755m22v088rbxx";
          version = "3.3";
         })
      ];
    };
  };
}
error:
       … while calling the 'head' builtin

         at /nix/store/7x2xs7ipaayhl73wq4gvy1535ifpqkq8-nixos-23.11.20240127.56911ef/nixos/lib/attrsets.nix:922:11:

          921|         || pred here (elemAt values 1) (head values) then
          922|           head values
             |           ^
          923|         else

       … while evaluating the attribute 'value'

         at /nix/store/7x2xs7ipaayhl73wq4gvy1535ifpqkq8-nixos-23.11.20240127.56911ef/nixos/lib/modules.nix:807:9:

          806|     in warnDeprecation opt //
          807|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          808|         inherit (res.defsFinal') highestPrio;

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: The option `home-manager.users.octodi.programs.chromium.homepageLocation' does not exist. Definition values:
       - In `/etc/nixos/home-manager/browsers/ungoogled-chromium': "https://nixos.org"

You are using NixOS option search. Home manager modules are independent from NixOS and are documented in Appendix A. Home Manager Configuration Options

1 Like