summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/common/common/nix/default.nix64
-rw-r--r--modules/common/direnv.nix12
-rw-r--r--modules/common/qutebrowser.nix5
-rw-r--r--modules/darwin/homebrew.nix7
-rw-r--r--modules/nixos/firefox/default.nix327
-rw-r--r--modules/nixos/firefox/userContent.css14
6 files changed, 413 insertions, 16 deletions
diff --git a/modules/common/common/nix/default.nix b/modules/common/common/nix/default.nix
index 5dda142..840bdab 100644
--- a/modules/common/common/nix/default.nix
+++ b/modules/common/common/nix/default.nix
@@ -4,7 +4,6 @@
lib,
localUsername ? lib.my.username,
pkgs,
- pkgsPr,
this,
...
}:
@@ -115,9 +114,68 @@ with lib; {
luajit
]);
});
-
- inherit (pkgsPr "228852" "sha256-NKZySJ3IVMMeSmpc1zYwse52kxGg0dIrsHTMcO8a73Y=") soju;
}
+ // (let
+ openconnect = super.openconnect.overrideAttrs (_: _: {
+ version = "unstable-2023-07-01";
+ src = super.fetchFromGitLab {
+ owner = "openconnect";
+ repo = "openconnect";
+ rev = "0e5a69e8f990ece134b50ec0be7b6bf42f14dfbd";
+ hash = "sha256-/8ybs7tlmdVIZORxdcB/xE9Mpyo2cX+VN7eQAS7Qb5k=";
+ };
+ });
+ in {
+ networkmanager-openconnect =
+ (super.networkmanager-openconnect.override {inherit openconnect;})
+ .overrideAttrs (_: final: {
+ version = "unstable-2023-05-29";
+ src = super.fetchFromGitLab {
+ domain = "gitlab.gnome.org";
+ owner = "GNOME";
+ repo = "NetworkManager-openconnect";
+ rev = "030a3a9f05560bdb515ec2a6dad3a0ffbab3b213";
+ hash = "sha256-GvhBKAQmbmzgM1Bh2j6carnGwtL/z5rbPl/jL/4kDoc=";
+ };
+ buildInputs =
+ final.buildInputs
+ ++ [
+ (super.webkitgtk_4_1.override {
+ inherit (super.gnome) libsoup;
+ })
+ ];
+ nativeBuildInputs =
+ final.nativeBuildInputs
+ ++ [
+ super.autoreconfHook
+ ];
+ preAutoreconf = ''
+ autoupdate
+ '';
+ preConfigure = ''
+ NOCONFIGURE=x ./autogen.sh
+ touch gtk4/nm-openconnect-dialog.ui
+ '';
+ });
+
+ plasma5Packages =
+ super.plasma5Packages
+ // {
+ plasma-nm =
+ (super.plasma5Packages.plasma-nm.override {inherit openconnect;})
+ .overrideAttrs (_: final: {
+ buildInputs = final.buildInputs ++ [super.qt5.qtwebengine];
+ patches =
+ final.patches
+ ++ [
+ (super.fetchpatch {
+ url = "https://invent.kde.org/plasma/plasma-nm/-/commit/6ef64be8645ac32fc0b42df2cee5d9ff3b57e485.patch";
+ sha256 = "sha256-b5yTMB7s+wG7X/EyuEa5tBrUU8oKc1Wa0zn0ND1rtI0=";
+ })
+ ];
+ });
+ };
+ })
// (with super; let
np = nodePackages;
in {
diff --git a/modules/common/direnv.nix b/modules/common/direnv.nix
index b235cee..6ec39d1 100644
--- a/modules/common/direnv.nix
+++ b/modules/common/direnv.nix
@@ -10,13 +10,13 @@ in {
mkEnableOption "direnv";
config = mkIf cfg.enable {
- hm = {
- programs.direnv = {
- enable = true;
- nix-direnv.enable = true;
+ hm.programs.direnv = {
+ enable = true;
+ config.global = {
+ strict_env = true;
+ warn_timeout = 0;
};
-
- home.sessionVariables.DIRENV_LOG_FORMAT = "";
+ nix-direnv.enable = true;
};
};
}
diff --git a/modules/common/qutebrowser.nix b/modules/common/qutebrowser.nix
index 7913001..9484ce1 100644
--- a/modules/common/qutebrowser.nix
+++ b/modules/common/qutebrowser.nix
@@ -29,14 +29,10 @@ in {
ansible = "https://galaxy.ansible.com/search?keywords={}";
arch = "https://wiki.archlinux.org/?search={}";
crates = "https://crates.io/search?q={}";
- crawl = "http://crawl.chaosforge.org/index.php?search={}";
discogs = "https://www.discogs.com/search/?q={}";
- dockerdocs = "https://docs.docker.com/search/?q={}";
dockerhub = "https://hub.docker.com/search?q={}";
doublegis = "https://2gis.ru/search/{}";
duckduckgo = "https://duckduckgo.com/?q={}'";
- dwarffortress = "https://dwarffortresswiki.org/index.php?search={}";
- ebay = "https://www.ebay.com/sch/i.html?_nkw={}";
ecosia = "https://www.ecosia.org/search?q={}";
factorio = "https://wiki.factorio.com/index.php?search={}";
genius = "https://genius.com/search?q={}";
@@ -95,7 +91,6 @@ in {
d = duckduckgo;
do = dockerhub;
docker = dockerhub;
- dod = dockerdocs;
g = google;
gh = github;
h = hoogle;
diff --git a/modules/darwin/homebrew.nix b/modules/darwin/homebrew.nix
index f0bec9b..2667828 100644
--- a/modules/darwin/homebrew.nix
+++ b/modules/darwin/homebrew.nix
@@ -9,13 +9,18 @@ in {
options.nixfiles.modules.homebrew.enable = mkEnableOption "Homebrew";
config = mkIf cfg.enable {
+ hm.programs.bash.initExtra = mkAfter ''
+ if [ -x "/opt/homebrew/bin/brew" ]; then
+ export PATH="$PATH:/opt/homebrew/bin"
+ fi
+ '';
+
# This option requires an installed Homebrew[1].
#
# [1]: https://daiderd.com/nix-darwin/manual/index.html#opt-homebrew.enable
# [1]: https://brew.sh
homebrew = {
enable = true;
- taps = [];
onActivation = {
autoUpdate = true;
cleanup = "zap";
diff --git a/modules/nixos/firefox/default.nix b/modules/nixos/firefox/default.nix
index 30927b3..b4f99af 100644
--- a/modules/nixos/firefox/default.nix
+++ b/modules/nixos/firefox/default.nix
@@ -82,6 +82,333 @@ in {
]
++ optional config.nixfiles.modules.ipfs.enable ipfs-companion;
+ search = {
+ force = true;
+
+ default = "DuckDuckGo";
+ order = ["DuckDuckGo" "Google" "Yandex"];
+
+ engines = {
+ "Ebay".metaData.hidden = true;
+ "Amazon.com".metaData.hidden = true;
+
+ "2GIS" = {
+ urls = [{template = "https://2gis.ru/kazan/search/{searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://d-assets.2gis.ru/favicon.png";
+ sha256 = "sha256-BlSaYRcUx9zhfJnVK5V7rsyft4qaueIEOONiCg+6aLE=";
+ }}'';
+ definedAliases = ["@2gis"];
+ };
+
+ "AliExpress" = {
+ urls = [{template = "https://aliexpress.ru/wholesale?SearchText={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "ae01.alicdn.com/images/eng/wholesale/icon/aliexpress.ico";
+ sha256 = "sha256-7xgem2pY2PNuv8as1YnS+U03GvDLLGjhcDLt69rtmaA=";
+ }}'';
+ definedAliases = ["@aliexpress" "@ali"];
+ };
+
+ "Ansible Galaxy" = {
+ urls = [{template = "https://galaxy.ansible.com/search?keywords={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://galaxy.ansible.com/assets/favicon.ico";
+ sha256 = "sha256-oAolpZhdKbVTraes6dDlafpvq/Vypu264vgKN4jzJk8=";
+ }}'';
+ definedAliases = ["@ansible" "@galaxy" "@ag"];
+ };
+
+ "Arch Wiki" = {
+ urls = [{template = "https://wiki.archlinux.org/index.php?search={searchTerms}";}];
+ icon = "${pkgs.fetchurl {
+ url = "https://wiki.archlinux.org/favicon.ico";
+ sha256 = "sha256-0uxMtT8myzTT7p9k6v5UxsguPKu+vHPlglNTMbnN1T0=";
+ }}";
+ definedAliases = ["@archwiki" "@aw"];
+ };
+
+ "crates.io" = {
+ urls = [{template = "https://crates.io/search?q={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://crates.io/favicon.ico";
+ sha256 = "sha256-upooA/+m5KMUD1t4WFY3EOmytdpUFgNqUj12Auta1mM=";
+ }}'';
+ definedAliases = ["@crates"];
+ };
+
+ "Discogs" = {
+ urls = [{template = "https://www.discogs.com/search?q={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://st.discogs.com/d56dcb7367720ea20f1b11a4385705517c7e7702/images/favicon.ico";
+ sha256 = "sha256-zEDrbmcUf8XHUyYzNc6JsWzBioX8sm8tjScGHim5VTk=";
+ }}'';
+ definedAliases = ["@discogs"];
+ };
+
+ "Docker Hub" = {
+ urls = [{template = "https://hub.docker.com/search?q={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://www.docker.com/wp-content/uploads/2023/04/cropped-Docker-favicon-32x32.png";
+ sha256 = "sha256-4NmHGMaq31qoIvdlmy7fI3qTbkcp1/tJhqQu/9Ci4/c=";
+ }}'';
+ definedAliases = ["@dockerhub" "@docker"];
+ };
+
+ "Ecosia" = {
+ urls = [{template = "https://www.ecosia.org/search?q={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://cdn-static.ecosia.org/static/icons/favicon.ico";
+ sha256 = "sha256-uvPShG1yVh4C4zaJmGuhhr96V/NredB1Wte9O3U6QxA=";
+ }}'';
+ definedAliases = ["@ecosia"];
+ };
+
+ "Genius" = {
+ urls = [{template = "https://genius.com/search?q={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://assets.genius.com/images/apple-touch-icon.png";
+ sha256 = "sha256-M9YQEVg3T7hMO/xPfihR1aXfG+/pNiVOBCOtzx3GrkE=";
+ }}'';
+ definedAliases = ["@genius"];
+ };
+
+ "GitHub" = {
+ urls = [{template = "https://github.com/search?q={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://github.githubassets.com/favicons/favicon-dark.svg";
+ sha256 = "sha256-qu/d9ftvsntplFuxw9RFL8BpI9b2g5b6xfeGw6Ekh6w=";
+ }}'';
+ definedAliases = ["@github" "@gh"];
+ };
+
+ "godocs.io" = {
+ urls = [{template = "https://godocs.io/?q={}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://go.dev/images/favicon-gopher.svg";
+ sha256 = "sha256-OlKpUUeYF8TtMoX4e0ERK1ocIb53OJ8ZDxvwJaQVM/0=";
+ }}'';
+ definedAliases = ["@godocs"];
+ };
+
+ "pkgs.go.dev" = {
+ urls = [{template = "https://pkg.go.dev/search?q={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://go.dev/images/favicon-gopher.svg";
+ sha256 = "sha256-OlKpUUeYF8TtMoX4e0ERK1ocIb53OJ8ZDxvwJaQVM/0=";
+ }}'';
+ definedAliases = ["@gopkgs"];
+ };
+
+ "Hackage" = {
+ urls = [{template = "https://hackage.haskell.org/packages/search?terms={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://hackage.haskell.org/static/favicon.png";
+ sha256 = "sha256-+6WAv93yaA3L2eheGKxklY/uRAvbKD1q/WcmufmhKxY=";
+ }}'';
+ definedAliases = ["@hackage"];
+ };
+
+ "Hoogle" = {
+ urls = [{template = "https://hoogle.haskell.org/?hoogle={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://hoogle.haskell.org/favicon.png";
+ sha256 = "sha256-6qmjRYDDRUwm6EdLoZB6o9XtoujsfDEQJ9xOu3Knei8=";
+ }}'';
+ definedAliases = ["@hoogle"];
+ };
+
+ "Jisho" = {
+ urls = [{template = "https://jisho.org/search/{searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://assets.jisho.org/assets/favicon-062c4a0240e1e6d72c38aa524742c2d558ee6234497d91dd6b75a182ea823d65.ico";
+ sha256 = "sha256-BixKAkDh5tcsOKpSR0LC1VjuYjRJfZHda3WhguqCPWU=";
+ }}'';
+ definedAliases = ["@jisho"];
+ };
+
+ "コトバンク" = {
+ urls = [{template = "https://kotobank.jp/gs/?q={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://kotobank.jp/favicon.ico";
+ sha256 = "sha256-t+EzqURlQwznuBqa0GcBbqumvZqtU7HrEAjGUlqp1tg=";
+ }}'';
+ definedAliases = ["@kotobank"];
+ };
+
+ "Kubernetes" = {
+ urls = [{template = "https://kubernetes.io/search/?q={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://kubernetes.io/images/favicon.png";
+ sha256 = "sha256-YI5QvGQXoaTG3uUGQ/R99Xl2r+VqBAA1qqthzPbf8nQ=";
+ }}'';
+ definedAliases = ["@kubernetes" "@k8s"];
+ };
+
+ "Last.fm" = {
+ urls = [{template = "https://www.last.fm/search?q={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://www.last.fm/static/images/favicon.702b239b6194.ico";
+ sha256 = "sha256-ID+DfF+dZ5CzKiBp/psQPRD6r/06PZ0rVYiELWUt5Mw=";
+ }}'';
+ definedAliases = ["@lastfm"];
+ };
+
+ "MDN" = {
+ urls = [{template = "https://developer.mozilla.org/en-US/search?q={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://developer.mozilla.org/favicon-48x48.cbbd161b.png";
+ sha256 = "sha256-Wnd0BqQIKgroGmV+R8vqV9uNBwDvcxBrQ8hXOLOFeKY=";
+ }}'';
+ definedAliases = ["@mdn"];
+ };
+
+ "MELPA" = {
+ urls = [{template = "https://melpa.org/#/?q={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://melpa.org/favicon.ico";
+ sha256 = "sha256-bmlydqXBM8MUMC6cOTGSHPx6zN8tZFqmQ+srbXkSCA4=";
+ }}'';
+ definedAliases = ["@melpa"];
+ };
+
+ "MusicBrainz" = {
+ urls = [{template = "https://musicbrainz.org/search?type=artist&query={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://musicbrainz.org/static/images/favicons/favicon-16x16.png";
+ sha256 = "sha256-M5mKQurmO9AP0gfC+5OLwi8k4XWQy759eQrrKAeytl0=";
+ }}'';
+ definedAliases = ["@musicbrainz" "@mb"];
+ };
+
+ "NixOS Packages" = {
+ urls = [{template = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://nixos.org/favicon.png";
+ sha256 = "sha256-awcsDbbpRcDJnJpRavj/IcKMReEektRcqKbE35IJTKQ=";
+ }}'';
+ definedAliases = ["@nixpkgs" "@np"];
+ };
+
+ "NixOS Options" = {
+ urls = [{template = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://nixos.org/favicon.png";
+ sha256 = "sha256-awcsDbbpRcDJnJpRavj/IcKMReEektRcqKbE35IJTKQ=";
+ }}'';
+ definedAliases = ["@nixopts" "@no"];
+ };
+
+ "NixOS Wiki" = {
+ urls = [{template = "https://nixos.wiki/index.php?search={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://nixos.wiki/favicon.png";
+ sha256 = "sha256-DE8IgVninF6Aq3iNMgerhvF1dpoXqDUSibtWSpf/dN4=";
+ }}'';
+ definedAliases = ["@nixoswiki" "@nw"];
+ };
+
+ "OpenStreetMap" = {
+ urls = [{template = "https://www.openstreetmap.org/search?query={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://www.openstreetmap.org/assets/favicon-32x32-99b88fcadeef736889823c8a886b89d8cada9d4423a49a27de29bacc0a6bebd1.png";
+ sha256 = "sha256-dt4QVbQPdb4neS/fwH3yOWOSbEdkjMZtAYnIeCfr7qI=";
+ }}'';
+ definedAliases = ["@openstreetmap" "@osm" "@maps"];
+ };
+
+ "ProtonDB" = {
+ urls = [{template = "https://www.protondb.com/search?q={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://www.protondb.com/sites/protondb/images/favicon.ico";
+ sha256 = "sha256-oauOp0EASNjMcThfzYJ2TfbaOYHBPL8LOp+9lmp4pmc=";
+ }}'';
+ definedAliases = ["@protondb"];
+ };
+
+ "PyPI" = {
+ urls = [{template = "https://pypi.org/search/?q={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://pypi.org/static/images/logo-small.2a411bc6.svg";
+ sha256 = "sha256-+fcSfcNxAMLIFkp+gh52c48lQORoyhcegUIFtuq/zYs=";
+ }}'';
+ definedAliases = ["@pypi"];
+ };
+
+ "Python Docs" = {
+ urls = [{template = "https://docs.python.org/3/search.html?q={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://docs.python.org/3/_static/py.svg";
+ sha256 = "sha256-WGW+i8wK+IhZSQPqARL2yNkjxXJsQIHoyFYRDMcznO8=";
+ }}'';
+ definedAliases = ["@pydocs"];
+ };
+
+ "Rate Your Music" = {
+ urls = [{template = "https://rateyourmusic.com/search?searchterm={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://e.snmc.io/3.0/img/logo/sonemic-32.png";
+ sha256 = "sha256-JpTt1tjBkUvDMTGrG7Hg2EiE8PR3RL7McodeZk1EpZA=";
+ }}'';
+ definedAliases = ["@rym"];
+ };
+
+ "Rust Std" = {
+ urls = [{template = "https://doc.rust-lang.org/std/?search={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://www.rust-lang.org/static/images/favicon-32x32.png";
+ sha256 = "sha256-l2y4jpnODbua4dyLvXTMBlHVkoDPM9y00l6L61so7eA=";
+ }}'';
+ definedAliases = ["@ruststd" "@rust"];
+ };
+
+ "SourceHut" = {
+ urls = [{template = "https://sr.ht/projects?search={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://sr.ht/static/logo.png";
+ sha256 = "sha256-NBzKZhqE9//zVJlOwYiwyW/jRFh8+nS2YvC3zMCQ1fU=";
+ }}'';
+ definedAliases = ["@sourcehut" "@srht"];
+ };
+
+ "SteamDB" = {
+ urls = [{template = "https://steamdb.info/search/?a=app&q={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://steamdb.info/static/logos/32px.png";
+ sha256 = "sha256-IUBiB5JUSvyDa+m/wecmHB8s3Wfu0JK98bJ+ZRZ5ybQ=";
+ }}'';
+ definedAliases = ["@steamdb"];
+ };
+
+ "WolframAlpha" = {
+ urls = [{template = "https://www.wolframalpha.com/input?i={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://www.wolframalpha.com/_next/static/images/favicon_1zbE9hjk.ico";
+ sha256 = "sha256-S9k7AlBQiDElBCGopJ8xfBD6dIhGU+EBh8t1QYbP2S4=";
+ }}'';
+ definedAliases = ["@wolframalpha" "@wa"];
+ };
+
+ "Yandex" = {
+ urls = [{template = "https://yahoo.com/search/?text={searchTerms}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://yastatic.net/s3/web4static/_/v2/oxjfXL1EO-B5Arm80ZrL00p0al4.png";
+ sha256 = "sha256-gvYh4oCZEO7BL2QZ6QvQFlmFiP2L4SLJrxAsKFcG6G4=";
+ }}'';
+ definedAliases = ["@yahoo" "@ya"];
+ };
+
+ "YouTube" = {
+ urls = [{template = "https://yewtu.be/search?q={}";}];
+ icon = ''${pkgs.fetchurl {
+ url = "https://www.youtube.com/s/desktop/280a3f09/img/favicon.ico";
+ sha256 = "sha256-i7HQ+kOhdDbVndVG9vdMdtxEc13vdSLCLYAxFm24kR0=";
+ }}'';
+ definedAliases = ["@youtube" "@yt"];
+ };
+ };
+ };
+
# https://github.com/arkenfox/user.js/blob/master/user.js
arkenfox = {
enable = true;
diff --git a/modules/nixos/firefox/userContent.css b/modules/nixos/firefox/userContent.css
index 6335ff5..5a297ab 100644
--- a/modules/nixos/firefox/userContent.css
+++ b/modules/nixos/firefox/userContent.css
@@ -291,7 +291,8 @@
{
#nav-footer,
.main-document-header-container.top-navigation,
- .mdn-cta-container {
+ .mdn-cta-container,
+ .top-banner.fallback {
display: none !important;
}
@@ -355,3 +356,14 @@
display: none !important;
}
}
+
+@-moz-document regexp("https?://ecosia\.org.*")
+{
+ .cookie-wrapper,
+ .main-header__install-cta,
+ .meta-results,
+ .notifications,
+ .personal-counter {
+ display: none !important;
+ }
+}