Split up Librewolf CSS to make it more readable
This commit is contained in:
parent
ffb1b6d541
commit
e0d8fd1473
|
@ -1,6 +1,10 @@
|
|||
{ pkgs, config, ... }:
|
||||
let
|
||||
# FireFox colors, based on https://github.com/Dook97/firefox-qutebrowser-userchrome
|
||||
# FireFox theme, based on https://github.com/Dook97/firefox-qutebrowser-userchrome
|
||||
themeFont = ''
|
||||
--tab-font: '${config.look.fonts.main}';
|
||||
--urlbar-font: '${config.look.fonts.main}';
|
||||
'';
|
||||
themeJim = ''
|
||||
:root {
|
||||
--tab-active-bg-color: #${config.look.colors.prime};
|
||||
|
@ -23,267 +27,6 @@ let
|
|||
--urlbar-not-focused-bg-color: #${config.look.colors.prime};
|
||||
--toolbar-bgcolor: #${config.look.colors.prime} !important;
|
||||
'';
|
||||
quteFoxCSS = ''
|
||||
--tab-font: '${config.look.fonts.main}';
|
||||
--urlbar-font: '${config.look.fonts.main}';
|
||||
|
||||
/* try increasing if you encounter problems */
|
||||
--urlbar-height-setting: 24px;
|
||||
--tab-min-height: 20px !important;
|
||||
|
||||
/* I don't recommend you touch this */
|
||||
--arrowpanel-menuitem-padding: 2px !important;
|
||||
--arrowpanel-border-radius: 0px !important;
|
||||
--arrowpanel-menuitem-border-radius: 0px !important;
|
||||
--toolbarbutton-border-radius: 0px !important;
|
||||
--toolbarbutton-inner-padding: 0px 2px !important;
|
||||
--toolbar-field-focus-background-color: var(--urlbar-focused-bg-color) !important;
|
||||
--toolbar-field-background-color: var(--urlbar-not-focused-bg-color) !important;
|
||||
--toolbar-field-focus-border-color: transparent !important;
|
||||
}
|
||||
|
||||
/* --- General debloat ------------------------------ */
|
||||
|
||||
/* bottom left page loading status or url preview */
|
||||
#statuspanel { display: none !important; }
|
||||
|
||||
/* remove radius from right-click popup */
|
||||
menupopup, panel { --panel-border-radius: 0px !important; }
|
||||
menu, menuitem, menucaption { border-radius: 0px !important; }
|
||||
|
||||
/* no large buttons in right-click menu */
|
||||
menupopup > #context-navigation { display: none !important; }
|
||||
menupopup > #context-sep-navigation { display: none !important; }
|
||||
|
||||
/* --- Debloat navbar ------------------------------- */
|
||||
|
||||
#back-button { display: none; }
|
||||
#forward-button { display: none; }
|
||||
#reload-button { display: none; }
|
||||
#stop-button { display: none; }
|
||||
#home-button { display: none; }
|
||||
#library-button { display: none; }
|
||||
#fxa-toolbar-menu-button { display: none; }
|
||||
/* empty space before and after the url bar */
|
||||
#customizableui-special-spring1, #customizableui-special-spring2 { display: none; }
|
||||
|
||||
/* --- Style navbar -------------------------------- */
|
||||
|
||||
/* remove padding between toolbar buttons */
|
||||
toolbar .toolbarbutton-1 { padding: 0 0 !important; }
|
||||
|
||||
#urlbar-container {
|
||||
--urlbar-container-height: var(--urlbar-height-setting) !important;
|
||||
margin-left: 0 !important;
|
||||
margin-right: 0 !important;
|
||||
padding-top: 0 !important;
|
||||
padding-bottom: 0 !important;
|
||||
font-family: var(--urlbar-font, 'monospace');
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#urlbar {
|
||||
--urlbar-height: var(--urlbar-height-setting) !important;
|
||||
--urlbar-toolbar-height: var(--urlbar-height-setting) !important;
|
||||
min-height: var(--urlbar-height-setting) !important;
|
||||
border-color: var(--lwt-toolbar-field-border-color, hsla(240,5%,5%,.25)) !important;
|
||||
}
|
||||
|
||||
#urlbar-input {
|
||||
margin-left: 0.8em !important;
|
||||
margin-right: 0.4em !important;
|
||||
}
|
||||
|
||||
#navigator-toolbox {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
/* keep pop-up menus from overlapping with navbar */
|
||||
#widget-overflow { margin: 0 !important; }
|
||||
#appmenu-popup { margin: 0 !important; }
|
||||
#customizationui-widget-panel { margin: 0 !important; }
|
||||
#unified-extensions-panel { margin: 0 !important; }
|
||||
|
||||
/* --- Unified extensions button -------------------- */
|
||||
|
||||
/* make extension icons smaller */
|
||||
#unified-extensions-view {
|
||||
--uei-icon-size: 18px;
|
||||
}
|
||||
|
||||
/* hide bloat */
|
||||
.unified-extensions-item-message-deck,
|
||||
#unified-extensions-view > .panel-header,
|
||||
#unified-extensions-view > toolbarseparator,
|
||||
#unified-extensions-manage-extensions {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* add 3px padding on the top and the bottom of the box */
|
||||
.panel-subview-body {
|
||||
padding: 3px 0px !important;
|
||||
}
|
||||
|
||||
#unified-extensions-view .unified-extensions-item-menu-button {
|
||||
margin-inline-end: 0 !important;
|
||||
}
|
||||
|
||||
#unified-extensions-view .toolbarbutton-icon {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.unified-extensions-item-contents {
|
||||
line-height: 1 !important;
|
||||
white-space: nowrap !important;
|
||||
}
|
||||
|
||||
/* --- Debloat URL bar ------------------------------- */
|
||||
|
||||
#identity-box { display: none; }
|
||||
#pageActionButton { display: none; }
|
||||
#pocket-button { display: none; }
|
||||
#urlbar-zoom-button { display: none; }
|
||||
#tracking-protection-icon-container { display: none !important; }
|
||||
#reader-mode-button{ display: none !important; }
|
||||
#star-button { display: none; }
|
||||
#star-button-box:hover { background: inherit !important; }
|
||||
|
||||
/* Go to arrow button at the end of the urlbar when searching */
|
||||
#urlbar-go-button { display: none; }
|
||||
|
||||
/* remove container indicator from urlbar */
|
||||
#userContext-label, #userContext-indicator { display: none !important;}
|
||||
|
||||
/* --- Style tab toolbar ---------------------------- */
|
||||
|
||||
#titlebar {
|
||||
--proton-tab-block-margin: 0px !important;
|
||||
--tab-block-margin: 0px !important;
|
||||
}
|
||||
|
||||
#TabsToolbar, .tabbrowser-tab {
|
||||
max-height: var(--tab-min-height) !important;
|
||||
font-size: 14px !important;
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
/* Change color of normal tabs */
|
||||
tab:not([selected="true"]) {
|
||||
background-color: var(--tab-inactive-bg-color) !important;
|
||||
color: var(--identity-icon-color, var(--tab-inactive-fg-fallback-color)) !important;
|
||||
}
|
||||
|
||||
tab {
|
||||
font-family: var(--tab-font, monospace);
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
/* safari style tab width */
|
||||
.tabbrowser-tab[fadein] {
|
||||
max-width: 100vw !important;
|
||||
border: none
|
||||
}
|
||||
|
||||
/* Hide close button on tabs */
|
||||
#tabbrowser-tabs .tabbrowser-tab .tab-close-button { display: none !important; }
|
||||
|
||||
.tabbrowser-tab {
|
||||
/* remove border between tabs */
|
||||
padding-inline: 0px !important;
|
||||
/* reduce fade effect of tab text */
|
||||
--tab-label-mask-size: 1em !important;
|
||||
/* fix pinned tab behaviour on overflow */
|
||||
overflow-clip-margin: 0px !important;
|
||||
}
|
||||
|
||||
/* Tab: selected colors */
|
||||
#tabbrowser-tabs .tabbrowser-tab[selected] .tab-content {
|
||||
background: var(--tab-active-bg-color) !important;
|
||||
color: var(--identity-icon-color, var(--tab-active-fg-fallback-color)) !important;
|
||||
}
|
||||
|
||||
/* Tab: hovered colors */
|
||||
#tabbrowser-tabs .tabbrowser-tab:hover:not([selected]) .tab-content {
|
||||
background: var(--tab-hover-bg-color) !important;
|
||||
}
|
||||
|
||||
/* hide window controls */
|
||||
.titlebar-buttonbox-container { display: none; }
|
||||
|
||||
/* remove titlebar spacers */
|
||||
.titlebar-spacer { display: none !important; }
|
||||
|
||||
/* disable tab shadow */
|
||||
#tabbrowser-tabs:not([noshadowfortests]) .tab-background:is([selected], [multiselected]) {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
/* remove dark space between pinned tab and first non-pinned tab */
|
||||
#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs]) >
|
||||
#tabbrowser-arrowscrollbox >
|
||||
.tabbrowser-tab:nth-child(1 of :not([pinned], [hidden])) {
|
||||
margin-inline-start: 0px !important;
|
||||
}
|
||||
|
||||
/* remove dropdown menu button which displays all tabs on overflow */
|
||||
#alltabs-button { display: none !important }
|
||||
|
||||
/* fix displaying of pinned tabs on overflow */
|
||||
#tabbrowser-tabs:not([secondarytext-unsupported]) .tab-label-container {
|
||||
height: var(--tab-min-height) !important;
|
||||
}
|
||||
|
||||
/* remove overflow scroll buttons */
|
||||
#scrollbutton-up, #scrollbutton-down { display: none !important; }
|
||||
|
||||
/* remove new tab button */
|
||||
#tabs-newtab-button {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* --- Autohide Navbar ------------------------------ */
|
||||
|
||||
/* hide navbar unless focused */
|
||||
#nav-bar {
|
||||
min-height: 0 !important;
|
||||
max-height: 0 !important;
|
||||
height: 0 !important;
|
||||
--moz-transform: scaleY(0) !important;
|
||||
transform: scaleY(0) !important;
|
||||
}
|
||||
|
||||
/* show on focus */
|
||||
#nav-bar:focus-within {
|
||||
--moz-transform: scale(1) !important;
|
||||
transform: scale(1) !important;
|
||||
max-height: var(--urlbar-height-setting) !important;
|
||||
height: var(--urlbar-height-setting) !important;
|
||||
min-height: var(--urlbar-height-setting) !important;
|
||||
}
|
||||
|
||||
#navigator-toolbox:focus-within > .browser-toolbar {
|
||||
transform: translateY(0);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* --- Hide tab bar on single tab ------------------- */
|
||||
|
||||
#tabbrowser-tabs .tabbrowser-tab:only-of-type,
|
||||
#tabbrowser-tabs .tabbrowser-tab:only-of-type + #tabbrowser-arrowscrollbox-periphery{
|
||||
display:none !important;
|
||||
}
|
||||
#tabbrowser-tabs, #tabbrowser-arrowscrollbox {min-height:0!important;}
|
||||
#alltabs-button {display:none !important;}
|
||||
|
||||
/* --- Prevent tab folding -------------------------- */
|
||||
|
||||
.tabbrowser-tab {
|
||||
min-width: initial !important;
|
||||
}
|
||||
.tab-content {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
'';
|
||||
in {
|
||||
# Enable Librewolf and extensions
|
||||
programs.firefox = let
|
||||
|
@ -376,7 +119,8 @@ in {
|
|||
settings = commonSettings;
|
||||
userChrome = ''
|
||||
${themeJim}
|
||||
${quteFoxCSS}
|
||||
${themeFont}
|
||||
${builtins.readFile ./quteFox.css}
|
||||
'';
|
||||
};
|
||||
Alt = {
|
||||
|
@ -386,7 +130,8 @@ in {
|
|||
settings = commonSettings;
|
||||
userChrome = ''
|
||||
${themeAlt}
|
||||
${quteFoxCSS}
|
||||
${themeFont}
|
||||
${builtins.readFile ./quteFox.css}
|
||||
'';
|
||||
};
|
||||
Misc = {
|
||||
|
@ -395,18 +140,6 @@ in {
|
|||
search = commonSearch;
|
||||
settings = commonSettings;
|
||||
containersForce = true;
|
||||
containers = {
|
||||
Google = {
|
||||
color = "green";
|
||||
icon = "fingerprint";
|
||||
id = 200;
|
||||
};
|
||||
Work = {
|
||||
color = "red";
|
||||
icon = "briefcase";
|
||||
id = 201;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
256
modules/home/programs/gui/librewolf/quteFox.css
Normal file
256
modules/home/programs/gui/librewolf/quteFox.css
Normal file
|
@ -0,0 +1,256 @@
|
|||
/* try increasing if you encounter problems */
|
||||
--urlbar-height-setting: 24px;
|
||||
--tab-min-height: 20px !important;
|
||||
|
||||
/* I don't recommend you touch this */
|
||||
--arrowpanel-menuitem-padding: 2px !important;
|
||||
--arrowpanel-border-radius: 0px !important;
|
||||
--arrowpanel-menuitem-border-radius: 0px !important;
|
||||
--toolbarbutton-border-radius: 0px !important;
|
||||
--toolbarbutton-inner-padding: 0px 2px !important;
|
||||
--toolbar-field-focus-background-color: var(--urlbar-focused-bg-color) !important;
|
||||
--toolbar-field-background-color: var(--urlbar-not-focused-bg-color) !important;
|
||||
--toolbar-field-focus-border-color: transparent !important;
|
||||
}
|
||||
|
||||
/* --- General debloat ------------------------------ */
|
||||
|
||||
/* bottom left page loading status or url preview */
|
||||
#statuspanel { display: none !important; }
|
||||
|
||||
/* remove radius from right-click popup */
|
||||
menupopup, panel { --panel-border-radius: 0px !important; }
|
||||
menu, menuitem, menucaption { border-radius: 0px !important; }
|
||||
|
||||
/* no large buttons in right-click menu */
|
||||
menupopup > #context-navigation { display: none !important; }
|
||||
menupopup > #context-sep-navigation { display: none !important; }
|
||||
|
||||
/* --- Debloat navbar ------------------------------- */
|
||||
|
||||
#back-button { display: none; }
|
||||
#forward-button { display: none; }
|
||||
#reload-button { display: none; }
|
||||
#stop-button { display: none; }
|
||||
#home-button { display: none; }
|
||||
#library-button { display: none; }
|
||||
#fxa-toolbar-menu-button { display: none; }
|
||||
/* empty space before and after the url bar */
|
||||
#customizableui-special-spring1, #customizableui-special-spring2 { display: none; }
|
||||
|
||||
/* --- Style navbar -------------------------------- */
|
||||
|
||||
/* remove padding between toolbar buttons */
|
||||
toolbar .toolbarbutton-1 { padding: 0 0 !important; }
|
||||
|
||||
#urlbar-container {
|
||||
--urlbar-container-height: var(--urlbar-height-setting) !important;
|
||||
margin-left: 0 !important;
|
||||
margin-right: 0 !important;
|
||||
padding-top: 0 !important;
|
||||
padding-bottom: 0 !important;
|
||||
font-family: var(--urlbar-font, 'monospace');
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#urlbar {
|
||||
--urlbar-height: var(--urlbar-height-setting) !important;
|
||||
--urlbar-toolbar-height: var(--urlbar-height-setting) !important;
|
||||
min-height: var(--urlbar-height-setting) !important;
|
||||
border-color: var(--lwt-toolbar-field-border-color, hsla(240,5%,5%,.25)) !important;
|
||||
}
|
||||
|
||||
#urlbar-input {
|
||||
margin-left: 0.8em !important;
|
||||
margin-right: 0.4em !important;
|
||||
}
|
||||
|
||||
#navigator-toolbox {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
/* keep pop-up menus from overlapping with navbar */
|
||||
#widget-overflow { margin: 0 !important; }
|
||||
#appmenu-popup { margin: 0 !important; }
|
||||
#customizationui-widget-panel { margin: 0 !important; }
|
||||
#unified-extensions-panel { margin: 0 !important; }
|
||||
|
||||
/* --- Unified extensions button -------------------- */
|
||||
|
||||
/* make extension icons smaller */
|
||||
#unified-extensions-view {
|
||||
--uei-icon-size: 18px;
|
||||
}
|
||||
|
||||
/* hide bloat */
|
||||
.unified-extensions-item-message-deck,
|
||||
#unified-extensions-view > .panel-header,
|
||||
#unified-extensions-view > toolbarseparator,
|
||||
#unified-extensions-manage-extensions {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* add 3px padding on the top and the bottom of the box */
|
||||
.panel-subview-body {
|
||||
padding: 3px 0px !important;
|
||||
}
|
||||
|
||||
#unified-extensions-view .unified-extensions-item-menu-button {
|
||||
margin-inline-end: 0 !important;
|
||||
}
|
||||
|
||||
#unified-extensions-view .toolbarbutton-icon {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.unified-extensions-item-contents {
|
||||
line-height: 1 !important;
|
||||
white-space: nowrap !important;
|
||||
}
|
||||
|
||||
/* --- Debloat URL bar ------------------------------- */
|
||||
|
||||
#identity-box { display: none; }
|
||||
#pageActionButton { display: none; }
|
||||
#pocket-button { display: none; }
|
||||
#urlbar-zoom-button { display: none; }
|
||||
#tracking-protection-icon-container { display: none !important; }
|
||||
#reader-mode-button{ display: none !important; }
|
||||
#star-button { display: none; }
|
||||
#star-button-box:hover { background: inherit !important; }
|
||||
|
||||
/* Go to arrow button at the end of the urlbar when searching */
|
||||
#urlbar-go-button { display: none; }
|
||||
|
||||
/* remove container indicator from urlbar */
|
||||
#userContext-label, #userContext-indicator { display: none !important;}
|
||||
|
||||
/* --- Style tab toolbar ---------------------------- */
|
||||
|
||||
#titlebar {
|
||||
--proton-tab-block-margin: 0px !important;
|
||||
--tab-block-margin: 0px !important;
|
||||
}
|
||||
|
||||
#TabsToolbar, .tabbrowser-tab {
|
||||
max-height: var(--tab-min-height) !important;
|
||||
font-size: 14px !important;
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
/* Change color of normal tabs */
|
||||
tab:not([selected="true"]) {
|
||||
background-color: var(--tab-inactive-bg-color) !important;
|
||||
color: var(--identity-icon-color, var(--tab-inactive-fg-fallback-color)) !important;
|
||||
}
|
||||
|
||||
tab {
|
||||
font-family: var(--tab-font, monospace);
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
/* safari style tab width */
|
||||
.tabbrowser-tab[fadein] {
|
||||
max-width: 100vw !important;
|
||||
border: none
|
||||
}
|
||||
|
||||
/* Hide close button on tabs */
|
||||
#tabbrowser-tabs .tabbrowser-tab .tab-close-button { display: none !important; }
|
||||
|
||||
.tabbrowser-tab {
|
||||
/* remove border between tabs */
|
||||
padding-inline: 0px !important;
|
||||
/* reduce fade effect of tab text */
|
||||
--tab-label-mask-size: 1em !important;
|
||||
/* fix pinned tab behaviour on overflow */
|
||||
overflow-clip-margin: 0px !important;
|
||||
}
|
||||
|
||||
/* Tab: selected colors */
|
||||
#tabbrowser-tabs .tabbrowser-tab[selected] .tab-content {
|
||||
background: var(--tab-active-bg-color) !important;
|
||||
color: var(--identity-icon-color, var(--tab-active-fg-fallback-color)) !important;
|
||||
}
|
||||
|
||||
/* Tab: hovered colors */
|
||||
#tabbrowser-tabs .tabbrowser-tab:hover:not([selected]) .tab-content {
|
||||
background: var(--tab-hover-bg-color) !important;
|
||||
}
|
||||
|
||||
/* hide window controls */
|
||||
.titlebar-buttonbox-container { display: none; }
|
||||
|
||||
/* remove titlebar spacers */
|
||||
.titlebar-spacer { display: none !important; }
|
||||
|
||||
/* disable tab shadow */
|
||||
#tabbrowser-tabs:not([noshadowfortests]) .tab-background:is([selected], [multiselected]) {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
/* remove dark space between pinned tab and first non-pinned tab */
|
||||
#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs]) >
|
||||
#tabbrowser-arrowscrollbox >
|
||||
.tabbrowser-tab:nth-child(1 of :not([pinned], [hidden])) {
|
||||
margin-inline-start: 0px !important;
|
||||
}
|
||||
|
||||
/* remove dropdown menu button which displays all tabs on overflow */
|
||||
#alltabs-button { display: none !important }
|
||||
|
||||
/* fix displaying of pinned tabs on overflow */
|
||||
#tabbrowser-tabs:not([secondarytext-unsupported]) .tab-label-container {
|
||||
height: var(--tab-min-height) !important;
|
||||
}
|
||||
|
||||
/* remove overflow scroll buttons */
|
||||
#scrollbutton-up, #scrollbutton-down { display: none !important; }
|
||||
|
||||
/* remove new tab button */
|
||||
#tabs-newtab-button {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* --- Autohide Navbar ------------------------------ */
|
||||
|
||||
/* hide navbar unless focused */
|
||||
#nav-bar {
|
||||
min-height: 0 !important;
|
||||
max-height: 0 !important;
|
||||
height: 0 !important;
|
||||
--moz-transform: scaleY(0) !important;
|
||||
transform: scaleY(0) !important;
|
||||
}
|
||||
|
||||
/* show on focus */
|
||||
#nav-bar:focus-within {
|
||||
--moz-transform: scale(1) !important;
|
||||
transform: scale(1) !important;
|
||||
max-height: var(--urlbar-height-setting) !important;
|
||||
height: var(--urlbar-height-setting) !important;
|
||||
min-height: var(--urlbar-height-setting) !important;
|
||||
}
|
||||
|
||||
#navigator-toolbox:focus-within > .browser-toolbar {
|
||||
transform: translateY(0);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* --- Hide tab bar on single tab ------------------- */
|
||||
|
||||
#tabbrowser-tabs .tabbrowser-tab:only-of-type,
|
||||
#tabbrowser-tabs .tabbrowser-tab:only-of-type + #tabbrowser-arrowscrollbox-periphery{
|
||||
display:none !important;
|
||||
}
|
||||
#tabbrowser-tabs, #tabbrowser-arrowscrollbox {min-height:0!important;}
|
||||
#alltabs-button {display:none !important;}
|
||||
|
||||
/* --- Prevent tab folding -------------------------- */
|
||||
|
||||
.tabbrowser-tab {
|
||||
min-width: initial !important;
|
||||
}
|
||||
.tab-content {
|
||||
overflow: hidden !important;
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
home = {
|
||||
packages = with pkgs; [ mangohud ];
|
||||
file = {
|
||||
# I know options exist for this, but the order is not respected.
|
||||
# These options exist in Nixlang, but the order is not respected.
|
||||
".config/MangoHud/MangoHud.conf".text = ''
|
||||
table_columns=2
|
||||
frametime=0
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
RecentFilesNumber=0
|
||||
|
||||
[Desktop]
|
||||
HideItems=false
|
||||
SortColumn=name
|
||||
SortFolderFirst=true
|
||||
SortHiddenLast=false
|
||||
|
@ -51,7 +50,6 @@
|
|||
ShowMenuBar=true
|
||||
ShowTabClose=true
|
||||
SwitchToNewTab=true
|
||||
TabPaths=@Invalid()
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -115,10 +115,9 @@
|
|||
|
||||
# Remote files
|
||||
J:/home/jimbo/JimboNFS
|
||||
K:/home/jimbo/JimboNFS/Downloads
|
||||
P:/home/jimbo/JimboNFS/Photos
|
||||
V:/home/jimbo/JimboNFS/Videos/Random
|
||||
M:/home/jimbo/JimboNFS/Music/Synced
|
||||
K:/home/jimbo/JimboNFS/Files
|
||||
V:/home/jimbo/JimboNFS/Media
|
||||
M:/home/jimbo/JimboNFS/Music
|
||||
'';
|
||||
};
|
||||
packages = with pkgs; [
|
||||
|
|
|
@ -217,7 +217,7 @@
|
|||
"${primeMod}+shift+a" = ''focus child'';
|
||||
|
||||
# Scratchpads
|
||||
"Shift+Ctrl+Backslash" = ''[app_id="gotop"] scratchpad show, move position center, resize set 1216 888'';
|
||||
"Shift+Ctrl+Backslash" = ''[app_id="gotop"] scratchpad show, move position center resize set 1216 888'';
|
||||
"${primeMod}+Shift+m" = ''[app_id="music"] scratchpad show, move position center, resize set 1006 657'';
|
||||
"${primeMod}+Shift+v" = ''[app_id="sound"] scratchpad show, move position center, resize set 1000 800'';
|
||||
"${primeMod}+Shift+Backslash" = ''[app_id="com.github.wwmm.easyeffects"] scratchpad show, move position center, resize set 1000 800'';
|
||||
|
|
|
@ -71,12 +71,6 @@
|
|||
command = ''mark scratchpad, opacity 0.9'';
|
||||
}
|
||||
|
||||
# Create a "Scratchpad" for apps I don't want to be seen when launched
|
||||
{
|
||||
criteria = { con_mark = "hiddenaway"; };
|
||||
command = ''move scratchpad'';
|
||||
}
|
||||
|
||||
# Give apps that don't have them borders
|
||||
{
|
||||
criteria = { con_mark = "borderless"; };
|
||||
|
|
|
@ -217,20 +217,8 @@
|
|||
condition=$(echo "$fetch" | sed -n '3p')
|
||||
location=$(echo "$fetch" | sed -n '4p')
|
||||
|
||||
# Map weather conditions to emojis
|
||||
case "$condition" in
|
||||
"Clear"|"Sunny") emoji="☀️";;
|
||||
"Cloudy"|"Partly cloudy"|"Overcast") emoji="☁️";;
|
||||
"Rain") emoji="🌧️";;
|
||||
"Drizzle") emoji="🌦️";;
|
||||
"Thunderstorm") emoji="⛈️";;
|
||||
"Snow") emoji="❄️";;
|
||||
"Mist"|"Fog"|"Haze") emoji="🌫️";;
|
||||
*) emoji="🌍";; # Default emoji for unknown
|
||||
esac
|
||||
|
||||
# Display weather emoji and temperature
|
||||
echo {\"text\":\"$emoji $temp\",\"tooltip\":\"$location: $condition\"}
|
||||
echo {\"text\":\" $temp\",\"tooltip\":\"$location: $condition\"}
|
||||
'';
|
||||
format = "<span font_size='11pt'>{}</span>";
|
||||
return-type = "json";
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
enable = true;
|
||||
user = "jimbo";
|
||||
group = "users";
|
||||
musicDirectory = "/home/jimbo/JimboNFS/Music/Synced";
|
||||
playlistDirectory = "/home/jimbo/JimboNFS/Music/Synced/Playlists";
|
||||
musicDirectory = "/home/jimbo/JimboNFS/Music/JimBops";
|
||||
playlistDirectory = "/home/jimbo/JimboNFS/Music/JimBops/Playlists";
|
||||
extraConfig = ''
|
||||
audio_output {
|
||||
type "pipewire"
|
||||
|
|
|
@ -3,12 +3,8 @@
|
|||
services.nfs.server = {
|
||||
enable = true;
|
||||
exports = ''
|
||||
/export/JimboNFS/Downloads *(rw,sync,no_subtree_check)
|
||||
/export/JimboNFS/Documents *(rw,sync,no_subtree_check)
|
||||
|
||||
/export/JimboNFS/Photos *(rw,sync,no_subtree_check)
|
||||
/export/JimboNFS/Videos *(rw,sync,no_subtree_check)
|
||||
|
||||
/export/JimboNFS/Files *(rw,sync,no_subtree_check)
|
||||
/export/JimboNFS/Media *(rw,sync,no_subtree_check)
|
||||
/export/JimboNFS/Music *(rw,sync,no_subtree_check)
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -15,16 +15,6 @@
|
|||
"guest account" = "nobody";
|
||||
"map to guest" = "bad user";
|
||||
};
|
||||
"roms" = {
|
||||
"path" = "/export/JimboNFS/Downloads/GameFiles/ROMS";
|
||||
"browseable" = "yes";
|
||||
"read only" = "no";
|
||||
"guest ok" = "yes";
|
||||
"create mask" = "0644";
|
||||
"directory mask" = "0755";
|
||||
"force user" = "username";
|
||||
"force group" = "groupname";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
addSSL = true;
|
||||
locations."/" = {
|
||||
proxyWebsockets = true;
|
||||
extraConfig = "
|
||||
location /.well-known/carddav {
|
||||
extraConfig = ''
|
||||
location /.well-known/carddav {
|
||||
return 301 $scheme://$host/remote.php/dav;
|
||||
}
|
||||
location /.well-known/caldav {
|
||||
return 301 $scheme://$host/remote.php/dav;
|
||||
}
|
||||
";
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,31 +2,21 @@
|
|||
{
|
||||
imports = [ ./nginx ];
|
||||
|
||||
services = {
|
||||
photoprism = {
|
||||
enable = true;
|
||||
port = 2342;
|
||||
originalsPath = "/var/lib/private/photoprism/originals";
|
||||
address = "0.0.0.0";
|
||||
settings = {
|
||||
PHOTOPRISM_ADMIN_USER = "jimbo";
|
||||
PHOTOPRISM_ADMIN_PASSWORD = "${config.secrets.prismAdminPass}";
|
||||
PHOTOPRISM_DEFAULT_LOCALE = "en";
|
||||
PHOTOPRISM_DATABASE_DRIVER = "mysql";
|
||||
PHOTOPRISM_DATABASE_NAME = "photoprism";
|
||||
PHOTOPRISM_DATABASE_SERVER = "/run/mysqld/mysqld.sock";
|
||||
PHOTOPRISM_DATABASE_USER = "photoprism";
|
||||
PHOTOPRISM_SITE_URL = "https://gallery.${config.domains.jim1}";
|
||||
PHOTOPRISM_SITE_TITLE = "Jimbo's PhotoPrism";
|
||||
};
|
||||
};
|
||||
nginx.virtualHosts."gallery.${config.domains.jim1}" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://127.0.0.1:2342";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
services.photoprism = {
|
||||
enable = true;
|
||||
port = 2342;
|
||||
originalsPath = "/var/lib/private/photoprism/originals";
|
||||
address = "0.0.0.0";
|
||||
settings = {
|
||||
PHOTOPRISM_ADMIN_USER = "jimbo";
|
||||
PHOTOPRISM_ADMIN_PASSWORD = "${config.secrets.prismAdminPass}";
|
||||
PHOTOPRISM_DEFAULT_LOCALE = "en";
|
||||
PHOTOPRISM_DATABASE_DRIVER = "mysql";
|
||||
PHOTOPRISM_DATABASE_NAME = "photoprism";
|
||||
PHOTOPRISM_DATABASE_SERVER = "/run/mysqld/mysqld.sock";
|
||||
PHOTOPRISM_DATABASE_USER = "photoprism";
|
||||
PHOTOPRISM_SITE_URL = "https://gallery.${config.domains.jim1}";
|
||||
PHOTOPRISM_SITE_TITLE = "Jimbo's PhotoPrism";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,6 +2,6 @@
|
|||
{
|
||||
imports = [
|
||||
./jimbops
|
||||
./jimscrap
|
||||
./jimscrapped
|
||||
];
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
settings.scheduler.fast_queues.set(2)
|
||||
|
||||
# Define the source with random playlist
|
||||
jimbops = mksafe(playlist(mode='randomize', reload=1, reload_mode="rounds", "/export/JimboNFS/Music/Synced"))
|
||||
jimbops = mksafe(playlist(mode='randomize', reload=1, reload_mode="rounds", "/export/JimboNFS/Music/JimBops"))
|
||||
|
||||
# Ensure the stream never stops
|
||||
jimbops_fallback = fallback([jimbops, jimbops])
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
settings.scheduler.fast_queues.set(2)
|
||||
|
||||
# Define the source with random playlist
|
||||
jimscrap = mksafe(playlist(mode='randomize', reload=1, reload_mode="rounds", "/export/JimboNFS/Music/Unsynced"))
|
||||
jimscrap = mksafe(playlist(mode='randomize', reload=1, reload_mode="rounds", "/export/JimboNFS/Music/JimScrapped"))
|
||||
|
||||
# Ensure the stream never stops
|
||||
jimscrap_fallback = fallback([jimscrap, jimscrap])
|
|
@ -25,7 +25,7 @@
|
|||
organizationName = "Jimbo's Files";
|
||||
};
|
||||
|
||||
# A list of accounts, passwords generated with nix-shell -p mkpasswd --run 'mkpasswd -sm bcrypt'
|
||||
# Passwords generated with 'mkpasswd -sm bcrypt'
|
||||
loginAccounts = {
|
||||
"noreply@${config.domains.jim1}" = {
|
||||
hashedPasswordFile = pkgs.writeText "noreply" config.secrets.noreplyMailHash;
|
||||
|
@ -34,11 +34,11 @@
|
|||
"jimbo@${config.domains.jim2}" = {
|
||||
hashedPasswordFile = pkgs.writeText "jimbo" config.secrets.jimboMailHash;
|
||||
aliases = [
|
||||
"jimbo@${config.domains.jim1}"
|
||||
"james@${config.domains.jim1}"
|
||||
"james@${config.domains.jim2}"
|
||||
"contact@${config.domains.jim1}"
|
||||
"contact@${config.domains.jim2}"
|
||||
"jimbo@${config.domains.jim1}"
|
||||
"james@${config.domains.jim1}"
|
||||
"james@${config.domains.jim2}"
|
||||
"contact@${config.domains.jim1}"
|
||||
"contact@${config.domains.jim2}"
|
||||
];
|
||||
};
|
||||
"luna@${config.domains.luna}" = {
|
||||
|
@ -53,6 +53,6 @@
|
|||
};
|
||||
};
|
||||
|
||||
# Assign the correct port
|
||||
# Rspamd port from earlier to avoid overlap
|
||||
services.redis.servers.rspamd.port = 1515;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue