firefox: Rudimentary config, tridactyl support
This commit is contained in:
parent
1dbfd6cf88
commit
6cee16924c
|
@ -27,9 +27,10 @@
|
||||||
url = "github:guibou/nixGL";
|
url = "github:guibou/nixGL";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
nur.url = "github:nix-community/NUR";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, disko, nixos-hardware, home-manager, stylix, nixvim, nixgl, ... }:
|
outputs = { self, nixpkgs, disko, nixos-hardware, home-manager, stylix, nixvim, nixgl, nur, ... }:
|
||||||
let
|
let
|
||||||
sharedOverlays = [
|
sharedOverlays = [
|
||||||
nixgl.overlay
|
nixgl.overlay
|
||||||
|
@ -68,6 +69,7 @@
|
||||||
./hm
|
./hm
|
||||||
stylix.homeManagerModules.stylix
|
stylix.homeManagerModules.stylix
|
||||||
nixvim.homeManagerModules.nixvim
|
nixvim.homeManagerModules.nixvim
|
||||||
|
nur.hmModules.nur
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
nixosConfigurations.curacao = lib.nixosSystem {
|
nixosConfigurations.curacao = lib.nixosSystem {
|
||||||
|
|
162
hm/desktop/browser/default.nix
Normal file
162
hm/desktop/browser/default.nix
Normal file
|
@ -0,0 +1,162 @@
|
||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
{
|
||||||
|
config = lib.mkIf config.frogeye.desktop.xorg {
|
||||||
|
home.sessionVariables = {
|
||||||
|
BROWSER = "qutebrowser";
|
||||||
|
};
|
||||||
|
programs = {
|
||||||
|
firefox = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.firefox.override {
|
||||||
|
nativeMessagingHosts = [
|
||||||
|
pkgs.tridactyl-native
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
profiles.hm = {
|
||||||
|
extensions = with config.nur.repos.rycee.firefox-addons;
|
||||||
|
[
|
||||||
|
(buildFirefoxXpiAddon {
|
||||||
|
|
||||||
|
pname = "onetab";
|
||||||
|
version = "0.1.0";
|
||||||
|
addonId = "onetab@nated";
|
||||||
|
url = "https://addons.mozilla.org/firefox/downloads/file/4118712/one_tab_per_window-0.1.0.xpi";
|
||||||
|
sha256 = "sha256-64DeL2xgXpqz32LJWDx4jhS2Fvbld8re3z8fdwnNTw0=";
|
||||||
|
meta = with lib;
|
||||||
|
{
|
||||||
|
homepage = "https://git.sr.ht/~nated/onetab";
|
||||||
|
description = "When a new tab is opened, redirects it to a new window instead.";
|
||||||
|
license = licenses.unfree;
|
||||||
|
mozPermissions = [ "tabs" ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
tridactyl
|
||||||
|
ublock-origin
|
||||||
|
];
|
||||||
|
search = {
|
||||||
|
default = "DuckDuckGo";
|
||||||
|
engines = {
|
||||||
|
# TODO Harmonize with qutebrowser search engines
|
||||||
|
"Nix Packages" = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://search.nixos.org/packages";
|
||||||
|
params = [
|
||||||
|
{ name = "type"; value = "packages"; }
|
||||||
|
{ name = "query"; value = "{searchTerms}"; }
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = [ "@np" ];
|
||||||
|
};
|
||||||
|
"NixOS Wiki" = {
|
||||||
|
urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }];
|
||||||
|
iconUpdateURL = "https://nixos.wiki/favicon.png";
|
||||||
|
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||||
|
definedAliases = [ "@nw" ];
|
||||||
|
};
|
||||||
|
"Bing".metaData.hidden = true;
|
||||||
|
"Google".metaData.alias = "@g"; # builtin engines only support specifying one additional alias
|
||||||
|
};
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
qutebrowser = {
|
||||||
|
enable = true;
|
||||||
|
keyBindings = {
|
||||||
|
normal = {
|
||||||
|
# Match tab behaviour to i3. Not that I use tabs.
|
||||||
|
"H" = "tab-prev";
|
||||||
|
"J" = "back";
|
||||||
|
"K" = "forward";
|
||||||
|
"L" = "tab-next";
|
||||||
|
# "T" = null;
|
||||||
|
"af" = "spawn --userscript freshrss"; # TODO Broken?
|
||||||
|
"as" = "spawn --userscript shaarli"; # TODO I don't use shaarli anymore
|
||||||
|
# "d" = null;
|
||||||
|
"u" = "undo --window";
|
||||||
|
# TODO Unbind d and T (?)
|
||||||
|
};
|
||||||
|
};
|
||||||
|
loadAutoconfig = true;
|
||||||
|
searchEngines = rec {
|
||||||
|
DEFAULT = ecosia;
|
||||||
|
alpinep = "https://pkgs.alpinelinux.org/packages?name={}&branch=edge";
|
||||||
|
ampwhat = "http://www.amp-what.com/unicode/search/{}";
|
||||||
|
arch = "https://wiki.archlinux.org/?search={}";
|
||||||
|
archp = "https://www.archlinux.org/packages/?q={}";
|
||||||
|
aur = "https://aur.archlinux.org/packages/?K={}";
|
||||||
|
aw = ampwhat;
|
||||||
|
ddg = duckduckgo;
|
||||||
|
dockerhub = "https://hub.docker.com/search/?isAutomated=0&isOfficial=0&page=1&pullCount=0&q={}&starCount=0";
|
||||||
|
duckduckgo = "https://duckduckgo.com/?q={}&ia=web";
|
||||||
|
ecosia = "https://www.ecosia.org/search?q={}";
|
||||||
|
gfr = "https://www.google.fr/search?hl=fr&q={}";
|
||||||
|
g = google;
|
||||||
|
gh = github;
|
||||||
|
gi = "http://images.google.com/search?q={}";
|
||||||
|
giphy = "https://giphy.com/search/{}";
|
||||||
|
github = "https://github.com/search?q={}";
|
||||||
|
google = "https://www.google.fr/search?q={}";
|
||||||
|
hm = homemanager;
|
||||||
|
homemanager = "https://mipmip.github.io/home-manager-option-search/?query={}";
|
||||||
|
invidious = "https://invidious.frogeye.fr/search?q={}";
|
||||||
|
inv = invidious;
|
||||||
|
nixos = "https://search.nixos.org/options?channel=${config.home.version.release}&query={}";
|
||||||
|
nixpkgs = "https://search.nixos.org/packages?channel=${config.home.version.release}&query={}";
|
||||||
|
npm = "https://www.npmjs.com/search?q={}";
|
||||||
|
os = nixos;
|
||||||
|
pkgs = nixpkgs;
|
||||||
|
q = qwant;
|
||||||
|
qwant = "https://www.qwant.com/?t=web&q={}";
|
||||||
|
wolfram = "https://www.wolframalpha.com/input/?i={}";
|
||||||
|
youtube = "https://www.youtube.com/results?search_query={}";
|
||||||
|
yt = youtube;
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
downloads.location.prompt = false;
|
||||||
|
tabs = {
|
||||||
|
show = "never";
|
||||||
|
tabs_are_windows = true;
|
||||||
|
};
|
||||||
|
url = rec {
|
||||||
|
open_base_url = true;
|
||||||
|
start_pages = lib.mkDefault "https://geoffrey.frogeye.fr/blank.html";
|
||||||
|
default_page = start_pages;
|
||||||
|
};
|
||||||
|
content = {
|
||||||
|
# I had this setting below, not sure if it did something special
|
||||||
|
# config.set("content.cookies.accept", "no-3rdparty", "chrome://*/*")
|
||||||
|
cookies.accept = "no-3rdparty";
|
||||||
|
prefers_reduced_motion = true;
|
||||||
|
headers.accept_language = "fr-FR, fr;q=0.9, en-GB;q=0.8, en-US;q=0.7, en;q=0.6";
|
||||||
|
tls.certificate_errors = "ask-block-thirdparty";
|
||||||
|
};
|
||||||
|
editor.command = [ "${pkgs.neovide}/bin/neovide" "--" "-f" "{file}" "-c" "normal {line}G{column0}l" ];
|
||||||
|
# TODO Doesn't work on Arch. Does it even load the right profile on Nix?
|
||||||
|
# TODO spellcheck.languages = ["fr-FR" "en-GB" "en-US"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xdg = {
|
||||||
|
configFile."tridactyl/tridactylrc".source = ./tridactylrc; # TODO Improve that :)
|
||||||
|
mimeApps = {
|
||||||
|
enable = true;
|
||||||
|
defaultApplications = {
|
||||||
|
"text/html" = "org.qutebrowser.qutebrowser.desktop";
|
||||||
|
"x-scheme-handler/http" = "org.qutebrowser.qutebrowser.desktop";
|
||||||
|
"x-scheme-handler/https" = "org.qutebrowser.qutebrowser.desktop";
|
||||||
|
"x-scheme-handler/about" = "org.qutebrowser.qutebrowser.desktop";
|
||||||
|
"x-scheme-handler/unknown" = "org.qutebrowser.qutebrowser.desktop";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xsession.windowManager.i3.config.keybindings = {
|
||||||
|
"${config.xsession.windowManager.i3.config.modifier}+m" = "exec ${config.programs.qutebrowser.package}/bin/qutebrowser --override-restore";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -79,14 +79,14 @@ set searchurls.npm https://www.npmjs.com/search?q=%s
|
||||||
set searchurls.pypi https://pypi.org/search/?q=%s
|
set searchurls.pypi https://pypi.org/search/?q=%s
|
||||||
set searchurls.python https://docs.python.org/3/search.html?q=%s
|
set searchurls.python https://docs.python.org/3/search.html?q=%s
|
||||||
set searchurls.qwant https://www.qwant.com/?t=web&q=%s
|
set searchurls.qwant https://www.qwant.com/?t=web&q=%s
|
||||||
set searchurls.invidious https://invidious.drycat.fr/search?q=%s
|
set searchurls.invidious https://invidious.frogeye.fr/search?q=%s
|
||||||
set searchurls.id https://invidious.drycat.fr/search?q=%s
|
set searchurls.id https://invidious.drycat.fr/search?q=%s
|
||||||
set searchurls.wa https://www.wolframalpha.com/input/?i=%s
|
set searchurls.wa https://www.wolframalpha.com/input/?i=%s
|
||||||
set searchurls.yt https://www.youtube.com/results?search_query=%s
|
set searchurls.yt https://www.youtube.com/results?search_query=%s
|
||||||
|
|
||||||
" Firefox GUI
|
" Firefox GUI
|
||||||
" This can still be shown with F6!
|
" This can still be shown with F6!
|
||||||
" guiset_quiet gui none
|
guiset_quiet gui none
|
||||||
|
|
||||||
" Never autofocus
|
" Never autofocus
|
||||||
set allowautofocus false
|
set allowautofocus false
|
|
@ -8,12 +8,12 @@ in
|
||||||
./audio
|
./audio
|
||||||
./autorandr
|
./autorandr
|
||||||
./background
|
./background
|
||||||
|
./browser
|
||||||
./frobar
|
./frobar
|
||||||
./i3.nix
|
./i3.nix
|
||||||
./lock
|
./lock
|
||||||
./mpd
|
./mpd
|
||||||
./presentation
|
./presentation
|
||||||
./qutebrowser.nix
|
|
||||||
./redness
|
./redness
|
||||||
./screenshots
|
./screenshots
|
||||||
./terminal
|
./terminal
|
||||||
|
@ -67,7 +67,6 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
qutebrowser.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
|
@ -143,9 +142,7 @@ in
|
||||||
# data management
|
# data management
|
||||||
freefilesync
|
freefilesync
|
||||||
|
|
||||||
# browsers
|
# misc
|
||||||
firefox
|
|
||||||
|
|
||||||
gnome.gedit
|
gnome.gedit
|
||||||
feh
|
feh
|
||||||
zbar
|
zbar
|
||||||
|
|
|
@ -1,96 +0,0 @@
|
||||||
{ pkgs, lib, config, ... }:
|
|
||||||
{
|
|
||||||
config = lib.mkIf config.programs.qutebrowser.enable {
|
|
||||||
home.sessionVariables = {
|
|
||||||
BROWSER = "qutebrowser";
|
|
||||||
};
|
|
||||||
programs.qutebrowser = {
|
|
||||||
keyBindings = {
|
|
||||||
normal = {
|
|
||||||
# Match tab behaviour to i3. Not that I use tabs.
|
|
||||||
"H" = "tab-prev";
|
|
||||||
"J" = "back";
|
|
||||||
"K" = "forward";
|
|
||||||
"L" = "tab-next";
|
|
||||||
# "T" = null;
|
|
||||||
"af" = "spawn --userscript freshrss"; # TODO Broken?
|
|
||||||
"as" = "spawn --userscript shaarli"; # TODO I don't use shaarli anymore
|
|
||||||
# "d" = null;
|
|
||||||
"u" = "undo --window";
|
|
||||||
# TODO Unbind d and T (?)
|
|
||||||
};
|
|
||||||
};
|
|
||||||
loadAutoconfig = true;
|
|
||||||
searchEngines = rec {
|
|
||||||
DEFAULT = ecosia;
|
|
||||||
alpinep = "https://pkgs.alpinelinux.org/packages?name={}&branch=edge";
|
|
||||||
ampwhat = "http://www.amp-what.com/unicode/search/{}";
|
|
||||||
arch = "https://wiki.archlinux.org/?search={}";
|
|
||||||
archp = "https://www.archlinux.org/packages/?q={}";
|
|
||||||
aur = "https://aur.archlinux.org/packages/?K={}";
|
|
||||||
aw = ampwhat;
|
|
||||||
ddg = duckduckgo;
|
|
||||||
dockerhub = "https://hub.docker.com/search/?isAutomated=0&isOfficial=0&page=1&pullCount=0&q={}&starCount=0";
|
|
||||||
duckduckgo = "https://duckduckgo.com/?q={}&ia=web";
|
|
||||||
ecosia = "https://www.ecosia.org/search?q={}";
|
|
||||||
gfr = "https://www.google.fr/search?hl=fr&q={}";
|
|
||||||
g = google;
|
|
||||||
gh = github;
|
|
||||||
gi = "http://images.google.com/search?q={}";
|
|
||||||
giphy = "https://giphy.com/search/{}";
|
|
||||||
github = "https://github.com/search?q={}";
|
|
||||||
google = "https://www.google.fr/search?q={}";
|
|
||||||
hm = homemanager;
|
|
||||||
homemanager = "https://mipmip.github.io/home-manager-option-search/?query={}";
|
|
||||||
invidious = "https://invidious.frogeye.fr/search?q={}";
|
|
||||||
inv = invidious;
|
|
||||||
nixos = "https://search.nixos.org/options?channel=${config.home.version.release}&query={}";
|
|
||||||
nixpkgs = "https://search.nixos.org/packages?channel=${config.home.version.release}&query={}";
|
|
||||||
npm = "https://www.npmjs.com/search?q={}";
|
|
||||||
os = nixos;
|
|
||||||
pkgs = nixpkgs;
|
|
||||||
q = qwant;
|
|
||||||
qwant = "https://www.qwant.com/?t=web&q={}";
|
|
||||||
wolfram = "https://www.wolframalpha.com/input/?i={}";
|
|
||||||
youtube = "https://www.youtube.com/results?search_query={}";
|
|
||||||
yt = youtube;
|
|
||||||
};
|
|
||||||
settings = {
|
|
||||||
downloads.location.prompt = false;
|
|
||||||
tabs = {
|
|
||||||
show = "never";
|
|
||||||
tabs_are_windows = true;
|
|
||||||
};
|
|
||||||
url = rec {
|
|
||||||
open_base_url = true;
|
|
||||||
start_pages = lib.mkDefault "https://geoffrey.frogeye.fr/blank.html";
|
|
||||||
default_page = start_pages;
|
|
||||||
};
|
|
||||||
content = {
|
|
||||||
# I had this setting below, not sure if it did something special
|
|
||||||
# config.set("content.cookies.accept", "no-3rdparty", "chrome://*/*")
|
|
||||||
cookies.accept = "no-3rdparty";
|
|
||||||
prefers_reduced_motion = true;
|
|
||||||
headers.accept_language = "fr-FR, fr;q=0.9, en-GB;q=0.8, en-US;q=0.7, en;q=0.6";
|
|
||||||
tls.certificate_errors = "ask-block-thirdparty";
|
|
||||||
};
|
|
||||||
editor.command = [ "${pkgs.neovide}/bin/neovide" "--" "-f" "{file}" "-c" "normal {line}G{column0}l" ];
|
|
||||||
# TODO Doesn't work on Arch. Does it even load the right profile on Nix?
|
|
||||||
# TODO spellcheck.languages = ["fr-FR" "en-GB" "en-US"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
xdg.mimeApps = {
|
|
||||||
enable = true;
|
|
||||||
defaultApplications = {
|
|
||||||
"text/html" = "org.qutebrowser.qutebrowser.desktop";
|
|
||||||
"x-scheme-handler/http" = "org.qutebrowser.qutebrowser.desktop";
|
|
||||||
"x-scheme-handler/https" = "org.qutebrowser.qutebrowser.desktop";
|
|
||||||
"x-scheme-handler/about" = "org.qutebrowser.qutebrowser.desktop";
|
|
||||||
"x-scheme-handler/unknown" = "org.qutebrowser.qutebrowser.desktop";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
xsession.windowManager.i3.config.keybindings = {
|
|
||||||
"${config.xsession.windowManager.i3.config.modifier}+m" = "exec ${config.programs.qutebrowser.package}/bin/qutebrowser --override-restore";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in a new issue