Add Noogle
Add both a bookmark and a search shortcut for noogle
This commit is contained in:
+144
-94
@@ -1,11 +1,14 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.greg.gui;
|
cfg = config.greg.gui;
|
||||||
|
|
||||||
excludes = systems: opts: (
|
excludes = systems: opts: (if (builtins.all (x: pkgs.system != x) systems) then opts else [ ]);
|
||||||
if (builtins.all (x: pkgs.system != x) systems) then opts else [ ]
|
|
||||||
);
|
|
||||||
|
|
||||||
# For now, we ignore this and don't install it
|
# For now, we ignore this and don't install it
|
||||||
ffPkgs = pkgs.firefox.override { cfg.enableGnomeExtensions = true; };
|
ffPkgs = pkgs.firefox.override { cfg.enableGnomeExtensions = true; };
|
||||||
@@ -17,105 +20,152 @@ in
|
|||||||
{
|
{
|
||||||
options.greg.gui = lib.mkEnableOption "Enable GUI programs";
|
options.greg.gui = lib.mkEnableOption "Enable GUI programs";
|
||||||
|
|
||||||
config = (lib.mkIf cfg {
|
config = (
|
||||||
# These packages are Linux only
|
lib.mkIf cfg {
|
||||||
home.packages = with pkgs; (excludes [ "x86_64-darwin" "aarch64-darwin" ]
|
# These packages are Linux only
|
||||||
[
|
home.packages =
|
||||||
cdrtools
|
with pkgs;
|
||||||
element-desktop
|
(excludes
|
||||||
freetube
|
[
|
||||||
qpwgraph
|
"x86_64-darwin"
|
||||||
vlc
|
"aarch64-darwin"
|
||||||
x265
|
]
|
||||||
]) ++
|
[
|
||||||
|
cdrtools
|
||||||
|
element-desktop
|
||||||
|
freetube
|
||||||
|
qpwgraph
|
||||||
|
vlc
|
||||||
|
x265
|
||||||
|
]
|
||||||
|
)
|
||||||
|
++
|
||||||
|
|
||||||
# x86_64-linux only
|
# x86_64-linux only
|
||||||
(excludes [ "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ]
|
(excludes
|
||||||
[
|
[
|
||||||
bitwarden
|
"x86_64-darwin"
|
||||||
discord
|
"aarch64-darwin"
|
||||||
endeavour
|
"aarch64-linux"
|
||||||
gnucash
|
]
|
||||||
jellyfin-media-player
|
[
|
||||||
#logseq
|
bitwarden
|
||||||
nextcloud-client
|
discord
|
||||||
slack
|
endeavour
|
||||||
]) ++
|
gnucash
|
||||||
|
jellyfin-media-player
|
||||||
|
#logseq
|
||||||
|
nextcloud-client
|
||||||
|
slack
|
||||||
|
]
|
||||||
|
)
|
||||||
|
++
|
||||||
|
|
||||||
# Items that are not supported on ARM/Linux
|
# Items that are not supported on ARM/Linux
|
||||||
(excludes [ "aarch64-linux" ]
|
(excludes [ "aarch64-linux" ] [
|
||||||
[
|
onlyoffice-bin
|
||||||
onlyoffice-bin
|
synology-drive-client
|
||||||
synology-drive-client
|
zoom-us
|
||||||
zoom-us
|
]);
|
||||||
]);
|
|
||||||
|
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
enable = (! pkgs.stdenv.hostPlatform.isDarwin);
|
enable = (!pkgs.stdenv.hostPlatform.isDarwin);
|
||||||
package = ffPkgs;
|
package = ffPkgs;
|
||||||
policies = {
|
policies = {
|
||||||
DisableAppUpdate = true;
|
DisableAppUpdate = true;
|
||||||
};
|
};
|
||||||
profiles = {
|
profiles = {
|
||||||
default = {
|
default = {
|
||||||
bookmarks = import ./gui/bookmarks.nix;
|
bookmarks = import ./gui/bookmarks.nix;
|
||||||
id = 0;
|
id = 0;
|
||||||
isDefault = true;
|
isDefault = true;
|
||||||
search = {
|
search = {
|
||||||
default = "DuckDuckGo";
|
default = "DuckDuckGo";
|
||||||
force = true;
|
force = true;
|
||||||
engines = {
|
engines = {
|
||||||
Google.metaData.alias = "@g";
|
Google.metaData.alias = "@g";
|
||||||
"Nix Packages" = {
|
"Nix Packages" = {
|
||||||
urls = [{
|
urls = [
|
||||||
template = "https://search.nixos.org/packages";
|
{
|
||||||
params = [
|
template = "https://search.nixos.org/packages";
|
||||||
{ name = "type"; value = "packages"; }
|
params = [
|
||||||
{ name = "query"; value = "{searchTerms}"; }
|
{
|
||||||
|
name = "type";
|
||||||
|
value = "packages";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
];
|
];
|
||||||
}];
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
definedAliases = [ "@np" ];
|
||||||
definedAliases = [ "@np" ];
|
};
|
||||||
};
|
"Nix Options" = {
|
||||||
"Nix Options" = {
|
urls = [
|
||||||
urls = [{
|
{
|
||||||
template = "https://search.nixos.org/options";
|
template = "https://search.nixos.org/options";
|
||||||
params = [
|
params = [
|
||||||
{ name = "type"; value = "packages"; }
|
{
|
||||||
{ name = "query"; value = "{searchTerms}"; }
|
name = "type";
|
||||||
|
value = "packages";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
];
|
];
|
||||||
}];
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
definedAliases = [ "@no" ];
|
||||||
definedAliases = [ "@no" ];
|
};
|
||||||
|
"Noogle" = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://noogle.dev/q";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "term";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = [ "@nl" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
settings = {
|
||||||
|
"app.update.auto" = false;
|
||||||
|
"browser.ctrlTab.sortByRecentlyUsed" = true;
|
||||||
|
"browser.startup.page" = 3;
|
||||||
|
"browser.startup.homepage" = "https://thehellings.com";
|
||||||
|
"doh-rollout.doorhanger-decision" = "UIDisabled";
|
||||||
|
"doh-rollout.doneFirstRun" = true;
|
||||||
|
"signon.rememberSignons" = false;
|
||||||
|
};
|
||||||
|
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||||
|
bitwarden
|
||||||
|
gsconnect
|
||||||
|
foxyproxy-standard
|
||||||
|
multi-account-containers
|
||||||
|
octotree
|
||||||
|
okta-browser-plugin
|
||||||
|
refined-github
|
||||||
|
tree-style-tab
|
||||||
|
ublock-origin
|
||||||
|
];
|
||||||
};
|
};
|
||||||
settings = {
|
|
||||||
"app.update.auto" = false;
|
|
||||||
"browser.ctrlTab.sortByRecentlyUsed" = true;
|
|
||||||
"browser.startup.page" = 3;
|
|
||||||
"browser.startup.homepage" = "https://thehellings.com";
|
|
||||||
"doh-rollout.doorhanger-decision" = "UIDisabled";
|
|
||||||
"doh-rollout.doneFirstRun" = true;
|
|
||||||
"signon.rememberSignons" = false;
|
|
||||||
};
|
|
||||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
||||||
bitwarden
|
|
||||||
gsconnect
|
|
||||||
foxyproxy-standard
|
|
||||||
multi-account-containers
|
|
||||||
octotree
|
|
||||||
okta-browser-plugin
|
|
||||||
refined-github
|
|
||||||
tree-style-tab
|
|
||||||
ublock-origin
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
# This is supposed to be in support of Firefox, but I dunno...
|
# This is supposed to be in support of Firefox, but I dunno...
|
||||||
programs.bash.sessionVariables = vars;
|
programs.bash.sessionVariables = vars;
|
||||||
programs.xonsh.sessionVariables = vars;
|
programs.xonsh.sessionVariables = vars;
|
||||||
});
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -130,6 +130,10 @@
|
|||||||
name = "Nixpkgs functions";
|
name = "Nixpkgs functions";
|
||||||
url = "https://ryantm.github.io/nixpkgs/functions/library/strings/#sec-functions-library-strings";
|
url = "https://ryantm.github.io/nixpkgs/functions/library/strings/#sec-functions-library-strings";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "Noogle";
|
||||||
|
url = "https://noogle.dev/";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "NUR search";
|
name = "NUR search";
|
||||||
url = "https://nur.nix-community.org/";
|
url = "https://nur.nix-community.org/";
|
||||||
|
|||||||
Reference in New Issue
Block a user