Major theme updates

Switched back to tokyo-night for base scheme but disable a lot of
stylix config (and selectively re-enable for certain
modules). Manually theme things using the tokyonight palette for a
nicer and more cohesive experience

Also change to a new wallpaper, fits scheme better as well

Added named workspaces for common programs (emacs, chromium, steam)
and keep numbered workspaces as generic scratch space

Move MPRIS to right section, add hyprland/window module (with a
separator bar)
This commit is contained in:
Evie Litherland-Smith 2023-11-12 13:24:09 +00:00
parent 47b861475e
commit 94e1a23bf2
15 changed files with 1520 additions and 89 deletions

View file

@ -115,20 +115,18 @@
"steam" "steam"
"steam-original" "steam-original"
"steam-run" "steam-run"
"discord"
"nomachine-client" "nomachine-client"
]; ];
system = { inherit stateVersion; }; system = { inherit stateVersion; };
networking = { inherit hostName; }; networking = { inherit hostName; };
stylix = { stylix = {
image = ./wallpapers/default.jpg; autoEnable = false;
image = ./wallpapers/tokyo-space.png;
base16Scheme = base16Scheme =
"${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml"; "${pkgs.base16-schemes}/share/themes/tokyo-night-terminal-dark.yaml";
polarity = "dark"; polarity = "dark";
opacity = { opacity = {
applications = 0.8; popups = 0.8;
desktop = 0.5;
popups = 0.5;
terminal = 0.8; terminal = 0.8;
}; };
fonts = rec { fonts = rec {
@ -137,8 +135,9 @@
package = pkgs.noto-fonts-emoji; package = pkgs.noto-fonts-emoji;
}; };
monospace = { monospace = {
name = "Fira Code"; name = "FiraMono Nerd Font";
package = pkgs.fira-code; package =
(pkgs.nerdfonts.override { fonts = [ "FiraMono" ]; });
}; };
sansSerif = { sansSerif = {
name = "Fira Sans"; name = "Fira Sans";
@ -153,7 +152,6 @@
fira fira
fira-mono fira-mono
fira-code fira-code
fira-code-symbols
(nerdfonts.override { (nerdfonts.override {
fonts = [ "FiraCode" "NerdFontsSymbolsOnly" ]; fonts = [ "FiraCode" "NerdFontsSymbolsOnly" ];
}) })

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { config, lib, pkgs, ... }:
{ {
programs.alacritty = { programs.alacritty = {
@ -11,10 +11,51 @@
y = 10; y = 10;
}; };
decorations = "none"; decorations = "none";
opacity = 0.8;
};
font = {
normal.family = "FiraMono Nerd Font";
size = 14.0;
}; };
selection.save_to_clipboard = true; selection.save_to_clipboard = true;
live_config_reload = true; live_config_reload = true;
mouse.hide_when_typing = true; mouse.hide_when_typing = true;
colors = {
primary = {
background = "#1a1b26";
foreground = "#c0caf5";
};
normal = {
black = "#15161e";
red = "#f7768e";
green = "#9ece6a";
yellow = "#e0af68";
blue = "#7aa2f7";
magenta = "#bb9af7";
cyan = "#7dcfff";
white = "#a9b1d6";
};
bright = {
black = "#414868";
red = "#f7768e";
green = "#9ece6a";
yellow = "#e0af68";
blue = "#7aa2f7";
magenta = "#bb9af7";
cyan = "#7dcfff";
white = "#c0caf5";
};
indexed_colors = [
{
index = 16;
color = "#ff9e64";
}
{
index = 17;
color = "#db4b4b";
}
];
};
}; };
}; };
} }

View file

@ -1,6 +1,8 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
xdg.configFile."bat/themes/tokyonight_night.tmTheme".source =
./tokyonight_night.tmTheme;
programs = { programs = {
bash.enable = true; bash.enable = true;
readline = { readline = {
@ -34,7 +36,7 @@
hyprlinks = true; hyprlinks = true;
navigate = true; navigate = true;
side-by-side = true; side-by-side = true;
syntax-theme = "base16-stylix"; syntax-theme = "tokyonight_night";
}; };
}; };
extraConfig = { extraConfig = {

View file

@ -1,7 +1,6 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
stylix.targets.emacs.enable = false;
xdg.configFile = { xdg.configFile = {
"emacs/init.el".source = ./init.el; "emacs/init.el".source = ./init.el;
"emacs/snippets".source = ./snippets; "emacs/snippets".source = ./snippets;
@ -30,6 +29,7 @@
vertico vertico
# ide-packages # ide-packages
vterm
ibuffer-project ibuffer-project
treesit-grammars.with-all-grammars treesit-grammars.with-all-grammars
treesit-auto treesit-auto

View file

@ -141,6 +141,8 @@
:ensure t :ensure t
:config (nerd-icons-completion-mode +1)) :config (nerd-icons-completion-mode +1))
(keymap-global-set "C-c i n" #'nerd-icons-insert)
(use-package ligature (use-package ligature
:ensure t :ensure t
:config :config

View file

@ -165,6 +165,8 @@
(use-package nerd-icons-completion (use-package nerd-icons-completion
:ensure t :ensure t
:config (nerd-icons-completion-mode +1)) :config (nerd-icons-completion-mode +1))
(keymap-global-set "C-c i n" #'nerd-icons-insert)
#+end_src #+end_src
** Font ligatures ** Font ligatures

View file

@ -24,7 +24,7 @@ in ''
exec-once = systemctl --user import-environment WAYLAND_DISPLAY QT_QPA_PLATFORMTHEME exec-once = systemctl --user import-environment WAYLAND_DISPLAY QT_QPA_PLATFORMTHEME
exec-once = systemctl --user restart xdg-desktop-portal.service xdg-desktop-portal-hyprland.service avizo.service exec-once = systemctl --user restart xdg-desktop-portal.service xdg-desktop-portal-hyprland.service avizo.service
misc:disable_autoreload = true misc:background_color=rgb(1a1b26)
gestures:workspace_swipe = true gestures:workspace_swipe = true
@ -33,10 +33,11 @@ in ''
kb_options = ctrl:nocaps kb_options = ctrl:nocaps
follow_mouse = 1 follow_mouse = 1
touchpad:natural_scroll = yes touchpad:natural_scroll = yes
} }
general { general {
col.active_border=rgb(bb9af7)
col.inactive_border=rgb(414868)
gaps_in = 5 gaps_in = 5
gaps_out = 10 gaps_out = 10
border_size = 1 border_size = 1
@ -59,6 +60,7 @@ in ''
decoration { decoration {
rounding = 10 rounding = 10
col.shadow=rgba(1a1b2699)
drop_shadow = yes drop_shadow = yes
shadow_ignore_window = true shadow_ignore_window = true
shadow_range = 4 shadow_range = 4
@ -105,11 +107,6 @@ in ''
bind = SUPER, Return, exec, alacritty bind = SUPER, Return, exec, alacritty
bind = SUPER SHIFT, Return, exec, rofi -replace -show ssh bind = SUPER SHIFT, Return, exec, rofi -replace -show ssh
bind = SUPER, E, exec, emacs
bind = SUPER SHIFT, E, exec, [workspace 1] emacs
bind = SUPER, W, exec, nyxt
bind = SUPER SHIFT, W, exec, [workspace 2] nyxt
# Misc useful binds # Misc useful binds
bind=,XF86Calculator,exec,rofi -replace -show calc bind=,XF86Calculator,exec,rofi -replace -show calc
@ -162,17 +159,54 @@ in ''
windowrulev2 = float,title:(Steam Settings),class:(steam) windowrulev2 = float,title:(Steam Settings),class:(steam)
# Workspace definitions # Workspace definitions
bind = SUPER, S, moveworkspacetomonitor, 1 current bind = SUPER, 1, moveworkspacetomonitor, 1 current
bind = SUPER, S, workspace, 1 bind = SUPER, 1, workspace, 1
bind = SUPER SHIFT, S, movetoworkspace, 1 bind = SUPER SHIFT, 1, movetoworkspace, 1
bind = SUPER, D, moveworkspacetomonitor, 2 current bind = SUPER, 2, moveworkspacetomonitor, 2 current
bind = SUPER, D, workspace, 2 bind = SUPER, 2, workspace, 2
bind = SUPER SHIFT, D, movetoworkspace, 2 bind = SUPER SHIFT, 2, movetoworkspace, 2
bind = SUPER, F, moveworkspacetomonitor, 3 current bind = SUPER, 3, moveworkspacetomonitor, 3 current
bind = SUPER, F, workspace, 3 bind = SUPER, 3, workspace, 3
bind = SUPER SHIFT, F, movetoworkspace, 3 bind = SUPER SHIFT, 3, movetoworkspace, 3
bind = SUPER, 4, moveworkspacetomonitor, 4 current
bind = SUPER, 4, workspace, 4
bind = SUPER SHIFT, 4, movetoworkspace, 4
bind = SUPER, 5, moveworkspacetomonitor, 5 current
bind = SUPER, 5, workspace, 5
bind = SUPER SHIFT, 5, movetoworkspace, 5
bind = SUPER, 6, moveworkspacetomonitor, 6 current
bind = SUPER, 6, workspace, 6
bind = SUPER SHIFT, 6, movetoworkspace, 6
# Named workspaces
bind = SUPER, E, moveworkspacetomonitor, name:emacs current
bind = SUPER, E, workspace, name:emacs
bind = SUPER SHIFT, E, movetoworkspace, name:emacs
windowrule = workspace name:emacs, (emacs)
bind = SUPER, T, moveworkspacetomonitor, name:top current
bind = SUPER, T, workspace, name:top
bind = SUPER SHIFT, T, movetoworkspace, name:top
bind = SUPER, C, moveworkspacetomonitor, name:chromium current
bind = SUPER, C, workspace, name:chromium
bind = SUPER SHIFT, C, movetoworkspace, name:chromium
windowrule = workspace name:chromium, (chromium-browser)
bind = SUPER, S, moveworkspacetomonitor, name:steam current
bind = SUPER, S, workspace, name:steam
bind = SUPER SHIFT, S, movetoworkspace, name:steam
windowrule = workspace name:steam, (steam)
bind = SUPER, R, moveworkspacetomonitor, name:remote current
bind = SUPER, R, workspace, name:remote
bind = SUPER SHIFT, R, movetoworkspace, name:remote
windowrule = workspace name:remote, (Nxplayer.bin)
# Special workspaces # Special workspaces
bind = SUPER, comma, workspace, m-1 bind = SUPER, comma, workspace, m-1
@ -196,5 +230,4 @@ in ''
exec-once = ${pkgs.hyprpaper}/bin/hyprpaper exec-once = ${pkgs.hyprpaper}/bin/hyprpaper
exec-once = ${pkgs.mako}/bin/mako exec-once = ${pkgs.mako}/bin/mako
exec-once = ${pkgs.dex}/bin/dex --autostart exec-once = ${pkgs.dex}/bin/dex --autostart
exec-once = kidex
'' ''

View file

@ -1,12 +1,11 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
stylix.targets.gtk.enable = false;
gtk = { gtk = {
enable = true; enable = true;
cursorTheme = { cursorTheme = {
package = pkgs.catppuccin-cursors.mochaDark; package = pkgs.volantes-cursors;
name = "Catppuccin-Mocha-Dark-Cursors"; name = "volantes_cursors";
size = 24; size = 24;
}; };
iconTheme = { iconTheme = {
@ -14,12 +13,8 @@
name = "Papirus-Dark"; name = "Papirus-Dark";
}; };
theme = { theme = {
package = pkgs.catppuccin-gtk.override { package = pkgs.tokyo-night-gtk;
accents = [ "yellow" ]; name = "Tokyonight-Dark-BL";
size = "standard";
variant = "mocha";
};
name = "Catppuccin-Mocha-Standard-Yellow-Dark";
}; };
}; };
xdg.configFile."gtklock/config.ini".text = let xdg.configFile."gtklock/config.ini".text = let

View file

@ -1,6 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
stylix.targets.mako.enable = true;
services.mako = { services.mako = {
enable = true; enable = true;
actions = true; actions = true;

View file

@ -4,6 +4,7 @@ let
power-menu = "power-menu:${pkgs.rofi-power-menu}/bin/rofi-power-menu"; power-menu = "power-menu:${pkgs.rofi-power-menu}/bin/rofi-power-menu";
in { in {
stylix.targets.rofi.enable = true;
programs.rofi = { programs.rofi = {
enable = true; enable = true;
package = pkgs.rofi-wayland; package = pkgs.rofi-wayland;

View file

@ -1,27 +1,5 @@
{ config, lib, pkgs, ... }: { { config, lib, pkgs, ... }: {
home.packages = with pkgs; [ networkmanagerapplet bluez ]; home.packages = with pkgs; [ networkmanagerapplet bluez ];
stylix.targets.waybar.enable = false;
xdg.configFile."waybar/scheme.css".text =
with config.lib.stylix.colors.withHashtag; ''
@define-color base00 ${base00};
@define-color base01 ${base01};
@define-color base02 ${base02};
@define-color base03 ${base03};
@define-color base04 ${base04};
@define-color base05 ${base05};
@define-color base06 ${base06};
@define-color base07 ${base07};
@define-color base08 ${base08};
@define-color base09 ${base09};
@define-color base0A ${base0A};
@define-color base0B ${base0B};
@define-color base0C ${base0C};
@define-color base0D ${base0D};
@define-color base0E ${base0E};
@define-color base0F ${base0F};
* { font-family: "${config.stylix.fonts.sansSerif.name}" }
'';
systemd.user.targets.tray.Unit = { systemd.user.targets.tray.Unit = {
Description = "Home Manager System Tray"; Description = "Home Manager System Tray";
Requires = [ "graphical-session-pre.target" ]; Requires = [ "graphical-session-pre.target" ];
@ -37,9 +15,11 @@
layer = "top"; layer = "top";
position = "top"; position = "top";
# Layout # Layout
"modules-left" = [ "hyprland/workspaces" ]; "modules-left" =
"modules-center" = [ "mpris" ]; [ "hyprland/workspaces" "custom/separator" "hyprland/window" ];
"modules-center" = [ ];
"modules-right" = [ "modules-right" = [
"mpris"
"pulseaudio" "pulseaudio"
"battery" "battery"
"disk" "disk"
@ -50,6 +30,7 @@
"tray" "tray"
]; ];
# Module config # Module config
"custom/separator" = { format = " | "; };
"hyprland/workspaces" = { "hyprland/workspaces" = {
format = "{icon}"; format = "{icon}";
format-icons = { format-icons = {
@ -59,15 +40,28 @@
"4" = "󰫆"; "4" = "󰫆";
"5" = "󰫇"; "5" = "󰫇";
"6" = "󰫈"; "6" = "󰫈";
"emacs" = "";
"top" = "󰒋";
"chromium" = "";
"steam" = "󰓓";
"remote" = "󰢹";
default = "󰋙"; default = "󰋙";
special = "󱗿"; special = "󱗿";
urgent = "󰁡"; urgent = "󰁡";
}; };
show-special = true; show-special = true;
sort-by = "number";
};
"hyprland/window" = {
rewrite = {
"(.*) - GNU Emacs(.*)" = "󰅴 $1";
"(.*) - Chromium" = "󰖟 $1";
};
separate-outputs = true;
}; };
mpris = { mpris = {
"format" = "format" = "{player_icon} <b>{title}</b>";
"{player_icon} <b>{title}</b> [{position}/{length}] {status_icon}"; "tooltip-format" = "{player_icon} ({player}) {dynamic}";
"interval" = 1; "interval" = 1;
"player-icons" = { "player-icons" = {
"default" = "󰲸"; "default" = "󰲸";

View file

@ -1,24 +1,46 @@
@import "./scheme.css"; /* *background: #1a1b26 */
/* *foreground: #c0caf5 */
* { font-size: 16px; } @define-color base00 #15161e;
@define-color base01 #f7768e;
@define-color base02 #9ece6a;
@define-color base03 #e0af68;
@define-color base04 #7aa2f7;
@define-color base05 #bb9af7;
@define-color base06 #7dcfff;
@define-color base07 #a9b1d6;
@define-color base08 #414868;
@define-color base09 #f7768e;
@define-color base0A #9ece6a;
@define-color base0B #e0af68;
@define-color base0C #7aa2f7;
@define-color base0D #bb9af7;
@define-color base0E #7dcfff;
@define-color base0F #c0caf5;
* {
font-family: "FiraMono Nerd Font";
font-size: 16px;
}
window { background: transparent; } window { background: transparent; }
window > box { window > box {
color: @base05; color: #c0caf5;
background: alpha(@base00, 0.5); background: alpha(#1a1b26, 0.5);
box-shadow: inset 0 0 0 1px alpha(@base03, 0.1), 0 0 0 1px alpha(@base00, 0.5); box-shadow: inset 0 0 0 1px alpha(#c0caf5, 0.1), 0 0 0 1px alpha(#1a1b26, 0.5);
margin: 10px 10px 0px; margin: 10px 10px 0px;
padding: 0px; padding: 0px;
border: 1px solid @base03; border: 1px solid #bb9af7;
border-radius: 10px; border-radius: 10px;
} }
tooltip { tooltip {
color: @base05; color: #c0caf5;
background: alpha(@base00, 0.5); /* Temp set alpha to 1.0 until I can sort out blurls issue */
box-shadow: inset 0 0 0 1px alpha(@base0A, 0.1), 0 0 0 1px alpha(@base00, 0.5); background: alpha(#1a1b26, 1.0);
border: 1px solid @base0A; box-shadow: inset 0 0 0 1px alpha(#bb9af7, 0.1), 0 0 0 1px alpha(#1a1b26, 0.5);
border: 1px solid #bb9af7;
border-radius: 10px; border-radius: 10px;
padding: 5px; padding: 5px;
margin: 0px; margin: 0px;
@ -40,29 +62,34 @@ tooltip {
#workspaces, #workspaces,
#mpris, #mpris,
#tray { color: @base05; } #tray { color: #c0caf5; }
#pulseaudio { color: @base07; } #pulseaudio { color: #f7768e; }
#battery { color: @base08; } #battery { color: #e0af68; }
#disk { color: @base09; } #disk { color: #e0af68; }
#cpu { color: @base0A; } #cpu { color: #9ece6a; }
#memory { color: @base0B; } #memory { color: #7dcfff; }
#temperature { color: @base0C; } #temperature { color: #7aa2f7; }
#clock { color: @base0D; } #clock { color: #bb9af7; }
#workspaces button { #workspaces button {
background: transparent;
border: 1px solid transparent; border: 1px solid transparent;
border-radius: 10px; border-radius: 10px;
color: @base03; color: #c0caf5;
margin: 0px; margin: 0px;
padding: 0px 5px; padding: 0px 5px;
} }
#workspaces button.empty {
color: #414868;
}
#workspaces button.active { #workspaces button.active {
color: @base05; color: #bb9af7;
} }
#workspaces button.urgent { #workspaces button.urgent {
border: 1px solid @base07; border: 1px solid #f7768e;
color: @base05; color: #f7768e;
} }

File diff suppressed because it is too large Load diff

View file

@ -12,10 +12,7 @@
protonvpn-gui protonvpn-gui
transmission-gtk transmission-gtk
fractal fractal
discord
teams-for-linux
libreoffice libreoffice
zotero
minesweep-rs minesweep-rs
nomachine-client nomachine-client
]; ];

BIN
wallpapers/tokyo-space.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 MiB