❄️ My personnal NixOS configuration
nix-flake nixos-configuration linux dotfiles flake nix nix-config nixos nixos-flake linux-desktop
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

「✨」 feat(Waybar): Properly configured

adjoly fd48f401 8e054297

+164 -128
+1 -1
home/adjoly/home.nix
··· 63 63 vlc 64 64 tmux 65 65 beeper 66 + zenity 66 67 ripgrep 67 68 molotov 68 69 discord ··· 75 76 prismlauncher 76 77 nextcloud-client 77 78 unstable.vivaldi 78 - plex-media-player 79 79 vivaldi-ffmpeg-codecs 80 80 ]; 81 81 stateVersion = "24.05";
+7 -7
home/adjoly/wm/hyprland.nix
··· 12 12 wayland.windowManager.hyprland = { 13 13 enable = true; 14 14 xwayland.enable = true; 15 - # catppuccin = { 16 - # enable = true; 17 - # flavor = "frappe"; 18 - # }; 19 15 settings = { 20 16 general = { 21 - border_size = "2"; 17 + border_size = "0"; 22 18 gaps_in = "4"; 23 - #gaps_out = "8"; 24 19 gaps_out = "8,8,8,8"; 20 + "col.active_border" = "#ffbabbf1"; 21 + "col.inactive_border" = "#ff303446"; 22 + }; 23 + decoration = { 24 + rounding = 8; 25 25 }; 26 26 gestures.workspace_swipe = "on"; 27 27 exec-once = [ 28 28 "hyprpaper" 29 - "${pkgs.waybar}/bin/waybar" 29 + "waybar" 30 30 ]; 31 31 "$mod" = "ALT"; 32 32 "$win" = "SUPER";
+156 -120
home/adjoly/wm/waybar.nix
··· 1 1 { ... }: 2 2 3 3 { 4 - programs.waybar = { 5 - enable = true; 6 - catppuccin.enable = true; 7 - settings = { 8 - bar = { 9 - margin-top = 8; 10 - margin-bottom = 0; 11 - margin-right = 8; 12 - margin-left = 8; 13 - layer = "top"; 14 - modules-left = [ "hyprland/workspaces" ]; 15 - modules-center = [ "clock" ]; 16 - modules-right = [ "mpris" "custom/prev" "custom/playpause" "custom/next" "network" "battery" ]; 17 - output = [ "eDP-1" ]; 4 + programs.waybar = { 5 + enable = true; 6 + catppuccin.enable = true; 7 + settings = { 8 + bar = { 9 + margin-top = 8; 10 + margin-bottom = 0; 11 + margin-right = 8; 12 + margin-left = 8; 13 + layer = "top"; 14 + modules-left = [ "hyprland/workspaces" "hyprland/window" ]; 15 + modules-center = [ "clock" ]; 16 + modules-right = [ "mpris" "pulseaudio" "custom/prev" "custom/playpause" "custom/next" "network" "battery" ]; 17 + output = [ "eDP-1" ]; 18 18 19 - # --------------------------------------------------------- 19 + # --------------------------------------------------------- 20 20 21 - "hyprland/workspaces" = { 22 - format = "{icon}"; 23 - tooltip = false; 24 - "persistent-workspaces" = { 25 - "eDP-1" = [ 1 2 3 4 5 6 7 8 9 10 ]; 26 - }; 27 - format-icons = { 28 - "1" = "◆"; 29 - "2" = "◆"; 30 - "3" = "◆"; 31 - "4" = "◆"; 32 - "5" = "◆"; 33 - "6" = "◆"; 34 - "7" = "◆"; 35 - "8" = "◆"; 36 - "9" = "◆"; 37 - "10" = "◆"; 38 - }; 39 - }; 21 + "hyprland/workspaces" = { 22 + format = "{icon}"; 23 + tooltip = false; 24 + "persistent-workspaces" = { 25 + "eDP-1" = [ 1 2 3 4 5 6 7 8 9 10 ]; 26 + }; 27 + format-icons = { 28 + "1" = "◆"; 29 + "2" = "◆"; 30 + "3" = "◆"; 31 + "4" = "◆"; 32 + "5" = "◆"; 33 + "6" = "◆"; 34 + "7" = "◆"; 35 + "8" = "◆"; 36 + "9" = "◆"; 37 + "10" = "◆"; 38 + "active" = ""; 39 + }; 40 + }; 40 41 41 - # --------------------------------------------------------- 42 + "hyprland/window" = { 43 + format = "{title}"; 44 + tooltip = false; 45 + icon = true; 46 + icon-size = 16; 47 + max-length = 20; 48 + }; 42 49 43 - clock = { 44 - format = "{:%a %d %b | %H : %M}"; 45 - tooltip = true; 46 - }; 50 + # -------------------------:-------------------------------- 47 51 48 - # --------------------------------------------------------- 52 + clock = { 53 + format = "{:%a %d %b | %H : %M}"; 54 + tooltip = false; 55 + on-click = "zenity --calendar"; 56 + }; 49 57 50 - "custom/next" = { 51 - format = "󰒭"; 52 - on-click = "playerctl next"; 53 - tooltip = false; 54 - }; 55 - "custom/playpause" = { 56 - format = "󰐊"; 57 - on-click = "playerctl play-pause"; 58 - tooltip = false; 59 - }; 60 - "custom/prev" = { 61 - format = "󰒮"; 62 - on-click = "playerctl previous"; 63 - tooltip = false; 64 - }; 65 - mpris = { 66 - format = "{dynamic}"; 67 - title-len = 50; 68 - dynamic-len = 50; 69 - dynamic-order = [ "title" ]; 70 - tooltip = false; 71 - }; 72 - network = { 73 - #interface = "wlo1"; 74 - format = "{ifname}"; 75 - format-wifi = "{essid}"; 76 - format-ethernet = "ethernet"; 77 - format-disconnected = "no network"; 78 - tooltip = false; 79 - }; 80 - battery = { 81 - format = "{icon} {capacity} %"; 82 - format-icons = [ "󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"]; 83 - format-charging = "󰂄 {capacity} %"; 84 - tooltip = false; 85 - }; 58 + # --------------------------------------------------------- 86 59 87 - }; 88 - }; 60 + "custom/next" = { 61 + format = "󰒭"; 62 + on-click = "playerctl next"; 63 + tooltip = false; 64 + }; 65 + "custom/playpause" = { 66 + format = "󰐊"; 67 + on-click = "playerctl play-pause"; 68 + tooltip = false; 69 + }; 70 + "custom/prev" = { 71 + format = "󰒮"; 72 + on-click = "playerctl previous"; 73 + tooltip = false; 74 + }; 75 + pulseaudio = { 76 + format = "{icon} {volume:2}%"; 77 + format-bluetooth = "{icon} {volume}% "; 78 + format-muted = "MUTE {volume:2}%"; 79 + format-icons = { 80 + headphones = ""; 81 + default = [ "" "" ]; 82 + }; 83 + reverse-mouse-scrolling = true; 84 + on-click = "wpctl set-mute @DEFAULT_SINK@ toggle"; 85 + tooltip = false; 86 + }; 87 + mpris = { 88 + format = "{dynamic}"; 89 + format-paused = " {dynamic}"; 90 + title-len = 50; 91 + dynamic-len = 50; 92 + dynamic-order = [ "title" ]; 93 + tooltip = false; 94 + }; 95 + network = { 96 + format = "{ifname}"; 97 + format-wifi = "{essid}"; 98 + format-ethernet = "ethernet"; 99 + format-disconnected = "no network"; 100 + on-click = "kitty -- nmtui"; 101 + on-click-right = "kitty -- bluetuith"; 102 + tooltip = false; 103 + }; 104 + battery = { 105 + format = "{icon} {capacity} %"; 106 + format-icons = [ "󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"]; 107 + format-charging = "󰂄 {capacity} %"; 108 + tooltip = false; 109 + }; 89 110 90 - style = '' 111 + }; 112 + }; 113 + 114 + style = '' 91 115 * { 92 116 all: unset; 93 117 font-family: "JetBrainsMono Nerd Font Mono"; ··· 95 119 } 96 120 97 121 window#waybar { 98 - color: #DCD7BA; 99 - background: @base00; 100 - border: 2px solid @base03; 122 + background: #292c3c; 123 + border: 2px solid transparent; 124 + border-radius: 10px; 125 + } 126 + window#waybar.empty #window { 127 + background-color: transparent; 128 + border: transparent; 101 129 } 102 130 103 - #custom-distro, #workspaces, #custom-prev, #custom-playpause, #custom-next, #mpris, #battery, #network, #clock, #pulseaudio-slider { 131 + #mpris, #battery, #network, #clock, #pulseaudio, #window { 132 + color: #c6d0f5; 104 133 margin: 6px 4px; 105 134 padding: 2px 8px; 106 - border-radius: 0px; 107 - background-color: @base01; 108 - border: 2px solid @base02; 135 + border-radius: 8px; 136 + background-color: #303446; 137 + border: 2px solid transparent; 109 138 } 110 139 111 - #custom-distro { 140 + #workspaces { 112 141 margin-left: 8px; 113 - padding: 0px 10px 0px 5px; 114 - font-size: 16px; 115 - color: @base08; 142 + margin: 6px 4px; 143 + padding: 2px 8px; 144 + border-radius: 8px; 145 + background-color: #303446; 146 + border: 2px solid transparent; 116 147 } 117 - 118 - .modules-left #workspaces {padding: 0px;} 148 + .modules-left #workspaces { 149 + padding: 2px 8px; 150 + margin-left: 8px; 151 + } 119 152 .modules-left #workspaces button { 153 + color: #c6d0f5; 120 154 padding: 0px 4px; 121 155 border-bottom: 0px solid transparent; 122 156 } 123 157 .modules-left #workspaces button.empty { 124 - color: @base03; 125 - border-bottom: 0px solid transparent; 126 - } 127 - .modules-left #workspaces button.visible { 128 - color: @base05; 129 - font-weight: 900; 158 + color: #414559; 130 159 border-bottom: 0px solid transparent; 131 160 } 132 161 .modules-left #workspaces button.active, 133 162 .modules-left #workspaces button.focused { 134 - color: @base08; 135 - font-weight: 900; 136 - border-bottom: 3px solid transparent; 137 - } 138 - .modules-left #workspaces button.urgent { 139 - color: @base0E; 140 - font-weight: 900; 141 163 border-bottom: 0px solid transparent; 142 164 } 143 165 144 166 #custom-prev { 167 + border-radius: 8px 0px 0px 8px; 168 + padding: 2px 8px; 169 + margin: 6px 4px; 170 + border: 2px solid transparent; 145 171 margin-right: 0px; 146 172 border-right: 0px; 173 + background-color: #303446; 174 + color: #c6d0f5; 175 + } 176 + #custom-next { 177 + border-radius: 0px 8px 8px 0px; 178 + color: #c6d0f5; 179 + padding: 2px 8px; 180 + margin: 6px 4px; 181 + border: 2px solid transparent; 182 + margin-left: 0px; 183 + border-left: 0px; 184 + background-color: #303446; 147 185 } 148 186 #custom-playpause { 187 + color: #c6d0f5; 188 + border-radius: 0px 0px 0px 0px; 189 + padding: 2px 8px; 190 + margin: 6px 4px; 191 + border: 2px solid transparent; 149 192 margin-right: 0px; 150 193 border-right: 0px; 151 194 margin-left: 0px; 152 195 border-left: 0px; 153 - } 154 - #custom-next { 155 - margin-left: 0px; 156 - border-left: 0px; 196 + background-color: #303446; 157 197 } 158 198 159 199 #network.disconnected { 160 - color: @base08; 200 + color: #ca9ee6 161 201 } 162 - 163 202 #network.ethernet { 164 - color: @base0D; 203 + color: #c6d0f5; 165 204 } 166 - 167 205 #network.wifi { 168 - color: @base0B; 206 + color: #c6d0f5; 169 207 } 170 208 171 209 #battery { 172 210 margin-right: 8px; 173 211 } 174 - 175 212 #battery.charging, #battery.plugged { 176 - color: @base0B; 213 + color: #babbf1; 177 214 } 178 - 179 215 #battery.critical:not(.charging) { 180 - color: @base08; 216 + color: #e78284; 181 217 } 182 - ''; 183 - }; 218 + ''; 219 + }; 184 220 }