This commit is contained in:
xqtc 2025-01-10 18:43:30 +01:00
parent 9fc71c1419
commit 0b58d9b970
Signed by: xqtc
GPG key ID: 2C064D095926D9D1
6 changed files with 615 additions and 29 deletions

View file

@ -15,4 +15,5 @@
- `lambda`: Lenovo IdeaPad C340-14IML
- `lilith`: Lenovo ThinkPad T480, 32GB DDR4 RAM, 1TB NVME
- `seraphim`: 2012-ish Mac-Mini with 4TB of Storage
- `yosai`: Lenovo T420
```

View file

@ -0,0 +1,493 @@
:root {
--urlbar-collapsed-width: 600px;
--urlbar-open-width: 600px; /* Only when disable-centering-of-URLbar is enabled */
}
#navigator-toolbox {
display: flex;
flex-wrap: wrap;
flex-direction: row;
position: relative !important;
padding-left: var(--tab-block-margin);
}
/* Hide flexible spaces */
toolbarspring,
[id^="wrapper-customizableui-special-spring"] {
display: none !important;
}
/* Tabs */
#titlebar {
width: 0;
flex-grow: 1;
overflow: hidden;
}
#toolbar-menubar[inactive="true"] { /* Prevent duplicate window controls */
display: none !important;
}
#TabsToolbar {
display: flex !important;
/* display: none !important; */
align-items: center;
}
.toolbar-items {
flex-grow: 1 !important;
}
#TabsToolbar-customization-target {
display: flex !important;
margin-block: auto !important;
align-items: center;
}
#tabbrowser-tabs {
overflow: hidden !important;
width: 0 !important;
flex: 1 !important;
}
.tabbrowser-tab {
min-height: calc(var(--tab-min-height) - 2px) !important;
}
.tab-background { /* Just thought it looked nicer */
margin-block: calc(2px + var(--tab-block-margin)) !important;
box-shadow: none !important;
transition: background-color .2s;
}
/* Navigation buttons */
@supports -moz-bool-pref("onebar.hide-navigation-buttons") {
#back-button, #forward-button {
display: none !important;
}
}
@supports not -moz-bool-pref("onebar.hide-navigation-buttons") {
#urlbar-container ~ :is(#back-button, #forward-button) {
display: none !important;
}
/* In the customize menu */
:is(#wrapper-back-button, #wrapper-forward-button) {
opacity: 1 !important;
}
#wrapper-urlbar-container ~ :is(#wrapper-back-button, #wrapper-forward-button) {
opacity: .5 !important;
}
/* Add note in customize menu for nav buttons */
#customization-header::after {
content: "To hide the back & forward buttons, simply drag them to the right of the URL bar";
color: white;
border-radius: 4px;
margin-top: 1em;
display: block;
width: max-content;
}
:root[customizing] .urlbar-input-box {
visibility: visible !important;
}
:root[customizing] .urlbar-input-box::before {
content: "https://";
margin-block: auto;
}
:root[customizing] #urlbar-input {
display: none !important;
}
}
/* Single Tab, *properties* also copy & pasted into "Small Window Fixes" */
@supports not -moz-bool-pref("onebar.disable-single-tab") {
#titlebar #tabbrowser-tabs .tabbrowser-tab:only-of-type {
width: max-content !important;
-moz-box-flex: unset !important;
flex: unset !important;
max-width: unset !important;
margin-inline-end: auto !important;
--toolbar-bgcolor: transparent !important;
--tab-selected-bgimage: transparent !important;
}
.tabbrowser-tab:only-of-type .tab-text {
font-weight: 600 !important;
}
.tabbrowser-tab:only-of-type .tab-close-button,
.tabbrowser-tab:only-of-type .tab-background,
#tabbrowser-tabs:not([closebuttons="activetab"]) ~ #alltabs-button {
display: none !important;
}
}
/* Match button sizes to toolbar buttons */
#TabsToolbar {
--toolbarbutton-inner-padding: 8px !important;
}
#TabsToolbar toolbarbutton {
margin: 0 !important;
}
#alltabs-button {
order: -1;
display : none;
}
.titlebar-buttonbox-container {
order: -100 !important;
}
/* Toolbar */
#nav-bar {
background: none !important;
/* Set max-width so the tabs list dropdown isn't hidden */
max-width: calc(100vw - ((2 * var(--toolbarbutton-inner-padding) + 16px) + (var(--toolbarbutton-outer-padding) * 2)) - var(--tab-block-margin)) !important;
position: static !important;
}
#urlbar-container {
min-width: var(--urlbar-collapsed-width) !important;
z-index: 10;
transition: background-color .2s, width .2s, min-width .2s;
position: static !important;
width: unset !important;
}
#urlbar {
position: relative !important;
top: unset !important;
align-self: flex-start !important;
margin-block: auto !important;
}
#urlbar[breakout-extend] {
position: absolute !important;
inset-inline: 20vw !important;
width: unset !important;
}
@supports -moz-bool-pref("onebar.disable-centering-of-URLbar") {
#urlbar-container {
position: relative !important;
}
#urlbar[breakout-extend] {
/* width: 100% !important; */
inset-inline: 0 !important;
}
#urlbar[breakout-extend] .urlbar-input-box {
min-width: 400px !important;
}
}
#urlbar-input-container {
display: flex !important;
}
#urlbar-input-container > :not(.urlbar-input-box) {
order: 2;
}
.urlbar-input-box {
flex-grow: 1 !important;
padding-left: .5em !important;
width: 100px !important;
min-width: 50px !important;
transition: width .2s;
}
#urlbar-container:focus-within, #urlbar-container:hover {
min-width: var(--urlbar-open-width) !important;
}
#urlbar-input:not(:focus-within) {
mask: linear-gradient(to right, black calc(100% - 20px), transparent);
}
#urlbar-background {
transition: border .2s;
}
#urlbar:hover:not([focused="true"]) > #urlbar-background {
--toolbar-field-border-color: var(--toolbar-field-focus-border-color)
}
/* Truncate https:// when collapsed */
@supports not -moz-bool-pref("onebar.disable-https-truncate") {
#urlbar-input {
transition: margin .1s;
}
.verifiedDomain ~ .urlbar-input-box:not(:focus-within) #urlbar-input {
margin-left: -4ch !important;
mask: linear-gradient(to right, transparent 4ch, black 5ch calc(100% - 3ch), transparent) !important;
}
}
/* Hide unimportant buttons until hover */
:root {
--in-transition: font-size .2s, padding .2s, margin .2s, max-width .2s, opacity .2s .15s;
--out-transition: font-size .2s, padding .2s, margin .2s, max-width .2s, opacity .07s;
}
#urlbar-container:hover #urlbar-input-container > box:not(#page-action-buttons),
#urlbar-container:hover #page-action-buttons > *,
#urlbar-container:hover #userContext-label {
transition: var(--in-transition) !important;
max-width: 200px;
}
@supports -moz-bool-pref("onebar.disable-autohide-of-URLbar-icons") {
#urlbar-container {
min-width: var(--urlbar-open-width) !important;
}
}
@supports not -moz-bool-pref("onebar.disable-autohide-of-URLbar-icons") {
#urlbar-container:not(:hover) :where(
toolbarbutton,
#userContext-label,
#star-button-box,
.verifiedDomain,
#tracking-protection-icon-container,
#pageAction-urlbar-_testpilot-containers,
#pageActionButton,
) {
font-size: 0 !important;
max-width: 0 !important;
padding-inline: 0 !important;
margin-inline: 0 !important;
opacity: 0 !important;
transition: var(--out-transition) !important;
}
@supports -moz-bool-pref("onebar.hide-all-URLbar-icons") {
#urlbar-container:not(:hover) :where(#page-action-buttons, #identity-box) > * {
font-size: 0 !important;
max-width: 0 !important;
padding-inline: 0 !important;
margin-inline: 0 !important;
opacity: 0 !important;
transition: var(--out-transition) !important;
}
}
}
#navigator-toolbox-background #urlbar-container:focus-within #urlbar-input-container > box,
#navigator-toolbox-background #urlbar-container:focus-within #page-action-buttons > * {
font-size: 0 !important;
max-width: 0 !important;
padding-inline: 0 !important;
margin-inline: 0 !important;
opacity: 0 !important;
transition: var(--out-transition) !important;
}
/* Other Buttons */
.toolbarbutton-icon {
transition: background-color .1s;
}
#nav-bar #search-container {
min-width: 32px !important;
transition: min-width .2s;
}
.titlebar-spacer,
#identity-icon-label {
display: none;
}
/* Wrap other toolbars to bottom */
#nav-bar ~ * {
width: 100vw !important;
}
/* Linux fixes, credits: https://github.com/ranmaru22/firefox-vertical-tabs/pull/39 */
@media (-moz-gtk-csd-available) {
/* window control padding values (these don't change the size of the actual buttons, only the padding for the navbar) */
:root[tabsintitlebar] {
/* default button/padding size based on adw-gtk3 theme */
--uc-win-ctrl-btn-width: 38px;
--uc-win-ctrl-padding: 12px;
}
:root[tabsintitlebar][lwtheme] {
/* seperate values for when using a theme, based on the Firefox defaults */
--uc-win-ctrl-btn-width: 30px;
--uc-win-ctrl-padding: 12px;
}
/* setting the padding value for all button combinations */
@media (-moz-gtk-csd-minimize-button),
(-moz-gtk-csd-maximize-button),
(-moz-gtk-csd-close-button) {
#navigator-toolbox {
--uc-navbar-padding: calc(var(--uc-win-ctrl-btn-width) * 1);
}
}
@media (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button),
(-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-close-button),
(-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
#navigator-toolbox {
--uc-navbar-padding: calc(var(--uc-win-ctrl-btn-width) * 2);
}
}
@media (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
#navigator-toolbox {
--uc-navbar-padding: calc(var(--uc-win-ctrl-btn-width) * 3);
}
}
/* only applies padding/positioning if there is 1 or more buttons */
@media (-moz-gtk-csd-minimize-button),
(-moz-gtk-csd-maximize-button),
(-moz-gtk-csd-close-button) {
.titlebar-buttonbox-container {
left: 0;
position: absolute;
display: block;
z-index: 101;
}
@media (-moz-gtk-csd-reversed-placement) {
#navigator-toolbox {
padding-left: calc(var(--uc-navbar-padding, 0) + var(--uc-win-ctrl-padding)) !important;
}
}
/* window controls on the right */
@media not (-moz-gtk-csd-reversed-placement) {
#nav-bar {
padding-right: calc(var(--uc-navbar-padding, 0) + var(--uc-win-ctrl-padding)) !important;
}
.titlebar-buttonbox-container {
right: 0;
left: unset;
}
}
.toolbar-items {
max-width: calc(100vw - (
var(--uc-navbar-padding, 0) + var(--uc-win-ctrl-padding)
));
}
}
}
/* MacOS fixes */
@media (-moz-platform: macos) {
.titlebar-buttonbox-container {
margin-right: 10px;
}
}
/* Windows OS fixes */
@media (-moz-platform: windows-win10), (-moz-platform: windows) {
:root[tabsintitlebar]{
--uc-window-control-width: 137px;
--uc-win-ctrl-padding: 12px;
}
#nav-bar {
padding-right: calc(var(--uc-window-control-width) + var(--uc-win-ctrl-padding)) !important;
}
.titlebar-buttonbox-container {
top: 0 !important;
right: 0 !important;
height: calc(var(--tab-min-height) + var(--toolbarbutton-inner-padding) + var(--toolbarbutton-outer-padding));
position: fixed !important;
z-index: 101 !important;
}
.toolbar-items {
max-width: calc(100vw - var(--uc-window-control-width)) !important;
}
/* Hide window buttons in fullscreen */
#navigator-toolbox[style*="margin-top: -"] .titlebar-buttonbox-container,
[inDOMFullscreen="true"] .titlebar-buttonbox-container {
transform: translateY(-100px)
}
}
/* Small window */
@media (max-width: 1150px) {
:root {
--urlbar-collapsed-width: 200px;
--urlbar-open-width: 400px;
}
}
@media (max-width: 700px) {
#alltabs-button {
display : flex;
}
#nav-bar {
width: 100% !important;
}
@media (-moz-gtk-csd-minimize-button),
(-moz-gtk-csd-maximize-button),
(-moz-gtk-csd-close-button) {
@media (-moz-gtk-csd-reversed-placement) {
#nav-bar {
max-width: calc(100vw - ((2 * var(--toolbarbutton-inner-padding) + 16px) + (var(--toolbarbutton-outer-padding) * 2)) - var(--tab-block-margin)
- (var(--uc-navbar-padding, 0) + var(--uc-win-ctrl-padding))) !important;
}
}
}
#TabsToolbar {
width: 100vw;
}
#titlebar {
overflow: visible !important;
}
#tabbrowser-tabs {
padding-inline: 0 !important;
}
#tabbrowser-tabs, #nav-bar {
transition: opacity .2s !important;
}
#navigator-toolbox:hover #tabbrowser-tabs,
#navigator-toolbox:focus-within #tabbrowser-tabs {
opacity: 0;
}
#navigator-toolbox:hover #nav-bar,
#navigator-toolbox:focus-within #nav-bar {
z-index: 2 !important;
}
#navigator-toolbox:not(:hover):not(:focus-within) #nav-bar {
opacity: 0;
}
#TabsToolbar-customization-target:first-of-type > :not(#alltabs-button):not(#tabbrowser-tabs),
#tabbrowser-arrowscrollbox > :not(.tabbrowser-tab) {
display: none !important;
}
#navigator-toolbox #tabbrowser-tabs ~ #alltabs-button {
display: -moz-box !important;
}
#scrollbutton-up,
#scrollbutton-down {
display: none !important;
}
#navigator-toolbox :is(#urlbar, #urlbar-container) {
min-width: unset !important;
}
#urlbar[breakout-extend] {
inset-inline: 15px !important;
z-index: 102 !important;
}
/* Single Tab styling */
#titlebar #tabbrowser-tabs .tabbrowser-tab {
-moz-box-flex: unset !important;
margin-right: auto !important;
max-width: unset !important;
-moz-box-flex: 100 !important;
--toolbar-bgcolor: transparent !important;
--tab-selected-bgimage: transparent !important;
}
.tabbrowser-tab .tab-text {
font-weight: 600 !important;
}
.tabbrowser-tab .tab-close-button,
.tabbrowser-tab .tab-background {
display: none !important;
}
.tabbrowser-tab:not([visuallyselected="true"]) {
display: none !important;
}
}

View file

@ -333,7 +333,8 @@ with inputs; {
# display: none;
# }
# '';
userChrome = builtins.readFile ../config-files/catpuccin-firefox.css;
userChrome = builtins.readFile ../config-files/ayu-dark-firefox.css;
# THEME: https://color.firefox.com/?theme=XQAAAAIXAQAAAAAAAABBqYhm849SCia2CaaEGccwS-xMDPry_tqHQdBtDtJxQ7zpewX9bHo0oWOTl-U65hZ4Juk59RUpAQHsFUjcWhIlgNUzEgFDB0rAZBB89TjZm-IdWQkI4tVZ-S1C43ZuoFPb09LCDCok9k7AP6_WT-XRBbqNzzEwirpSAljPaP-82ingvuV9xgQ5SyAsH3vTbmhixF9D7m5I_rob_DXnpK7FFiwhiNyCPTP_8R0yAA
};
};
}

View file

@ -30,15 +30,27 @@
"drun"
"filebrowser"
];
font = "Hsklug Nerd Font Mono 13";
font = "Hasklug Nerd Font Mono 13";
};
theme = let
mkLiteral = config.lib.formats.rasi.mkLiteral;
in {
"*" = {
bg = mkLiteral "#303446FF";
fg = mkLiteral "#D9E0EEFF";
ac = mkLiteral "#8CAAEEFF";
# bg = mkLiteral "#303446FF";
# fg = mkLiteral "#D9E0EEFF";
# ac = mkLiteral "#8CAAEEFF";
accent= mkLiteral "#E6B450";
bg= mkLiteral "#0e1419";
bg-semilight= mkLiteral "#0D1017";
bg-light= mkLiteral "#131721";
fg= mkLiteral "#e5e1cf";
red= mkLiteral "#ff6565";
blue= mkLiteral "#36a3d9";
green= mkLiteral "#b8cc52";
# bg-hover= @accent";
# fg-hover= mkLiteral "#15191f";
# fg-unhover= @accent;
# header-image: url("assets/dark/header.svg", height);
};
"#window" = {

View file

@ -83,7 +83,8 @@
};
hostname = {
ssh_only = false;
format = "[ 🏳 ](bold pink)[$hostname](bold flamingo)";
format = "[ ](bold pink)[$hostname](bold flamingo)";
# format = "[ 🏳️‍⚧️ ](bold pink)[$hostname](bold flamingo)";
disabled = false;
};
right_format = "$all";

View file

@ -5,20 +5,24 @@
pkgs,
...
}: {
xdg.configFile."zellij/layouts/default.kdl".text = ''layout {
default_tab_template {
children
pane size=1 borderless=true {
plugin location="file:${inputs.zjstatus.packages.x86_64-linux.default}/bin/zjstatus.wasm" {
color_bg "#0F1419"
color_fg "#E6E1CF"
color_fg_dim "#3E4B59"
color_red "#f07178"
color_orange "#ff8f40"
color_yellow "#ffb454"
color_pink "#d2a6ff"
color_blue "#59c2ff"
color_green "#b8cc52"
home.file.".config/zellij/plugins/zellij-forgot.wasm".source = pkgs.fetchurl {
url = "https://github.com/karimould/zellij-forgot/releases/download/0.4.1/zellij_forgot.wasm";
hash = "sha256-kBGZG+I9PMKhXtyAy6XRW4Sqht0/RCDcv86p0WjxvN8=";
};
xdg.configFile."zellij/layouts/default.kdl".text = '' layout {
default_tab_template {
children
pane size=1 borderless=true {
plugin location="file:${inputs.zjstatus.packages.x86_64-linux.default}/bin/zjstatus.wasm" {
color_bg "#0F1419"
color_fg "#E6E1CF"
color_fg_dim "#3E4B59"
color_red "#f07178"
color_orange "#ff8f40"
color_yellow "#ffb454"
color_pink "#d2a6ff"
color_blue "#59c2ff"
color_green "#b8cc52"
format_left "#[bg=$bg] {mode} #[fg=$pink,bold] {command_hostname}"
format_center "{tabs}"
@ -32,34 +36,107 @@
hide_frame_for_single_pane "false"
mode_normal "#[bg=$green,fg=$fg_dim,bold] normal "
mode_locked "#[bg=$red] locked "
mode_tab "#[bg=$orange] tab "
mode_normal "#[bg=$green,fg=$fg_dim,bold] NORMAL "
mode_locked "#[bg=$red] LOCKED "
mode_tab "#[bg=$orange] TAB "
mode_session "#[bg=$orange] SESSION "
mode_pane "#[bg=$orange] PANE "
mode_search "#[bg=$blue] SEARCH "
mode_enter_search "#[bg=$blue] ENTER-SEARCH "
mode_move "#[bg=$orange] MOVE "
mode_rename_tab "#[bg=$blue] RENAME TAB "
mode_rename_pane "#[bg=$blue] RENAME PANE "
tab_normal "#[fg=$fg_dim] {name} "
tab_normal_fullscreen "#[fg=$fg_dim] {name} [FULLSCREEN] "
tab_active "#[fg=$fg,bold,italic] {name} "
tab_active_fullscreen "#[fg=$fg,bold,italic] {name} [FULLSCREEN] "
command_git_branch_command "git rev-parse --abbrev-ref HEAD"
command_git_branch_format "#[fg=$fg_dim] {stdout} "
command_git_branch_interval "10"
command_git_branch_rendermode "static"
command_hostname_command "bash -c 'hostname'"
command_hostname_format "#[fg=pink] xqtc@{stdout}"
command_hostname_interval "0"
command_hostname_rendermode "static"
command_hostname_command "bash -c 'hostname'"
command_hostname_format "#[fg=$pink] xqtc@{stdout}"
command_hostname_interval "0"
command_hostname_rendermode "static"
// command_ram_usage_command "bash -c \"free -g | awk '/Mem:/ {print \\$3\\\"/\\\"\\$2 \\\" GiB\\\"}'\""
// command_ram_usage_format "#[fg=$fg_dim]{stdout}"
// command_ram_usage_interval "5"
// command_ram_usage_rendermode "static"
// command_cpu_usage_command "bash -c \"top -bn1 | grep 'Cpu(s)' | awk '{print 100 - \\$8\\\"%\\\"}'\""
// command_cpu_usage_format "#[fg=$fg_dim]{stdout}"
// command_cpu_usage_interval "5"
// command_cpu_usage_rendermode "static"
datetime "#[fg=$fg_dim,bold] {format} "
datetime_format "%A, %d %b %Y %H:%M:%S"
datetime_timezone "Europe/Berlin"
}
}
}
}
}'';
}'';
programs.zellij = {
enable = true;
enableZshIntegration = true;
settings = {
plugins ={
"zellij-forgot location=\"file:~/.config/zellij/plugins/zellij-forgot.wasm\"" = {};
};
keybinds = {
"shared_except \"locked\"" = {
"bind \"Ctrl y\"" = {
"LaunchOrFocusPlugin \"file:~/.config/zellij/plugins/zellij-forgot.wasm\"" = {
"\"lock\"" = "ctrl + g";
"\"unlock\"" = "ctrl + g";
"\"new pane\"" = "ctrl + p + n";
"\"change focus of pane\"" = "ctrl + p + arrow key";
"\"close pane\"" = "ctrl + p + x";
"\"rename pane\"" = "ctrl + p + c";
"\"toggle fullscreen\"" = "ctrl + p + f";
"\"toggle floating pane\"" = "ctrl + p + w";
"\"toggle embed pane\"" = "ctrl + p + e";
"\"choose right pane\"" = "ctrl + p + l";
"\"choose left pane\"" = "ctrl + p + r";
"\"choose upper pane\"" = "ctrl + p + k";
"\"choose lower pane\"" = "ctrl + p + j";
"\"new tab\"" = "ctrl + t + n";
"\"close tab\"" = "ctrl + t + x";
"\"change focus of tab\"" = "ctrl + t + arrow key";
"\"rename tab\"" = "ctrl + t + r";
"\"sync tab\"" = "ctrl + t + s";
"\"brake pane to new tab\"" = "ctrl + t + b";
"\"brake pane left\"" = "ctrl + t + [";
"\"brake pane right\"" = "ctrl + t + ]";
"\"toggle tab\"" = "ctrl + t + tab";
"\"increase pane size\"" = "ctrl + n + +";
"\"decrease pane size\"" = "ctrl + n + -";
"\"increase pane top\"" = "ctrl + n + k";
"\"increase pane right\"" = "ctrl + n + l";
"\"increase pane bottom\"" = "ctrl + n + j";
"\"increase pane left\"" = "ctrl + n + h";
"\"decrease pane top\"" = "ctrl + n + K";
"\"decrease pane right\"" = "ctrl + n + L";
"\"decrease pane bottom\"" = "ctrl + n + J";
"\"decrease pane left\"" = "ctrl + n + H";
"\"move pane to top\"" = "ctrl + h + k";
"\"move pane to right\"" = "ctrl + h + l";
"\"move pane to bottom\"" = "ctrl + h + j";
"\"move pane to left\"" = "ctrl + h + h";
"\"search\"" = "ctrl + s + s";
"\"go into edit mode\"" = "ctrl + s + e";
"\"detach session\"" = "ctrl + o + w";
"\"open session manager\"" = "ctrl + o + w";
"\"quit zellij\"" = "ctrl + q";
"floating true" = "";
};
};
};
};
theme = "ayu_dark";
ui = {
pane_frames = {
@ -70,3 +147,4 @@
};
};
}