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-cjk
noto-fonts-emoji
ubuntu_font_family
(nerdfonts.override { fonts = [ "FiraCode" "Ubuntu" "UbuntuMono" ]; })
font-awesome
(nerdfonts.override { fonts = [ "UbuntuMono" "JetBrainsMono" ]; })
meslo-lgs-nf
victor-mono
];

View file

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

View file

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

View file

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

View file

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

View file

@ -1,14 +1,8 @@
{ pkgs, ... }:
{ pkgs, lib, ... }:
let
modifier = "Mod4";
terminal = "alacritty";
in {
home.sessionVariables = {
MOZ_ENABLE_WAYLAND = "1";
MOZ_USE_XINPUT2 = "1";
};
home.packages = with pkgs; [ swayidle wl-clipboard wlroots ];
wayland.windowManager.sway = {
@ -19,46 +13,45 @@ in {
menu = "wofi --show drun";
fonts = {
names = [ "UbuntuMono" ];
names = [ "NotoSans Nerd Font" ];
style = "Medium";
size = 11.0;
size = 12.0;
};
bars = [{ command = "waybar"; }];
window.border = 1;
window.border = 3;
gaps = {
inner = 10;
outer = 5;
inner = 8;
outer = 0;
};
colors = {
unfocused.border = "#333333";
unfocused.background = "#000000a0";
unfocused.text = "#a0a0a0";
unfocused.indicator = "#2d292e";
unfocused.childBorder = "#333333";
unfocused.border = "#474f6f";
unfocused.background = "#1a1b26";
unfocused.text = "#a9b1d6";
unfocused.indicator = "#474f6f";
unfocused.childBorder = "#474f6f";
focused.border = "#808080";
focused.background = "#000000";
focused.text = "#ffffff";
focused.indicator = "#2d292e";
focused.childBorder = "#ffffff";
focused.border = "#7bc5e4";
focused.background = "#1a1b26";
focused.text = "#a9b1d6";
focused.indicator = "#7bc5e4";
focused.childBorder = "#7bc5e4";
focusedInactive.border = "#333333";
focusedInactive.background = "#000000";
focusedInactive.text = "#ffffff";
focusedInactive.indicator = "#4e4850";
focusedInactive.childBorder = "#333333";
focusedInactive.border = "#787c99";
focusedInactive.background = "#1a1b26";
focusedInactive.text = "#a9b1d6";
focusedInactive.indicator = "#787c99";
focusedInactive.childBorder = "#787c99";
urgent.border = "#000000";
urgent.background = "#900000";
urgent.border = "#d5556f";
urgent.background = "#444b6a";
urgent.text = "#ffffff";
urgent.indicator = "#900000";
urgent.childBorder = "#000000";
urgent.indicator = "#d5556f";
urgent.childBorder = "#d5556f";
};
startup = map (x: { command = x; }) [
''~/.azotebg''
# Make wob channels
''mkfifo $SWAYSOCK.volume.wob && tail -f $SWAYSOCK.volume.wob | wob''
''mkfifo $SWAYSOCK.brightness.wob && tail -f $SWAYSOCK.brightness.wob | wob \
@ -88,7 +81,7 @@ in {
# Screenshot
"Print" = ''exec grim ${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
"XF86AudioRaiseVolume" = audio "-ui 2";
@ -107,6 +100,20 @@ in {
"${modifier}+Shift+e" = ''exec swaynag -t warning -m \
"You pressed the exit shortcut. Do you really want to exit sway? \
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."*" = {

View file

@ -6,178 +6,212 @@ modules-right:
programs.waybar = {
enable = true;
settings = [{
height = 30;
settings =
let spanfa = "<span font=\"Font Awesome 5 Regular 11\">";
in [{
height = 30;
margin = "8 8 0";
inherit modules-left modules-center modules-right;
inherit modules-left modules-center modules-right;
modules = {
"sway/mode" = {
"format" = "<span style=\"italic\">{}</span>";
};
"mpd" = {
format = "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) {songPosition}|{queueLength} ";
format-disconnected = "Disconnected ";
format-stopped = "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ";
unknown-tag = "N/A";
interval = 2;
modules = {
"sway/workspaces" = {
disable-scroll = true;
all-outputs = true;
numeric-first = true;
format = "<big>{icon}</big>";
consume-icons.on = " ";
random-icons.off = "<span color=\"#f53c3c\"></span> ";
random-icons.on = " ";
repeat-icons.on = " ";
single-icons.on = "1 ";
state-icons.paused = "";
state-icons.playing = "";
persistent_workspaces = {
"1:browser" = [];
"2:terminal" = [];
"3:code" = [];
"4:files" = [];
"5:discord" = [];
"6:settings" = [];
};
tooltip-format = "MPD (connected)";
tooltip-format-disconnected = "MPD (disconnected)";
};
"idle_inhibitor" = {
format = "{icon}";
format-icons.activated = "";
format-icons.deactivated = "";
};
"tray" = {
# icon-size = 21;
spacing = 10;
};
"clock" = {
# timezone = "America/New_York";
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
format-alt = "{:%Y-%m-%d}";
};
"cpu" = {
format = " {usage}%";
tooltip = false;
};
"battery" = {
states.warning = 30;
states.low = 15;
states.critical = 5;
format-icons = {
terminal = "${spanfa}</span>";
code = "${spanfa}</span>";
browser = "${spanfa}<big></big></span>";
files = "${spanfa}</span>";
discord = "${spanfa}</span>";
settings = "${spanfa}</span>";
};
};
"sway/mode" = {
format = "<span style=\"italic\">{}</span>";
};
"mpd" = {
format = "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) {songPosition}|{queueLength} ";
format-disconnected = "Disconnected ";
format-stopped = "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ";
unknown-tag = "N/A";
interval = 2;
format-icons = [ "" "" "" "" "" ];
format = "{icon} {capacity}%";
format-charging = "{icon} {capacity}% ";
format-time = "{H}h {M}m";
};
"memory" = {
format = " {}%";
};
"temperature" = {
# thermal-zone = 2;
# hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input";
critical-threshold = 80;
# format-critical = "{temperatureC}°C {icon}";
format = "{icon} {temperatureC}°C";
format-icons = [ "" "" "" ];
};
"backlight" = {
# device = "acpi_video1";
format = "{icon} {percent}%";
format-icons = [ "" "" ];
};
"network" = {
# interface = "wlp2*"; # (Optional) To force the use of this interface
format-wifi = " {essid} <span foreground='#B0B0B0'>{signalStrength}%</span>";
format-ethernet = " wired";
format-disconnected = "disconnected";
tooltip-format = "{ifname} {ipaddr}";
tooltip-format-disconnected = "disconnected";
};
"pulseaudio" = {
# scroll-step = 1; # %, can be a float
format = "{icon} {volume}%";
format-bluetooth = " {icon} {volume}%";
format-bluetooth-muted = " 0%";
format-muted = " {volume}%";
consume-icons.on = " ";
random-icons.off = "<span color=\"#f53c3c\"></span> ";
random-icons.on = " ";
repeat-icons.on = " ";
single-icons.on = "1 ";
state-icons.paused = "";
state-icons.playing = "";
format-icons.headphone = "";
format-icons.hands-free = "";
format-icons.headset = "";
format-icons.phone = "";
format-icons.portable = "";
format-icons.car = "";
format-icons.default = [ "" "" " " ];
tooltip-format = "MPD (connected)";
tooltip-format-disconnected = "MPD (disconnected)";
};
"idle_inhibitor" = {
format = "{icon}";
format-icons.activated = "";
format-icons.deactivated = "";
};
"tray" = {
# icon-size = 21;
spacing = 10;
};
"clock" = {
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>";
format-alt = " {:%Y-%m-%d}";
};
"cpu" = {
format = "<span font=\"Font Awesome 5 Regular 13\"></span> <span rise=\"1pt\">{usage}%</span>";
tooltip = false;
};
"battery" = {
states.warning = 30;
states.low = 15;
states.critical = 5;
on-click = "pamixer -t";
format-icons = [ "" "" "" "" "" "" "" "" "" "" "" ];
format = "<span font=\"UbuntuMono Nerd Font 12\">{icon}</span> {capacity}%";
format-charging = "<span font=\"UbuntuMono Nerd Font 12\"> </span>{capacity}%";
format-time = "{H}h {M}m";
};
"memory" = {
format = "${spanfa}<small></small></span> {}%";
};
"temperature" = {
# thermal-zone = 2;
# hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input";
critical-threshold = 70;
format = "${spanfa}<small>{icon}</small></span> {temperatureC}°C";
format-icons = [ "" "" "" "" "" ];
};
"backlight" = {
# device = "acpi_video1";
format = "<span font=\"Font Awesome 5 Regular 12\"><big>{icon}</big></span><small> </small><span rise=\"2pt\">{percent}%</span>";
format-icons = [ "" "" "" "" ];
};
"network" = {
# interface = "wlp2*"; # (Optional) To force the use of this interface
format = "{ifname}";
format-wifi = "${spanfa}<small></small></span> Online";
format-ethernet = "${spanfa} </span>";
format-disconnected = "";
tooltip-format-wifi = "{essid} - {signalStrength}%";
tooltip-format-ethernet = "{signalStrength}%";
tooltip-format-disconnected = "";
};
"pulseaudio" = {
scroll-step = 1;
smooth-scrolling-threshold = 2.0;
format = "${spanfa}{icon}</span>{volume}%";
format-bluetooth = " {icon} {volume}%";
format-bluetooth-muted = " 0%";
format-muted = " {volume}%";
format-icons.headphone = "";
format-icons.phone = "";
format-icons.portable = "";
format-icons.car = "";
format-icons.default = [ "" "" " " ];
on-click = "pamixer -t";
};
"custom/media" = {
format = "{icon} {}";
return-type = "json";
max-length = 40;
format-icons.spotify = "";
format-icons.default = "🎜";
escape = true;
};
"custom/sep".format = "";
};
"custom/media" = {
format = "{icon} {}";
return-type = "json";
max-length = 40;
format-icons.spotify = "";
format-icons.default = "🎜";
escape = true;
};
};
}];
}];
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-radius: 0;
font-family: "UbuntuMono Nerd Font", sans-serif;
font-size: 16px;
min-height: 0;
font-family: "JetBrainsMono Nerd Font", monospace;
font-size: 13px;
}
window#waybar {
background-color: rgba(0, 0, 0, 0.6);
color: #ffffff;
transition: background-color .2s;
padding: 5px 0;
background-color: @background;
border-radius: 8px;
color: @foreground;
padding: 3px 0;
}
window#waybar.hidden {
opacity: 0.2;
#custom-sep {
color: @altblend;
font-size: 14px;
}
/*
window#waybar.empty {
background-color: transparent;
}
window#waybar.solo {
background-color: #FFFFFF;
}
*/
window#waybar.termite {
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: #000000;
border: none;
#workspaces {
margin-left: 6px;
}
#workspaces button {
padding: 0 5px;
background-color: transparent;
color: #ffffff;
/* Use box-shadow instead of border so the text isn't offset */
box-shadow: inset 0 -3px transparent;
padding: 0 3px;
border-radius: 0;
color: @blue;
}
#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 {
background: rgba(255, 255, 255, 0.2);
box-shadow: inset 0 -3px #ffffff;
color: shade(@pink, 1.1);
text-shadow: 0 0 2 shade(@pink, 1.2);
}
#workspaces button.urgent {
background-color: #eb4d4b;
}
#mode {
background-color: #64727D;
border-bottom: 3px solid #ffffff;
background-color: @altred;
color: #ffffff;
}
#clock,
@ -186,82 +220,66 @@ modules-right:
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#mpd {
padding: 0px 10px;
margin: 0px 16px 0px 0px;
margin: 0 8px;
}
#window,
#workspaces {
margin: 0 4px;
#idle_inhibitor {
padding: 0 8px 0 0;
}
/* If workspaces is the leftmost module, omit left margin */
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
#cpu, #pulseaudio {
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 */
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
#clock {
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;
#backlight, #memory {
background-color: @altblend;
margin: 3px 4px 3px 0;
padding-left: 5px;
padding-right: 8px;
border-radius: 0 18px 18px 0;
}
#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 {
box-shadow: inset 0 -3px #ff5c57;
}
#mode {color: @cyan;}
#cpu {color: @green;}
#memory {color: @yellow;}
#temperature {color: @blue;}
#clock {color: @blue;}
label:focus {
background-color: #000000;
}
#battery {color: @green;}
#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%
xoffset=0px
allow_images=true
image_size=20px
drun-display_generic=true
dynamic_lines=true
term=alacritty
location=center
width=50%
height=55%
columns=6
image_size=64
content_halign=center
prompt=
always_parse_args=true
sort_order=alphabetical
allow_images=true
no_actions=true
term=alacritty

View file

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

View file

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