From 5c6c6130302fec1bbc9aa3e582fc66f945c14e58 Mon Sep 17 00:00:00 2001 From: Alexander Heldt Date: Fri, 18 Aug 2023 23:21:27 +0200 Subject: [PATCH] pinwheel: Extract `firefox` into module And add `ff` bash script --- hosts/pinwheel/home.nix | 44 +++-------------------------- modules/firefox/default.nix | 56 +++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 40 deletions(-) create mode 100644 modules/firefox/default.nix diff --git a/hosts/pinwheel/home.nix b/hosts/pinwheel/home.nix index 21045bb..59a7622 100644 --- a/hosts/pinwheel/home.nix +++ b/hosts/pinwheel/home.nix @@ -5,6 +5,10 @@ home.username = "alex"; home.homeDirectory = "/home/alex"; + imports = [ + ./../../modules/firefox + ]; + home.packages = with pkgs; [ vim emacs @@ -48,46 +52,6 @@ }; }; - programs.firefox = { - enable = true; - - package = pkgs.wrapFirefox pkgs.firefox-devedition-unwrapped { - extraPolicies = { - DisableFirefoxAccounts = false; - CaptivePortal = false; - DisableFirefoxStudies = true; - DisablePocket = true; - DisableTelemetry = true; - OfferToSaveLogins = false; - OfferToSaveLoginsDefault = false; - PasswordManagerEnabled = false; - FirefoxHome = { - Search = false; - Pocket = false; - Snippets = false; - TopSites = false; - Highlights = false; - }; - UserMessaging = { - ExtensionRecommendations = false; - SkipOnboarding = true; - }; - }; - }; - - profiles = { - alex = { - id = 0; - name = "alex"; - }; - - work = { - id = 1; - name = "work"; - }; - }; - }; - programs.zsh = { enable = true; diff --git a/modules/firefox/default.nix b/modules/firefox/default.nix new file mode 100644 index 0000000..d60f338 --- /dev/null +++ b/modules/firefox/default.nix @@ -0,0 +1,56 @@ +{ pkgs, ... }: +let + wrapped = pkgs.wrapFirefox pkgs.firefox-devedition-unwrapped { + extraPolicies = { + DisableFirefoxAccounts = false; + CaptivePortal = false; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableTelemetry = true; + OfferToSaveLogins = false; + OfferToSaveLoginsDefault = false; + PasswordManagerEnabled = false; + + FirefoxHome = { + Search = false; + Pocket = false; + Snippets = false; + TopSites = false; + Highlights = false; + }; + + UserMessaging = { + ExtensionRecommendations = false; + SkipOnboarding = true; + }; + }; + }; + + ff = pkgs.writeShellApplication { + name = "ff"; + text = '' + ${wrapped}/bin/firefox -p + ''; + }; +in +{ + programs.firefox = { + enable = true; + + package = wrapped; + + profiles = { + alex = { + id = 0; + name = "alex"; + }; + + work = { + id = 1; + name = "work"; + }; + }; + }; + + home.packages = [ ff ]; +}