Update
This commit is contained in:
1
home/system/batsignal/default.nix
Normal file
1
home/system/batsignal/default.nix
Normal file
@@ -0,0 +1 @@
|
||||
{ services.batsignal.enable = true; }
|
||||
@@ -1,83 +0,0 @@
|
||||
{ config, pkgs, ... }: {
|
||||
|
||||
home.packages = with pkgs; [ libnotify ];
|
||||
|
||||
services.dunst = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Moka";
|
||||
package = pkgs.moka-icon-theme;
|
||||
};
|
||||
settings = {
|
||||
global = {
|
||||
rounded = "yes";
|
||||
origin = "top-center";
|
||||
monitor = "0";
|
||||
alignment = "center";
|
||||
vertical_alignment = "center";
|
||||
width = "400";
|
||||
height = "400";
|
||||
scale = 0;
|
||||
gap_size = 0;
|
||||
progress_bar = true;
|
||||
transparency = 0;
|
||||
text_icon_padding = 0;
|
||||
separator_color = "frame";
|
||||
sort = "yes";
|
||||
idle_threshold = 120;
|
||||
line_height = 0;
|
||||
markup = "full";
|
||||
show_age_threshold = 60;
|
||||
ellipsize = "middle";
|
||||
ignore_newline = "no";
|
||||
stack_duplicates = true;
|
||||
sticky_history = "yes";
|
||||
history_length = 20;
|
||||
always_run_script = true;
|
||||
corner_radius = config.var.theme.rounding;
|
||||
follow = "mouse";
|
||||
font = config.var.theme.font;
|
||||
format = "<b>%s</b>\\n%b";
|
||||
progress_bar_corner_radius = config.var.theme.rounding - 10;
|
||||
#format = ''
|
||||
# <span foreground='#${config.var.theme.colors.accent}'><b>%s %p</b></span>
|
||||
# %b'';
|
||||
frame_color = "#" + config.var.theme.colors.bg;
|
||||
highlight = "#" + config.var.theme.colors.accent;
|
||||
foreground = "#" + config.var.theme.colors.fg;
|
||||
frame_width = 1;
|
||||
offset = "0x10";
|
||||
horizontal_padding = 10;
|
||||
icon_position = "left";
|
||||
indicate_hidden = "yes";
|
||||
min_icon_size = 0;
|
||||
max_icon_size = 64;
|
||||
mouse_left_click = "do_action, close_current";
|
||||
mouse_middle_click = "close_current";
|
||||
mouse_right_click = "close_all";
|
||||
padding = 10;
|
||||
plain_text = "no";
|
||||
separator_height = 2;
|
||||
show_indicators = "yes";
|
||||
shrink = "no";
|
||||
word_wrap = "yes";
|
||||
browser = "${pkgs.qutebrowser}/bin/qutebrowser";
|
||||
};
|
||||
|
||||
fullscreen_delay_everything = { fullscreen = "delay"; };
|
||||
|
||||
urgency_critical = {
|
||||
background = "#" + config.var.theme.colors.c1;
|
||||
foreground = "#" + config.var.theme.colors.c0;
|
||||
};
|
||||
urgency_low = {
|
||||
background = "#" + config.var.theme.colors.bgalt;
|
||||
foreground = "#" + config.var.theme.colors.fgalt;
|
||||
};
|
||||
urgency_normal = {
|
||||
background = "#" + config.var.theme.colors.bgalt;
|
||||
foreground = "#" + config.var.theme.colors.fgalt;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,7 +1,12 @@
|
||||
{ pkgs, config, inputs, ... }: {
|
||||
|
||||
imports =
|
||||
[ ./hyprlock/macos.nix ./hypridle.nix ./hyprpaper.nix ./hyprcursor.nix ];
|
||||
imports = [
|
||||
./hyprlock/macos.nix
|
||||
./hypridle.nix
|
||||
./hyprpaper.nix
|
||||
./hyprcursor.nix
|
||||
./hyprpanel.nix
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
hyprshot
|
||||
@@ -9,14 +14,13 @@
|
||||
swappy
|
||||
imv
|
||||
wf-recorder
|
||||
xdg-desktop-portal-hyprland
|
||||
wlr-randr
|
||||
wl-clipboard
|
||||
brightnessctl
|
||||
gnome-themes-extra
|
||||
wlsunset
|
||||
xwayland
|
||||
xdg-desktop-portal-gtk
|
||||
# xwayland
|
||||
# xdg-desktop-portal-gtk
|
||||
qt5ct
|
||||
libva
|
||||
dconf
|
||||
@@ -29,21 +33,36 @@
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
|
||||
# plugins = [ inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo ]; # TODO: Fix, stack overflow
|
||||
plugins = [ inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo ];
|
||||
|
||||
settings = {
|
||||
"$mod" = "SUPER";
|
||||
"$shiftMod" = "SUPER_SHIFT";
|
||||
|
||||
exec-once = [
|
||||
"startup"
|
||||
"${pkgs.hypridle}/bin/hypridle"
|
||||
"${pkgs.hyprpaper}/bin/hyprpaper"
|
||||
"${pkgs.bitwarden}/bin/bitwarden"
|
||||
"[[ ${
|
||||
toString config.var.sops
|
||||
} == 1 ]] && systemctl --user start sops-nix"
|
||||
];
|
||||
|
||||
monitor = [ "eDP-2,highres,0x0,1" ",prefered,auto,1" ];
|
||||
|
||||
plugin = {
|
||||
hyprexpo = {
|
||||
columns = 2;
|
||||
gap_size = 5;
|
||||
bg_col = "rgb(111111)";
|
||||
workspace_method =
|
||||
"center current"; # [center/first] [workspace] e.g. first 1 or center m+1
|
||||
|
||||
enable_gesture = true; # laptop touchpad
|
||||
gesture_fingers = 3; # 3 or 4
|
||||
gesture_distance = 300; # how far is the "max"
|
||||
gesture_positive = true; # positive = swipe down. Negative = swipe up.
|
||||
};
|
||||
};
|
||||
|
||||
bind = [
|
||||
"$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty" # Kitty
|
||||
"$mod, E, exec, ${pkgs.xfce.thunar}/bin/thunar" # Thunar
|
||||
@@ -53,6 +72,7 @@
|
||||
"$mod, L, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock
|
||||
"$mod, X, exec, powermenu" # Powermenu
|
||||
"$mod, SPACE, exec, menu" # Launcher
|
||||
"$shiftMod, SPACE, hyprexpo:expo, toggle" # HyprExpo
|
||||
|
||||
"$mod, Q, killactive," # Close window
|
||||
"$mod, T, togglefloating," # Toggle Floating
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{ pkgs, ... }: {
|
||||
wayland.windowManager.hyprland.settings.exec-once =
|
||||
[ "${pkgs.hypridle}/bin/hypridle" ];
|
||||
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
{ config, ... }: {
|
||||
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
disable_loading_bar = true;
|
||||
grace = 5;
|
||||
no_fade_in = true;
|
||||
no_fade_out = true;
|
||||
};
|
||||
|
||||
background = {
|
||||
monitor = "";
|
||||
path = "$HOME/wallpapers/${config.var.theme.wallpaper}";
|
||||
color = "rgb(${config.var.theme.colors.bg})";
|
||||
|
||||
blur_size = 4;
|
||||
blur_passes = 3;
|
||||
noise = 1.17e-2;
|
||||
contrast = 1.3;
|
||||
brightness = 0.8;
|
||||
vibrancy = 0.21;
|
||||
vibrancy_darkness = 0.0;
|
||||
};
|
||||
|
||||
input-field = [{
|
||||
monitor = "";
|
||||
size = "250, 50";
|
||||
outline_thickness = 3;
|
||||
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.64; # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true;
|
||||
outer_color = "rgb(${config.var.theme.colors.accent})";
|
||||
inner_color = "rgb(${config.var.theme.colors.bg})";
|
||||
font_color = "rgb(${config.var.theme.colors.fg})";
|
||||
fade_on_empty = true;
|
||||
placeholder_text =
|
||||
"Password..."; # Text rendered in the input box when it's empty.
|
||||
position = "0, 80";
|
||||
halign = "center";
|
||||
valign = "bottom";
|
||||
}];
|
||||
|
||||
label = [
|
||||
# Current time
|
||||
{
|
||||
monitor = "";
|
||||
text =
|
||||
''cmd[update:1000] echo "<b><big> $(date +"%H:%M:%S") </big></b>"'';
|
||||
color = "rgb(${config.var.theme.colors.fg})";
|
||||
font_size = 64;
|
||||
font_family = config.var.theme.font;
|
||||
position = "0, 16";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
# User label
|
||||
{
|
||||
monitor = "";
|
||||
text = ''
|
||||
Hey <span text_transform="capitalize" size="larger">$USER</span>'';
|
||||
color = "rgb(${config.var.theme.colors.fg})";
|
||||
font_size = config.var.theme.font-size;
|
||||
font_family = config.var.theme.font;
|
||||
position = "0, 0";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
# Type to unlock
|
||||
{
|
||||
monitor = "";
|
||||
text = "Type to unlock!";
|
||||
color = "rgb(${config.var.theme.colors.fg})";
|
||||
font_size = config.var.theme.font-size;
|
||||
font_family = config.var.theme.font;
|
||||
position = "0, 30";
|
||||
halign = "center";
|
||||
valign = "bottom";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,86 +0,0 @@
|
||||
{ config, ... }: {
|
||||
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
disable_loading_bar = true;
|
||||
grace = 5;
|
||||
no_fade_in = true;
|
||||
no_fade_out = true;
|
||||
};
|
||||
|
||||
background = {
|
||||
monitor = "";
|
||||
color = "rgb(${config.var.theme.colors.bg})";
|
||||
};
|
||||
|
||||
input-field = [{
|
||||
monitor = "";
|
||||
size = "250, 50";
|
||||
outline_thickness = 3;
|
||||
dots_size = 0.2;
|
||||
dots_spacing = 0.64;
|
||||
dots_center = false;
|
||||
outer_color = "rgb(${config.var.theme.colors.bg})";
|
||||
inner_color = "rgb(${config.var.theme.colors.bg})";
|
||||
font_color = "rgb(${config.var.theme.colors.fg})";
|
||||
fade_on_empty = false;
|
||||
placeholder_text = "";
|
||||
position = "1190, -50";
|
||||
halign = "left";
|
||||
valign = "center";
|
||||
}];
|
||||
|
||||
shape = [{
|
||||
monitor = "";
|
||||
size = "520, 200";
|
||||
color = "rgb(${config.var.theme.colors.bg})";
|
||||
rounding = "0";
|
||||
border_size = "3";
|
||||
border_color = "rgba(255, 255, 255, 1.0)";
|
||||
rotate = "0";
|
||||
xray = "false";
|
||||
position = "0, 0";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}];
|
||||
|
||||
label = [
|
||||
# Current time
|
||||
{
|
||||
monitor = "";
|
||||
text = ''cmd[update:900] echo "time: $(date +"%H:%M:%S")"'';
|
||||
color = "rgb(${config.var.theme.colors.fg})";
|
||||
font_size = config.var.theme.font-size;
|
||||
font_family = config.var.theme.font-mono;
|
||||
position = "1100, 50";
|
||||
halign = "left";
|
||||
valign = "center";
|
||||
}
|
||||
# Username
|
||||
{
|
||||
monitor = "";
|
||||
text = "username: ${config.var.username}";
|
||||
color = "rgb(${config.var.theme.colors.fg})";
|
||||
font_size = config.var.theme.font-size;
|
||||
font_family = config.var.theme.font-mono;
|
||||
position = "1100, 0";
|
||||
halign = "left";
|
||||
valign = "center";
|
||||
}
|
||||
# Password
|
||||
{
|
||||
monitor = "";
|
||||
text = "password: ";
|
||||
color = "rgb(${config.var.theme.colors.fg})";
|
||||
font_size = config.var.theme.font-size;
|
||||
font_family = config.var.theme.font-mono;
|
||||
position = "1100, -50";
|
||||
halign = "left";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
6
home/system/hyprland/hyprpanel.nix
Normal file
6
home/system/hyprland/hyprpanel.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
{ pkgs, config, ... }: {
|
||||
wayland.windowManager.hyprland.settings.exec-once =
|
||||
[ "${pkgs.hyprpanel}/bin/hyprpanel" ];
|
||||
|
||||
home.packages = with pkgs; [ hyprpanel ];
|
||||
}
|
||||
@@ -1,4 +1,7 @@
|
||||
{ config, ... }: {
|
||||
{ pkgs, config, ... }: {
|
||||
wayland.windowManager.hyprland.settings.exec-once =
|
||||
[ "${pkgs.hyprpaper}/bin/hyprpaper" ];
|
||||
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
@@ -1,125 +0,0 @@
|
||||
{ pkgs, ... }: {
|
||||
|
||||
imports = [ ./style.nix ];
|
||||
|
||||
home.packages = with pkgs; [ libnotify ];
|
||||
|
||||
services.swaync = {
|
||||
enable = true;
|
||||
settings = {
|
||||
positionX = "right";
|
||||
positionY = "top";
|
||||
|
||||
control-center-margin-top = 15;
|
||||
control-center-margin-bottom = 15;
|
||||
control-center-margin-right = 15;
|
||||
control-center-margin-left = 15;
|
||||
|
||||
notification-icon-size = 32;
|
||||
notification-body-image-height = 50;
|
||||
notification-body-image-width = 50;
|
||||
|
||||
timeout-low = 5;
|
||||
timeout = 10;
|
||||
timeout-critical = 0;
|
||||
|
||||
fit-to-screen = true;
|
||||
control-center-width = 500;
|
||||
notification-window-width = 400;
|
||||
|
||||
keyboard-shortcuts = true;
|
||||
image-visibility = "when-available";
|
||||
|
||||
transition-time = 200;
|
||||
hide-on-clear = false;
|
||||
hide-on-action = true;
|
||||
script-fail-notify = true;
|
||||
|
||||
widgets = [
|
||||
"menubar"
|
||||
"title"
|
||||
"buttons-grid"
|
||||
"mpris"
|
||||
"volume"
|
||||
"backlight"
|
||||
"dnd"
|
||||
"notifications"
|
||||
];
|
||||
|
||||
widget-config = {
|
||||
title = {
|
||||
text = "Notification Center";
|
||||
clear-all-button = true;
|
||||
button-text = " Clear All";
|
||||
};
|
||||
dnd = { text = "Do Not Disturb"; };
|
||||
mpris = {
|
||||
image-size = 96;
|
||||
image-radius = 7;
|
||||
};
|
||||
volume = { label = ""; };
|
||||
backlight = {
|
||||
label = "";
|
||||
subsystem = "backlight";
|
||||
device = "nvidia_0";
|
||||
};
|
||||
menubar = {
|
||||
"menu#power-buttons" = {
|
||||
label = "";
|
||||
position = "right";
|
||||
actions = [
|
||||
{
|
||||
label = "";
|
||||
command = "systemctl poweroff";
|
||||
}
|
||||
{
|
||||
label = "";
|
||||
command = "systemctl reboot";
|
||||
}
|
||||
{
|
||||
label = "";
|
||||
command = "systemctl suspend";
|
||||
}
|
||||
{
|
||||
"label" = "";
|
||||
"command" = "${pkgs.hyprlock}/bin/hyprlock";
|
||||
}
|
||||
{
|
||||
"label" = "";
|
||||
"command" = "${pkgs.hyprland}/bin/hyprctl dispatch exit";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
"buttons-grid" = {
|
||||
"actions" = [
|
||||
{
|
||||
"label" = "";
|
||||
"command" =
|
||||
"${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||
}
|
||||
{
|
||||
"label" = "";
|
||||
"command" =
|
||||
"${pkgs.pulseaudio}/bin/pactl set-source-mute @DEFAULT_SOURCE@ toggle";
|
||||
}
|
||||
{
|
||||
"label" = "";
|
||||
"command" = "${pkgs.blueman}/bin/blueman-manager";
|
||||
}
|
||||
{
|
||||
"label" = "";
|
||||
"command" =
|
||||
"${pkgs.grimblast}/bin/grimblast --notify --freeze --wait 1 copysave area ~/Pictures/$(date +%Y-%m-%dT%H%M%S).png";
|
||||
}
|
||||
{
|
||||
"label" = "";
|
||||
"command" = "${pkgs.kooha}/bin/kooha";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
@@ -1,315 +0,0 @@
|
||||
{ config, ... }: {
|
||||
|
||||
xdg.configFile."swaync/style.css" = {
|
||||
text = ''
|
||||
@define-color notif-bg #${config.var.theme.colors.bgalt};
|
||||
@define-color notif-fg #${config.var.theme.colors.fgalt};
|
||||
@define-color cc-bg #${config.var.theme.colors.bg};
|
||||
@define-color cc-fg #${config.var.theme.colors.fg};
|
||||
@define-color red #${config.var.theme.colors.c1};
|
||||
|
||||
* {
|
||||
font-family: "${config.var.theme.font}";
|
||||
color: #${config.var.theme.colors.fg};
|
||||
}
|
||||
|
||||
.notification-row {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.notification-row:focus,
|
||||
.notification-row:hover {
|
||||
background: @notif-bg;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.notification {
|
||||
border-radius: ${toString config.var.theme.rounding}px;
|
||||
margin: 6px 12px;
|
||||
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 3px 1px rgba(0, 0, 0, 0.7),
|
||||
0 2px 6px 2px rgba(0, 0, 0, 0.3);
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.notification-content {
|
||||
background: transparent;
|
||||
padding: 6px;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.close-button {
|
||||
background: @cc-bg;
|
||||
color: @cc-fg;
|
||||
text-shadow: none;
|
||||
padding: 0;
|
||||
border-radius: 100%;
|
||||
margin-top: 10px;
|
||||
margin-right: 16px;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
min-width: 24px;
|
||||
min-height: 24px;
|
||||
}
|
||||
|
||||
.close-button:hover {
|
||||
box-shadow: none;
|
||||
background: @red;
|
||||
transition: all 0.15s ease-in-out;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.notification-default-action,
|
||||
.notification-action {
|
||||
padding: 4px;
|
||||
margin: 0;
|
||||
box-shadow: none;
|
||||
background: @cc-bg;
|
||||
color: @cc-fg;
|
||||
}
|
||||
|
||||
.notification-default-action:hover,
|
||||
.notification-action:hover {
|
||||
-gtk-icon-effect: none;
|
||||
background: @noti-bg-hover;
|
||||
}
|
||||
|
||||
.notification-default-action {
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
/* When alternative actions are visible */
|
||||
.notification-default-action:not(:only-child) {
|
||||
border-bottom-left-radius: 0px;
|
||||
border-bottom-right-radius: 0px;
|
||||
}
|
||||
|
||||
.notification-action {
|
||||
border-radius: 0px;
|
||||
border-top: none;
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
/* add bottom border radius to eliminate clipping */
|
||||
.notification-action:first-child {
|
||||
border-bottom-left-radius: 10px;
|
||||
}
|
||||
|
||||
.notification-action:last-child {
|
||||
border-bottom-right-radius: 10px;
|
||||
border-right: 1px solid @noti-border-color;
|
||||
}
|
||||
|
||||
.image {}
|
||||
|
||||
.body-image {
|
||||
margin-top: 6px;
|
||||
background-color: white;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.summary {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
background: transparent;
|
||||
color: white;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.time {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
background: transparent;
|
||||
color: white;
|
||||
text-shadow: none;
|
||||
margin-right: 18px;
|
||||
}
|
||||
|
||||
.body {
|
||||
font-size: 15px;
|
||||
font-weight: normal;
|
||||
background: transparent;
|
||||
color: white;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
/* The "Notifications" and "Do Not Disturb" text widget */
|
||||
.top-action-title {
|
||||
color: white;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.control-center {
|
||||
background-color: @cc-bg;
|
||||
}
|
||||
|
||||
.control-center-list {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.floating-notifications {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
/* Window behind control center and on all other monitors */
|
||||
.blank-window {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
/*** Widgets ***/
|
||||
|
||||
/* Title widget */
|
||||
.widget-title {
|
||||
margin: 8px;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.widget-title>button {
|
||||
font-size: initial;
|
||||
color: white;
|
||||
text-shadow: none;
|
||||
background: @noti-bg;
|
||||
border: 1px solid @noti-border-color;
|
||||
box-shadow: none;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.widget-title>button:hover {
|
||||
background: @noti-bg-hover;
|
||||
}
|
||||
|
||||
/* DND widget */
|
||||
.widget-dnd {
|
||||
margin: 8px;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.widget-dnd>switch {
|
||||
font-size: initial;
|
||||
border-radius: 12px;
|
||||
background: @noti-bg;
|
||||
border: 1px solid @noti-border-color;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.widget-dnd>switch:checked {
|
||||
background: @bg-selected;
|
||||
}
|
||||
|
||||
.widget-dnd>switch slider {
|
||||
background: @noti-bg-hover;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
/* Label widget */
|
||||
.widget-label {
|
||||
margin: 8px;
|
||||
}
|
||||
|
||||
.widget-label>label {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
/* Mpris widget */
|
||||
.widget-mpris {
|
||||
/* The parent to all players */
|
||||
}
|
||||
|
||||
.widget-mpris-player {
|
||||
padding: 8px;
|
||||
margin: 8px;
|
||||
}
|
||||
|
||||
.widget-mpris-title {
|
||||
font-weight: bold;
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
.widget-mpris-subtitle {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
/* Volume and Brightness Widget*/
|
||||
|
||||
.widget-volume {
|
||||
background-color: @noti-bg;
|
||||
padding: 4px 8px 8px 8px;
|
||||
margin: 0px 8px 8px 8px;
|
||||
border-bottom-left-radius: 12px;
|
||||
border-bottom-right-radius: 12px;
|
||||
}
|
||||
|
||||
.widget-backlight {
|
||||
background-color: @noti-bg;
|
||||
padding: 8px 8px 4px 8px;
|
||||
margin: 8px 8px 0px 8px;
|
||||
border-top-left-radius: 12px;
|
||||
border-top-right-radius: 12px;
|
||||
}
|
||||
|
||||
.KB {
|
||||
padding: 4px 8px 4px 8px;
|
||||
margin: 0px 8px 0px 8px;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.power-buttons{
|
||||
background-color: @noti-bg;
|
||||
padding: 8px;
|
||||
margin: 8px;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
|
||||
.power-buttons>button {
|
||||
background: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.power-buttons>button:hover {
|
||||
background: @noti-bg-hover;
|
||||
}
|
||||
|
||||
.widget-menubar>box>.menu-button-bar>button{
|
||||
border: none;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.topbar-buttons>button{
|
||||
border: none;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.widget-buttons-grid{
|
||||
padding: 8px;
|
||||
margin: 8px;
|
||||
border-radius: 12px;
|
||||
background-color: @noti-bg;
|
||||
}
|
||||
|
||||
.widget-buttons-grid>flowbox>flowboxchild>button{
|
||||
background: @noti-bg;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.widget-buttons-grid>flowbox>flowboxchild>button:hover {
|
||||
background: @noti-bg-hover;
|
||||
}
|
||||
|
||||
.powermode-buttons{
|
||||
background-color: @noti-bg;
|
||||
padding: 8px;
|
||||
margin: 8px;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.powermode-buttons>button {
|
||||
background: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.powermode-buttons>button:hover {
|
||||
background: @noti-bg-hover;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,337 +0,0 @@
|
||||
{ config, ... }: {
|
||||
services = {
|
||||
blueman-applet.enable = true;
|
||||
network-manager-applet.enable = true;
|
||||
};
|
||||
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = config.var.theme.waybar.position;
|
||||
position = config.var.theme.waybar.position;
|
||||
spacing = 0;
|
||||
"margin-top" = if config.var.theme.waybar.float
|
||||
&& config.var.theme.waybar.position == "top" then
|
||||
config.var.theme.gaps-out
|
||||
else
|
||||
0;
|
||||
"margin-bottom" = if config.var.theme.waybar.float
|
||||
&& config.var.theme.waybar.position == "bottom" then
|
||||
config.var.theme.gaps-out
|
||||
else
|
||||
0;
|
||||
"margin-left" = if config.var.theme.waybar.float then
|
||||
config.var.theme.gaps-out
|
||||
else
|
||||
0;
|
||||
"margin-right" = if config.var.theme.waybar.float then
|
||||
config.var.theme.gaps-out
|
||||
else
|
||||
0;
|
||||
height = 44;
|
||||
modules-left = [ "custom/logo" "hyprland/window" ];
|
||||
modules-center = [ "hyprland/workspaces" ];
|
||||
modules-right = [
|
||||
"tray"
|
||||
# "backlight"
|
||||
# "pulseaudio"
|
||||
"custom/caffeine"
|
||||
"custom/night-shift"
|
||||
"battery"
|
||||
"clock"
|
||||
"custom/notification"
|
||||
"custom/power"
|
||||
];
|
||||
|
||||
"wlr/taskbar" = {
|
||||
format = "{icon}";
|
||||
"on-click" = "activate";
|
||||
"on-click-right" = "fullscreen";
|
||||
|
||||
"icon-size" = 25;
|
||||
"tooltip-format" = "{title}";
|
||||
};
|
||||
"hyprland/window" = {
|
||||
"format" = "{title:30}";
|
||||
"max-length" = 30;
|
||||
"separate-outputs" = true;
|
||||
rewrite = {
|
||||
"\\s*(.*)\\s+" = "$1"; # Remove trailing whitespace
|
||||
# "\\s*" = # TODO FIXME
|
||||
# "\${USER}@\${HOST}"; # Replace empty string with your username
|
||||
".* - LibreWolf" = "LibreWolf";
|
||||
};
|
||||
};
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
"on-click" = "activate";
|
||||
format = "{icon}";
|
||||
"format-icons" = {
|
||||
"default" = "";
|
||||
"1" = "1";
|
||||
"2" = "2";
|
||||
"3" = "3";
|
||||
"4" = "4";
|
||||
"5" = "5";
|
||||
"6" = "6";
|
||||
"7" = "7";
|
||||
"8" = "8";
|
||||
"9" = "9";
|
||||
"active" = "";
|
||||
"urgent" = "";
|
||||
};
|
||||
"persistent-workspaces" = {
|
||||
"1" = [ ];
|
||||
"2" = [ ];
|
||||
"3" = [ ];
|
||||
"4" = [ ];
|
||||
"5" = [ ];
|
||||
};
|
||||
};
|
||||
|
||||
tray = { spacing = 16; };
|
||||
|
||||
clock = {
|
||||
"tooltip-format" = "<tt>{calendar}</tt>";
|
||||
"format-alt" = " {:%a, %d %b %Y}";
|
||||
format = " {:%I:%M %p}";
|
||||
};
|
||||
|
||||
pulseaudio = {
|
||||
format = "{icon}";
|
||||
"format-bluetooth" = "";
|
||||
nospacing = 1;
|
||||
"tooltip-format" = "Volume : {volume}%";
|
||||
"format-muted" = "";
|
||||
"format-icons" = {
|
||||
"headphone" = "";
|
||||
"default" = [ "" "" "" ];
|
||||
};
|
||||
"on-click" = "sound-toggle";
|
||||
"scroll-step" = 1;
|
||||
};
|
||||
|
||||
"custom/logo" = {
|
||||
format = " ";
|
||||
tooltip = false;
|
||||
on-click = "menu";
|
||||
};
|
||||
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{} {icon}";
|
||||
"format-icons" = {
|
||||
notification = "";
|
||||
none = "";
|
||||
"dnd-notification" = " ";
|
||||
"dnd-none" = "";
|
||||
"inhibited-notification" = " ";
|
||||
"inhibited-none" = "";
|
||||
"dnd-inhibited-notification" = " ";
|
||||
"dnd-inhibited-none" = " ";
|
||||
};
|
||||
"return-type" = "json";
|
||||
"exec-if" = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
"on-click" = "sleep 0.1 && swaync-client -t -sw";
|
||||
"on-click-right" = "sleep 0.1 && swaync-client -d -sw";
|
||||
escape = true;
|
||||
};
|
||||
|
||||
battery = {
|
||||
format = "{capacity}% {icon}";
|
||||
"format-icons" = {
|
||||
"charging" = [ "" "" "" "" "" "" "" "" "" "" ];
|
||||
"default" = [ "" "" "" "" "" "" "" "" "" "" ];
|
||||
};
|
||||
"format-full" = " ";
|
||||
interval = 10;
|
||||
states = {
|
||||
warning = 20;
|
||||
critical = 10;
|
||||
};
|
||||
tooltip = false;
|
||||
};
|
||||
|
||||
"custom/power" = {
|
||||
format = "";
|
||||
tooltip = false;
|
||||
on-click = "powermenu";
|
||||
};
|
||||
"custom/caffeine" = {
|
||||
format = "{}";
|
||||
max-length = 5;
|
||||
interval = 10;
|
||||
exec = "caffeine-status-icon";
|
||||
"on-click" = "caffeine";
|
||||
# exec-if = "pgrep spotify";
|
||||
# return-type = "";
|
||||
};
|
||||
"custom/night-shift" = {
|
||||
format = "{}";
|
||||
max-length = 5;
|
||||
interval = 10;
|
||||
exec = "night-shift-status-icon";
|
||||
"on-click" = "night-shift";
|
||||
};
|
||||
backlight = {
|
||||
device = "nvidia_0";
|
||||
format = "{icon}";
|
||||
"format-icons" = [ " " " " "" "" "" "" "" "" "" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
style = ''
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
font-family: "${config.var.theme.font}";
|
||||
color: #${config.var.theme.colors.fg};
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: ${
|
||||
if config.var.theme.waybar.transparent then
|
||||
"rgba(0, 0, 0, 0)"
|
||||
else
|
||||
"#${config.var.theme.colors.bg}"
|
||||
};
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
border-radius: ${
|
||||
if config.var.theme.waybar.float then
|
||||
toString config.var.theme.rounding
|
||||
else
|
||||
"0"
|
||||
}px;
|
||||
font-size: ${toString config.var.theme.waybar.font-size}px;
|
||||
}
|
||||
|
||||
.modules-left, .modules-center, .modules-right {
|
||||
border-radius: ${
|
||||
if config.var.theme.waybar.float then
|
||||
toString config.var.theme.rounding
|
||||
else
|
||||
"0"
|
||||
}px;
|
||||
background-color: #${config.var.theme.colors.bg};
|
||||
padding: 2px 6px;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
all: initial; /* Remove GTK theme values (waybar #1351) */
|
||||
min-width: 0; /* Fix weird spacing in materia (waybar #450) */
|
||||
box-shadow: inset 0 -3px transparent; /* Use box-shadow instead of border so the text isn't offset */
|
||||
padding: 6px 18px;
|
||||
margin: 6px 3px;
|
||||
border-radius: 4px;
|
||||
background-color: #${config.var.theme.colors.bgalt};
|
||||
color: #${config.var.theme.colors.fgalt};
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: #${config.var.theme.colors.accentFg};
|
||||
background-color: #${config.var.theme.colors.accent};
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
box-shadow: inherit;
|
||||
text-shadow: inherit;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-color: #${config.var.theme.colors.c1};
|
||||
}
|
||||
|
||||
#window > * {
|
||||
font-family: "${config.var.theme.font-mono}";
|
||||
}
|
||||
|
||||
#memory,
|
||||
#custom-power,
|
||||
#custom-notification,
|
||||
#custom-caffeine,
|
||||
#custom-night-shift,
|
||||
#battery,
|
||||
#backlight,
|
||||
#pulseaudio,
|
||||
#network,
|
||||
#clock,
|
||||
#tray,
|
||||
#backlight{
|
||||
border-radius: 9px;
|
||||
margin: 6px 3px;
|
||||
padding: 6px 12px;
|
||||
background-color: #${config.var.theme.colors.bgalt};
|
||||
color: #${config.var.theme.colors.fgalt};
|
||||
}
|
||||
|
||||
#tray menu {
|
||||
background-color: #${config.var.theme.colors.bgalt};
|
||||
color: #${config.var.theme.colors.fgalt};
|
||||
}
|
||||
|
||||
#custom-logo {
|
||||
padding-right: 7px;
|
||||
font-size: ${toString config.var.theme.waybar.font-size}px;
|
||||
color: #${config.var.theme.colors.accent};
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #f38ba8;
|
||||
color: #181825;
|
||||
}
|
||||
}
|
||||
|
||||
#battery.warning,
|
||||
#battery.critical,
|
||||
#battery.urgent {
|
||||
background-color: #ff0048;
|
||||
color: #181825;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
background-color: #${config.var.theme.colors.bgalt};
|
||||
color: #${config.var.theme.colors.fgalt};
|
||||
animation: none;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
background-color: #${config.var.theme.colors.accent};
|
||||
color: #${config.var.theme.colors.accentFg};
|
||||
}
|
||||
|
||||
|
||||
tooltip {
|
||||
border-radius: 8px;
|
||||
padding: 15px;
|
||||
background-color: #${config.var.theme.colors.bgalt};
|
||||
color: #${config.var.theme.colors.fgalt};
|
||||
}
|
||||
|
||||
tooltip label {
|
||||
padding: 5px;
|
||||
background-color: #${config.var.theme.colors.bgalt};
|
||||
color: #${config.var.theme.colors.fgalt};
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user