Flake for my NixOS devices

maple mono, fix waybar spacing

bwc9876.dev c729b21a 0ee93d53

verified
+44 -37
+9 -9
flake.lock
··· 453 ] 454 }, 455 "locked": { 456 - "lastModified": 1770476834, 457 - "narHash": "sha256-cyxgVsNfHnJ4Zn6G1EOzfTXbjTy7Ds9zMOsZaX7VZWs=", 458 "owner": "nix-community", 459 "repo": "home-manager", 460 - "rev": "6cee0821577643e0b34e2c5d9a90d0b1b5cdca70", 461 "type": "github" 462 }, 463 "original": { ··· 639 "xwayland-satellite-unstable": "xwayland-satellite-unstable" 640 }, 641 "locked": { 642 - "lastModified": 1770400632, 643 - "narHash": "sha256-TsOt49sYfzmxSTj2wKHKK2ZToCByLJLxPbwbu1brDt0=", 644 "owner": "sodiboo", 645 "repo": "niri-flake", 646 - "rev": "652dbeb0ac2c481dee5b57be972c6fd6feb38adc", 647 "type": "github" 648 }, 649 "original": { ··· 738 }, 739 "nixpkgs-stable": { 740 "locked": { 741 - "lastModified": 1770136044, 742 - "narHash": "sha256-tlFqNG/uzz2++aAmn4v8J0vAkV3z7XngeIIB3rM3650=", 743 "owner": "NixOS", 744 "repo": "nixpkgs", 745 - "rev": "e576e3c9cf9bad747afcddd9e34f51d18c855b4e", 746 "type": "github" 747 }, 748 "original": {
··· 453 ] 454 }, 455 "locked": { 456 + "lastModified": 1770491427, 457 + "narHash": "sha256-8b+0vixdqGnIIcgsPhjdX7EGPdzcVQqYxF+ujjex654=", 458 "owner": "nix-community", 459 "repo": "home-manager", 460 + "rev": "cbd8a72e5fe6af19d40e2741dc440d9227836860", 461 "type": "github" 462 }, 463 "original": { ··· 639 "xwayland-satellite-unstable": "xwayland-satellite-unstable" 640 }, 641 "locked": { 642 + "lastModified": 1770493836, 643 + "narHash": "sha256-UPG9xFnVkqHF5e2GOucQO8BXXzwp8BwwON2g+WBXLMA=", 644 "owner": "sodiboo", 645 "repo": "niri-flake", 646 + "rev": "a17befde0c0ca25617fb3da505294deb45cef170", 647 "type": "github" 648 }, 649 "original": { ··· 738 }, 739 "nixpkgs-stable": { 740 "locked": { 741 + "lastModified": 1770464364, 742 + "narHash": "sha256-z5NJPSBwsLf/OfD8WTmh79tlSU8XgIbwmk6qB1/TFzY=", 743 "owner": "NixOS", 744 "repo": "nixpkgs", 745 + "rev": "23d72dabcb3b12469f57b37170fcbc1789bd7457", 746 "type": "github" 747 }, 748 "original": {
+10 -10
homeModules/waybar.nix
··· 24 settings = [ 25 { 26 battery = { 27 - format = "{icon} {capacity}󰏰"; 28 - format-charging = "{icon} {capacity}󰏰"; 29 format-icons = { 30 charging = [ 31 "󰢜" ··· 60 bluetooth = { 61 format = "󰂯"; 62 format-connected = "󰂱"; 63 - format-connected-battery = "󰂱 {device_battery_percentage}󰏰"; 64 format-disabled = "󰂲"; 65 format-off = "󰂲"; 66 on-click-right = "rfkill toggle bluetooth"; ··· 191 tooltip-disconnected = "Disconnected"; 192 tooltip-format = "{ifname} via {gwaddr}"; 193 tooltip-format-ethernet = "󱎔 {ifname}"; 194 - tooltip-format-wifi = "Connected to {essid} ({signalStrength}󰏰 Strength) over {ifname} via {gwaddr}"; 195 }; 196 position = "top"; 197 privacy = { ··· 212 transition-duration = 200; 213 }; 214 pulseaudio = { 215 - format = "{icon} {volume:2}󰏰"; 216 - format-bluetooth = "{icon} {volume}󰏰"; 217 format-icons = { 218 car = ""; 219 default = [ ··· 279 title-len = 35; 280 }; 281 cpu = { 282 - format = "󰍛 {usage}󰏰"; 283 states = { 284 critical = 95; 285 warning = 80; ··· 291 }; 292 layer = "top"; 293 memory = { 294 - format = " {}󰏰 ({used:0.1f}/{total:0.1f} GiB)"; 295 states = { 296 critical = 90; 297 warning = 70; ··· 308 position = "bottom"; 309 temperature = { 310 critical-threshold = 80; 311 - format = "{icon} {temperatureC} °C"; 312 - format-critical = "{icon}! {temperatureC} °C"; 313 format-icons = [ 314 "󱃃" 315 "󰔏"
··· 24 settings = [ 25 { 26 battery = { 27 + format = "{icon}{capacity}%"; 28 + format-charging = "{icon}{capacity}%"; 29 format-icons = { 30 charging = [ 31 "󰢜" ··· 60 bluetooth = { 61 format = "󰂯"; 62 format-connected = "󰂱"; 63 + format-connected-battery = "󰂱 {device_battery_percentage}%"; 64 format-disabled = "󰂲"; 65 format-off = "󰂲"; 66 on-click-right = "rfkill toggle bluetooth"; ··· 191 tooltip-disconnected = "Disconnected"; 192 tooltip-format = "{ifname} via {gwaddr}"; 193 tooltip-format-ethernet = "󱎔 {ifname}"; 194 + tooltip-format-wifi = "Connected to {essid} ({signalStrength}% Strength) over {ifname} via {gwaddr}"; 195 }; 196 position = "top"; 197 privacy = { ··· 212 transition-duration = 200; 213 }; 214 pulseaudio = { 215 + format = "{icon} {volume:2}%"; 216 + format-bluetooth = "{icon} {volume}%"; 217 format-icons = { 218 car = ""; 219 default = [ ··· 279 title-len = 35; 280 }; 281 cpu = { 282 + format = "󰍛 {usage}%"; 283 states = { 284 critical = 95; 285 warning = 80; ··· 291 }; 292 layer = "top"; 293 memory = { 294 + format = " {}% ({used:0.1f}/{total:0.1f} GiB)"; 295 states = { 296 critical = 90; 297 warning = 70; ··· 308 position = "bottom"; 309 temperature = { 310 critical-threshold = 80; 311 + format = "{icon} {temperatureC}°C"; 312 + format-critical = "{icon}! {temperatureC}°C"; 313 format-icons = [ 314 "󱃃" 315 "󰔏"
+2 -14
nixosModules/fonts.nix
··· 15 enableDefaultPackages = true; 16 packages = with pkgs; [ 17 fira-code 18 - # fira-go 19 noto-fonts 20 - noto-fonts-lgc-plus 21 - noto-fonts-cjk-sans 22 - noto-fonts-cjk-serif 23 - nerd-fonts.symbols-only 24 - noto-fonts-color-emoji 25 - corefonts 26 - unifont 27 - liberation_ttf 28 ]; 29 fontconfig = { 30 enable = true; 31 defaultFonts = { 32 serif = [ 33 "Noto Serif" 34 - "Symbols Nerd Font" 35 ]; 36 sansSerif = [ 37 "FiraGO" 38 - "Symbols Nerd Font" 39 ]; 40 monospace = [ 41 - "Fira Code" 42 - "Symbols Nerd Font" 43 ]; 44 emoji = [ 45 "Noto Color Emoji" 46 - "Symbols Nerd Font" 47 ]; 48 }; 49 };
··· 15 enableDefaultPackages = true; 16 packages = with pkgs; [ 17 fira-code 18 + maple-mono.NF-CN 19 noto-fonts 20 ]; 21 fontconfig = { 22 enable = true; 23 defaultFonts = { 24 serif = [ 25 "Noto Serif" 26 ]; 27 sansSerif = [ 28 "FiraGO" 29 ]; 30 monospace = [ 31 + "Maple Mono NF CN" 32 ]; 33 emoji = [ 34 "Noto Color Emoji" 35 ]; 36 }; 37 };
+1 -1
res/bat_display.nu
··· 43 $icons | get "default" | get $idx 44 } 45 46 - echo $" | ($icon) ($percent)󰏰"
··· 43 $icons | get "default" | get $idx 44 } 45 46 + echo $" | ($icon) ($percent)%"
+1 -1
res/custom_waybar_modules/kdeconnect.nu
··· 87 }); 88 89 let percent = if $battery_info.charge? != null and $battery_info.charge != -1 { 90 - $" ($battery_info.charge)󰏰" 91 } else { "" }; 92 93 {
··· 87 }); 88 89 let percent = if $battery_info.charge? != null and $battery_info.charge != -1 { 90 + $" ($battery_info.charge)%" 91 } else { "" }; 92 93 {
+1 -1
res/custom_waybar_modules/weather.nu
··· 157 158 let icon = get_icon $condition $night 159 160 - let text = $"($icon) ($current_condition.temp_F) °F" 161 let tooltip = [ 162 $condition, 163 $"Temperature: ($current_condition.temp_F) °F",
··· 157 158 let icon = get_icon $condition $night 159 160 + let text = $"($icon) ($current_condition.temp_F)°F" 161 let tooltip = [ 162 $condition, 163 $"Temperature: ($current_condition.temp_F) °F",
+20 -1
res/waybar.css
··· 1 @import "catppuccin.css"; 2 3 * { 4 - font-family: sans-serif; 5 } 6 7 window#waybar { ··· 218 #mpris.paused.kdeconnect { 219 opacity: 0; 220 }
··· 1 @import "catppuccin.css"; 2 3 * { 4 + font-family: monospace; 5 } 6 7 window#waybar { ··· 218 #mpris.paused.kdeconnect { 219 opacity: 0; 220 } 221 + 222 + 223 + /* Some fixes for icon spacing */ 224 + 225 + #custom-notification { 226 + padding: 0 1em 0 .9em; 227 + } 228 + 229 + #idle_inhibitor { 230 + padding: 0 1em 0 .7em; 231 + } 232 + 233 + #power-profiles-daemon { 234 + padding: 0 1em 0 .8em; 235 + } 236 + 237 + 238 + 239 +