helm/modules/desktop/browsers/qutebrowser.nix
2021-02-02 00:53:30 -05:00

43 lines
1.2 KiB
Nix

# modules/browser/qutebrowser.nix --- https://github.com/qutebrowser/qutebrowser
#
# Qutebrowser is cute because it's not enough of a browser to be handsome.
# Still, we can all tell he'll grow up to be one hell of a lady-killer.
{ options, config, lib, pkgs, ... }:
with lib;
with lib.my;
let cfg = config.modules.desktop.browsers.qutebrowser;
in {
options.modules.desktop.browsers.qutebrowser = with types; {
enable = mkBoolOpt false;
userStyles = mkOpt lines "";
extraConfig = mkOpt lines "";
};
config = mkIf cfg.enable {
user.packages = with pkgs; [
qutebrowser
(makeDesktopItem {
name = "qutebrowser-private";
desktopName = "Qutebrowser (Private)";
genericName = "Open a private Qutebrowser window";
icon = "qutebrowser";
exec = ''${qutebrowser}/bin/qutebrowser ":open -p"'';
categories = "Network";
})
];
home = {
configFile = {
"qutebrowser" = {
source = "${configDir}/qutebrowser";
recursive = true;
};
"qutebrowser/extra/00-extraConfig.py".text = cfg.extraConfig;
};
dataFile."qutebrowser/userstyles.css".text = cfg.userStyles;
};
};
}