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}