helm/modules/desktop/browsers/firefox.nix
2020-04-06 15:38:02 -04:00

53 lines
1.4 KiB
Nix

# modules/browser/firefox.nix --- https://www.mozilla.org/en-US/firefox
#
# Oh firefox, gateway to the interwebs, devourer of ram. Give onto me your
# infinite knowledge and shelter me from ads.
{ config, options, lib, pkgs, ... }:
with lib;
{
options.modules.desktop.browsers.firefox = {
enable = mkOption {
type = types.bool;
default = false;
};
profileName = mkOption {
type = types.str;
default = config.my.username;
};
};
config = mkIf config.modules.desktop.browsers.firefox.enable {
my.packages = with pkgs; [
firefox-bin
(makeDesktopItem {
name = "firefox-private";
desktopName = "Firefox (Private)";
genericName = "Open a private Firefox window";
icon = "firefox";
exec = "${firefox-bin}/bin/firefox --private-window";
categories = "Network";
})
];
my.env.XDG_DESKTOP_DIR = "$HOME"; # (try to) prevent ~/Desktop
# Use a stable profile name so we can target it in themes
my.home.home.file =
let cfg = config.modules.desktop.browsers.firefox; in
{
".mozilla/firefox/profiles.ini".text = ''
[Profile0]
Name=default
IsRelative=1
Path=${cfg.profileName}.default
Default=1
[General]
StartWithLastProfile=1
Version=2
'';
};
};
}