Add firefox userChrome.css for fluorescence theme
This commit is contained in:
parent
a30af3f837
commit
fac2bb74f3
|
@ -11,6 +11,10 @@ with lib;
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
};
|
};
|
||||||
|
profileName = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = config.my.username;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.modules.desktop.browsers.firefox.enable {
|
config = mkIf config.modules.desktop.browsers.firefox.enable {
|
||||||
|
@ -25,6 +29,24 @@ with lib;
|
||||||
categories = "Network";
|
categories = "Network";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
my.env.XDG_DESKTOP_DIR = "$HOME"; # (try to) prevent ~/Desktop
|
my.env.XDG_DESKTOP_DIR = "$HOME"; # (try to) prevent ~/Desktop
|
||||||
|
|
||||||
|
# Use a stable profile name so we can target it in themes
|
||||||
|
my.home.home.file =
|
||||||
|
let cfg = config.modules.desktop.browsers.firefox; in
|
||||||
|
{
|
||||||
|
".mozilla/firefox/profiles.ini".text = ''
|
||||||
|
[Profile0]
|
||||||
|
Name=default
|
||||||
|
IsRelative=1
|
||||||
|
Path=${cfg.profileName}.default
|
||||||
|
Default=1
|
||||||
|
|
||||||
|
[General]
|
||||||
|
StartWithLastProfile=1
|
||||||
|
Version=2
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
{ config, options, lib, pkgs, ... }:
|
{ config, options, lib, pkgs, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
|
let cfg = config.modules; in
|
||||||
{
|
{
|
||||||
options.modules.themes.fluorescence = {
|
options.modules.themes.fluorescence = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
|
@ -10,7 +11,7 @@ with lib;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.modules.themes.fluorescence.enable {
|
config = mkIf cfg.themes.fluorescence.enable {
|
||||||
modules.theme = {
|
modules.theme = {
|
||||||
name = "fluorescence";
|
name = "fluorescence";
|
||||||
version = "0.0.1";
|
version = "0.0.1";
|
||||||
|
@ -55,14 +56,18 @@ with lib;
|
||||||
paper-icon-theme # for rofi
|
paper-icon-theme # for rofi
|
||||||
];
|
];
|
||||||
my.zsh.rc = lib.readFile ./zsh/prompt.zsh;
|
my.zsh.rc = lib.readFile ./zsh/prompt.zsh;
|
||||||
my.home.xdg = {
|
|
||||||
configFile = {
|
my.home = {
|
||||||
"bspwm/rc.d/polybar".source = ./polybar/run.sh;
|
home.file = mkMerge [
|
||||||
"bspwm/rc.d/theme".source = ./bspwmrc;
|
(mkIf cfg.desktop.browsers.firefox.enable {
|
||||||
"dunst/dunstrc".source = ./dunstrc;
|
".mozilla/firefox/${cfg.desktop.browsers.firefox.profileName}.default/chrome/userChrome.css" = {
|
||||||
"polybar" = { source = ./polybar; recursive = true; };
|
source = ./firefox/userChrome.css;
|
||||||
"rofi/theme" = { source = ./rofi; recursive = true; };
|
};
|
||||||
"tmux/theme".source = ./tmux.conf;
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
xdg.configFile = mkMerge [
|
||||||
|
(mkIf config.services.xserver.enable {
|
||||||
"xtheme/90-theme".source = ./Xresources;
|
"xtheme/90-theme".source = ./Xresources;
|
||||||
# GTK
|
# GTK
|
||||||
"gtk-3.0/settings.ini".text = ''
|
"gtk-3.0/settings.ini".text = ''
|
||||||
|
@ -87,9 +92,25 @@ with lib;
|
||||||
[Qt]
|
[Qt]
|
||||||
style=Ant-Dracula
|
style=Ant-Dracula
|
||||||
'';
|
'';
|
||||||
};
|
})
|
||||||
|
(mkIf cfg.desktop.bspwm.enable {
|
||||||
|
"bspwm/rc.d/polybar".source = ./polybar/run.sh;
|
||||||
|
"bspwm/rc.d/theme".source = ./bspwmrc;
|
||||||
|
})
|
||||||
|
(mkIf cfg.desktop.apps.rofi.enable {
|
||||||
|
"rofi/theme" = { source = ./rofi; recursive = true; };
|
||||||
|
})
|
||||||
|
(mkIf (cfg.desktop.bspwm.enable || cfg.desktop.stumpwm.enable) {
|
||||||
|
"polybar" = { source = ./polybar; recursive = true; };
|
||||||
|
"dunst/dunstrc".source = ./dunstrc;
|
||||||
|
})
|
||||||
|
(mkIf cfg.shell.tmux.enable {
|
||||||
|
"tmux/theme".source = ./tmux.conf;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
dataFile = mkIf config.modules.desktop.browsers.qutebrowser.enable {
|
xdg.dataFile = mkMerge [
|
||||||
|
(mkIf cfg.desktop.browsers.qutebrowser.enable {
|
||||||
"qutebrowser/userstyles.css".source =
|
"qutebrowser/userstyles.css".source =
|
||||||
let compiledStyles =
|
let compiledStyles =
|
||||||
with pkgs; runCommand "compileUserStyles"
|
with pkgs; runCommand "compileUserStyles"
|
||||||
|
@ -105,7 +126,8 @@ with lib;
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
in "${compiledStyles}/userstyles.css";
|
in "${compiledStyles}/userstyles.css";
|
||||||
};
|
})
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
100
modules/themes/fluorescence/firefox/userChrome.css
Normal file
100
modules/themes/fluorescence/firefox/userChrome.css
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
||||||
|
|
||||||
|
@-moz-document url(chrome://browser/content/browser.xul),
|
||||||
|
url(chrome://browser/content/browser.xhtml)
|
||||||
|
{
|
||||||
|
/*** TAB BAR ***/
|
||||||
|
/* Tabs below the address bar */
|
||||||
|
#nav-bar { -moz-box-ordinal-group: 1 !important; }
|
||||||
|
#PersonalToolbar { -moz-box-ordinal-group: 2 !important; }
|
||||||
|
#titlebar { -moz-box-ordinal-group: 3 !important; }
|
||||||
|
|
||||||
|
/* Tabs at bottom of window */
|
||||||
|
/* #TabsToolbar { */
|
||||||
|
/* transform: translateY(100vh) !important; */
|
||||||
|
/* z-index: 999999 !important; */
|
||||||
|
/* } */
|
||||||
|
/* #navigator-toolbox { */
|
||||||
|
/* margin-top: calc(0px - var(--tab-min-height)) !important; */
|
||||||
|
/* } */
|
||||||
|
/* #browser-panel { */
|
||||||
|
/* padding-bottom: var(--tab-min-height) !important; */
|
||||||
|
/* } */
|
||||||
|
|
||||||
|
/* :root:not([tabsintitlebar]) #TabsToolbar { -moz-box-ordinal-group: 0 !important; } */
|
||||||
|
/* :root:not([tabsintitlebar]) #toolbar-menubar { -moz-box-ordinal-group: 1 !important; } */
|
||||||
|
/* :root:not([tabsintitlebar]) #nav-bar { -moz-box-ordinal-group: 2 !important; } */
|
||||||
|
/* :root:not([tabsintitlebar]) #PersonalToolbar { -moz-box-ordinal-group: 3 !important; } */
|
||||||
|
/* :root:not([tabsintitlebar]) #navigator-toolbox::after { -moz-box-ordinal-group: 4 !important; } */
|
||||||
|
|
||||||
|
/* Hide tabbar if only one tab */
|
||||||
|
@import url(./css/tabs-hide-if-only-one.css);
|
||||||
|
|
||||||
|
/* Replace favicon on tabs with close button on hover */
|
||||||
|
.tabbrowser-tab:not(:hover) .tab-close-button,
|
||||||
|
.tabbrowser-tab:not([pinned]):hover .tab-icon-image { display: none !important; }
|
||||||
|
.tabbrowser-tab:not([pinned]):hover .tab-close-button { display:block !important; }
|
||||||
|
|
||||||
|
.tabbrowser-tab:hover .tab-throbber,
|
||||||
|
.tabbrowser-tab:hover .tab-icon-image,
|
||||||
|
.tabbrowser-tab:hover .tab-sharing-icon-overlay,
|
||||||
|
.tabbrowser-tab:hover .tab-icon-overlay,
|
||||||
|
.tabbrowser-tab:hover .tab-label-container,
|
||||||
|
.tabbrowser-tab:hover .tab-icon-sound {
|
||||||
|
-moz-box-ordinal-group: 2 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabbrowser-tab .tab-close-button {
|
||||||
|
margin-left: -2px !important;
|
||||||
|
margin-right: 4px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-close-button:hover {
|
||||||
|
fill-opacity: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabbrowser-tab::after,
|
||||||
|
.tabbrowser-tab::before {
|
||||||
|
border-left: none !important;
|
||||||
|
border-right: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scrollbutton-up[orient="horizontal"]~spacer { border-width: 0px; opacity: 0 }
|
||||||
|
|
||||||
|
|
||||||
|
/*** NAV BAR ***/
|
||||||
|
/* Hide urlbar */
|
||||||
|
#nav-bar {
|
||||||
|
position: relative !important;
|
||||||
|
z-index: 1 !important;
|
||||||
|
height: 2px !important;
|
||||||
|
min-height: 2px !important;
|
||||||
|
margin-bottom: -2px !important;
|
||||||
|
opacity: 0 !important;
|
||||||
|
overflow: hidden !important;
|
||||||
|
border: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#nav-bar:hover {
|
||||||
|
height: auto !important;
|
||||||
|
margin-bottom: 0px !important;
|
||||||
|
opacity: 1 !important;
|
||||||
|
overflow: hidden !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#nav-bar:focus-within {
|
||||||
|
height: auto !important;
|
||||||
|
margin-bottom: 0px !important;
|
||||||
|
opacity: 1 !important;
|
||||||
|
overflow: show !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content-deck{
|
||||||
|
position: relative !important;
|
||||||
|
z-index: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*** Load local overrides ***/
|
||||||
|
@import url(./userChrome.local.css);
|
||||||
|
}
|
Loading…
Reference in a new issue