unify config a bit
This commit is contained in:
@ -1,106 +1,6 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
stdenv,
|
||||
specialArgs,
|
||||
...
|
||||
}: let
|
||||
extensions = with specialArgs.ff-addons; [
|
||||
bitwarden
|
||||
darkreader
|
||||
i-dont-care-about-cookies
|
||||
privacy-badger
|
||||
ublock-origin
|
||||
# tree-style-tab
|
||||
# tridactyl
|
||||
keepassxc-browser
|
||||
];
|
||||
|
||||
userChrome = builtins.readFile ./userChrome.css;
|
||||
|
||||
# ~/.mozilla/firefox/PROFILE_NAME/prefs.js | user.js
|
||||
settings = {
|
||||
"app.normandy.first_run" = false;
|
||||
"app.shield.optoutstudies.enabled" = false;
|
||||
|
||||
# disable updates (pretty pointless with nix)
|
||||
"app.update.channel" = "default";
|
||||
|
||||
"browser.contentblocking.category" = "standard"; # "strict"
|
||||
"browser.ctrlTab.recentlyUsedOrder" = false;
|
||||
|
||||
"browser.download.viewableInternally.typeWasRegistered.svg" = true;
|
||||
"browser.download.viewableInternally.typeWasRegistered.webp" = true;
|
||||
"browser.download.viewableInternally.typeWasRegistered.xml" = true;
|
||||
|
||||
"browser.search.region" = "DE";
|
||||
|
||||
"browser.shell.checkDefaultBrowser" = false;
|
||||
"browser.tabs.loadInBackground" = true;
|
||||
"browser.urlbar.placeholderName" = "EnteEnteLauf";
|
||||
"browser.urlbar.showSearchSuggestionsFirst" = false;
|
||||
|
||||
# disable all the annoying quick actions
|
||||
"browser.urlbar.quickactions.enabled" = false;
|
||||
"browser.urlbar.quickactions.showPrefs" = false;
|
||||
"browser.urlbar.shortcuts.quickactions" = false;
|
||||
"browser.urlbar.suggest.quickactions" = false;
|
||||
|
||||
# disable tab preview on hover
|
||||
"browser.tabs.hoverPreview.enabled" = false;
|
||||
"browser.tabs.hoverPreview.showThumbnails" = false;
|
||||
|
||||
"distribution.searchplugins.defaultLocale" = "en-US";
|
||||
|
||||
"doh-rollout.balrog-migration-done" = true;
|
||||
"doh-rollout.doneFirstRun" = true;
|
||||
|
||||
"general.useragent.locale" = "en-US";
|
||||
|
||||
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
|
||||
|
||||
"extensions.extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
|
||||
"extensions.update.enabled" = false;
|
||||
"extensions.webcompat.enable_picture_in_picture_overrides" = true;
|
||||
"extensions.webcompat.enable_shims" = true;
|
||||
"extensions.webcompat.perform_injections" = true;
|
||||
"extensions.webcompat.perform_ua_overrides" = true;
|
||||
|
||||
"privacy.donottrackheader.enabled" = true;
|
||||
|
||||
# Yubikey
|
||||
"security.webauth.u2f" = true;
|
||||
"security.webauth.webauthn" = true;
|
||||
"security.webauth.webauthn_enable_softtoken" = false;
|
||||
"security.webauth.webauthn_enable_usbtoken" = true;
|
||||
|
||||
"network.dns.ipv4OnlyDomains" = "google.com";
|
||||
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
"layout.word_select.stop_at_punctuation" = false;
|
||||
};
|
||||
in {
|
||||
programs.firefox = {
|
||||
{pkgs, ...}: {
|
||||
personal.firefox = {
|
||||
enable = true;
|
||||
|
||||
package = pkgs.firefox-bin;
|
||||
|
||||
profiles = {
|
||||
default = {
|
||||
isDefault = true;
|
||||
id = 0;
|
||||
inherit extensions settings userChrome;
|
||||
};
|
||||
};
|
||||
|
||||
# webapps = {
|
||||
# rocket-chat = {
|
||||
# url = "https://chat.hetzner.company";
|
||||
# id = 1;
|
||||
|
||||
# genericName = "Internet Messenger";
|
||||
# categories = ["Network" "InstantMessaging"];
|
||||
# };
|
||||
# };
|
||||
extraExtensions = with pkgs.nur.repos.rycee.firefox-addons; [keepassxc-browser];
|
||||
};
|
||||
}
|
||||
|
@ -1,88 +0,0 @@
|
||||
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/toolbars_below_content.css made available under Mozilla Public License v. 2.0
|
||||
See the above repository for updates as well as full license text. */
|
||||
|
||||
/* Moves tabs toolbar, bookmarks toolbar and main toolbar to the bottom of the window, and makes tabs be the bottom-most toolbar */
|
||||
|
||||
/* By default, menubar will stay on top with two options to select it's behavior - see below */
|
||||
|
||||
@-moz-document url(chrome://browser/content/browser.xhtml){
|
||||
|
||||
#titlebar{ -moz-appearance: none !important; }
|
||||
|
||||
#navigator-toolbox > div{ display: contents }
|
||||
.global-notificationbox,
|
||||
#mainPopupSet,
|
||||
#browser,
|
||||
#customization-container,
|
||||
#tab-notification-deck{
|
||||
order: -1;
|
||||
}
|
||||
|
||||
/* Remove the next row if you want tabs to be the top-most row */
|
||||
#titlebar{
|
||||
order: 2;
|
||||
}
|
||||
|
||||
#toolbar-menubar{
|
||||
position: fixed;
|
||||
display: flex;
|
||||
width: 100vw;
|
||||
top: 0px;
|
||||
-moz-window-dragging: drag;
|
||||
}
|
||||
/* Remove bottom border that won't do anything useful when at bottom of the window */
|
||||
#navigator-toolbox{ border-bottom: none !important; }
|
||||
|
||||
#toolbar-menubar > spacer{ flex-grow: 1 }
|
||||
|
||||
#urlbar[breakout][breakout-extend]{
|
||||
display: flex !important;
|
||||
flex-direction: column-reverse;
|
||||
bottom: 0px !important; /* Change to 3-5 px if using compact_urlbar_megabar.css depending on toolbar density */
|
||||
top: auto !important;
|
||||
}
|
||||
|
||||
.urlbarView-body-inner{ border-top-style: none !important; }
|
||||
|
||||
/* Yeah, removes window controls. Likely not wanted on bottom row */
|
||||
#TabsToolbar > .titlebar-buttonbox-container{ display: none }
|
||||
#toolbar-menubar > .titlebar-buttonbox-container{ order: 1000 }
|
||||
|
||||
/* Fix panels sizing */
|
||||
.panel-viewstack{ max-height: unset !important; }
|
||||
|
||||
/* Fullscreen mode support */
|
||||
:root[sizemode="fullscreen"] #navigator-toolbox{ margin-top: 0 !important }
|
||||
:root[sizemode="fullscreen"] #navigator-toolbox[style*="margin-top"]{ visibility: collapse }
|
||||
#fullscr-toggler{ bottom: 0; top: unset !important; }
|
||||
|
||||
/* These three rules exist for compatibility with autohide_toolbox.css */
|
||||
#navigator-toolbox{ bottom: 0px; transform-origin: bottom }
|
||||
#main-window > body > box{ margin-top: 0 !important; }
|
||||
#toolbar-menubar{ z-index: 1; background-color: var(--lwt-accent-color,black); }
|
||||
|
||||
:root[BookmarksToolbarOverlapsBrowser] #navigator-toolbox{
|
||||
margin-block: calc(-1 * var(--bookmarks-toolbar-height)) 0 !important;
|
||||
}
|
||||
:root[BookmarksToolbarOverlapsBrowser] .newTabBrowserPanel{
|
||||
padding-block: 0 var(--bookmarks-toolbar-height) !important;
|
||||
}
|
||||
|
||||
/**************
|
||||
Menubar options - By default, menubar is overlayed on top of web-content
|
||||
***************/
|
||||
|
||||
/* Uncomment the following if you want static menubar on top of the window (make menubar enabled)
|
||||
* Use when menubar is enabled to always show it */
|
||||
|
||||
/*
|
||||
#browser,#customization-container{ padding-top: var(--uc-menubar-spacer,28px) }
|
||||
*/
|
||||
|
||||
/* OR, uncomment the following if you want menubar to appear below content, above tabs toolbar */
|
||||
|
||||
#toolbar-menubar{ position: static; display: flex; margin-top: 0px !important; background-color: transparent }
|
||||
|
||||
/* set to "column-reverse" (without quotes) if you want tabs above menubar with the above option */
|
||||
#titlebar{ flex-direction: column }
|
||||
}
|
@ -1,19 +1,82 @@
|
||||
{pkgs, ...}: {
|
||||
wayland.windowManager.hyprland = let
|
||||
locker = "${pkgs.swaylock}/bin/swaylock";
|
||||
set-dpms = "${pkgs.hyprland}/bin/hyprctl dispatcher dpms";
|
||||
locked-dpms = pkgs.writeShellScript "locked-dpms.sh" ''
|
||||
${pkgs.swayidle}/bin/swayidle -w \
|
||||
timeout 10 'if pgrep -x swaylock; then ${set-dpms} off; fi' \
|
||||
resume '${set-dpms} on'
|
||||
'';
|
||||
idle-script = pkgs.writeShellScript "idle-lock.sh" ''
|
||||
${pkgs.swayidle}/bin/swayidle -w \
|
||||
timeout 300 '${locker} -f' \
|
||||
timeout 330 '${set-dpms} off' \
|
||||
resume '${set-dpms} on'
|
||||
'';
|
||||
in {
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
general = {
|
||||
lock_cmd = "pidof hyprlock || hyprlock";
|
||||
};
|
||||
|
||||
listener = [
|
||||
{
|
||||
timeout = 300;
|
||||
on-timeout = "loginctl lock-session";
|
||||
}
|
||||
{
|
||||
timeout = 330;
|
||||
on-timeout = "hyprctl dispatch dpms off";
|
||||
on-resume = "hyprctl dispatch dpms on";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
background = {
|
||||
monitor = "";
|
||||
path = "screenshot";
|
||||
|
||||
blur_passes = 2;
|
||||
blur_size = 7;
|
||||
noise = 1.17e-2;
|
||||
};
|
||||
|
||||
label = [
|
||||
{
|
||||
monitor = "";
|
||||
text = "$TIME";
|
||||
color = "rgba(242, 243, 244, 0.75)";
|
||||
font_size = 95;
|
||||
position = "0, 300";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
{
|
||||
monitor = "";
|
||||
text = ''cmd[update:1000] echo $(date +"%A, %B %d")'';
|
||||
color = "rgba(242, 243, 244, 0.75)";
|
||||
font_size = 22;
|
||||
position = "0, 200";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
|
||||
input-field = {
|
||||
monitor = "";
|
||||
size = "200,50";
|
||||
outline_thickness = 2;
|
||||
dots_size = 0.2;
|
||||
dots_spacing = 0.35;
|
||||
dots_center = true;
|
||||
outer_color = "rgba(0, 0, 0, 0)";
|
||||
inner_color = "rgba(0, 0, 0, 0.2)";
|
||||
font_color = "rgb(111, 45, 104)";
|
||||
fade_on_empty = false;
|
||||
rounding = -1;
|
||||
check_color = "rgb(30, 107, 204)";
|
||||
placeholder_text = ''<i><span foreground="##cdd6f4">Input Password...</span></i>'';
|
||||
hide_input = false;
|
||||
position = "0, -100";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
@ -22,16 +85,12 @@
|
||||
exec-once = [
|
||||
"${pkgs.waybar}/bin/waybar"
|
||||
"${pkgs.mako}/bin/mako"
|
||||
idle-script
|
||||
locked-dpms
|
||||
];
|
||||
|
||||
monitor = [
|
||||
"eDP-1,1920x1080,0x0,1.333333" # Laptop screen
|
||||
"desc:Dell Inc. DELL P2723DE 79RFH14,2560x1440,1440x0,1"
|
||||
"desc:Dell Inc. DELL P2723DE 39RFH14,2560x1440,4000x0,1"
|
||||
# "desc:LG Electronics LG ULTRAWIDE 0x000219F2,2560x1080,1440x0,1" # Primary @home
|
||||
# "desc:Fujitsu Siemens Computers GmbH B22W-6 LED YV3U164923,1680x1050,4000x0,1" # Secondary @home
|
||||
",preferred,auto,1" # Automatically configure everything else
|
||||
];
|
||||
|
||||
@ -97,7 +156,7 @@
|
||||
"$mod, return, exec, ${pkgs.alacritty}/bin/alacritty"
|
||||
"$mod, D, exec, ${pkgs.rofi-wayland}/bin/rofi -show drun"
|
||||
"$mod SHIFT, Q, killactive, "
|
||||
"$mod, L, exec, ${locker}"
|
||||
"$mod, L, exec, loginctl lock-session"
|
||||
"$mod, V, togglefloating, "
|
||||
"$mod, F, fullscreen, 1"
|
||||
"$mod, P, pseudo, # dwindle"
|
||||
@ -124,10 +183,6 @@
|
||||
"$mod, mouse:273, resizewindow"
|
||||
];
|
||||
|
||||
bindl = [
|
||||
"$mod SHIFT, L, exec, ${locker}"
|
||||
];
|
||||
|
||||
windowrulev2 = [
|
||||
# KeePassXC
|
||||
"float,class:(org.keepassxc.KeePassXC)"
|
||||
|
Reference in New Issue
Block a user