refactor
This commit is contained in:
parent
66c05f9093
commit
45d6f4b0f3
205 changed files with 9040 additions and 342 deletions
66
modules/nixos/apps/firefox/default.nix
Normal file
66
modules/nixos/apps/firefox/default.nix
Normal file
|
@ -0,0 +1,66 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.plusultra;
|
||||
let
|
||||
cfg = config.plusultra.apps.firefox;
|
||||
defaultSettings = {
|
||||
"browser.aboutwelcome.enabled" = false;
|
||||
"browser.meta_refresh_when_inactive.disabled" = true;
|
||||
"browser.startup.homepage" = "https://hamho.me";
|
||||
"browser.bookmarks.showMobileBookmarks" = true;
|
||||
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
"browser.aboutConfig.showWarning" = false;
|
||||
"browser.ssb.enabled" = true;
|
||||
};
|
||||
in
|
||||
{
|
||||
options.plusultra.apps.firefox = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Firefox.";
|
||||
extraConfig =
|
||||
mkOpt str "" "Extra configuration for the user profile JS file.";
|
||||
userChrome =
|
||||
mkOpt str "" "Extra configuration for the user chrome CSS file.";
|
||||
settings = mkOpt attrs defaultSettings "Settings to apply to the profile.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
plusultra.desktop.addons.firefox-nordic-theme = enabled;
|
||||
|
||||
services.gnome.gnome-browser-connector.enable = config.plusultra.desktop.gnome.enable;
|
||||
|
||||
plusultra.home = {
|
||||
file = {
|
||||
".mozilla/native-messaging-hosts/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/lib/mozilla/native-messaging-hosts/com.dannyvankooten.browserpass.json";
|
||||
|
||||
".mozilla/native-messaging-hosts/org.gnome.chrome_gnome_shell.json".source = mkIf config.plusultra.desktop.gnome.enable "${pkgs.chrome-gnome-shell}/lib/mozilla/native-messaging-hosts/org.gnome.chrome_gnome_shell.json";
|
||||
};
|
||||
|
||||
extraOptions = {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.firefox.override (
|
||||
{
|
||||
cfg = {
|
||||
enableBrowserpass = true;
|
||||
enableGnomeExtensions = config.plusultra.desktop.gnome.enable;
|
||||
};
|
||||
|
||||
extraNativeMessagingHosts =
|
||||
optional
|
||||
config.plusultra.desktop.gnome.enable
|
||||
pkgs.gnomeExtensions.gsconnect;
|
||||
}
|
||||
);
|
||||
|
||||
profiles.${config.plusultra.user.name} = {
|
||||
inherit (cfg) extraConfig userChrome settings;
|
||||
id = 0;
|
||||
name = config.plusultra.user.name;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue