Add Fifefox module
This commit is contained in:
parent
be9c200d0c
commit
cf609571f0
20 changed files with 153 additions and 168 deletions
18
flake.lock
generated
18
flake.lock
generated
|
@ -35,10 +35,26 @@
|
||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nur": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1703791557,
|
||||||
|
"narHash": "sha256-AUzfwY6z9B/SHjILvwQYVl5tKtCoxTvti1oRuV3zlHc=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "NUR",
|
||||||
|
"rev": "d52c3b8e906cc63efe311ae6277867f7b68f3bca",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "NUR",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nur": "nur"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
11
flake.nix
11
flake.nix
|
@ -2,21 +2,22 @@
|
||||||
description = "My systems installation";
|
description = "My systems installation";
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||||
|
nur.url = "github:nix-community/NUR";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
outputs = { self, nixpkgs, home-manager, ... }@inputs:
|
outputs = { self, nixpkgs, home-manager, nur, ... }@inputs:
|
||||||
let
|
let
|
||||||
stateVersion = "23.11";
|
stateVersion = "23.11";
|
||||||
in rec {
|
in {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
|
|
||||||
morty = nixpkgs.lib.nixosSystem {
|
morty = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit stateVersion;
|
inherit stateVersion inputs;
|
||||||
hostname = "morty";
|
hostname = "morty";
|
||||||
username = "ephase";
|
username = "ephase";
|
||||||
hostConfig = {
|
hostConfig = {
|
||||||
|
@ -31,7 +32,7 @@ in rec {
|
||||||
mrmeeseeks = nixpkgs.lib.nixosSystem {
|
mrmeeseeks = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit stateVersion;
|
inherit stateVersion inputs;
|
||||||
hostname = "mrmeeseeks";
|
hostname = "mrmeeseeks";
|
||||||
username = "ephase";
|
username = "ephase";
|
||||||
hostConfig = {
|
hostConfig = {
|
||||||
|
@ -46,7 +47,7 @@ in rec {
|
||||||
luci = nixpkgs.lib.nixosSystem {
|
luci = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit stateVersion;
|
inherit stateVersion inputs;
|
||||||
hostname = "luci";
|
hostname = "luci";
|
||||||
username = "ephase";
|
username = "ephase";
|
||||||
hostConfig = {
|
hostConfig = {
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
|
|
||||||
"browser.uidensity" = 1;
|
|
||||||
}
|
|
|
@ -1,155 +0,0 @@
|
||||||
{ pkgs, lib, ... }:
|
|
||||||
let
|
|
||||||
merge = lib.foldr (a: b: a // b) { };
|
|
||||||
in
|
|
||||||
{
|
|
||||||
programs.browserpass = {
|
|
||||||
enable = true;
|
|
||||||
browsers = ["firefox"];
|
|
||||||
};
|
|
||||||
programs.firefox = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
|
||||||
nativeMessagingHosts = [
|
|
||||||
# Tridactyl native connector
|
|
||||||
pkgs.tridactyl-native
|
|
||||||
pkgs.browserpass
|
|
||||||
];
|
|
||||||
extraPolicies = {
|
|
||||||
DontCheckDefaultBrowser = true;
|
|
||||||
DisablePocket = true;
|
|
||||||
DisableTelemetry = true;
|
|
||||||
DisplayBookmarksToolbar = "never";
|
|
||||||
DefaultDownloadDirectory = "\${home}/downloads";
|
|
||||||
EnableTrackingProtection = {
|
|
||||||
Value = true;
|
|
||||||
Locked = true;
|
|
||||||
Cryptomining = true;
|
|
||||||
};
|
|
||||||
FirefoxHome = {
|
|
||||||
Search = true;
|
|
||||||
TopSites = false;
|
|
||||||
SponsoredTopSites = false;
|
|
||||||
Highlights = false;
|
|
||||||
Pocket = false;
|
|
||||||
SponsoredPocket = false;
|
|
||||||
Snippets = false;
|
|
||||||
Locked = true;
|
|
||||||
};
|
|
||||||
UserMessaging = {
|
|
||||||
WhatsNew = false;
|
|
||||||
ExtensionRecommendations = false;
|
|
||||||
FeatureRecommendations = false;
|
|
||||||
UrlbarInterventions = false;
|
|
||||||
SkipOnboarding = true;
|
|
||||||
MoreFromMozilla = false;
|
|
||||||
};
|
|
||||||
NoDefaultBookmarks = true;
|
|
||||||
OfferToSaveLogins = false;
|
|
||||||
SearchSuggestEnabled = false;
|
|
||||||
OverrideFirstRunPage = "";
|
|
||||||
OverridePostUpdatePage = "";
|
|
||||||
ExtensionSettings = {
|
|
||||||
"uBlock0@raymondhill.net" = {
|
|
||||||
"allowed_types" = "extention";
|
|
||||||
"installation_mode" = "force_installed";
|
|
||||||
"install_url" = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
|
|
||||||
};
|
|
||||||
"addon@darkreader.org" = {
|
|
||||||
"allowed_types" = "extension";
|
|
||||||
"installation_mode" = "force_installed";
|
|
||||||
"install_url" = "https://addons.mozilla.org/firefox/downloads/latest/darkreader/latest.xpi";
|
|
||||||
};
|
|
||||||
"browserpass@maximbaz.com" = {
|
|
||||||
"allowed_types" = "extension";
|
|
||||||
"installation_mode" = "force_installed";
|
|
||||||
"install_url" = "https://addons.mozilla.org/firefox/downloads/latest/browserpass-ce/latest.xpi";
|
|
||||||
};
|
|
||||||
"gdpr@cavi.au.dk" = {
|
|
||||||
"allowed_types" = "extension";
|
|
||||||
"installation_mode" = "force_installed";
|
|
||||||
"install_url" = "https://addons.mozilla.org/firefox/downloads/latest/consent-o-matic/latest.xpi";
|
|
||||||
};
|
|
||||||
"jid1-BoFifL9Vbdl2zQ@jetpack" = {
|
|
||||||
"allowed_types" = "extension";
|
|
||||||
"installation_mode" = "force_installed";
|
|
||||||
"install_url" = "https://addons.mozilla.org/firefox/downloads/latest/decentraleyes/latest.xpi";
|
|
||||||
};
|
|
||||||
"CookieAutoDelete@kennydo.com" = {
|
|
||||||
"allowed_types" = "extension";
|
|
||||||
"installation_mode" = "force_installed";
|
|
||||||
"install_url" = "https://addons.mozilla.org/firefox/downloads/latest/cookie-autodelete/latest.xpi";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
Preferences = {
|
|
||||||
"browser.crashReports.unsubmittedCheck.autoSubmit2" = {
|
|
||||||
Value = false;
|
|
||||||
Status = "locked";
|
|
||||||
};
|
|
||||||
"browser.selfsupport.url" = {
|
|
||||||
Value = "";
|
|
||||||
Status = "locked";
|
|
||||||
};
|
|
||||||
"browser.aboutConfig.showWarning" = {
|
|
||||||
Value = false;
|
|
||||||
Status = "locked";
|
|
||||||
};
|
|
||||||
"browser.aboutHomeSnippets.updateUrl" = {
|
|
||||||
Value = "";
|
|
||||||
Status = "locked";
|
|
||||||
};
|
|
||||||
"browser.startup.homepage_override.mstone" = {
|
|
||||||
Value = "ignore";
|
|
||||||
Status = "locked";
|
|
||||||
};
|
|
||||||
"browser.startup.homepage_override.buildID" = {
|
|
||||||
Value = "";
|
|
||||||
Status = "locked";
|
|
||||||
};
|
|
||||||
"browser.tabs.firefox-view" = {
|
|
||||||
Value = false;
|
|
||||||
Status = "locked";
|
|
||||||
};
|
|
||||||
"dom.security.https_only_mode" = {
|
|
||||||
Value = true;
|
|
||||||
Status = "locked";
|
|
||||||
};
|
|
||||||
"extensions.htmlaboutaddons.recommendations.enabled" = {
|
|
||||||
Value = false;
|
|
||||||
Status = "locked";
|
|
||||||
};
|
|
||||||
"extensions.recommendations.themeRecommendationUrl" = {
|
|
||||||
Value = "";
|
|
||||||
Status = "locked";
|
|
||||||
};
|
|
||||||
"network.IDN_show_punycode" = {
|
|
||||||
Value = true;
|
|
||||||
# Status = "locked";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
profiles.ephase = {
|
|
||||||
id = 0;
|
|
||||||
name = "ephase";
|
|
||||||
isDefault = true;
|
|
||||||
search = {
|
|
||||||
force = true;
|
|
||||||
default = "DuckDuckGo";
|
|
||||||
};
|
|
||||||
settings = merge [
|
|
||||||
(import ./conf/doh.nix)
|
|
||||||
(import ./conf/drm.nix)
|
|
||||||
(import ./conf/experiments.nix)
|
|
||||||
(import ./conf/extensions.nix)
|
|
||||||
(import ./conf/preferences.nix)
|
|
||||||
(import ./conf/privacy.nix)
|
|
||||||
(import ./conf/safebrowsing.nix)
|
|
||||||
(import ./conf/suggest.nix)
|
|
||||||
(import ./conf/telemetry.nix)
|
|
||||||
(import ./conf/theme.nix)
|
|
||||||
(import ./conf/tracking.nix)
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ ... }: {
|
{ ... }: {
|
||||||
config.modules = {
|
config.modules = {
|
||||||
video.kdenlive.enable = false;
|
video.kdenlive.enable = false;
|
||||||
|
web.firefox.enable = true;
|
||||||
web.qutebrowser.enable = true;
|
web.qutebrowser.enable = true;
|
||||||
web.webcord.enable = true;
|
web.webcord.enable = true;
|
||||||
gaming.lutris.enable = false;
|
gaming.lutris.enable = false;
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./desktop/sway
|
./desktop/sway
|
||||||
./gaming/lutris
|
./gaming/lutris
|
||||||
./video/kdenlive
|
./video/kdenlive
|
||||||
|
./web/firefox
|
||||||
./web/qutebrowser/default.nix
|
./web/qutebrowser/default.nix
|
||||||
./web/webcord
|
./web/webcord
|
||||||
];
|
];
|
||||||
|
|
|
@ -8,4 +8,7 @@
|
||||||
# The start page with recommended addons uses google analytics.
|
# The start page with recommended addons uses google analytics.
|
||||||
"extensions.getAddons.showPane" = false;
|
"extensions.getAddons.showPane" = false;
|
||||||
"extensions.webservice.discoverURL" = "";
|
"extensions.webservice.discoverURL" = "";
|
||||||
|
|
||||||
|
# disable pocket extention
|
||||||
|
"extensions.pocket.enabled" = false;
|
||||||
}
|
}
|
|
@ -25,4 +25,22 @@
|
||||||
# Disables executing of JavaScript in the PDF form viewer. It is possible that
|
# Disables executing of JavaScript in the PDF form viewer. It is possible that
|
||||||
# some PDFs are not rendered correctly due to missing functions.
|
# some PDFs are not rendered correctly due to missing functions.
|
||||||
"pdfjs.enableScripting" = true;
|
"pdfjs.enableScripting" = true;
|
||||||
|
|
||||||
|
# Allow fullscreen in Firefox windows
|
||||||
|
"full-screen-api.ignore-widgets" = true;
|
||||||
|
|
||||||
|
# Download preferences
|
||||||
|
"browser.download.dir" = "~/downloads";
|
||||||
|
|
||||||
|
# About:config show warning
|
||||||
|
"browser.aboutConfig.showWarning" = false;
|
||||||
|
|
||||||
|
# avoid some useless recommendations
|
||||||
|
"extensions.htmlaboutaddons.recommendations.enabled" = false;
|
||||||
|
"extensions.recommendations.themeRecommendationUrl" = "";
|
||||||
|
|
||||||
|
# Do not senf FF buid ID for ste statup page
|
||||||
|
"browser.startup.homepage_override.mstone" = "ignore";
|
||||||
|
|
||||||
|
"browser.aboutHomeSnippets.updateUrl" = "";
|
||||||
}
|
}
|
|
@ -116,4 +116,10 @@
|
||||||
# When you type "something" in the urlbar and press enter, Firefox tries
|
# When you type "something" in the urlbar and press enter, Firefox tries
|
||||||
# "something.com", if Fixup URLs is enabled.
|
# "something.com", if Fixup URLs is enabled.
|
||||||
"browser.fixup.alternate.enabled" = true;
|
"browser.fixup.alternate.enabled" = true;
|
||||||
|
|
||||||
|
# Tracking protection
|
||||||
|
"privacy.trackingprotection.enabled" = true;
|
||||||
|
"privacy.trackingprotection.pbmode.enabled" = true;
|
||||||
|
"privacy.trackingprotection.cryptomining.enabled" = true;
|
||||||
|
"privacy.trackingprotection.fingerprinting.enabled" = true;
|
||||||
}
|
}
|
|
@ -35,4 +35,5 @@
|
||||||
"browser.crashReports.unsubmittedCheck.enabled" = false;
|
"browser.crashReports.unsubmittedCheck.enabled" = false;
|
||||||
"browser.crashReports.unsubmittedCheck.autoSubmit" = false;
|
"browser.crashReports.unsubmittedCheck.autoSubmit" = false;
|
||||||
"browser.crashReports.unsubmittedCheck.autoSubmit2" = false;
|
"browser.crashReports.unsubmittedCheck.autoSubmit2" = false;
|
||||||
|
|
||||||
}
|
}
|
34
modules/home-manager/web/firefox/conf/theme.nix
Normal file
34
modules/home-manager/web/firefox/conf/theme.nix
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
{
|
||||||
|
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
|
||||||
|
"browser.uidensity" = 1;
|
||||||
|
|
||||||
|
# New tab behaviour
|
||||||
|
"browser.newtabpage.activity-stream.showSearch" = false;
|
||||||
|
"browser.newtabpage.activity-stream.feeds.topsites" = false;
|
||||||
|
"browser.newtabpage.activity-stream.feeds.section.highlights" = false;
|
||||||
|
"browser.newtabpage.activity-stream.feeds.topstories" = false;
|
||||||
|
"browser.newtabpage.activity-stream.snippets" = false;
|
||||||
|
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||||
|
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||||
|
|
||||||
|
# Mozilla messages and recommandations
|
||||||
|
"browser.messaging-system.whatsNewPanel.enabled" = false;
|
||||||
|
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false;
|
||||||
|
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false;
|
||||||
|
"browser.aboutwelcome.enabled" = false;
|
||||||
|
"browser.preferences.moreFromMozilla" = false;
|
||||||
|
|
||||||
|
# Do not save my logins
|
||||||
|
"signon.rememberSignons" = true;
|
||||||
|
|
||||||
|
# Do not suggest some research
|
||||||
|
"browser.urlbar.suggest.searches" = true;
|
||||||
|
"browser.search.suggest.enabled" = true;
|
||||||
|
|
||||||
|
# do not override startus page
|
||||||
|
"startup.homepage_override_url" = "";
|
||||||
|
"startup.homepage_welcome_url" = "";
|
||||||
|
|
||||||
|
# do not show bookmark page
|
||||||
|
"browser.toolbars.bookmarks.visibility" = "never";
|
||||||
|
}
|
62
modules/home-manager/web/firefox/default.nix
Normal file
62
modules/home-manager/web/firefox/default.nix
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
{ lib, config, pkgs, ... }:
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
merge = foldr (a: b: a // b) { };
|
||||||
|
cfg = config.modules.web.firefox;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.modules.web.firefox = {
|
||||||
|
enable = mkEnableOption "enable Firefox web browser";
|
||||||
|
};
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
inputs.nur.overlay
|
||||||
|
];
|
||||||
|
programs.browserpass = {
|
||||||
|
enable = true;
|
||||||
|
browsers = ["firefox"];
|
||||||
|
};
|
||||||
|
programs.firefox = {
|
||||||
|
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
||||||
|
nativeMessagingHosts = [
|
||||||
|
# Tridactyl native connector
|
||||||
|
pkgs.tridactyl-native
|
||||||
|
pkgs.browserpass
|
||||||
|
];
|
||||||
|
};
|
||||||
|
enable = true;
|
||||||
|
profiles.ephase = {
|
||||||
|
id = 0;
|
||||||
|
name = "ephase";
|
||||||
|
isDefault = true;
|
||||||
|
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||||
|
browserpass
|
||||||
|
consent-o-matic
|
||||||
|
cookie-autodelete
|
||||||
|
darkreader
|
||||||
|
decentraleyes
|
||||||
|
tridactyl
|
||||||
|
ublock-origin
|
||||||
|
];
|
||||||
|
search = {
|
||||||
|
force = true;
|
||||||
|
default = "DuckDuckGo";
|
||||||
|
};
|
||||||
|
settings = merge [
|
||||||
|
(import ./conf/doh.nix)
|
||||||
|
(import ./conf/drm.nix)
|
||||||
|
(import ./conf/experiments.nix)
|
||||||
|
(import ./conf/extensions.nix)
|
||||||
|
(import ./conf/preferences.nix)
|
||||||
|
(import ./conf/privacy.nix)
|
||||||
|
(import ./conf/safebrowsing.nix)
|
||||||
|
(import ./conf/suggest.nix)
|
||||||
|
(import ./conf/telemetry.nix)
|
||||||
|
(import ./conf/theme.nix)
|
||||||
|
(import ./conf/tracking.nix)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, lib, stateVersion, hostname, username, hostConfig, ... }:
|
{ pkgs, lib, stateVersion, hostname, username, hostConfig, ... }:
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ # Include the results of the hardware scan.
|
[ # Include the results of the hardware scan.
|
||||||
|
@ -66,7 +66,6 @@
|
||||||
../home-manager/cli
|
../home-manager/cli
|
||||||
] ++ (if hostConfig.desktop then
|
] ++ (if hostConfig.desktop then
|
||||||
[
|
[
|
||||||
../home-manager/firefox
|
|
||||||
../home-manager/foot.nix
|
../home-manager/foot.nix
|
||||||
../home-manager/zathura.nix
|
../home-manager/zathura.nix
|
||||||
../home-manager/imv.nix
|
../home-manager/imv.nix
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
{ inputs, ...}:
|
||||||
{
|
{
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
|
@ -5,5 +6,6 @@
|
||||||
enableWideVine = true;
|
enableWideVine = true;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
inputs.nur.overlay
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue