aboutsummaryrefslogtreecommitdiff
path: root/home-manager/modules/programs/chromium.nix
diff options
context:
space:
mode:
authorKatharina Fey <kookie@spacekookie.de>2020-02-03 10:05:30 +0100
committerKatharina Fey <kookie@spacekookie.de>2020-02-03 10:05:30 +0100
commitc488527c95c874d3b8743c915173ad7bfb05d5af (patch)
tree2b874dc5606a9dff44096a5e8557f00dc52ac2b6 /home-manager/modules/programs/chromium.nix
parent899a451e08f7d6d2c8214d119c2a0316849a0ed4 (diff)
parent6cc4fd6ede4909226cb81d3475834251ed1b7210 (diff)
Merge commit '6cc4fd6ede4909226cb81d3475834251ed1b7210'
Diffstat (limited to 'home-manager/modules/programs/chromium.nix')
-rw-r--r--home-manager/modules/programs/chromium.nix103
1 files changed, 51 insertions, 52 deletions
diff --git a/home-manager/modules/programs/chromium.nix b/home-manager/modules/programs/chromium.nix
index 83a827a0ed0..4e35c07b90c 100644
--- a/home-manager/modules/programs/chromium.nix
+++ b/home-manager/modules/programs/chromium.nix
@@ -5,45 +5,43 @@ with lib;
let
browserModule = defaultPkg: name: visible:
- let
- browser = (builtins.parseDrvName defaultPkg.name).name;
- in
- {
- enable = mkOption {
- inherit visible;
- default = false;
- example = true;
- description = "Whether to enable ${name}.";
- type = lib.types.bool;
- };
+ let browser = (builtins.parseDrvName defaultPkg.name).name;
+ in {
+ enable = mkOption {
+ inherit visible;
+ default = false;
+ example = true;
+ description = "Whether to enable ${name}.";
+ type = lib.types.bool;
+ };
- package = mkOption {
- inherit visible;
- type = types.package;
- default = defaultPkg;
- defaultText = literalExample "pkgs.${browser}";
- description = "The ${name} package to use.";
- };
+ package = mkOption {
+ inherit visible;
+ type = types.package;
+ default = defaultPkg;
+ defaultText = literalExample "pkgs.${browser}";
+ description = "The ${name} package to use.";
+ };
- extensions = mkOption {
- inherit visible;
- type = types.listOf types.str;
- default = [];
- example = literalExample ''
- [
- "chlffgpmiacpedhhbkiomidkjlcfhogd" # pushbullet
- "mbniclmhobmnbdlbpiphghaielnnpgdp" # lightshot
- "gcbommkclmclpchllfjekcdonpmejbdp" # https everywhere
- "cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
- ]
- '';
- description = ''
- List of ${name} extensions to install.
- To find the extension ID, check its URL on the
- <link xlink:href="https://chrome.google.com/webstore/category/extensions">Chrome Web Store</link>.
- '';
- };
+ extensions = mkOption {
+ inherit visible;
+ type = types.listOf types.str;
+ default = [ ];
+ example = literalExample ''
+ [
+ "chlffgpmiacpedhhbkiomidkjlcfhogd" # pushbullet
+ "mbniclmhobmnbdlbpiphghaielnnpgdp" # lightshot
+ "gcbommkclmclpchllfjekcdonpmejbdp" # https everywhere
+ "cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
+ ]
+ '';
+ description = ''
+ List of ${name} extensions to install.
+ To find the extension ID, check its URL on the
+ <link xlink:href="https://chrome.google.com/webstore/category/extensions">Chrome Web Store</link>.
+ '';
};
+ };
browserConfig = cfg:
let
@@ -57,31 +55,32 @@ let
google-chrome-dev = "Google/Chrome Dev";
};
- configDir = if pkgs.stdenv.isDarwin
- then "Library/Application Support/${getAttr browser darwinDirs}"
- else "${config.xdg.configHome}/${browser}";
+ configDir = if pkgs.stdenv.isDarwin then
+ "Library/Application Support/${getAttr browser darwinDirs}"
+ else
+ "${config.xdg.configHome}/${browser}";
extensionJson = ext: {
- target = "${configDir}/External Extensions/${ext}.json";
- text = builtins.toJSON {
- external_update_url = "https://clients2.google.com/service/update2/crx";
+ name = "${configDir}/External Extensions/${ext}.json";
+ value.text = builtins.toJSON {
+ external_update_url =
+ "https://clients2.google.com/service/update2/crx";
};
};
- in
- mkIf cfg.enable {
- home.packages = [ cfg.package ];
- home.file = map extensionJson cfg.extensions;
- };
-
-in
+ in mkIf cfg.enable {
+ home.packages = [ cfg.package ];
+ home.file = listToAttrs (map extensionJson cfg.extensions);
+ };
-{
+in {
options.programs = {
chromium = browserModule pkgs.chromium "Chromium" true;
google-chrome = browserModule pkgs.google-chrome "Google Chrome" false;
- google-chrome-beta = browserModule pkgs.google-chrome-beta "Google Chrome Beta" false;
- google-chrome-dev = browserModule pkgs.google-chrome-dev "Google Chrome Dev" false;
+ google-chrome-beta =
+ browserModule pkgs.google-chrome-beta "Google Chrome Beta" false;
+ google-chrome-dev =
+ browserModule pkgs.google-chrome-dev "Google Chrome Dev" false;
};
config = mkMerge [