theming
This commit is contained in:
parent
448372de7a
commit
ffa3121602
11 changed files with 243 additions and 38 deletions
71
home-modules/xun/desktop/colorscheme/default.nix
Normal file
71
home-modules/xun/desktop/colorscheme/default.nix
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.xun.desktop;
|
||||||
|
dark = {
|
||||||
|
dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
||||||
|
gtk = {
|
||||||
|
theme = {
|
||||||
|
package = pkgs.gnome-themes-extra;
|
||||||
|
name = "Adwaita-dark";
|
||||||
|
};
|
||||||
|
iconTheme = {
|
||||||
|
package = pkgs.adwaita-icon-theme;
|
||||||
|
name = "Adwaita-dark";
|
||||||
|
};
|
||||||
|
gtk2.extraConfig = "gtk-application-prefer-dark-theme=1";
|
||||||
|
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||||
|
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||||
|
};
|
||||||
|
qt = {
|
||||||
|
platformTheme.name = "gtk3";
|
||||||
|
style = {
|
||||||
|
name = "Adwaita-dark";
|
||||||
|
package = pkgs.adwaita-qt;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
light = {
|
||||||
|
dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-light";
|
||||||
|
gtk = {
|
||||||
|
theme = {
|
||||||
|
package = pkgs.gnome-themes-extra;
|
||||||
|
name = "Adwaita";
|
||||||
|
};
|
||||||
|
iconTheme = {
|
||||||
|
package = pkgs.adwaita-icon-theme;
|
||||||
|
name = "Adwaita";
|
||||||
|
};
|
||||||
|
gtk2.extraConfig = "gtk-application-prefer-dark-theme=false";
|
||||||
|
gtk3.extraConfig.gtk-application-prefer-dark-theme = 0;
|
||||||
|
gtk4.extraConfig.gtk-application-prefer-dark-theme = 0;
|
||||||
|
};
|
||||||
|
qt = {
|
||||||
|
style = {
|
||||||
|
name = "adwaita";
|
||||||
|
package = pkgs.adwaita-qt;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
options.xun.desktop.colorscheme = lib.mkOption {
|
||||||
|
default = null;
|
||||||
|
type = lib.types.enum [null "dark" "light"]; # might add more in the future
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf (cfg.colorscheme != null) (lib.mkMerge [
|
||||||
|
(lib.mkIf (cfg.colorscheme == "dark") dark)
|
||||||
|
(lib.mkIf (cfg.colorscheme == "light") light)
|
||||||
|
]);
|
||||||
|
|
||||||
|
# config = lib.mkIf (cfg.colorscheme != null) (let
|
||||||
|
# switch = {
|
||||||
|
# dark = {};
|
||||||
|
# light = {};
|
||||||
|
# };
|
||||||
|
# in
|
||||||
|
# switch."${toString cfg.colorscheme}");
|
||||||
|
}
|
|
@ -6,11 +6,27 @@
|
||||||
}: let
|
}: let
|
||||||
cfg = config.xun.desktop;
|
cfg = config.xun.desktop;
|
||||||
in {
|
in {
|
||||||
|
imports = [
|
||||||
|
./colorscheme
|
||||||
|
];
|
||||||
|
|
||||||
options.xun.desktop = {
|
options.xun.desktop = {
|
||||||
xdg.enable = lib.mkEnableOption "xdg env vars";
|
xdg.enable = lib.mkEnableOption "xdg env vars";
|
||||||
|
# colorscheme = lib.mkOption {
|
||||||
|
# default = null;
|
||||||
|
# type = lib.types.enum ["dark" "light"];
|
||||||
|
# };
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkMerge [
|
config = lib.mkMerge [
|
||||||
|
# (let
|
||||||
|
# switch = {
|
||||||
|
# "dark" = {};
|
||||||
|
# "light" = {};
|
||||||
|
# };
|
||||||
|
# in
|
||||||
|
# switch."${toString cfg.colorscheme}")
|
||||||
|
|
||||||
(lib.mkIf cfg.xdg.enable {
|
(lib.mkIf cfg.xdg.enable {
|
||||||
xdg = let
|
xdg = let
|
||||||
home = config.home.homeDirectory;
|
home = config.home.homeDirectory;
|
||||||
|
|
|
@ -70,12 +70,15 @@
|
||||||
small-nvim = {
|
small-nvim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
colorscheme = {
|
colorscheme = {
|
||||||
name = "carbonfox";
|
name = "dayfox";
|
||||||
package = "EdenEast/nightfox.nvim";
|
package = "EdenEast/nightfox.nvim";
|
||||||
};
|
};
|
||||||
wakatime = enabled;
|
wakatime = enabled;
|
||||||
};
|
};
|
||||||
desktop.xdg = enabled;
|
desktop = {
|
||||||
|
xdg = enabled;
|
||||||
|
colorscheme = "light";
|
||||||
|
};
|
||||||
programs.terminal = {
|
programs.terminal = {
|
||||||
shell.zsh = enabled;
|
shell.zsh = enabled;
|
||||||
direnv = enabled;
|
direnv = enabled;
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
profiles.xun = {
|
profiles.xun = {
|
||||||
extensions = with config.nur.repos.rycee.firefox-addons; [
|
extensions = with config.nur.repos.rycee.firefox-addons; [
|
||||||
ublock-origin
|
ublock-origin
|
||||||
darkreader
|
(lib.mkIf (config.xun.desktop.colorscheme == "dark") darkreader)
|
||||||
sponsorblock
|
sponsorblock
|
||||||
tridactyl
|
tridactyl
|
||||||
translate-web-pages
|
translate-web-pages
|
||||||
|
@ -49,7 +49,28 @@
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
userChrome = builtins.readFile ./userChrome.css;
|
userChrome = builtins.readFile ./userChrome.css;
|
||||||
|
# extraConfig = let
|
||||||
|
# inherit (config.xun.desktop) colorscheme;
|
||||||
|
# in
|
||||||
|
# lib.mkIf (colorscheme != null)
|
||||||
|
# "browser.management.setEnabled(\"${
|
||||||
|
# if colorscheme == "dark"
|
||||||
|
# then "{30756de5-da3b-43c4-8b35-1db7bb01680a}"
|
||||||
|
# else if colorscheme == "light"
|
||||||
|
# then "firefox-compact-light@mozilla.org"
|
||||||
|
# else null
|
||||||
|
# }\", true);";
|
||||||
settings = {
|
settings = {
|
||||||
|
"extensions.activeThemeID" = let
|
||||||
|
inherit (config.xun.desktop) colorscheme;
|
||||||
|
in
|
||||||
|
lib.mkIf (colorscheme != null) (
|
||||||
|
if colorscheme == "dark"
|
||||||
|
then "{30756de5-da3b-43c4-8b35-1db7bb01680a}"
|
||||||
|
else if colorscheme == "light"
|
||||||
|
then "firefox-compact-light@mozilla.org"
|
||||||
|
else null
|
||||||
|
);
|
||||||
"browser.display.use_system_colors" = true; # about:blank colour match colourscheme
|
"browser.display.use_system_colors" = true; # about:blank colour match colourscheme
|
||||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true; # enable userChrome
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true; # enable userChrome
|
||||||
"browser.tabs.inTitleBar" = "0"; # use system title bar
|
"browser.tabs.inTitleBar" = "0"; # use system title bar
|
||||||
|
|
|
@ -5,7 +5,8 @@
|
||||||
|
|
||||||
/* Hide tab bar */
|
/* Hide tab bar */
|
||||||
#TabsToolbar {
|
#TabsToolbar {
|
||||||
display: none;
|
/* display: none; */
|
||||||
|
visibility: collapse;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* urlbar same color as background */
|
/* urlbar same color as background */
|
||||||
|
@ -17,3 +18,8 @@
|
||||||
#navigator-toolbox {
|
#navigator-toolbox {
|
||||||
border-bottom: none !important;
|
border-bottom: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Hide shield thing since i never ever change those settings */
|
||||||
|
#tracking-protection-icon-container {
|
||||||
|
visibility: collapse;
|
||||||
|
}
|
||||||
|
|
|
@ -1,8 +1,30 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}: let
|
||||||
|
colors = {
|
||||||
|
dark = {
|
||||||
|
background = "#181818ff";
|
||||||
|
text = "#a4c6d9ff";
|
||||||
|
match = "#ae61b5ff";
|
||||||
|
border = "#feafffff";
|
||||||
|
selection = "#242424ff";
|
||||||
|
selection-text = "#ffffffff";
|
||||||
|
selection-match = "#fac1ffff";
|
||||||
|
};
|
||||||
|
light = {
|
||||||
|
background = "#ffffffff";
|
||||||
|
text = "#000000ff";
|
||||||
|
match = "#a60000ff";
|
||||||
|
border = "#000000ff";
|
||||||
|
selection = "#bfbfbfff";
|
||||||
|
selection-text = "#000000ff";
|
||||||
|
selection-match = "#2544bbff";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in {
|
||||||
programs.fuzzel = {
|
programs.fuzzel = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
@ -10,15 +32,7 @@
|
||||||
terminal = "${lib.getExe pkgs.foot}";
|
terminal = "${lib.getExe pkgs.foot}";
|
||||||
layer = "overlay";
|
layer = "overlay";
|
||||||
};
|
};
|
||||||
colors = {
|
colors = colors."${config.xun.desktop.colorscheme}";
|
||||||
background = "#181818ff";
|
|
||||||
text = "#a4c6d9ff";
|
|
||||||
match = "#ae61b5ff";
|
|
||||||
border = "#feafffff";
|
|
||||||
selection = "#242424ff";
|
|
||||||
selection-text = "#ffffffff";
|
|
||||||
selection-match = "#fac1ffff";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
../common/fuzzel.nix
|
../common/fuzzel.nix
|
||||||
../common/wob.nix
|
../common/wob.nix
|
||||||
../common/wl-clipboard.nix
|
../common/wl-clipboard.nix
|
||||||
|
./waybar.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
services.cliphist = {
|
services.cliphist = {
|
||||||
|
@ -58,12 +59,7 @@
|
||||||
input = {
|
input = {
|
||||||
"*".xkb_layout = osConfig.services.xserver.xkb.layout;
|
"*".xkb_layout = osConfig.services.xserver.xkb.layout;
|
||||||
};
|
};
|
||||||
bars = [
|
bars = []; # i use waybar instead
|
||||||
{
|
|
||||||
workspaceNumbers = false;
|
|
||||||
statusCommand = "${lib.getExe pkgs.i3status}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
window = {
|
window = {
|
||||||
titlebar = false;
|
titlebar = false;
|
||||||
};
|
};
|
||||||
|
|
16
home/programs/desktop/sway/waybar-workspace.patch
Normal file
16
home/programs/desktop/sway/waybar-workspace.patch
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
diff --git a/src/modules/sway/workspaces.cpp b/src/modules/sway/workspaces.cpp
|
||||||
|
index 8f273300..faed503c 100644
|
||||||
|
--- a/src/modules/sway/workspaces.cpp
|
||||||
|
+++ b/src/modules/sway/workspaces.cpp
|
||||||
|
@@ -343,9 +343,9 @@ auto Workspaces::update() -> void {
|
||||||
|
fmt::arg("output", (*it)["output"].asString()));
|
||||||
|
}
|
||||||
|
if (!config_["disable-markup"].asBool()) {
|
||||||
|
- static_cast<Gtk::Label *>(button.get_children()[0])->set_markup(output);
|
||||||
|
+ static_cast<Gtk::Label *>(button.get_children()[0])->set_markup(trimWorkspaceName(output));
|
||||||
|
} else {
|
||||||
|
- button.set_label(output);
|
||||||
|
+ button.set_label(trimWorkspaceName(output));
|
||||||
|
}
|
||||||
|
onButtonReady(*it, button);
|
||||||
|
}
|
62
home/programs/desktop/sway/waybar.nix
Normal file
62
home/programs/desktop/sway/waybar.nix
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.waybar.overrideAttrs (final: prev: {
|
||||||
|
patches = prev.patches ++ [./waybar-workspace.patch];
|
||||||
|
});
|
||||||
|
settings = [
|
||||||
|
{
|
||||||
|
height = 24;
|
||||||
|
spacing = 4;
|
||||||
|
position = "top";
|
||||||
|
modules-left = [
|
||||||
|
"sway/workspaces"
|
||||||
|
];
|
||||||
|
modules-center = [
|
||||||
|
"sway/window"
|
||||||
|
];
|
||||||
|
modules-right = [
|
||||||
|
"tray"
|
||||||
|
"clock"
|
||||||
|
];
|
||||||
|
"sway/workspaces" = {
|
||||||
|
format = "{icon}";
|
||||||
|
};
|
||||||
|
clock = {
|
||||||
|
format = "{:%a %H:%M}";
|
||||||
|
tooltip-format = "<big>{:%a %Y-%m-%d %H:%M}</big>\n<small>{calendar}</small>";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
style = ''
|
||||||
|
* {
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.visible {
|
||||||
|
box-shadow: inset 0 -3px black;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
box-shadow: inset 0 -3px blue;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
systemd = {
|
||||||
|
enable = true;
|
||||||
|
target = "sway-session.target";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -8,33 +8,33 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# Also sets org.freedesktop.appearance color-scheme
|
# Also sets org.freedesktop.appearance color-scheme
|
||||||
dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
# dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
||||||
|
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = {
|
# theme = {
|
||||||
package = pkgs.gnome-themes-extra;
|
# package = pkgs.gnome-themes-extra;
|
||||||
name = "Adwaita-dark";
|
# name = "Adwaita-dark";
|
||||||
};
|
# };
|
||||||
iconTheme = {
|
# iconTheme = {
|
||||||
package = pkgs.adwaita-icon-theme;
|
# package = pkgs.adwaita-icon-theme;
|
||||||
name = "Adwaita-dark";
|
# name = "Adwaita-dark";
|
||||||
};
|
# };
|
||||||
font = {
|
font = {
|
||||||
name = "Sans";
|
name = "Sans";
|
||||||
size = 11;
|
size = 11;
|
||||||
};
|
};
|
||||||
gtk2.extraConfig = "gtk-application-prefer-dark-theme=1";
|
# gtk2.extraConfig = "gtk-application-prefer-dark-theme=1";
|
||||||
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
|
# gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||||
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
|
# gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = true;
|
||||||
platformTheme.name = "gtk3";
|
# platformTheme.name = "gtk3";
|
||||||
style = {
|
# style = {
|
||||||
name = "Adwaita-dark";
|
# name = "Adwaita-dark";
|
||||||
package = pkgs.adwaita-qt;
|
# package = pkgs.adwaita-qt;
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
main = {
|
main = {
|
||||||
include = "${pkgs.foot.themes}/share/foot/themes/moonfly";
|
include = "${pkgs.foot.themes}/share/foot/themes/modus-operandi";
|
||||||
font = "monospace:size=9";
|
font = "monospace:size=9";
|
||||||
};
|
};
|
||||||
mouse.hide-when-typing = true;
|
mouse.hide-when-typing = true;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue