Retheme alacritty, sway, and waybar to Tokyo Night

This commit is contained in:
Kiana Sheibani 2022-09-23 17:23:08 -04:00
parent db1a4958ea
commit 1e9f79c731
11 changed files with 317 additions and 300 deletions

BIN
assets/background.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

View file

@ -44,8 +44,8 @@ nixpkgs, # The flake's input version of nixpkgs
noto-fonts noto-fonts
noto-fonts-cjk noto-fonts-cjk
noto-fonts-emoji noto-fonts-emoji
ubuntu_font_family font-awesome
(nerdfonts.override { fonts = [ "FiraCode" "Ubuntu" "UbuntuMono" ]; }) (nerdfonts.override { fonts = [ "UbuntuMono" "JetBrainsMono" ]; })
meslo-lgs-nf meslo-lgs-nf
victor-mono victor-mono
]; ];

View file

@ -12,11 +12,9 @@ in {
ripgrep ripgrep
unzip unzip
tldr tldr
pandoc
pamixer pamixer
brightnessctl brightnessctl
playerctl playerctl
screenfetch
gcc gcc

View file

@ -5,31 +5,30 @@
settings = { settings = {
window.opacity = 0.9; window.opacity = 0.9;
# Based on the GNOME Dark theme # Based on the Tokyo Night theme
colors.primary = { colors.primary = {
foreground = "#d0cfcc"; foreground = "#a9b1d6";
background = "#000000"; background = "#1a1b26";
bright_foreground = "#ffffff";
}; };
colors.normal = { colors.normal = {
black = "#171421"; black = "#32344a";
red = "#c01c28"; red = "#ce7284";
green = "#26a269"; green = "#7dc5a0";
yellow = "#a2734c"; yellow = "#caaa6a";
blue = "#12488b"; blue = "#7bc5e4";
magenta = "#a347ba"; magenta = "#ad8ee6";
cyan = "#2aa1b3"; cyan = "#449dab";
white = "#d0cfcc"; white = "#787c99";
}; };
colors.bright = { colors.bright = {
black = "#5e5c64"; black = "#444b6a";
red = "#f66151"; red = "#d5556f";
green = "#33d17a"; green = "#b9f27c";
yellow = "#e9ad0c"; yellow = "#ff9e64";
blue = "#2a7bde"; blue = "#7da6ff";
magenta = "#c061cb"; magenta = "#bb9af7";
cyan = "#33c7de"; cyan = "#0db9d7";
white = "#ffffff"; white = "#acb0d0";
}; };
font = font =

View file

@ -1,6 +1,5 @@
{ ... }: { ... }:
let bright-green = ''#60c000''; {
in {
programs.starship.enable = true; programs.starship.enable = true;
# This config is intended to make starship look like Tide, # This config is intended to make starship look like Tide,
@ -18,9 +17,9 @@ in {
character = character =
let char = ""; charVi = ""; let char = ""; charVi = "";
in { in {
success_symbol = "[${char}](bold ${bright-green})"; success_symbol = "[${char}](bold bright-green)";
error_symbol = "[${char}](bold red)"; error_symbol = "[${char}](bold bright-red)";
vicmd_symbol = "[${charVi}](bold ${bright-green})"; vicmd_symbol = "[${charVi}](bold bright-green)";
}; };
directory = { directory = {
@ -38,7 +37,7 @@ in {
jobs = { jobs = {
format = "[$symbol$number]($style) "; format = "[$symbol$number]($style) ";
symbol = " "; symbol = " ";
style = "${bright-green}"; style = "green";
}; };
status = { status = {
@ -52,7 +51,7 @@ in {
style = "dimmed cyan"; style = "dimmed cyan";
}; };
git_branch.style = "bold ${bright-green}"; git_branch.style = "bold green";
git_status = { git_status = {
format = "$stashed$ahead_behind$conflicted$deleted$renamed$staged$modified$untracked"; format = "$stashed$ahead_behind$conflicted$deleted$renamed$staged$modified$untracked";
@ -63,9 +62,9 @@ in {
diverged = "[ ](cyan)"; diverged = "[ ](cyan)";
untracked = "[?$count ](cyan)"; untracked = "[?$count ](cyan)";
stashed = "[\\$$count ](cyan)"; stashed = "[\\$$count ](cyan)";
modified = "[!$count ](bright-yellow)"; modified = "[!$count ](yellow)";
staged = "[+$count ](bright-yellow)"; staged = "[+$count ](yellow)";
renamed = "[»$count ](bright-yellow)"; renamed = "[»$count ](yellow)";
deleted = "[$count ](red)"; deleted = "[$count ](red)";
}; };
}; };

View file

@ -30,7 +30,7 @@
default-timeout=0 default-timeout=0
ignore-timeout=1 ignore-timeout=1
[app-name=lightcord] [app-name=discordcanary]
format=<b>%s</b>\n%b format=<b>%s</b>\n%b
border-color=#88c0d0 border-color=#88c0d0
''; '';

View file

@ -1,14 +1,8 @@
{ pkgs, ... }: { pkgs, lib, ... }:
let let
modifier = "Mod4"; modifier = "Mod4";
terminal = "alacritty"; terminal = "alacritty";
in { in {
home.sessionVariables = {
MOZ_ENABLE_WAYLAND = "1";
MOZ_USE_XINPUT2 = "1";
};
home.packages = with pkgs; [ swayidle wl-clipboard wlroots ]; home.packages = with pkgs; [ swayidle wl-clipboard wlroots ];
wayland.windowManager.sway = { wayland.windowManager.sway = {
@ -19,46 +13,45 @@ in {
menu = "wofi --show drun"; menu = "wofi --show drun";
fonts = { fonts = {
names = [ "UbuntuMono" ]; names = [ "NotoSans Nerd Font" ];
style = "Medium"; style = "Medium";
size = 11.0; size = 12.0;
}; };
bars = [{ command = "waybar"; }]; bars = [{ command = "waybar"; }];
window.border = 1; window.border = 3;
gaps = { gaps = {
inner = 10; inner = 8;
outer = 5; outer = 0;
}; };
colors = { colors = {
unfocused.border = "#333333"; unfocused.border = "#474f6f";
unfocused.background = "#000000a0"; unfocused.background = "#1a1b26";
unfocused.text = "#a0a0a0"; unfocused.text = "#a9b1d6";
unfocused.indicator = "#2d292e"; unfocused.indicator = "#474f6f";
unfocused.childBorder = "#333333"; unfocused.childBorder = "#474f6f";
focused.border = "#808080"; focused.border = "#7bc5e4";
focused.background = "#000000"; focused.background = "#1a1b26";
focused.text = "#ffffff"; focused.text = "#a9b1d6";
focused.indicator = "#2d292e"; focused.indicator = "#7bc5e4";
focused.childBorder = "#ffffff"; focused.childBorder = "#7bc5e4";
focusedInactive.border = "#333333"; focusedInactive.border = "#787c99";
focusedInactive.background = "#000000"; focusedInactive.background = "#1a1b26";
focusedInactive.text = "#ffffff"; focusedInactive.text = "#a9b1d6";
focusedInactive.indicator = "#4e4850"; focusedInactive.indicator = "#787c99";
focusedInactive.childBorder = "#333333"; focusedInactive.childBorder = "#787c99";
urgent.border = "#000000"; urgent.border = "#d5556f";
urgent.background = "#900000"; urgent.background = "#444b6a";
urgent.text = "#ffffff"; urgent.text = "#ffffff";
urgent.indicator = "#900000"; urgent.indicator = "#d5556f";
urgent.childBorder = "#000000"; urgent.childBorder = "#d5556f";
}; };
startup = map (x: { command = x; }) [ startup = map (x: { command = x; }) [
''~/.azotebg''
# Make wob channels # Make wob channels
''mkfifo $SWAYSOCK.volume.wob && tail -f $SWAYSOCK.volume.wob | wob'' ''mkfifo $SWAYSOCK.volume.wob && tail -f $SWAYSOCK.volume.wob | wob''
''mkfifo $SWAYSOCK.brightness.wob && tail -f $SWAYSOCK.brightness.wob | wob \ ''mkfifo $SWAYSOCK.brightness.wob && tail -f $SWAYSOCK.brightness.wob | wob \
@ -88,7 +81,7 @@ in {
# Screenshot # Screenshot
"Print" = ''exec grim ${filename}''; "Print" = ''exec grim ${filename}'';
"Shift+Print" = ''exec grim -g "$(slurp)" ${filename}''; "Shift+Print" = ''exec grim -g "$(slurp)" ${filename}'';
"${modifier}+Print" = ''exec grim -g "$(swaymsg -t get_tree | jq -j '.. | select(.type?) | select(.focused).rect | "\(.x),\(.y) \(.width)x\(.height)"')" ${filename}''; "Ctrl+Print" = ''exec grim -g "$(swaymsg -t get_tree | jq -j '.. | select(.type?) | select(.focused).rect | "\(.x),\(.y) \(.width)x\(.height)"')" ${filename}'';
# Special XF86 key bindings # Special XF86 key bindings
"XF86AudioRaiseVolume" = audio "-ui 2"; "XF86AudioRaiseVolume" = audio "-ui 2";
@ -107,6 +100,20 @@ in {
"${modifier}+Shift+e" = ''exec swaynag -t warning -m \ "${modifier}+Shift+e" = ''exec swaynag -t warning -m \
"You pressed the exit shortcut. Do you really want to exit sway? \ "You pressed the exit shortcut. Do you really want to exit sway? \
This will end your Wayland session." -b "Yes, exit sway" "swaymsg exit" ''; This will end your Wayland session." -b "Yes, exit sway" "swaymsg exit" '';
# Workspaces
"${modifier}+1" = "workspace 1:browser";
"${modifier}+2" = "workspace 2:terminal";
"${modifier}+3" = "workspace 3:code";
"${modifier}+4" = "workspace 4:files";
"${modifier}+5" = "workspace 5:discord";
"${modifier}+6" = "workspace 6:settings";
"${modifier}+Shift+1" = "move container to workspace 1:browser";
"${modifier}+Shift+2" = "move container to workspace 2:terminal";
"${modifier}+Shift+3" = "move container to workspace 3:code";
"${modifier}+Shift+4" = "move container to workspace 4:files";
"${modifier}+Shift+5" = "move container to workspace 5:discord";
"${modifier}+Shift+6" = "move container to workspace 6:settings";
}; };
output."*" = { output."*" = {

View file

@ -6,14 +6,41 @@ modules-right:
programs.waybar = { programs.waybar = {
enable = true; enable = true;
settings = [{ settings =
let spanfa = "<span font=\"Font Awesome 5 Regular 11\">";
in [{
height = 30; height = 30;
margin = "8 8 0";
inherit modules-left modules-center modules-right; inherit modules-left modules-center modules-right;
modules = { modules = {
"sway/workspaces" = {
disable-scroll = true;
all-outputs = true;
numeric-first = true;
format = "<big>{icon}</big>";
persistent_workspaces = {
"1:browser" = [];
"2:terminal" = [];
"3:code" = [];
"4:files" = [];
"5:discord" = [];
"6:settings" = [];
};
format-icons = {
terminal = "${spanfa}</span>";
code = "${spanfa}</span>";
browser = "${spanfa}<big></big></span>";
files = "${spanfa}</span>";
discord = "${spanfa}</span>";
settings = "${spanfa}</span>";
};
};
"sway/mode" = { "sway/mode" = {
"format" = "<span style=\"italic\">{}</span>"; format = "<span style=\"italic\">{}</span>";
}; };
"mpd" = { "mpd" = {
format = "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) {songPosition}|{queueLength} "; format = "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) {songPosition}|{queueLength} ";
@ -36,19 +63,19 @@ modules-right:
"idle_inhibitor" = { "idle_inhibitor" = {
format = "{icon}"; format = "{icon}";
format-icons.activated = ""; format-icons.activated = "";
format-icons.deactivated = ""; format-icons.deactivated = "";
}; };
"tray" = { "tray" = {
# icon-size = 21; # icon-size = 21;
spacing = 10; spacing = 10;
}; };
"clock" = { "clock" = {
# timezone = "America/New_York"; format = "<span font_family=\"Font Awesome 6 Pro Solid 11\"></span> {:%H:%M}";
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"; tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
format-alt = "{:%Y-%m-%d}"; format-alt = " {:%Y-%m-%d}";
}; };
"cpu" = { "cpu" = {
format = " {usage}%"; format = "<span font=\"Font Awesome 5 Regular 13\"></span> <span rise=\"1pt\">{usage}%</span>";
tooltip = false; tooltip = false;
}; };
"battery" = { "battery" = {
@ -56,45 +83,45 @@ modules-right:
states.low = 15; states.low = 15;
states.critical = 5; states.critical = 5;
format-icons = [ "" "" "" "" "" ]; format-icons = [ "" "" "" "" "" "" "" "" "" "" "" ];
format = "{icon} {capacity}%"; format = "<span font=\"UbuntuMono Nerd Font 12\">{icon}</span> {capacity}%";
format-charging = "{icon} {capacity}% "; format-charging = "<span font=\"UbuntuMono Nerd Font 12\"> </span>{capacity}%";
format-time = "{H}h {M}m"; format-time = "{H}h {M}m";
}; };
"memory" = { "memory" = {
format = " {}%"; format = "${spanfa}<small></small></span> {}%";
}; };
"temperature" = { "temperature" = {
# thermal-zone = 2; # thermal-zone = 2;
# hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input"; # hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input";
critical-threshold = 80; critical-threshold = 70;
# format-critical = "{temperatureC}°C {icon}"; format = "${spanfa}<small>{icon}</small></span> {temperatureC}°C";
format = "{icon} {temperatureC}°C"; format-icons = [ "" "" "" "" "" ];
format-icons = [ "" "" "" ];
}; };
"backlight" = { "backlight" = {
# device = "acpi_video1"; # device = "acpi_video1";
format = "{icon} {percent}%"; format = "<span font=\"Font Awesome 5 Regular 12\"><big>{icon}</big></span><small> </small><span rise=\"2pt\">{percent}%</span>";
format-icons = [ "" "" ]; format-icons = [ "" "" "" "" ];
}; };
"network" = { "network" = {
# interface = "wlp2*"; # (Optional) To force the use of this interface # interface = "wlp2*"; # (Optional) To force the use of this interface
format-wifi = " {essid} <span foreground='#B0B0B0'>{signalStrength}%</span>"; format = "{ifname}";
format-ethernet = " wired"; format-wifi = "${spanfa}<small></small></span> Online";
format-disconnected = "disconnected"; format-ethernet = "${spanfa} </span>";
tooltip-format = "{ifname} {ipaddr}"; format-disconnected = "";
tooltip-format-disconnected = "disconnected"; tooltip-format-wifi = "{essid} - {signalStrength}%";
tooltip-format-ethernet = "{signalStrength}%";
tooltip-format-disconnected = "";
}; };
"pulseaudio" = { "pulseaudio" = {
# scroll-step = 1; # %, can be a float scroll-step = 1;
format = "{icon} {volume}%"; smooth-scrolling-threshold = 2.0;
format = "${spanfa}{icon}</span>{volume}%";
format-bluetooth = " {icon} {volume}%"; format-bluetooth = " {icon} {volume}%";
format-bluetooth-muted = " 0%"; format-bluetooth-muted = " 0%";
format-muted = " {volume}%"; format-muted = " {volume}%";
format-icons.headphone = ""; format-icons.headphone = "";
format-icons.hands-free = "";
format-icons.headset = "";
format-icons.phone = ""; format-icons.phone = "";
format-icons.portable = ""; format-icons.portable = "";
format-icons.car = ""; format-icons.car = "";
@ -112,72 +139,79 @@ modules-right:
escape = true; escape = true;
}; };
"custom/sep".format = "";
}; };
}]; }];
style = style =
'' ''
@define-color background #1a1b26;
@define-color foreground #a9b1d6;
@define-color black #32344a;
@define-color red #ce7284;
@define-color green #7dc5a0;
@define-color yellow #caaa6a;
@define-color blue #7bc5e4;
@define-color magenta #ad8ee6;
@define-color cyan #449dab;
@define-color white #787c99;
@define-color altblack #444b6a;
@define-color altred #d5556f;
@define-color altgreen #b9f27c;
@define-color altyellow #ff9e64;
@define-color altblue #7da6ff;
@define-color altmagenta #bb9af7;
@define-color altcyan #0db9d7;
@define-color altwhite #acb0d0;
@define-color altblend #282e49;
@define-color empty #474f6f;
@define-color pink #c386c0;
@define-color violet #8682de;
* { * {
border: none; border: none;
border-radius: 0; font-family: "JetBrainsMono Nerd Font", monospace;
font-family: "UbuntuMono Nerd Font", sans-serif; font-size: 13px;
font-size: 16px;
min-height: 0;
} }
window#waybar { window#waybar {
background-color: rgba(0, 0, 0, 0.6); background-color: @background;
color: #ffffff; border-radius: 8px;
transition: background-color .2s; color: @foreground;
padding: 5px 0; padding: 3px 0;
} }
window#waybar.hidden { #custom-sep {
opacity: 0.2; color: @altblend;
font-size: 14px;
} }
/* #workspaces {
window#waybar.empty { margin-left: 6px;
background-color: transparent;
}
window#waybar.solo {
background-color: #FFFFFF;
}
*/
window#waybar.termite {
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: #000000;
border: none;
} }
#workspaces button { #workspaces button {
padding: 0 5px; padding: 0 3px;
background-color: transparent; border-radius: 0;
color: #ffffff; color: @blue;
/* Use box-shadow instead of border so the text isn't offset */
box-shadow: inset 0 -3px transparent;
} }
#workspaces button:hover { #workspaces button:hover {
background: rgba(255, 255, 255, 0.1); box-shadow: inherit;
text-shadow: inherit;
background: @background;
border: none;
padding: 0 3px;
} }
#workspaces button.persistent {color: @empty;}
#workspaces button.focused { #workspaces button.focused {
background: rgba(255, 255, 255, 0.2); color: shade(@pink, 1.1);
box-shadow: inset 0 -3px #ffffff; text-shadow: 0 0 2 shade(@pink, 1.2);
} }
#workspaces button.urgent { #workspaces button.urgent {
background-color: #eb4d4b; background-color: @altred;
} color: #ffffff;
#mode {
background-color: #64727D;
border-bottom: 3px solid #ffffff;
} }
#clock, #clock,
@ -186,82 +220,66 @@ modules-right:
#memory, #memory,
#disk, #disk,
#temperature, #temperature,
#backlight,
#network, #network,
#pulseaudio,
#custom-media, #custom-media,
#tray, #tray,
#mode, #mode,
#idle_inhibitor, #idle_inhibitor,
#mpd { #mpd {
padding: 0px 10px; margin: 0 8px;
margin: 0px 16px 0px 0px;
} }
#window, #idle_inhibitor {
#workspaces { padding: 0 8px 0 0;
margin: 0 4px;
} }
/* If workspaces is the leftmost module, omit left margin */
.modules-left > widget:first-child > #workspaces { #cpu, #pulseaudio {
margin-left: 0; background-color: @altblend;
margin: 3px 0 3px 2px;
padding-right: 5px;
padding-left: 8px;
border-radius: 18px 0 0 18px;
} }
/* If workspaces is the rightmost module, omit right margin */ #backlight, #memory {
.modules-right > widget:last-child > #workspaces { background-color: @altblend;
margin-right: 0; margin: 3px 4px 3px 0;
} padding-left: 5px;
padding-right: 8px;
#clock { border-radius: 0 18px 18px 0;
box-shadow: inset 0 -3px #0a6cf5;
}
#battery {
box-shadow: inset 0 -3px #a0f23c;
}
#battery.warning:not(.charging) {
box-shadow: inset 0 -3px #fcda44;
color: #fce788;
}
#battery.low:not(.charging) {
box-shadow: inset 0 -3px #f93920;
color: #f97f6f;
}
@keyframes blink {
80% {
color: rgba(0, 0, 0, 0);
}
}
#battery.critical:not(.charging) {
box-shadow: inset 0 -3px #400000;
color: #ff2525;
animation: blink 1.5s step-start infinite;
}
#backlight {
box-shadow: inset 0 -3px #ffff50;
} }
#network { #network {
box-shadow: inset 0 -3px #9f78ff; background-color: @altblend;
margin: 3px 4px;
padding: 0 6px;
border-radius: 18px;
} }
#pulseaudio {
box-shadow: inset 0 -3px #5af78e; #window {
font-family: "NotoSans Nerd Font";
font-size: 12px;
} }
#pulseaudio.muted { #mode {color: @cyan;}
box-shadow: inset 0 -3px #ff5c57; #cpu {color: @green;}
} #memory {color: @yellow;}
#temperature {color: @blue;}
#clock {color: @blue;}
label:focus { #battery {color: @green;}
background-color: #000000; #battery.warning:not(.charging) {color: @altyellow;}
} #battery.low:not(.charging) {color: @altred;}
#battery.critical:not(.charging) {color: #ff2525;}
#backlight {color: @yellow;}
#network {color: @green;}
#pulseaudio {color: @pink;}
#pulseaudio.muted {color: @red;}
#idle_inhibitor.deactivated {color: @altred;}
#idle_inhibitor.activated {color: @altgreen;}
''; '';
}; };
} }

View file

@ -1,8 +1,12 @@
width=100% location=center
xoffset=0px width=50%
allow_images=true height=55%
image_size=20px columns=6
drun-display_generic=true image_size=64
dynamic_lines=true content_halign=center
term=alacritty prompt=
always_parse_args=true
sort_order=alphabetical sort_order=alphabetical
allow_images=true
no_actions=true
term=alacritty

View file

@ -1,18 +1,16 @@
window { window {
margin: 0px; padding: 15px;
background-color: rgba(0, 0, 0, 0.6); border: none;
font-size: 1.2em; border-radius: 8px;
font-family: "Ubuntu Mono"; background-color: #1a1b26;
color: #a9b1d6;
font-size: 14px;
font-family: "JetBrainsMono Nerd Font";
} }
#input { #input {
color: white; color: white;
margin: 0px; margin-bottom: 8px;
margin-right: 10px;
margin-left: 10px;
border: 0px;
border-bottom: 2px solid #eef279;
border-radius: 0px; border-radius: 0px;
background-color: transparent; background-color: transparent;
} }
@ -22,14 +20,10 @@ window {
margin-right: 10px; margin-right: 10px;
margin-left: 10px; margin-left: 10px;
border-top: 2px solid transparent; border-top: 2px solid transparent;
color: white; color: #;
background-color: transparent; background-color: transparent;
} }
expander .entry {
margin-left: -15px;
}
#img { #img {
margin-right: 6px; margin-right: 6px;
} }
@ -47,22 +41,20 @@ expander .entry {
} }
#entry { #entry {
display: grid;
padding: 1px; padding: 1px;
padding-left: 4px; padding-left: 4px;
padding-right: 4px; padding-right: 4px;
margin: 0px; margin: 0px;
} }
image { display: block; }
label { display: flex; }
#entry:selected { #entry:selected {
background-color: #eef279;
color: #141414;
outline: 0px;
border-radius: 0px;
} }
#text:selected { #text:selected {
background-color: #eef279;
color: #141414;
outline: 0px; outline: 0px;
border-radius: 0px; border-radius: 0px;
} }

View file

@ -3,6 +3,6 @@
# manager, so it's fine. # manager, so it's fine.
import ../../common/home-manager/wayland/waybar.nix import ../../common/home-manager/wayland/waybar.nix
[ "sway/workspaces" "sway/mode" ] [ "sway/workspaces" "sway/mode" "custom/sep" "cpu" "memory" "temperature" ]
[ "sway/window" ] [ "sway/window" ]
[ "pulseaudio" "backlight" "network" "battery" "clock" "idle_inhibitor" ] [ "battery" "pulseaudio" "backlight" "network" "clock" "idle_inhibitor" ]