Waybar/hyprpaper config

This commit is contained in:
Seraphim R. Pardee 2025-03-20 19:27:06 -04:00
parent 629f1b0f3a
commit a91c7069c3
7 changed files with 375 additions and 7 deletions

View File

@ -1,6 +1,6 @@
#!/bin/sh
sudo cp nixos/* /etc/nixos/
sudo cp -R nixos/* /etc/nixos/
#nix flake update --flake /etc/nixos
sudo nixos-rebuild switch --flake /etc/nixos#nixos --commit-lock-file --upgrade --show-trace
home-manager switch --flake /etc/nixos#srp@nixos --show-trace

View File

@ -31,7 +31,7 @@ env = HYPRCURSOR_THEME,"McMojave";
# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:
exec-once = mpvpaper '*' -o "panscan=1.0 loop-file=inf" $HOME/vid/obsidian-soundfields.mp4
#exec-once = mpvpaper '*' -o "panscan=1.0 loop-file=inf" $HOME/vid/obsidian-soundfields.mp4
exec-once = $terminal
# exec-once = nm-applet &
exec-once = waybar & brave & equibop & plexamp
@ -256,4 +256,4 @@ windowrulev2 = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
debug:disable_logs = false
debug:disable_logs = false

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkMenu" id="menu">
<child>
<object class="GtkMenuItem" id="suspend">
<property name="label">Suspend</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="hibernate">
<property name="label">Hibernate</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="delimiter1"/>
</child>
<child>
<object class="GtkMenuItem" id="lock">
<property name="label">Lock</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="shutdown">
<property name="label">Shutdown</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="reboot">
<property name="label">Reboot</property>
</object>
</child>
</object>
</interface>

View File

@ -0,0 +1,196 @@
@define-color cursor #E5E9F0;
@define-color background #2E3440;
@define-color foreground #E5E9F0;
@define-color color0 #2E3440;
@define-color color1 #3B4252;
@define-color color2 #434C5E;
@define-color color3 #4C566A;
@define-color color4 #D8DEE9;
@define-color color5 #E5E9F0;
@define-color color6 #ECEFF4;
@define-color color7 #8FBCBB;
@define-color color8 #BF616A;
@define-color color9 #D08770;
@define-color color10 #EBCB8B;
@define-color color11 #A3BE8C;
@define-color color12 #88C0D0;
@define-color color13 #81A1C1;
@define-color color14 #B48EAD;
@define-color color15 #8E9197;
* {
font-size:13px;
font-family: "JetBrainsMono Nerd Font Propo";
}
window#waybar{
all:unset;
}
.modules-left {
padding:7px;
margin:10 0 5 10;
border-radius:10px;
border: 1px solid alpha(@color7,.6);
background: alpha(@background,.6);
box-shadow: 0px 0px 2px rgba(0, 0, 0, .6);
}
.modules-center {
padding:7px;
margin:10 0 5 0;
border-radius:10px;
border: 1px solid alpha(@color7,.6);
background: alpha(@background,.6);
box-shadow: 0px 0px 2px rgba(0, 0, 0, .6);
}
.modules-right {
padding:7px;
margin: 10 10 5 0;
border-radius:10px;
border: 1px solid alpha(@color7,.6);
background: alpha(@background,.6);
box-shadow: 0px 0px 2px rgba(0, 0, 0, .6);
}
tooltip {
background:@background;
color: @color7;
}
#clock:hover, #custom-pacman:hover, #custom-notification:hover,#bluetooth:hover,#network:hover,#battery:hover, #cpu:hover,#memory:hover,#temperature:hover{
transition: all .3s ease;
color:@color11;
}
#custom-notification {
padding: 0px 10px;
transition: all .3s ease;
color:@color7;
}
#clock{
padding: 0px 10px;
color:@color5;
transition: all .3s ease;
}
#custom-pacman{
padding: 0px 10px;
transition: all .3s ease;
color:@color7;
}
#workspaces {
padding: 0px 10px;
}
#workspaces button {
all:unset;
padding: 0px 10px;
color: alpha(@color7,.4);
transition: all .2s ease;
}
#workspaces button:hover {
color: @color11;
border: none;
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, .5);
transition: all 1s ease;
}
#workspaces button.active {
color: @color7;
border: none;
text-shadow: 0px 0px 2px rgba(0, 0, 0, .5);
}
#workspaces button.empty {
color: rgba(0,0,0,0);
border: none;
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, .2);
}
#workspaces button.empty:hover {
color: rgba(0,0,0,0);
border: none;
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, .5);
transition: all 1s ease;
}
#workspaces button.empty.active {
color: @color7;
border: none;
text-shadow: 0px 0px 2px rgba(0, 0, 0, .5);
}
#bluetooth{
padding: 0px 10px;
transition: all .3s ease;
color:@color7;
}
#network{
padding: 0px 10px;
transition: all .3s ease;
color:@color7;
}
#mpris{
padding: 0px 10px;
transition: all .3s ease;
color:@color7;
}
#battery{
padding: 0px 10px;
transition: all .3s ease;
color:@color7;
}
#battery.charging {
color: #26A65B;
}
#battery.warning:not(.charging) {
color: #ffbe61;
}
#battery.critical:not(.charging) {
color: #f53c3c;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#group-expand{
padding: 0px 10px;
transition: all .3s ease;
}
#custom-expand{
padding: 0px 10px;
color:alpha(@foreground,.2);
text-shadow: 0px 0px 2px rgba(0, 0, 0, .7);
transition: all .3s ease;
}
#custom-expand:hover{
color:rgba(255,255,255,.2);
text-shadow: 0px 0px 2px rgba(255, 255, 255, .5);
}
#custom-colorpicker{
padding: 0px 10px;
}
#cpu,#memory,#temperature{
padding: 0px 10px;
transition: all .3s ease;
color:@color7;
}
#custom-endpoint{
color:transparent;
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, 1);
}
.modules-right > * {
margin-left: 10px;
margin-right: 10px;
}
#tray {
margin-left: -10px;
margin-right: -10px;
padding: 0px 10px;
transition: all .3s ease;
}
#tray menu * {
padding: 0px 10px;
transition: all .3s ease;
}
#tray menu separator {
padding: 0px 10px;
transition: all .3s ease;
}

View File

@ -33,6 +33,7 @@
hyprpaper
hyprpolkitagent
mpvpaper
waybar-mpris
xdg-desktop-portal-gtk
@ -43,6 +44,6 @@
plexamp
vscode
equibop
cinny-desktop
cinny-desktop
];
}

View File

@ -60,7 +60,7 @@
programs.kitty = with pkgs; {
enable = true;
font.name = "JetBrains Mono";
font.name = "JetBrainsMono Nerd Font";
themeFile = "Nord";
};
@ -100,6 +100,7 @@
width = "(0, 700)";
height = "(0, 100)";
monitor = 1;
show_indicators = "no";
};
urgency_low = {
@ -122,11 +123,147 @@
};
};
programs.waybar = {
enable = true;
style = ./config/waybar-style.css;
settings = {
mainBar = {
layer = "top";
position = "top";
height = 30;
modules-left = [
"hyprland/workspaces"
];
modules-center = [
"clock"
];
modules-right = [
"idle_inhibitor"
"network"
"pulseaudio"
"mpris"
"tray"
"custom/power"
];
"hyprland/workspaces" = {
disable-scroll = true;
all-outputs = false;
warp-on-scroll = false;
format = "{icon}";
format-icons = {
urgent = "";
active = "";
default = "";
};
persistent-workspaces = {
"*" = 6;
};
};
clock = {
format = "{:%A, %B %d %I:%M %p}";
tooltip = false;
};
idle_inhibitor = {
format = "{icon}";
format-icons = {
activated = "";
deactivated = "";
};
};
network = {
interface = "wlp15s0";
format-wifi = "󰖩";
format-ethernet = "󰈁";
tooltip-format = "{essid} ({signalStrength}%) on {ifname}";
format-disconnected = "󰌙";
};
pulseaudio = {
scroll-step = 1;
format = "{volume}% {icon} {format_source}";
format-bluetooth = "{volume}% {icon} {format_source}";
format-bluetooth-muted = " {icon} {format_source}";
format-muted = " {format_source}";
format-source = "{volume}% ";
format-source-muted = "";
format-icons = {
headphone = "";
hands-free = "";
headset = "";
phone = "";
portable = "";
car = "";
default = ["" "" ""];
};
on-click = "pavucontrol";
};
mpris = {
format-playing = "{player_icon} Playing";
format-paused = "{player_icon} Paused";
format-stopped = "{player_icon}";
interval = 1;
#max-length = 40;
player-icons = {
spotify = "";
Plexamp = "󰚺";
default = "🎜";
};
status-icons = {
"paused" = "";
};
#tooltip-with-markup = true;
#tooltip-format-playing = "<big>{artist}</big>\n{title}\n<small>{album}\n{position}/{length}</small>";
tooltip-format-playing = "{artist}\n\n{title}\n{album}\n\n{position}/{length}";
tooltip-format-paused = "{artist}\n\n{title}\n{album}\n\n{position}/{length}";
player = "Plexamp";
ignored-players = [ "firefox" "brave" ];
};
tray = {
spacing = 5;
};
"custom/power" = {
format = " ";
tooltip = false;
menu = "on-click";
menu-file = ./config/waybar-power-menu.xml;
menu-actions = {
shutdown = "poweroff";
reboot = "reboot";
lock = "hyprlock";
suspend = "systemctl suspend";
hibernate = "systemctl hibernate";
};
};
};
};
};
services.playerctld.enable = true;
services.hyprpaper = {
enable = true;
settings = {
ipc = "on";
splash = false;
preload = [ "$HOME/img/nixos.png" "$HOME/img/osf-024-static-wallpaper.png" ];
wallpaper = [ ", $HOME/img/nixos.png" ];
};
};
wayland.windowManager.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
extraConfig = ''${builtins.readFile ./hyprland.conf}'';
extraConfig = ''${builtins.readFile ./config/hyprland.conf}'';
plugins = [
inputs.hyprsplit.packages.${pkgs.system}.hyprsplit
];

View File

@ -8,10 +8,10 @@
fonts.packages = with pkgs; [
jetbrains-mono
nerd-font-patcher
noto-fonts-color-emoji
lora
noto-fonts
nerd-fonts.jetbrains-mono
];
# lots to do here, compare to https://github.com/XNM1/linux-nixos-hyprland-config-dotfiles/blob/main/nixos/theme.nix
@ -25,5 +25,6 @@
gsettings-desktop-schemas
nwg-look # we do all the configuration in here
kitty-themes
wallust
];
}