Merge branch 'trunk' into upgrade-25.11

This commit is contained in:
Primrose 2025-11-26 15:55:11 +08:00
commit 2cc0f3bd6f
Signed by: primrose
GPG key ID: 4E887A4CA9714ADA
8 changed files with 377 additions and 8 deletions

View file

@ -95,7 +95,7 @@ isEvolutionComposer =
]
isFirefox :: Query Bool
isFirefox = className =? "firefox"
isFirefox = className =? "firefox" <||> className ^? "zen"
isSpotify :: Query Bool
isSpotify = isFirefox <&&> title ~? "Spotify"
@ -112,9 +112,11 @@ isSignal = className =? "Signal"
isElement :: Query Bool
isElement = isFirefox <&&> title ~? "Element"
-- This changes depending on the locale of the browser :/
isFirefoxPip :: Query Bool
isFirefoxPip = isFirefox <&&> title =? "Incrustation vidéo"
isFirefoxPip =
isFirefox
-- This changes depending on the locale of the browser :/
<&&> (title =? "Incrustation vidéo" <||> title =? "Picture-in-Picture")
isPavucontrol :: Query Bool
isPavucontrol = className =? "pavucontrol"
@ -223,7 +225,9 @@ myStartupHook = do
-- - setting `home.sessionVariable` (home-manager) would only effect shells, probably due to the order of launched processes blah blah
-- - setting `environment.sessionVariables` (NixOS) would make my set up less portable
putEnv "GLFW_IM_MODULE=ibus" -- Make sure kitty knows how to talk to fcitx
putEnv "MOZ_USE_XINPUT2=1" -- Force touchpad for firefox
-- TODO: doesn't work for firefox nor for zen since 145.0
-- putEnv "MOZ_USE_XINPUT2=1" -- Force touchpad for firefox
removedKeybinds :: [(KeyMask, KeySym)]
removedKeybinds =
@ -309,7 +313,7 @@ keybinds =
)
-- Launcher
++ (let launchFirefox = "if type firefox; then firefox; else firefox-esr; fi"
++ (let launchFirefox = "zen"
launchDmenu = "dmenu_run -i -fn \"Iosevka-14\" -nb \"#36363a\" -nf \"#e2e2e4\" -sb \"#f7f7f8\" -sf \"#36363a\" -l 10"
lock = "xscreensaver-command -lock"
in [ ((controlMask .|. altMask, xK_m), namedScratchpadAction myScratchpads "cmus" )

View file

@ -0,0 +1,165 @@
{
pkgs,
config,
...
}:
let
inherit (pkgs) nur;
in
{
programs.zen-browser = {
enable = true;
policies.SearchEngines.Add = [
# Forges
{
Name = "GitHub";
Alias = "@gh";
IconURL = "https://github.com/favicon.ico";
Description = "Your code yum yum";
URLTemplate = "https://github.com/search?q={searchTerms}&type=repositories";
}
{
Name = "GitHub (Code Search)";
Alias = "@ghc";
IconURL = "https://github.com/favicon.ico";
Description = "Your code yum yum";
URLTemplate = "https://github.com/search?q={searchTerms}&type=code";
}
{
Name = "Codeberg";
Alias = "@cb";
IconURL = "https://codeberg.org/favicon.ico";
Description = "Software development, but free!";
URLTemplate = "https://codeberg.org/explore/repos?q={searchTerms}";
}
{
Name = "?C";
Alias = "@cc";
IconURL = "https://git.confusedcompiler.org/favicon.ico";
URLTemplate = "https://git.confusedcompiler.org/explore/repos?q={searchTerms}";
}
# Nix{,OS,pkgs}
{
Name = "NixOS Search (Package)";
Alias = "@np";
IconURL = "https://nixos.org/favicon.ico";
Description = "Search in nixpkgs";
URLTemplate = "https://search.nixos.org/packages?query={searchTerms}";
}
{
Name = "NixOS Search (Options)";
Alias = "@no";
IconURL = "https://nixos.org/favicon.ico";
Description = "Search in NixOS options";
URLTemplate = "https://search.nixos.org/options?query={searchTerms}";
}
# Haskell
{
Name = "Flora";
Alias = "@hs";
IconURL = "https://flora.pm/static/icons/favicon-32x32.png";
URLTemplate = "https://flora.pm/search?q={searchTerms}";
}
# Discourse
{
Name = "NixOS Discourse";
Alias = "@nd";
IconURL = "https://nixos.org/favicon.ico";
URLTemplate = "https://discourse.nixos.org/search?q={searchTerms}";
}
{
Name = "Framework Discourse";
Alias = "@fd";
IconURL = "https://frame.work/favicon.ico";
URLTemplate = "https://community.frame.work/search?q={searchTerms}";
}
# Misc
{
Name = "YouTube";
Alias = "@yt";
IconURL = "https://youtube.com/favicon.ico";
SuggestURLTemplate = "http://suggestqueries.google.com/complete/search?q={searchTerms}&ds=yt";
URLTemplate = "https://www.youtube.com/results?search_query={searchTerms}";
}
{
Name = "Genius";
Alias = "@geni";
IconURL = "https://genius.com/favicon.ico";
URLTemplate = "https://genius.com/search?q={searchTerms}";
}
];
profiles = {
default = {
settings = {
# "full-screen-api.ignore-widgets" = true; # limit fullscreen mode to window
};
userChrome = ''
/* monofont tweak */
#statuspanel-label {
font-family: monospace;
}
.urlbar-input-box {
font-family: monospace;
}
'';
extensions.packages =
let
addons = nur.repos.rycee.firefox-addons;
in
[
addons.sponsorblock
addons.return-youtube-dislikes
addons.consent-o-matic
];
};
junk = {
id = 1;
inherit (config.programs.zen-browser.profiles.default)
settings
userChrome
;
extensions.packages =
let
addons = nur.repos.rycee.firefox-addons;
in
[ addons.multi-account-containers ];
containers = {
raisin = {
color = "purple";
icon = "fruit";
id = 1;
};
pomme = {
color = "red";
icon = "fruit";
id = 2;
};
};
};
# Isolate it because it's proprietary
tampermonkey = {
id = 2;
inherit (config.programs.zen-browser.profiles.default)
settings
userChrome
;
extensions.packages =
let
addons = nur.repos.rycee.firefox-addons;
in
[ addons.tampermonkey ];
};
};
};
}