mirror of
https://github.com/tomasriveral/nixos.git
synced 2026-08-12 02:28:37 +02:00
added first version of waybar config. Still some problems
This commit is contained in:
@@ -120,7 +120,7 @@ services.upower.enable = true;
|
|||||||
programs.firefox.enable = true;
|
programs.firefox.enable = true;
|
||||||
|
|
||||||
# Allow unfree packages
|
# Allow unfree packages
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = false;
|
||||||
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
@@ -146,6 +146,10 @@ services.upower.enable = true;
|
|||||||
cmatrix
|
cmatrix
|
||||||
swww #wallpaper daemon
|
swww #wallpaper daemon
|
||||||
socat # Utility for bidirectional data transfer between two independent data channels (used to communicate between hyprland and swww to change wallpapers dinamically)
|
socat # Utility for bidirectional data transfer between two independent data channels (used to communicate between hyprland and swww to change wallpapers dinamically)
|
||||||
|
gcc # GNU C compiler
|
||||||
|
libreoffice
|
||||||
|
gruvbox-gtk-theme
|
||||||
|
hyprpicker
|
||||||
#we need to install gnome and kde utils individually as we dont use gnome
|
#we need to install gnome and kde utils individually as we dont use gnome
|
||||||
gnome-calculator
|
gnome-calculator
|
||||||
snapshot
|
snapshot
|
||||||
|
|||||||
+15
-1
@@ -17,9 +17,11 @@ imports = [
|
|||||||
../../modules/home-manager/swaync.nix # notification daemon
|
../../modules/home-manager/swaync.nix # notification daemon
|
||||||
../../modules/home-manager/neovim.nix # dont use nixvim. broken
|
../../modules/home-manager/neovim.nix # dont use nixvim. broken
|
||||||
../../modules/home-manager/rclone.nix
|
../../modules/home-manager/rclone.nix
|
||||||
|
../../modules/home-manager/waybar.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#programs.nixvim = {
|
#programs.nixvim = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
# imports = [ ../../modules/nixvim/neovim.nix ];
|
# imports = [ ../../modules/nixvim/neovim.nix ];
|
||||||
@@ -50,6 +52,10 @@ home.packages = [
|
|||||||
(pkgs.callPackage ../../modules/scripts/cowsay.nix {})
|
(pkgs.callPackage ../../modules/scripts/cowsay.nix {})
|
||||||
(pkgs.callPackage ../../modules/scripts/wallpaper.nix {})
|
(pkgs.callPackage ../../modules/scripts/wallpaper.nix {})
|
||||||
(pkgs.callPackage ../../modules/scripts/mountkdrive.nix {})
|
(pkgs.callPackage ../../modules/scripts/mountkdrive.nix {})
|
||||||
|
(pkgs.callPackage ../../modules/scripts/weatherwaybar.nix {})
|
||||||
|
(pkgs.callPackage ../../modules/scripts/colorpicker.nix {})
|
||||||
|
#pkgs
|
||||||
|
pkgs.gruvbox-gtk-theme
|
||||||
# # Adds the 'hello' command to your environment. It prints a friendly
|
# # Adds the 'hello' command to your environment. It prints a friendly
|
||||||
# # "Hello, world!" when run.
|
# # "Hello, world!" when run.
|
||||||
# pkgs.hello
|
# pkgs.hello
|
||||||
@@ -68,7 +74,15 @@ home.packages = [
|
|||||||
# '')
|
# '')
|
||||||
];
|
];
|
||||||
|
|
||||||
#ssh config
|
#maybe migrate both of them in a separate file
|
||||||
|
# gtk config
|
||||||
|
gtk.theme = {
|
||||||
|
enable = true;
|
||||||
|
name = "Gruvbox-GTK-Theme-BL-MB";
|
||||||
|
package = pkgs.gruvbox-gtk-theme;
|
||||||
|
};
|
||||||
|
|
||||||
|
# ssh config
|
||||||
|
|
||||||
programs.ssh.enable = true;
|
programs.ssh.enable = true;
|
||||||
services.ssh-agent.enable = true;
|
services.ssh-agent.enable = true;
|
||||||
|
|||||||
@@ -100,6 +100,7 @@ in
|
|||||||
"$mod, F, exec, $browser"
|
"$mod, F, exec, $browser"
|
||||||
"$mod+Shift, A, exec, rofi -show drun"
|
"$mod+Shift, A, exec, rofi -show drun"
|
||||||
"$mod, Q, exec, custom-dontkillsteam"
|
"$mod, Q, exec, custom-dontkillsteam"
|
||||||
|
"Ctrl+Alt, W, exec, pkill waybar || waybar"
|
||||||
#plugins keybindings
|
#plugins keybindings
|
||||||
|
|
||||||
];
|
];
|
||||||
@@ -140,11 +141,12 @@ in
|
|||||||
"wl-paste --type text --watch cliphist store" # clipboard store text data
|
"wl-paste --type text --watch cliphist store" # clipboard store text data
|
||||||
"wl-paste --type image --watch cliphist store" # clipboard store image data
|
"wl-paste --type image --watch cliphist store" # clipboard store image data
|
||||||
"custom-batterynotify"
|
"custom-batterynotify"
|
||||||
#wallpapers
|
#wallpapers/b
|
||||||
"swww img ${wallpaper}"
|
"swww img ${wallpaper}"
|
||||||
"swww-daemon"
|
"swww-daemon"
|
||||||
"sleep 1 && custom-wallpaper"
|
"sleep 1 && custom-wallpaper"
|
||||||
"custom-mountkdrive"
|
"custom-mountkdrive"
|
||||||
|
"waybar"
|
||||||
];
|
];
|
||||||
# █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀
|
# █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀
|
||||||
# █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█
|
# █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█
|
||||||
|
|||||||
@@ -0,0 +1,649 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
settings = [
|
||||||
|
{
|
||||||
|
layer = "top";
|
||||||
|
position = "left";
|
||||||
|
margin = "5 2 5 0";
|
||||||
|
reload_style_on_change = true;
|
||||||
|
modules-left = [
|
||||||
|
"hyprland/workspaces"
|
||||||
|
"group/info"
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
modules-center = [
|
||||||
|
"hyprland/window"
|
||||||
|
];
|
||||||
|
modules-right = [
|
||||||
|
"group/brightness"
|
||||||
|
"group/sound"
|
||||||
|
"group/connection"
|
||||||
|
"group/together"
|
||||||
|
"tray"
|
||||||
|
"group/power"
|
||||||
|
];
|
||||||
|
# groups settings are organized by alphabetical order
|
||||||
|
"group/audio" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
drawer = {
|
||||||
|
transition-duration = 500;
|
||||||
|
transition-left-to-right = false;
|
||||||
|
};
|
||||||
|
items = [
|
||||||
|
"pulseaudio"
|
||||||
|
"pulseaudio#mic"
|
||||||
|
"pulseaudio/slider"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"group/bluetooth" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
drawer = {
|
||||||
|
transition-duration = 500;
|
||||||
|
transition-left-to-right = true;
|
||||||
|
};
|
||||||
|
items = [
|
||||||
|
"bluetooth"
|
||||||
|
"bluetooth#status"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"group/brightness" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
drawer = {
|
||||||
|
transition-duration = 500;
|
||||||
|
transition-left-to-right = false;
|
||||||
|
};
|
||||||
|
items = [
|
||||||
|
"backlight"
|
||||||
|
"backlight/slider"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"group/connection" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
items = [ "group/network" ];
|
||||||
|
};
|
||||||
|
"group/gcpu" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
items = [
|
||||||
|
"custom/cpu-icon"
|
||||||
|
"temperature"
|
||||||
|
"cpu"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"group/info" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
items = [
|
||||||
|
"group/gcpu"
|
||||||
|
"memory"
|
||||||
|
"disk"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"group/network" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
drawer = {
|
||||||
|
transition-duration = 500;
|
||||||
|
transition-left-to-right = true;
|
||||||
|
};
|
||||||
|
items = [
|
||||||
|
"network"
|
||||||
|
"network#speed"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"group/power" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
drawer = {
|
||||||
|
transition-duration = 500;
|
||||||
|
transition-left-to-right = false;
|
||||||
|
};
|
||||||
|
items = [
|
||||||
|
"battery"
|
||||||
|
"power-profiles-daemon"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"group/sound" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
items = [
|
||||||
|
"group/audio"
|
||||||
|
"custom/notification"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"group/together" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
items = [
|
||||||
|
"group/utils"
|
||||||
|
"clock"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"group/utils" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
drawer = {
|
||||||
|
transition-duration = 500;
|
||||||
|
transition-left-to-right = true;
|
||||||
|
};
|
||||||
|
items = [
|
||||||
|
"custom/weather"
|
||||||
|
"custom/colorpicker"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
# modules settings are organized by alphabetical order
|
||||||
|
backlight = {
|
||||||
|
device = "intel_backlight"; # my laptop is amd and it works
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = [
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
];
|
||||||
|
on-scroll-down = "brightnessctl s 5%-";
|
||||||
|
on-scroll-up = "brightness s +5%";
|
||||||
|
tooltip = true;
|
||||||
|
tooltip-format = "Brightness: {percent}%";
|
||||||
|
smooth-scrolling-threshold = 1;
|
||||||
|
};
|
||||||
|
"backlight/slider" = {
|
||||||
|
min = 5;
|
||||||
|
max = 100;
|
||||||
|
orientation = "vertical";
|
||||||
|
device = "intel_backlight";
|
||||||
|
};
|
||||||
|
bluetooth = {
|
||||||
|
format-on = "";
|
||||||
|
format-off = "";
|
||||||
|
format-disabled = "";
|
||||||
|
format-connected = "<b></b>";
|
||||||
|
tooltip-format = "{controller_alias}\t{controller_address}\n\n{num_connections} connected";
|
||||||
|
tooltip-format-connected = "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}";
|
||||||
|
tooltip-format-enumerate-connected = "{device_alias}\t{device_address}";
|
||||||
|
tooltip-format-enumerate-connected-battery = "{device_alias}\t{device_address}\t{device_battery_percentage}%";
|
||||||
|
};
|
||||||
|
"bluetooth#status" = {
|
||||||
|
format-on = "";
|
||||||
|
format-off = "";
|
||||||
|
format-disabled = "";
|
||||||
|
format-connected = "<b>{num_connections}</b>";
|
||||||
|
format-connected-battery = "<small><b>{device_battery_percentage}%</b></small>";
|
||||||
|
tooltip-format = "{controller_alias}\t{controller_address}\n\n{num_connections} connected";
|
||||||
|
tooltip-format-connected = "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}";
|
||||||
|
tooltip-format-enumerate-connected = "{device_alias}\t{device_address}";
|
||||||
|
tooltip-format-enumerate-connected-battery = "{device_alias}\t{device_address}\t{device_battery_percentage}%";
|
||||||
|
};
|
||||||
|
clock = {
|
||||||
|
format = "{:%H\n%M}";
|
||||||
|
tooltip-format = "<tt><small>{calendar}</small></tt>";
|
||||||
|
calendar = {
|
||||||
|
mode = "month";
|
||||||
|
mode-mon-col = 3;
|
||||||
|
weeks-pos = "right";
|
||||||
|
on-scroll = 1;
|
||||||
|
on-click-right = "mode";
|
||||||
|
format = {
|
||||||
|
today = "<span color='#d65d0e'><b><u>{}</u></b></span>";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
cpu = {
|
||||||
|
format = "<b>{usage}%</b>";
|
||||||
|
};
|
||||||
|
"custom/colorpicker" = {
|
||||||
|
format = "";
|
||||||
|
return-type = "json";
|
||||||
|
interval = "once";
|
||||||
|
exec = "custom-colorpicker -j";
|
||||||
|
on-click = "sleep 1 && ~/.config/waybar/scripts/colorpicker.sh";
|
||||||
|
signal = 1;
|
||||||
|
};
|
||||||
|
"custom/cpu-icon" = {
|
||||||
|
format = "";
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
"custom/mark" = {
|
||||||
|
format = "";
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
"custom/weather" = {
|
||||||
|
format = "{}";
|
||||||
|
interval = 3600;
|
||||||
|
exec = "custom-weatherwaybar";
|
||||||
|
return-type = "json";
|
||||||
|
};
|
||||||
|
disk = {
|
||||||
|
interval = 600;
|
||||||
|
format = "<b> \n{percentage_used}</b>";
|
||||||
|
path = "/"; #maybe we should subtract ~/kdrive if it is counted
|
||||||
|
};
|
||||||
|
"hyprland/window" = {
|
||||||
|
format = "{class}";
|
||||||
|
rotate = 90;
|
||||||
|
};
|
||||||
|
"hyprland/workspaces" = {
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
"1" = "";
|
||||||
|
"2" = "";
|
||||||
|
"3" = "";
|
||||||
|
"4" = "";
|
||||||
|
"5" = "";
|
||||||
|
"6" = "";
|
||||||
|
"7" = "";
|
||||||
|
"8" = "";
|
||||||
|
"9" = "";
|
||||||
|
"10" = "";
|
||||||
|
"active" = "";
|
||||||
|
"default" = "";
|
||||||
|
};
|
||||||
|
persistent-workspaces = {
|
||||||
|
"*" = [ 1 2 3 4 5 6 7 8 9 10 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
idle_inhibitor = {
|
||||||
|
format = "{icon}";
|
||||||
|
tooltip-format-activated = "Idle Inhibitor is active";
|
||||||
|
tooltip-format-deactivated = "Idle Inhibitor is not active";
|
||||||
|
format-icons = {
|
||||||
|
activated = "";
|
||||||
|
deactivated = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
memory = {
|
||||||
|
format = "<b> \n{:2}</b>";
|
||||||
|
};
|
||||||
|
network = {
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
wifi = [ "" ];
|
||||||
|
ethernet = [ "" ];
|
||||||
|
disconnected = [ "" ];
|
||||||
|
};
|
||||||
|
format-wifi = "";
|
||||||
|
format-ethernet = "";
|
||||||
|
format-disconnected = "";
|
||||||
|
format-linked = "";
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
"network#speed" = {
|
||||||
|
format = " {bandwidthDownBits} ";
|
||||||
|
rotate = 90;
|
||||||
|
interval = 5;
|
||||||
|
tooltip-format = "{ipaddr}";
|
||||||
|
tooltip-format-wifi = "{essid} ({signalStrength}%) \n{ipaddr} | {frequency} MHz{icon} ";
|
||||||
|
tooltip-format-ethernet = "{ifname} \n{ipaddr} | {frequency} MHz{icon} ";
|
||||||
|
tooltip-format-disconnected = "Not Connected to any type of Network";
|
||||||
|
tooltip = true;
|
||||||
|
};
|
||||||
|
power-profiles-daemon = {
|
||||||
|
format = "{icon}";
|
||||||
|
tooltip-format = "Power profile: {profile}\nDriver: {driver}";
|
||||||
|
tooltip = true;
|
||||||
|
format-icons = {
|
||||||
|
default = "";
|
||||||
|
performance = "<span color='#B37F34'><small></small></span>";
|
||||||
|
balanced = "<span><small> </small></span>";
|
||||||
|
power-saver = "<span color='#a6e3a1'><small></small></span>";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
pulseaudio = {
|
||||||
|
format = "{icon}";
|
||||||
|
format-bluetooth = "{icon}";
|
||||||
|
tooltip-format = "{volume}% {icon} | {desc}";
|
||||||
|
format-muted = "";
|
||||||
|
format-icons = {
|
||||||
|
headphones = "";
|
||||||
|
handsfree = "";
|
||||||
|
headset = "";
|
||||||
|
phone = "";
|
||||||
|
portable = "";
|
||||||
|
car = " ";
|
||||||
|
default = [
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
];
|
||||||
|
};
|
||||||
|
on-click = "volume mute";
|
||||||
|
on-click-middle = "pavucontrol";
|
||||||
|
on-scroll-up = "pactl set-sink-volume @DEFAULT_SINK@ +5%";
|
||||||
|
on-scroll-down = "pactl set-sink-volume @DEFAULT_SINK@ -5%";
|
||||||
|
smooth-scrolling-threshold = 1;
|
||||||
|
};
|
||||||
|
"pulseaudio#mic" = {
|
||||||
|
format = "{format_source}";
|
||||||
|
format-source = "";
|
||||||
|
format-source-muted = "";
|
||||||
|
tooltip-format = "{volume}% {format_source}";
|
||||||
|
on-click = "pactl set-source-mute 0 toggle";
|
||||||
|
on-scroll-down = "pactl set-source-volume 0 -1%";
|
||||||
|
on-scroll-up = "pactl set-source-volume 0 +1%";
|
||||||
|
};
|
||||||
|
"pulseaudio/slider" = {
|
||||||
|
min = 0;
|
||||||
|
max = 140;
|
||||||
|
orientation = "vertical";
|
||||||
|
};
|
||||||
|
temperature = {
|
||||||
|
format = "{temperatureC}°C";
|
||||||
|
format-critical = "{temperatureC}°C";
|
||||||
|
interval = 10;
|
||||||
|
};
|
||||||
|
tray = {
|
||||||
|
icon-size = 18;
|
||||||
|
spacing = 10;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
]; # home-manager wants the whole config as a list of bars
|
||||||
|
style = ''
|
||||||
|
@define-color foreground #c5c5c5;
|
||||||
|
@define-color background #191919;
|
||||||
|
@define-color cursor #c5c5c5;
|
||||||
|
|
||||||
|
@define-color color0 #191919;
|
||||||
|
@define-color color1 #3a3632;
|
||||||
|
@define-color color2 #582c1e;
|
||||||
|
@define-color color3 #423f39;
|
||||||
|
@define-color color4 #50473c;
|
||||||
|
@define-color color5 #634723;
|
||||||
|
@define-color color6 #BAA470;
|
||||||
|
@define-color color7 #8c8c8c;
|
||||||
|
@define-color color8 #525252;
|
||||||
|
@define-color color9 #4e4843;
|
||||||
|
@define-color color10 #763b28;
|
||||||
|
@define-color color11 #59554c;
|
||||||
|
@define-color color12 #6b5f51;
|
||||||
|
@define-color color13 #855f2f;
|
||||||
|
@define-color color14 #796d62;
|
||||||
|
@define-color color15 #c5c5c5;
|
||||||
|
|
||||||
|
@define-color active @color6;
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-size: 16px;
|
||||||
|
font-family: "0xProto Nerd Font";
|
||||||
|
min-width: 8px;
|
||||||
|
min-height: 0px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
box-shadow: none;
|
||||||
|
text-shadow: none;
|
||||||
|
padding: 0px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: 0.5s;
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 2px solid @active;
|
||||||
|
background: @background;
|
||||||
|
background: alpha(@background, 0.7);
|
||||||
|
color: lighter(@active);
|
||||||
|
}
|
||||||
|
|
||||||
|
menu,
|
||||||
|
tooltip {
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 2px;
|
||||||
|
border: 1px solid lighter(@active);
|
||||||
|
background: alpha(@background, 0.6);
|
||||||
|
|
||||||
|
color: lighter(@active);
|
||||||
|
}
|
||||||
|
|
||||||
|
menu label,
|
||||||
|
tooltip label {
|
||||||
|
font-size: 14px;
|
||||||
|
color: lighter(@active);
|
||||||
|
}
|
||||||
|
|
||||||
|
#submap,
|
||||||
|
#tray>.needs-attention {
|
||||||
|
animation-name: blink-active;
|
||||||
|
animation-duration: 1s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-right {
|
||||||
|
margin: 0px 6px 6px 6px;
|
||||||
|
border-radius: 4px;
|
||||||
|
background: alpha(@background, 0.4);
|
||||||
|
color: lighter(@active);
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left {
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: 0.5s;
|
||||||
|
margin: 6px 6px 6px 6px;
|
||||||
|
border-radius: 4px;
|
||||||
|
background: alpha(@background, 0.4);
|
||||||
|
color: lighter(@active);
|
||||||
|
}
|
||||||
|
|
||||||
|
#gcpu,
|
||||||
|
#custom-github,
|
||||||
|
#memory,
|
||||||
|
#disk,
|
||||||
|
#together,
|
||||||
|
#submap,
|
||||||
|
#custom-weather
|
||||||
|
#custom-recorder,
|
||||||
|
#connection,
|
||||||
|
#cnoti,
|
||||||
|
#brightness,
|
||||||
|
#power,
|
||||||
|
#custom-updates,
|
||||||
|
#tray,
|
||||||
|
#audio,
|
||||||
|
#privacy,
|
||||||
|
#sound {
|
||||||
|
border-radius: 4px;
|
||||||
|
margin: 2px 2px 4px 2px;
|
||||||
|
background: alpha(darker(@active), 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-notifications {
|
||||||
|
padding-left: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-hotspot,
|
||||||
|
#custom-github,
|
||||||
|
#custom-notifications {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-hotspot {
|
||||||
|
padding-right: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-vpn,
|
||||||
|
#custom-hotspot {
|
||||||
|
background: alpha(darker(@active), 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
#privacy-item {
|
||||||
|
padding: 6px 0px 6px 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#gcpu {
|
||||||
|
padding: 8px 0px 8px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-cpu-icon {
|
||||||
|
font-size: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-cputemp,
|
||||||
|
#disk,
|
||||||
|
#memory,
|
||||||
|
#cpu {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-github {
|
||||||
|
padding-top: 2px;
|
||||||
|
padding-right: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-dmark {
|
||||||
|
color: alpha(@foreground, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
#submap {
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
margin: 0px 2px;
|
||||||
|
padding: 4px 0px 0px 0px;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: 0.5s;
|
||||||
|
color: @foreground;
|
||||||
|
background: transparent;
|
||||||
|
border-radius: 4px;
|
||||||
|
color: alpha(@foreground, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
font-weight: bold;
|
||||||
|
color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
padding: 4px 2px;
|
||||||
|
background: alpha(@active, 0.4);
|
||||||
|
color: lighter(@active);
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.wifi {
|
||||||
|
padding-right: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#submap {
|
||||||
|
min-width: 0px;
|
||||||
|
margin: 4px 6px 4px 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
padding: 4px 0px 4px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bluetooth {
|
||||||
|
padding-top: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 4px 14px;
|
||||||
|
margin: 4px 2px 4px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 4px 0px;
|
||||||
|
margin: 4px 2px 4px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.discharging.warning {
|
||||||
|
animation-name: blink-yellow;
|
||||||
|
animation-duration: 1s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.discharging.critical {
|
||||||
|
animation-name: blink-red;
|
||||||
|
animation-duration: 1s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 4px 2px 2px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio.mic {
|
||||||
|
border-radius: 4px;
|
||||||
|
color: @background;
|
||||||
|
background: alpha(darker(@foreground), 0.6);
|
||||||
|
padding-left: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight-slider slider,
|
||||||
|
#pulseaudio-slider slider {
|
||||||
|
background-color: transparent;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight-slider trough,
|
||||||
|
#pulseaudio-slider trough {
|
||||||
|
margin-top: 4px;
|
||||||
|
min-width: 6px;
|
||||||
|
min-height: 60px;
|
||||||
|
border-radius: 8px;
|
||||||
|
background-color: alpha(@background, 0.6);
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight-slider highlight,
|
||||||
|
#pulseaudio-slider highlight {
|
||||||
|
border-radius: 8px;
|
||||||
|
background-color: lighter(@active);
|
||||||
|
}
|
||||||
|
|
||||||
|
#bluetooth.discoverable,
|
||||||
|
#bluetooth.discovering,
|
||||||
|
#bluetooth.pairable {
|
||||||
|
border-radius: 8px;
|
||||||
|
animation-name: blink-active;
|
||||||
|
animation-duration: 1s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink-active {
|
||||||
|
to {
|
||||||
|
background-color: @active;
|
||||||
|
color: @foreground;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink-red {
|
||||||
|
to {
|
||||||
|
background-color: #c64d4f;
|
||||||
|
color: @foreground;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink-yellow {
|
||||||
|
to {
|
||||||
|
background-color: #cf9022;
|
||||||
|
color: @foreground;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
{ writeShellApplication, hyprpicker, libnotify, toybox, ... }:
|
||||||
|
|
||||||
|
writeShellApplication {
|
||||||
|
name = "custom-colorpicker";
|
||||||
|
runtimeInputs = [
|
||||||
|
hyprpicker
|
||||||
|
libnotify
|
||||||
|
toybox
|
||||||
|
];
|
||||||
|
text = ''
|
||||||
|
check() {
|
||||||
|
command -v "$1" 1>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
notify() {
|
||||||
|
check notify-send && {
|
||||||
|
notify-send -a "Color Picker" "$@"
|
||||||
|
return
|
||||||
|
}
|
||||||
|
echo "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
loc="$HOME/.cache/colorpicker"
|
||||||
|
[ -d "$loc" ] || mkdir -p "$loc"
|
||||||
|
[ -f "$loc/colors" ] || touch "$loc/colors"
|
||||||
|
|
||||||
|
limit=10
|
||||||
|
|
||||||
|
[[ $# -eq 1 && $1 = "-l" ]] && {
|
||||||
|
cat "$loc/colors"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
[[ $# -eq 1 && $1 = "-j" ]] && {
|
||||||
|
text="$(head -n 1 "$loc/colors")"
|
||||||
|
|
||||||
|
mapfile -t allcolors < <(tail -n +2 "$loc/colors")
|
||||||
|
# allcolors=($(tail -n +2 "$loc/colors"))
|
||||||
|
tooltip="<b> COLORS</b>\n\n"
|
||||||
|
|
||||||
|
tooltip+="-> <b>$text</b> <span color='$text'></span> \n"
|
||||||
|
for i in "''${allcolors[@]}"; do
|
||||||
|
tooltip+=" <b>$i</b> <span color='$i'></span> \n"
|
||||||
|
done
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
{ "text":"<span color='$text'></span>", "tooltip":"$tooltip"}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
check hyprpicker || {
|
||||||
|
notify "hyprpicker is not installed"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
killall -q hyprpicker
|
||||||
|
color=$(hyprpicker)
|
||||||
|
|
||||||
|
check wl-copy && {
|
||||||
|
echo "$color" | sed -z 's/\n//g' | wl-copy
|
||||||
|
}
|
||||||
|
|
||||||
|
prevColors=$(head -n $((limit - 1)) "$loc/colors")
|
||||||
|
echo "$color" >"$loc/colors"
|
||||||
|
echo "$prevColors" >>"$loc/colors"
|
||||||
|
sed -i '/^$/d' "$loc/colors"
|
||||||
|
pkill -RTMIN+1 waybar
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{ writeShellApplication, curl, ... }:
|
||||||
|
|
||||||
|
writeShellApplication {
|
||||||
|
name = "custom-weatherwaybar";
|
||||||
|
runtimeInputs = [
|
||||||
|
curl
|
||||||
|
];
|
||||||
|
text = ''
|
||||||
|
PATTERN="C"
|
||||||
|
PATTERN2=" "
|
||||||
|
TEXT1="''$(curl -s "https://wttr.in/?format=%c")"
|
||||||
|
TEXT1=''${TEXT1/$PATTERN2/}
|
||||||
|
TEXT2="''$(curl -s "https://wttr.in/?format=%t")"
|
||||||
|
TEXT2=''${TEXT2/$PATTERN/}
|
||||||
|
TEXT3="''$(curl -s "https://wttr.in/?format=%f")"
|
||||||
|
TEXT3=''${TEXT3/$PATTERN/}
|
||||||
|
printf '{"text":"%s\n%s\n%s", "tooltip": false, "class": "weather"}\n' \
|
||||||
|
"$TEXT1" "$TEXT2" "$TEXT3"
|
||||||
|
'';
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user