my nix configs for my servers and desktop
1{ config, pkgs, system, inputs, lib, ... }: 2 3{ 4 home.username = "regent"; 5 home.homeDirectory = "/home/regent"; 6 7 catppuccin = { 8 enable = true; 9 flavor = "mocha"; 10 accent = "rosewater"; 11 /*waybar = { doesnt work for some reason 12 enable = true; 13 };*/ 14 ghostty.enable = true; 15 ghostty.flavor = "mocha"; 16 nvim.enable = true; 17 nvim.flavor = "mocha"; 18 }; 19 20 programs.ghostty.enable = true; 21 programs.ghostty.settings = { 22 font-size = 24; 23 theme = "catppuccin-mocha"; 24 }; 25 26 programs.neovim.enable = true; 27 programs.neovim = { 28 extraPackages = with pkgs; [ 29 lua-language-server 30 stylua 31 ripgrep 32 ]; 33 34 plugins = with pkgs.vimPlugins; [ 35 lazy-nvim 36 ]; 37 }; 38 39 home.pointerCursor = { 40 gtk.enable = true; 41 package = pkgs.phinger-cursors; 42 name = "Phinger-cursors-light"; 43 size = 48; 44 }; 45 46 programs.waybar = { 47 enable = true; 48 style = 49'' 50@define-color rosewater #f5e0dc; 51@define-color flamingo #f2cdcd; 52@define-color pink #f5c2e7; 53@define-color mauve #cba6f7; 54@define-color red #f38ba8; 55@define-color maroon #eba0ac; 56@define-color peach #fab387; 57@define-color yellow #f9e2af; 58@define-color green #a6e3a1; 59@define-color teal #94e2d5; 60@define-color sky #89dceb; 61@define-color sapphire #74c7ec; 62@define-color blue #89b4fa; 63@define-color lavender #b4befe; 64@define-color text #cdd6f4; 65@define-color subtext1 #bac2de; 66@define-color subtext0 #a6adc8; 67@define-color overlay2 #9399b2; 68@define-color overlay1 #7f849c; 69@define-color overlay0 #6c7086; 70@define-color surface2 #585b70; 71@define-color surface1 #45475a; 72@define-color surface0 #313244; 73@define-color base #1e1e2e; 74@define-color mantle #181825; 75@define-color crust #11111b; 76 77 78* { 79 font-family: 'Fira Code', monospace; 80 font-size: 17px; 81 min-height: 0; 82} 83 84window#waybar { 85 padding: 0px; 86 margin: 0px; 87 border: 0px; 88 /*background-color:rgb(0, 0, 0);*/ 89 background-color: @base; 90 color: @text; 91} 92 93/*window#waybar.empty { 94 background-color:rgba(255, 255, 255, 0); 95}*/ 96 97#workspaces { 98 border-radius: 1rem; 99 margin: 5px; 100 margin-left: 1rem; 101 background-color: rgba(0, 0, 0, 0.21); 102} 103 104#workspaces button { 105 color: @lavender; 106 border-radius: 1rem; 107 padding: 0.4rem; 108} 109 110#workspaces button.active { 111 color: @sky; 112 border-radius: 1rem; 113 background-color: rgba(255, 255, 255, 0.5); 114} 115 116#workspaces button:hover { 117 color: @sapphire; 118 border-radius: 1rem; 119} 120 121#custom-music, 122#tray, 123#backlight, 124#clock, 125#battery, 126#pulseaudio, 127#custom-lock, 128#custom-power { 129 padding: 0.5rem 1rem; 130 margin: 5px 0; 131 color: @text; 132} 133 134#clock { 135 color: @text; 136 border-radius: 0px 1rem 1rem 0px; 137 margin-right: 1rem; 138} 139''; 140 settings = { 141 mainBar = { 142 layer = "top"; 143 position = "top"; 144 mod = "dock"; 145 exclusive = true; 146 passthrough = false; 147 #gtk-layer-shell = true; 148 height = 0; 149 output = [ 150 "HDMI-A-1" 151 "DP-1" 152 ]; 153 modules-left = [ 154 "sway/workspaces" 155 ]; 156 modules-center = [ "sway/window" ]; 157 modules-right = [ 158 "pulseaudio" 159 "clock" 160 ]; 161 162 "sway/workspaces" = { 163 disable-scroll = true; 164 sort-by-name = true; 165 }; 166 tray = { 167 icon-size = 13; 168 tooltip = false; 169 spacing = 10; 170 }; 171 network = { 172 format = "󰖩 {essid}"; 173 format-disconnected = "󰖪 disconnected"; 174 }; 175 clock = { 176 format = " {:%I:%M %p %m/%d} "; 177 tooltip-format = '' 178 <big>{:%Y %B}</big> 179 <tt><small>{calendar}</small></tt>''; 180 }; 181 182 pulseaudio = { 183 format = "{icon} {volume}%"; 184 tooltip = false; 185 format-muted = " Muted"; 186 on-click = "pamixer -t"; 187 on-scroll-up = "pamixer -i 5"; 188 on-scroll-down = "pamixer -d 5"; 189 scroll-step = 5; 190 format-icons = { 191 headphone = ""; 192 hands-free = ""; 193 headset = ""; 194 phone = ""; 195 portable = ""; 196 car = ""; 197 default = [ "" "" "" ]; 198 }; 199 }; 200 201 "pulseaudio#microphone" = { 202 format = "{format_source}"; 203 tooltip = false; 204 format-source = " {volume}%"; 205 format-source-muted = " Muted"; 206 on-click = "pamixer --default-source -t"; 207 on-scroll-up = "pamixer --default-source -i 5"; 208 on-scroll-down = "pamixer --default-source -d 5"; 209 scroll-step = 5; 210 }; 211 }; 212 }; 213 }; 214 215 home.stateVersion = "25.05"; 216}