From f0abdb3a2c126401e99a52fb0111648e0594bf4f Mon Sep 17 00:00:00 2001 From: Sojus07 Date: Wed, 28 May 2025 00:55:42 +0200 Subject: [PATCH] kekl --- flake.nix | 2 +- hosts/default/home/default.nix | 1 + hosts/default/home/sway.nix | 21 +- hosts/default/home/waybar.nix | 325 +++++++++++++++++++++++++++++++ hosts/default/system/default.nix | 2 - 5 files changed, 336 insertions(+), 15 deletions(-) create mode 100644 hosts/default/home/waybar.nix diff --git a/flake.nix b/flake.nix index 2f952ff..382a25a 100644 --- a/flake.nix +++ b/flake.nix @@ -14,7 +14,7 @@ home-manager, nvf, }: { - nixosConfigurations.sputnik = nixpkgs.lib.nixosSystem { + nixosConfigurations.iridium = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/iridium/configuration.nix diff --git a/hosts/default/home/default.nix b/hosts/default/home/default.nix index 206b2ba..980b0c2 100644 --- a/hosts/default/home/default.nix +++ b/hosts/default/home/default.nix @@ -5,5 +5,6 @@ ./git.nix ./tmux.nix ./sway.nix + ./waybar.nix ]; } diff --git a/hosts/default/home/sway.nix b/hosts/default/home/sway.nix index a1f38bb..2ed151a 100644 --- a/hosts/default/home/sway.nix +++ b/hosts/default/home/sway.nix @@ -5,7 +5,7 @@ xwayland = true; package = pkgs.swayfx-unwrapped; wrapperFeatures.gtk = true; - + checkConfig = false; extraSessionCommands = '' export _JAVA_AWT_WM_NONREPARENTING=1 @@ -15,12 +15,12 @@ config = rec { modifier = "Mod4"; - terminal = "wezterm"; + terminal = "alacritty"; menu = "${pkgs.rofi}/bin/rofi -show drun -c .config/rofi/config.rasi"; startup = [ - {command = "swaybg -i $HOME/.wp/skull_purple.png";} + {command = "${pkgs.swaybg}/bin/swaybg -i $HOME/.wp/gruvbox-dark-blue.png";} ]; - bars = [{ command = "waybar"; }]; + bars = [{ command = "${pkgs.waybar}/bin/waybar"; }]; gaps = { outer = 5; inner = 10; @@ -31,10 +31,7 @@ keybindings = { # IMPORTANT STUFF # "${modifier}+Return" = "exec ${terminal}"; - "${modifier}+F" = "exec firefox"; "${modifier}+space" = "exec ${menu}"; - "${modifier}+D" = "exec discord"; - "${modifier}+C" = "exec code"; "${modifier}+Q" = "kill"; "${modifier}+Shift+R" = "reload"; "${modifier}+Shift+S" = "grim -g '$(slurp)'"; @@ -79,16 +76,16 @@ "${modifier}+Shift+9" = "move container to workspace number 9"; # Audio - "XF86AudioRaiseVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ +10%"; - "XF86AudioLowerVolume" = "exec pactl set-sink-volume @DEFAULT_SINK@ -10%"; - "XF86AudioMute" = "exec set-volume toggle-mute"; + "XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%"; + "XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%"; + "XF86AudioMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-volume toggle-mute"; "XF86AudioStop" = "exec ${pkgs.playerctl}/bin/playerctl stop"; "XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous"; "XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next"; "XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause"; - "XF86MonBrightnessDown" = "exec brightnessctl set 15%-"; - "XF86MonBrightnessUp" = "exec brightnessctl set +15%"; + "XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 5%-"; + "XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set +5%"; }; }; diff --git a/hosts/default/home/waybar.nix b/hosts/default/home/waybar.nix new file mode 100644 index 0000000..441199f --- /dev/null +++ b/hosts/default/home/waybar.nix @@ -0,0 +1,325 @@ +{ config, pkgs, ... }: +{ + programs.waybar = { + enable = true; + style = '' + @define-color foreground #f2f4f8; + @define-color background #161616; + @define-color alt_background #1a1a1a; + @define-color accent #3ddbd9; + + @define-color black #262626; + @define-color red #ee5396; + @define-color green #42be65; + @define-color yellow #ffab91; + @define-color blue #33b1ff; + @define-color magenta #be95ff; + @define-color cyan #3ddbd9; + @define-color white #dde1e6; + + @define-color alt_black #262626; + @define-color alt_red #ee5396; + @define-color alt_green #42be65; + @define-color alt_yellow #ffab91; + @define-color alt_blue #33b1ff; + @define-color alt_magenta #be95ff; + @define-color alt_cyan #3ddbd9; + @define-color alt_white #dde1e6; + + * { + + border: none; + font-family: JetBrainsMono Nerd Font, sans-serif; + font-size: 14px; + } + + window#waybar { + /* background-color: rgba(0, 0, 0, 0); */ + /* background-color: rgba(18, 21, 29, 0.98); */ + background-color: @background; + border-radius: 6px; + color: @foreground; + opacity: 1; + transition-property: background-color; + transition-duration: .5s; + margin-bottom: -7px; + } + + window#waybar.hidden { + opacity: 0.2; + } + + window#hyprland-window { + background-color: @background; + } + + #workspaces, + #mode, + #window, + #cpu, + #memory, + #temperature, + #custom-media, + #custom-powermenu, + #custom-fans, + #custom-distro, + #clock, + #idle_inhibitor, + #language, + #pulseaudio, + #backlight, + #battery, + #network, + #tray { + background-color: @alt_background; + padding: 0 10px; + margin: 5px 2px 5px 2px; + border: 1px solid rgba(0, 0, 0, 0); + border-radius: 6px; + background-clip: padding-box; + } + + #workspaces button { + background-color: @alt_background; + padding: 0 5px; + min-width: 20px; + color: @foreground; + } + + #workspaces button:hover { + background-color: rgba(0, 0, 0, 0) + } + + #workspaces button.active { + color: @accent; + } + + #workspaces button.urgent { + color: @red; + } + + #cpu { + padding: 0 10px; + color: @alt_cyan; + } + + #memory { + padding: 0 10px; + color: @alt_cyan; + } + + #temperature { + padding: 0 10px; + color: @blue; + } + + #temperature.critical { + background-color: @red; + padding: 0 10px; + color: @background; + } + + #custom-media { + color: #c678dd; + padding: 0 10px; + color: @background; + } + + #custom-fans { + padding: 0 10px; + color: @blue; + } + + #clock { + padding: 0 10px; + color: @blue; + } + + #idle_inhibitor { + padding: 0 10px; + color: @foreground; + } + + #language { + padding: 0 10px; + color: @blue; + } + + #pulseaudio { + padding: 0 10px; + color: @yellow; + } + + #pulseaudio.muted { + padding: 0 10px; + background-color: @red; + color: @background; + } + + #backlight { + padding: 0 10px; + color: @yellow; + } + + #battery { + padding: 0 10px; + color: @alt_green; + } + + #battery.charging, #battery.plugged { + padding: 0 10px; + background-color: @alt_green; + color: @background; + } + + @keyframes blink { + to { + background-color: @background; + color: @red; + } + } + + #battery.critical:not(.charging) { + padding: 0 10px; + background-color: @red; + color: @background; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; + } + + #network { + padding: 0 10px; + color: @blue; + } + + #custom-distro { + color: @accent; + background-color: @background; + font-size: 25px; + margin: 1px; + padding: 0px 0px 0px 6px; + } + + #network.disconnected { + padding: 0 10px; + background-color: @red; + color: @background; + } + #custom-powermenu { + background-color: @red; + color: @background; + font-size: 15px; + padding-right: 6px; + padding-left: 11px; + margin: 5px; + } + + ''; + + settings = { + mainBar = { + #margin = "8px 10px -2px 10px"; + margin = "0px 10px 8px 10px"; + layer = "top"; + position = "bottom"; + + modules-left = [ "custom/distro" "battery" "sway/workspaces" ]; + modules-center = [ "sway/window" ]; + modules-right = [ "cpu" "memory" "backlight" "pulseaudio" "network" "tray" "clock" ]; + + "sway/workspaces" = { + active-only = "false"; + disable-scroll = "true"; + all-outputs = "true"; + format = "{icon}"; + on-click = "activate"; + }; + + "idle_inhibitor" = { + format = "{icon}"; + format-icons = { + activated = " "; + deactivated = " "; + }; + }; + + "tray" = { + spacing = 8; + }; + + "clock" = { + tooltip-format = "{:%Y %B}\n{calendar}"; + format = " {:%H:%M:%S}"; + format-alt = " {:%A, %B %d, %Y}"; + }; + + "cpu" = { + format = " {usage}%"; + tooltip = "false"; + }; + + "memory" = { + format = " {}%"; + }; + + "backlight" = { + format = "{icon}{percent}%"; + format-icons = ["󰃞 " "󰃟 " "󰃠 "]; + on-scroll-up = "light -A 1"; + on-scroll-down = "light -U 1"; + }; + + "battery" = { + states = { + warning = "30"; + critical = "15"; + }; + format = "{icon}{capacity}%"; + tooltip-format = "{timeTo} {capacity}%"; + format-charging = "󱐋{capacity}%"; + format-plugged = " {capacity}%"; + format-alt = "{time} {icon}"; + format-icons = [" " " " " " " " " "]; + }; + + "network" = { + format-wifi = " {essid} {signalStrength}%"; + format-ethernet = "{ifname}: {ipaddr}/{cidr} 󰈀 "; + format-linked = "{ifname} (No IP)  "; + format-disconnected = "󰤮 Disconnected"; + on-click-release = "sleep 0"; + tooltip-format = "{essid} {signalStrength}%"; + }; + + "pulseaudio" = { + format = "{icon}{volume}% {format_source}"; + format-bluetooth = "{icon} {volume}%"; + format-bluetooth-muted = "  {volume}%"; + format-source = ""; + format-source-muted = ""; + format-muted = " {format_source}"; + format-icons = { + headphone = " "; + phone = " "; + portable = " "; + default = [" " " " " "]; + }; + tooltip-format = "{desc} {volume}%"; + on-click = "wpctl set-sink-mute @DEFAULT_SINK@ toggle"; + on-click-right = "wpctl set-source-mute @DEFAULT_SOURCE@ toggle"; + on-click-middle = "${pkgs.pavucontrol}/bin/pavucontrol"; + on-click-release = "sleep 0"; + on-click-middle-release = "sleep 0"; + }; + + "custom/distro" = { + format = " "; + on-click-release = "sleep 0"; + }; + }; + }; + }; +} diff --git a/hosts/default/system/default.nix b/hosts/default/system/default.nix index 2f56daa..3452344 100644 --- a/hosts/default/system/default.nix +++ b/hosts/default/system/default.nix @@ -10,7 +10,5 @@ ./services.nix ./firefox.nix ./pkgs.nix - ./radio.nix - ./chromium.nix ]; }