Complete Overhaul of flake.nix
This commit is contained in:
40
home/hyprland/cava.nix
Normal file
40
home/hyprland/cava.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.cava = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
general = {
|
||||
framerate = 120;
|
||||
bars = 0;
|
||||
bar_width = 2;
|
||||
bar_spacing = 1;
|
||||
#bar_height = 32;
|
||||
sensitivity = 90;
|
||||
autosens = 1;
|
||||
};
|
||||
|
||||
input = {
|
||||
method = "pipewire";
|
||||
source = "auto";
|
||||
sample_rate = 44100;
|
||||
sample_bits = 16;
|
||||
};
|
||||
|
||||
output = {
|
||||
channels = "stereo";
|
||||
mono_option = "average";
|
||||
reverse = 0;
|
||||
waveform = 0;
|
||||
};
|
||||
|
||||
smoothing = {
|
||||
monstercat = 1;
|
||||
waves = 0;
|
||||
noise_reduction = 0.77;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
}
|
@@ -1,14 +1,29 @@
|
||||
{ pkgs, ... }:
|
||||
{ monitorSetup, ... }:
|
||||
{
|
||||
imports = [
|
||||
./kitty.nix # Terminal
|
||||
./alacritty.nix
|
||||
./hyprland.nix
|
||||
./hypridle.nix
|
||||
./hyprlock.nix
|
||||
./hyprpaper.nix
|
||||
./rofi # App Launcher
|
||||
./mako.nix # Notifyer
|
||||
./cava.nix # Music Visualizer
|
||||
];
|
||||
|
||||
programs.waybar =
|
||||
if monitorSetup == "single" then
|
||||
import ../../home/hyprland/waybar/single.nix
|
||||
else if monitorSetup == "dual" then
|
||||
import ../../home/hyprland/waybar/dual.nix
|
||||
else
|
||||
{ };
|
||||
|
||||
home.file.".config/waybar" = {
|
||||
source = ./waybar/configs;
|
||||
# copy the scripts directory recursively
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
home.file.".config/hypr/hyprland.conf".enable = false;
|
||||
}
|
||||
|
@@ -7,7 +7,8 @@ let
|
||||
theme = "-theme $HOME/.config/rofi/custom.rasi";
|
||||
menu = "rofi -show drun ${theme}";
|
||||
filebrowser = "rofi -show filebrowser ${theme}";
|
||||
power = "rofi -show p -modi p:rofi-power-menu";
|
||||
power = "rofi -show p -modi p:rofi-power-menu -theme $HOME/.config/rofi/power.rasi";
|
||||
apps = "rofi -show window ${theme}";
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
@@ -92,8 +93,8 @@ in
|
||||
|
||||
general = {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
gaps_in = 8;
|
||||
gaps_out = 16;
|
||||
gaps_in = 4;
|
||||
gaps_out = 0;
|
||||
border_size = 4;
|
||||
|
||||
"col.active_border" = "$green";
|
||||
@@ -106,10 +107,10 @@ in
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 12;
|
||||
rounding = 1;
|
||||
|
||||
shadow = {
|
||||
enabled = true;
|
||||
enabled = false;
|
||||
range = 16;
|
||||
render_power = 4;
|
||||
ignore_window = true;
|
||||
@@ -182,27 +183,36 @@ in
|
||||
"nofocus, class:^(xwaylandvideobridge)$"
|
||||
];
|
||||
|
||||
# See further https://wiki.hypr.land/Configuring/Workspace-Rules/
|
||||
exec-once = [
|
||||
"waybar &"
|
||||
"hyprpaper &"
|
||||
"[workspace 8] obsidian"
|
||||
"[workspace 1] floorp"
|
||||
"[workspace 2] spotify"
|
||||
"[workspace 2] kitty --class=cava-terminal -e cava"
|
||||
"[workspace 3] thunderbird"
|
||||
"[workspace 9] kitty"
|
||||
];
|
||||
|
||||
# Keybindings
|
||||
bind = [
|
||||
|
||||
# Application Bindings
|
||||
"${super}, Q, exec, ${terminal}"
|
||||
"${super}, C, killactive, "
|
||||
"${super}, M, exit, "
|
||||
"${super}, E, exec, ${fileManager}"
|
||||
"${super}, V, togglefloating, "
|
||||
"${super}, O, exec, obsidian"
|
||||
"${super}, I, exec, floorp"
|
||||
"${super}, G, exec, thunderbird"
|
||||
|
||||
# Lock Screen
|
||||
"${super}, M, exit, "
|
||||
|
||||
# Rofi bindings
|
||||
"${super}, f, exec, ${filebrowser}"
|
||||
"${super}, A, exec, ${apps}"
|
||||
"${super}, R, exec, ${menu}"
|
||||
"${super}, S, exec, ${power}"
|
||||
"${super}, F, exec, ${filebrowser}"
|
||||
"${super}, P, pseudo, " # dwindle
|
||||
"${super}, J, togglesplit, " # dwindle
|
||||
"${super}, O, exec, obsidian"
|
||||
"${super}, I, exec, firefox"
|
||||
"${super}, G, exec, thunderbird"
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
"${super}, left, movefocus, l"
|
||||
@@ -210,6 +220,12 @@ in
|
||||
"${super}, up, movefocus, u"
|
||||
"${super}, down, movefocus, d"
|
||||
|
||||
# Window Modifiers
|
||||
"${super}, P, pseudo, " # dwindle
|
||||
"${super}, J, togglesplit, " # dwindle
|
||||
"${super}, V, togglefloating, " # dwindle
|
||||
"${super}, C, killactive, "
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
"${super}, 1, workspace, 1"
|
||||
"${super}, 2, workspace, 2"
|
||||
@@ -249,7 +265,7 @@ in
|
||||
|
||||
bindl = [
|
||||
#", XF86AudioMute, exec, amixer set Master toggle
|
||||
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
", XF86AudioMute, exec, pamixer -t"
|
||||
", XF86AudioPlay, exec, playerctl play-pause" # the stupid key is called play , but it toggles
|
||||
", XF86AudioNext, exec, playerctl next"
|
||||
", XF86AudioPrev, exec, playerctl previous"
|
||||
@@ -257,12 +273,10 @@ in
|
||||
|
||||
bindle = [
|
||||
# Multi Media Control
|
||||
", XF86AudioRaiseVolume, exec, vol --up"
|
||||
", XF86AudioLowerVolume, exec, vol --down"
|
||||
", XF86AudioRaiseVolume, exec, pamixer -i 5"
|
||||
", XF86AudioLowerVolume, exec, pamixer -d 5"
|
||||
", XF86MonBrightnessUp, exec, bri --up"
|
||||
", XF86MonBrightnessDown, exec, bri --down"
|
||||
", XF86Search, exec, ${menu}"
|
||||
|
||||
];
|
||||
|
||||
bindm = [
|
||||
|
@@ -52,9 +52,12 @@ window {
|
||||
|
||||
/* properties for all widgets */
|
||||
enabled: true;
|
||||
border-radius: 12px;
|
||||
border-radius: 1px;
|
||||
cursor: "default";
|
||||
background-color: @base;
|
||||
|
||||
border: 4px;
|
||||
border-color: @yellow;
|
||||
}
|
||||
|
||||
/* Main Box */
|
||||
@@ -72,7 +75,7 @@ imagebox {
|
||||
background-color: transparent;
|
||||
background-image: url("~/.config/rofi/background.png", height);
|
||||
orientation: vertical;
|
||||
children: [ "inputbar", "dummy", "mode-switcher" ];
|
||||
children: [ "inputbar", "weatherelement", "dummy", "mode-switcher" ];
|
||||
}
|
||||
|
||||
listbox {
|
||||
@@ -83,6 +86,13 @@ listbox {
|
||||
children: [ "message", "listview" ];
|
||||
}
|
||||
|
||||
weatherelement {
|
||||
border-radius: 20px;
|
||||
background-color: transparent;
|
||||
text-color: @peach;
|
||||
str: "Hello This is text";
|
||||
}
|
||||
|
||||
dummy {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
BIN
home/hyprland/rofi/configs/power.jpg
Normal file
BIN
home/hyprland/rofi/configs/power.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 447 KiB |
162
home/hyprland/rofi/configs/power.rasi
Normal file
162
home/hyprland/rofi/configs/power.rasi
Normal file
@@ -0,0 +1,162 @@
|
||||
* {
|
||||
rosewater: #f5e0dc;
|
||||
flamingo: #f2cdcd;
|
||||
pink: #f5c2e7;
|
||||
mauve: #cba6f7;
|
||||
red: #f38ba8;
|
||||
maroon: #eba0ac;
|
||||
peach: #fab387;
|
||||
yellow: #f9e2af;
|
||||
green: #a6e3a1;
|
||||
teal: #94e2d5;
|
||||
sky: #89dceb;
|
||||
sapphire: #74c7ec;
|
||||
blue: #89b4fa;
|
||||
lavender: #b4befe;
|
||||
text: #cdd6f4;
|
||||
subtext1: #bac2de;
|
||||
subtext0: #a6adc8;
|
||||
overlay2: #9399b2;
|
||||
overlay1: #7f849c;
|
||||
overlay0: #6c7086;
|
||||
surface2: #585b70;
|
||||
surface1: #45475a;
|
||||
surface0: #313244;
|
||||
base: #1e1e2e;
|
||||
mantle: #181825;
|
||||
crust: #11111b;
|
||||
}
|
||||
|
||||
configuration {
|
||||
font: "Icomoon-Feather 12";
|
||||
show-icons: true;
|
||||
}
|
||||
|
||||
/*
|
||||
USE_BUTTONS=YES
|
||||
*/
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 1000px;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
padding: 0px;
|
||||
border: 4px solid;
|
||||
border-radius: 2px;
|
||||
border-color: @blue;
|
||||
cursor: "default";
|
||||
background-color: @base;
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @blue;
|
||||
background-color: transparent;
|
||||
children: [ "inputbar", "listview", "message" ];
|
||||
}
|
||||
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 20px;
|
||||
padding: 100px 40px;
|
||||
background-color: transparent;
|
||||
background-image: url("~/.config/rofi/power.jpg", width);
|
||||
children: [ "textbox-prompt-colon", "prompt"];
|
||||
}
|
||||
|
||||
dummy {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: " System";
|
||||
padding: 15px;
|
||||
border: 0px 0px 0px 10px;
|
||||
border-radius: 100% 100% 0px 100%;
|
||||
border-color: @peach;
|
||||
background-color: @crust;
|
||||
text-color: @text;
|
||||
}
|
||||
prompt {
|
||||
enabled: true;
|
||||
padding: 15px;
|
||||
border: 0px;
|
||||
border-radius: 0px 100% 100% 100%;
|
||||
border-color: @blue;
|
||||
background-color: @crust;
|
||||
text-color: @text;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 6;
|
||||
lines: 1;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 30px;
|
||||
margin: 30px;
|
||||
background-color: transparent;
|
||||
cursor: "default";
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
padding: 35px 10px;
|
||||
border-radius: 5%;
|
||||
background-color: @crust;
|
||||
text-color: @text;
|
||||
cursor: pointer;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: @crust;
|
||||
text-color: @sapphire;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 15px;
|
||||
border-radius: 0px;
|
||||
background-color: @crust;
|
||||
text-color: @yellow;
|
||||
}
|
||||
textbox {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
|
@@ -1,201 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 30;
|
||||
output = [ "DP-1" ];
|
||||
|
||||
modules-left = [
|
||||
"hyprland/workspaces"
|
||||
"mpris"
|
||||
];
|
||||
|
||||
modules-center = [ ];
|
||||
|
||||
modules-right = [
|
||||
"network"
|
||||
"memory"
|
||||
"cpu"
|
||||
"clock"
|
||||
];
|
||||
|
||||
# Widgets
|
||||
"sway/workspaces" = {
|
||||
disable-scroll = true;
|
||||
all-outputs = true;
|
||||
};
|
||||
|
||||
mpris = {
|
||||
format = "{player_icon} {dynamic}";
|
||||
format-paused = "<span color='grey'>{status_icon} {dynamic}</span>";
|
||||
max-length = 100;
|
||||
|
||||
player-icons = {
|
||||
default = "⏸";
|
||||
mpv = "🎵";
|
||||
};
|
||||
|
||||
status-icons = {
|
||||
paused = "▶";
|
||||
};
|
||||
};
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
default = "";
|
||||
active = "";
|
||||
};
|
||||
};
|
||||
|
||||
network = {
|
||||
tooltip = true;
|
||||
format-wifi = "{icon} ";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
rotate = 0;
|
||||
format-ethernet = " ";
|
||||
tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
|
||||
format-linked = " {ifname} (No IP)";
|
||||
format-disconnected = " ";
|
||||
tooltip-format-disconnected = "Disconnected";
|
||||
on-click = "/usr/local/bin/ags -t ControlPanel";
|
||||
interval = 2;
|
||||
};
|
||||
|
||||
memory = {
|
||||
interval = 1;
|
||||
rotate = 270;
|
||||
format = "{icon}";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
max-length = 10;
|
||||
};
|
||||
|
||||
cpu = {
|
||||
interval = 1;
|
||||
format = "{icon}";
|
||||
rotate = 270;
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
|
||||
clock = {
|
||||
format = "{:%I:%M %p}";
|
||||
rotate = 0;
|
||||
on-click = "/usr/local/bin/ags -t ActivityCenter";
|
||||
tooltip-format = "<tt>{calendar}</tt>";
|
||||
|
||||
calendar = {
|
||||
mode = "month";
|
||||
mode-mon-col = 3;
|
||||
on-scroll = 1;
|
||||
on-click-right = "mode";
|
||||
format = {
|
||||
months = "<span color='#ffead3'><b>{}</b></span>";
|
||||
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
|
||||
today = "<span color='#ff6699'><b>{}</b></span>";
|
||||
};
|
||||
};
|
||||
|
||||
actions = {
|
||||
on-click-right = "mode";
|
||||
on-click-forward = "tz_up";
|
||||
on-click-backward = "tz_down";
|
||||
on-scroll-up = "shift_up";
|
||||
on-scroll-down = "shift_down";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
secondBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 30;
|
||||
output = [
|
||||
"HDMI-A-2"
|
||||
];
|
||||
|
||||
modules-left = [
|
||||
"hyprland/workspaces"
|
||||
];
|
||||
|
||||
modules-center = [
|
||||
];
|
||||
|
||||
modules-right = [
|
||||
"network"
|
||||
];
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
default = "";
|
||||
active = "";
|
||||
};
|
||||
};
|
||||
|
||||
"custom/weather" = {
|
||||
exec = "~/.config/waybar/weather.py waybar";
|
||||
restart-interval = 900;
|
||||
return-type = "json";
|
||||
};
|
||||
|
||||
network = {
|
||||
tooltip = true;
|
||||
format-wifi = "{icon} ";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
rotate = 0;
|
||||
format-ethernet = "{bandwidthTotalBits} {bandwidthUpBits} {bandwidthDownBits} ";
|
||||
tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
|
||||
format-linked = " {ifname} (No IP)";
|
||||
format-disconnected = " ";
|
||||
tooltip-format-disconnected = "Disconnected";
|
||||
on-click = "/usr/local/bin/ags -t ControlPanel";
|
||||
interval = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.file.".config/waybar" = {
|
||||
source = ./configs;
|
||||
# copy the scripts directory recursively
|
||||
recursive = true;
|
||||
};
|
||||
}
|
188
home/hyprland/waybar/dual.nix
Normal file
188
home/hyprland/waybar/dual.nix
Normal file
@@ -0,0 +1,188 @@
|
||||
{
|
||||
enable = true;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 30;
|
||||
output = [ "DP-1" ];
|
||||
|
||||
modules-left = [
|
||||
"hyprland/workspaces"
|
||||
"mpris"
|
||||
];
|
||||
|
||||
modules-center = [ ];
|
||||
|
||||
modules-right = [
|
||||
"network"
|
||||
"memory"
|
||||
"cpu"
|
||||
"clock"
|
||||
];
|
||||
|
||||
# Widgets
|
||||
"sway/workspaces" = {
|
||||
disable-scroll = true;
|
||||
all-outputs = true;
|
||||
};
|
||||
|
||||
mpris = {
|
||||
format = "{player_icon} {dynamic}";
|
||||
format-paused = "<span color='grey'>{status_icon} {dynamic}</span>";
|
||||
max-length = 100;
|
||||
|
||||
player-icons = {
|
||||
default = "⏸";
|
||||
mpv = "🎵";
|
||||
};
|
||||
|
||||
status-icons = {
|
||||
paused = "▶";
|
||||
};
|
||||
};
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
default = "";
|
||||
active = "";
|
||||
};
|
||||
};
|
||||
|
||||
network = {
|
||||
tooltip = true;
|
||||
format-wifi = "{icon} ";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
rotate = 0;
|
||||
format-ethernet = " ";
|
||||
tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
|
||||
format-linked = " {ifname} (No IP)";
|
||||
format-disconnected = " ";
|
||||
tooltip-format-disconnected = "Disconnected";
|
||||
on-click = "/usr/local/bin/ags -t ControlPanel";
|
||||
interval = 2;
|
||||
};
|
||||
|
||||
memory = {
|
||||
interval = 1;
|
||||
rotate = 270;
|
||||
format = "{icon}";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
max-length = 10;
|
||||
};
|
||||
|
||||
cpu = {
|
||||
interval = 1;
|
||||
format = "{icon}";
|
||||
rotate = 270;
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
|
||||
clock = {
|
||||
format = "{:%I:%M %p}";
|
||||
rotate = 0;
|
||||
on-click = "/usr/local/bin/ags -t ActivityCenter";
|
||||
tooltip-format = "<tt>{calendar}</tt>";
|
||||
|
||||
calendar = {
|
||||
mode = "month";
|
||||
mode-mon-col = 3;
|
||||
on-scroll = 1;
|
||||
on-click-right = "mode";
|
||||
format = {
|
||||
months = "<span color='#ffead3'><b>{}</b></span>";
|
||||
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
|
||||
today = "<span color='#ff6699'><b>{}</b></span>";
|
||||
};
|
||||
};
|
||||
|
||||
actions = {
|
||||
on-click-right = "mode";
|
||||
on-click-forward = "tz_up";
|
||||
on-click-backward = "tz_down";
|
||||
on-scroll-up = "shift_up";
|
||||
on-scroll-down = "shift_down";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
secondBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 30;
|
||||
output = [
|
||||
"HDMI-A-2"
|
||||
];
|
||||
|
||||
modules-left = [
|
||||
"hyprland/workspaces"
|
||||
];
|
||||
|
||||
modules-center = [
|
||||
];
|
||||
|
||||
modules-right = [
|
||||
"network"
|
||||
];
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
default = "";
|
||||
active = "";
|
||||
};
|
||||
};
|
||||
|
||||
"custom/weather" = {
|
||||
exec = "~/.config/waybar/weather.py waybar";
|
||||
restart-interval = 900;
|
||||
return-type = "json";
|
||||
};
|
||||
|
||||
network = {
|
||||
tooltip = true;
|
||||
format-wifi = "{icon} ";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
rotate = 0;
|
||||
format-ethernet = "{bandwidthTotalBits} {bandwidthUpBits} {bandwidthDownBits} ";
|
||||
tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
|
||||
format-linked = " {ifname} (No IP)";
|
||||
format-disconnected = " ";
|
||||
tooltip-format-disconnected = "Disconnected";
|
||||
on-click = "/usr/local/bin/ags -t ControlPanel";
|
||||
interval = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
@@ -1,163 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 30;
|
||||
output = [
|
||||
"eDP-1"
|
||||
"DP-1"
|
||||
"HDMI-A-1"
|
||||
"Virtual-1"
|
||||
];
|
||||
|
||||
modules-left = [
|
||||
"hyprland/workspaces"
|
||||
"mpris"
|
||||
];
|
||||
|
||||
modules-center = [
|
||||
"custom/weather"
|
||||
];
|
||||
|
||||
modules-right = [
|
||||
"network"
|
||||
"memory"
|
||||
"cpu"
|
||||
"clock"
|
||||
];
|
||||
|
||||
# Widgets
|
||||
"sway/workspaces" = {
|
||||
disable-scroll = true;
|
||||
all-outputs = true;
|
||||
};
|
||||
|
||||
mpris = {
|
||||
format = "{player_icon} {dynamic}";
|
||||
format-paused = "<span color='grey'>{status_icon} {dynamic}</span>";
|
||||
max-length = 100;
|
||||
|
||||
player-icons = {
|
||||
default = "⏸";
|
||||
mpv = "🎵";
|
||||
};
|
||||
|
||||
status-icons = {
|
||||
paused = "▶";
|
||||
};
|
||||
};
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
default = "";
|
||||
active = "";
|
||||
};
|
||||
};
|
||||
|
||||
network = {
|
||||
tooltip = true;
|
||||
format-wifi = "{icon} ";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
rotate = 0;
|
||||
format-ethernet = " ";
|
||||
tooltip-format = "Network = <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
|
||||
format-linked = " {ifname} (No IP)";
|
||||
format-disconnected = " ";
|
||||
tooltip-format-disconnected = "Disconnected";
|
||||
on-click = "/usr/local/bin/ags -t ControlPanel";
|
||||
interval = 2;
|
||||
};
|
||||
|
||||
memory = {
|
||||
interval = 1;
|
||||
rotate = 270;
|
||||
format = "{icon}";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
max-length = 10;
|
||||
};
|
||||
|
||||
cpu = {
|
||||
interval = 1;
|
||||
format = "{icon}";
|
||||
rotate = 270;
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
|
||||
clock = {
|
||||
format = "{:%I:%M %p}";
|
||||
rotate = 0;
|
||||
on-click = "/usr/local/bin/ags -t ActivityCenter";
|
||||
tooltip-format = "<tt>{calendar}</tt>";
|
||||
|
||||
calendar = {
|
||||
mode = "month";
|
||||
mode-mon-col = 3;
|
||||
on-scroll = 1;
|
||||
on-click-right = "mode";
|
||||
format = {
|
||||
months = "<span color='#ffead3'><b>{}</b></span>";
|
||||
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
|
||||
today = "<span color='#ff6699'><b>{}</b></span>";
|
||||
};
|
||||
};
|
||||
|
||||
actions = {
|
||||
on-click-right = "mode";
|
||||
on-click-forward = "tz_up";
|
||||
on-click-backward = "tz_down";
|
||||
on-scroll-up = "shift_up";
|
||||
on-scroll-down = "shift_down";
|
||||
};
|
||||
};
|
||||
|
||||
# Custom Widgets
|
||||
"custom/weather" = {
|
||||
exec = "python3 ~/.config/waybar/weather.py waybar";
|
||||
restart-interval = 900;
|
||||
return-type = "json";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.file.".config/waybar" = {
|
||||
source = ./configs;
|
||||
# copy the scripts directory recursively
|
||||
recursive = true;
|
||||
};
|
||||
}
|
150
home/hyprland/waybar/single.nix
Normal file
150
home/hyprland/waybar/single.nix
Normal file
@@ -0,0 +1,150 @@
|
||||
{
|
||||
enable = true;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 30;
|
||||
output = [
|
||||
"eDP-1"
|
||||
"DP-1"
|
||||
"HDMI-A-1"
|
||||
"Virtual-1"
|
||||
];
|
||||
|
||||
modules-left = [
|
||||
"hyprland/workspaces"
|
||||
"mpris"
|
||||
];
|
||||
|
||||
modules-center = [
|
||||
"custom/weather"
|
||||
];
|
||||
|
||||
modules-right = [
|
||||
"network"
|
||||
"memory"
|
||||
"cpu"
|
||||
"clock"
|
||||
];
|
||||
|
||||
# Widgets
|
||||
"sway/workspaces" = {
|
||||
disable-scroll = true;
|
||||
all-outputs = true;
|
||||
};
|
||||
|
||||
mpris = {
|
||||
format = "{player_icon} {dynamic}";
|
||||
format-paused = "<span color='grey'>{status_icon} {dynamic}</span>";
|
||||
max-length = 100;
|
||||
|
||||
player-icons = {
|
||||
default = "⏸";
|
||||
mpv = "🎵";
|
||||
};
|
||||
|
||||
status-icons = {
|
||||
paused = "▶";
|
||||
};
|
||||
};
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
default = "";
|
||||
active = "";
|
||||
};
|
||||
};
|
||||
|
||||
network = {
|
||||
tooltip = true;
|
||||
format-wifi = "{icon} ";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
rotate = 0;
|
||||
format-ethernet = " ";
|
||||
tooltip-format = "Network = <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
|
||||
format-linked = " {ifname} (No IP)";
|
||||
format-disconnected = " ";
|
||||
tooltip-format-disconnected = "Disconnected";
|
||||
on-click = "/usr/local/bin/ags -t ControlPanel";
|
||||
interval = 2;
|
||||
};
|
||||
|
||||
memory = {
|
||||
interval = 1;
|
||||
rotate = 270;
|
||||
format = "{icon}";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
max-length = 10;
|
||||
};
|
||||
|
||||
cpu = {
|
||||
interval = 1;
|
||||
format = "{icon}";
|
||||
rotate = 270;
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
|
||||
clock = {
|
||||
format = "{:%I:%M %p}";
|
||||
rotate = 0;
|
||||
on-click = "/usr/local/bin/ags -t ActivityCenter";
|
||||
tooltip-format = "<tt>{calendar}</tt>";
|
||||
|
||||
calendar = {
|
||||
mode = "month";
|
||||
mode-mon-col = 3;
|
||||
on-scroll = 1;
|
||||
on-click-right = "mode";
|
||||
format = {
|
||||
months = "<span color='#ffead3'><b>{}</b></span>";
|
||||
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
|
||||
today = "<span color='#ff6699'><b>{}</b></span>";
|
||||
};
|
||||
};
|
||||
|
||||
actions = {
|
||||
on-click-right = "mode";
|
||||
on-click-forward = "tz_up";
|
||||
on-click-backward = "tz_down";
|
||||
on-scroll-up = "shift_up";
|
||||
on-scroll-down = "shift_down";
|
||||
};
|
||||
};
|
||||
|
||||
# Custom Widgets
|
||||
"custom/weather" = {
|
||||
exec = "python3 ~/.config/waybar/weather.py waybar";
|
||||
restart-interval = 900;
|
||||
return-type = "json";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
}
|
Reference in New Issue
Block a user