···
39
39
modules = [
40
40
# Your main configuration file
41
41
./configuration.nix
42
42
+
catppuccin.nixosModules.catppuccin
42
43
43
44
({
44
45
nixpkgs.overlays = [ niri.overlays.niri ];
···
13
13
programs.niri = {
14
14
enable = true;
15
15
settings = {
16
16
+
gestures = {
17
17
+
hot-corners = {
18
18
+
};
19
19
+
};
16
20
binds = {
17
21
"Mod+d".action.spawn = [
18
22
"wofi"
···
74
78
};
75
79
};
76
80
81
81
+
xdg.configFile."waybar/config.jsonc".source = ./waybar/config.jsonc;
77
82
programs.waybar = {
78
83
enable = true;
79
79
-
};
84
84
+
85
85
+
style = ''
86
86
+
87
87
+
* {
88
88
+
font-family: FantasqueSansMono Nerd Font;
89
89
+
font-size: 17px;
90
90
+
min-height: 0;
91
91
+
}
92
92
+
93
93
+
#waybar {
94
94
+
background: transparent;
95
95
+
color: @text;
96
96
+
margin: 5px 5px;
97
97
+
}
98
98
+
99
99
+
#workspaces {
100
100
+
border-radius: 1rem;
101
101
+
margin: 5px;
102
102
+
background-color: @surface0;
103
103
+
margin-left: 1rem;
104
104
+
}
105
105
+
106
106
+
#workspaces button {
107
107
+
color: @lavender;
108
108
+
border-radius: 1rem;
109
109
+
padding: 0.4rem;
110
110
+
}
111
111
+
112
112
+
#workspaces button.active {
113
113
+
color: @sky;
114
114
+
border-radius: 1rem;
115
115
+
}
116
116
+
117
117
+
#workspaces button:hover {
118
118
+
color: @sapphire;
119
119
+
border-radius: 1rem;
120
120
+
}
121
121
+
122
122
+
#custom-music,
123
123
+
#tray,
124
124
+
#backlight,
125
125
+
#clock,
126
126
+
#battery,
127
127
+
#pulseaudio,
128
128
+
#custom-lock,
129
129
+
#custom-power {
130
130
+
background-color: @surface0;
131
131
+
padding: 0.5rem 1rem;
132
132
+
margin: 5px 0;
133
133
+
}
134
134
+
135
135
+
#clock {
136
136
+
color: @blue;
137
137
+
border-radius: 0px 1rem 1rem 0px;
138
138
+
margin-right: 1rem;
139
139
+
}
140
140
+
141
141
+
#battery {
142
142
+
color: @green;
143
143
+
}
144
144
+
145
145
+
#battery.charging {
146
146
+
color: @green;
147
147
+
}
148
148
+
149
149
+
#battery.warning:not(.charging) {
150
150
+
color: @red;
151
151
+
}
152
152
+
153
153
+
#backlight {
154
154
+
color: @yellow;
155
155
+
}
156
156
+
157
157
+
#backlight, #battery {
158
158
+
border-radius: 0;
159
159
+
}
160
160
+
161
161
+
#pulseaudio {
162
162
+
color: @maroon;
163
163
+
border-radius: 1rem 0px 0px 1rem;
164
164
+
margin-left: 1rem;
165
165
+
}
166
166
+
167
167
+
#custom-music {
168
168
+
color: @mauve;
169
169
+
border-radius: 1rem;
170
170
+
}
80
171
81
81
-
# Catppuccin theme for Waybar
82
82
-
catppuccin.waybar = {
83
83
-
enable = true;
84
84
-
flavor = "mocha";
172
172
+
#custom-lock {
173
173
+
border-radius: 1rem 0px 0px 1rem;
174
174
+
color: @lavender;
175
175
+
}
176
176
+
177
177
+
#custom-power {
178
178
+
margin-right: 1rem;
179
179
+
border-radius: 0px 1rem 1rem 0px;
180
180
+
color: @red;
181
181
+
}
182
182
+
183
183
+
#tray {
184
184
+
margin-right: 1rem;
185
185
+
border-radius: 1rem;
186
186
+
}
187
187
+
'';
85
188
};
86
189
87
190
programs.ssh = {
···
178
281
enableFishIntegration = true;
179
282
};
180
283
284
284
+
catppuccin = {
285
285
+
enable = true;
286
286
+
flavor = "frappe";
287
287
+
};
288
288
+
181
289
programs.alacritty = {
182
290
enable = true;
183
291
settings = {
···
191
299
programs.helix = {
192
300
enable = true;
193
301
settings = {
194
194
-
theme = "catppuccin_frappe";
195
302
editor = {
196
303
bufferline = "multiple";
197
304
file-picker = {
···
1
1
+
// -*- mode: jsonc -*-
2
2
+
{
3
3
+
// "layer": "top", // Waybar at top layer
4
4
+
// "position": "bottom", // Waybar position (top|bottom|left|right)
5
5
+
"height": 30, // Waybar height (to be removed for auto height)
6
6
+
// "width": 1280, // Waybar width
7
7
+
"spacing": 8, // Gaps between modules (4px)
8
8
+
// Choose the order of the modules
9
9
+
"modules-left": [
10
10
+
"sway/workspaces",
11
11
+
"sway/mode",
12
12
+
"sway/scratchpad",
13
13
+
"custom/media"
14
14
+
],
15
15
+
"modules-center": [
16
16
+
"sway/window"
17
17
+
],
18
18
+
"modules-right": [
19
19
+
"mpd",
20
20
+
// "idle_inhibitor",
21
21
+
"pulseaudio",
22
22
+
"network",
23
23
+
"power-profiles-daemon",
24
24
+
"cpu",
25
25
+
"memory",
26
26
+
"temperature",
27
27
+
"backlight",
28
28
+
// "keyboard-state",
29
29
+
"sway/language",
30
30
+
"battery",
31
31
+
"battery#bat2",
32
32
+
"clock",
33
33
+
"tray",
34
34
+
"custom/power"
35
35
+
],
36
36
+
// Modules configuration
37
37
+
// "sway/workspaces": {
38
38
+
// "disable-scroll": true,
39
39
+
// "all-outputs": true,
40
40
+
// "warp-on-scroll": false,
41
41
+
// "format": "{name}: {icon}",
42
42
+
// "format-icons": {
43
43
+
// "1": "",
44
44
+
// "2": "",
45
45
+
// "3": "",
46
46
+
// "4": "",
47
47
+
// "5": "",
48
48
+
// "urgent": "",
49
49
+
// "focused": "",
50
50
+
// "default": ""
51
51
+
// }
52
52
+
// },
53
53
+
"keyboard-state": {
54
54
+
"numlock": true,
55
55
+
"capslock": true,
56
56
+
"format": "{name} {icon}",
57
57
+
"format-icons": {
58
58
+
"locked": "",
59
59
+
"unlocked": ""
60
60
+
}
61
61
+
},
62
62
+
"sway/mode": {
63
63
+
"format": "<span style=\"italic\">{}</span>"
64
64
+
},
65
65
+
"sway/scratchpad": {
66
66
+
"format": "{icon} {count}",
67
67
+
"show-empty": false,
68
68
+
"format-icons": ["", ""],
69
69
+
"tooltip": true,
70
70
+
"tooltip-format": "{app}: {title}"
71
71
+
},
72
72
+
"mpd": {
73
73
+
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
74
74
+
"format-disconnected": "Disconnected ",
75
75
+
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
76
76
+
"unknown-tag": "N/A",
77
77
+
"interval": 5,
78
78
+
"consume-icons": {
79
79
+
"on": " "
80
80
+
},
81
81
+
"random-icons": {
82
82
+
"off": "<span color=\"#f53c3c\"></span> ",
83
83
+
"on": " "
84
84
+
},
85
85
+
"repeat-icons": {
86
86
+
"on": " "
87
87
+
},
88
88
+
"single-icons": {
89
89
+
"on": "1 "
90
90
+
},
91
91
+
"state-icons": {
92
92
+
"paused": "",
93
93
+
"playing": ""
94
94
+
},
95
95
+
"tooltip-format": "MPD (connected)",
96
96
+
"tooltip-format-disconnected": "MPD (disconnected)"
97
97
+
},
98
98
+
"idle_inhibitor": {
99
99
+
"format": "{icon}",
100
100
+
"format-icons": {
101
101
+
"activated": "",
102
102
+
"deactivated": ""
103
103
+
}
104
104
+
},
105
105
+
"tray": {
106
106
+
// "icon-size": 21,
107
107
+
"spacing": 10,
108
108
+
// "icons": {
109
109
+
// "blueman": "bluetooth",
110
110
+
// "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png"
111
111
+
// }
112
112
+
},
113
113
+
"clock": {
114
114
+
// "timezone": "America/New_York",
115
115
+
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
116
116
+
"format-alt": "{:%Y-%m-%d}"
117
117
+
},
118
118
+
"cpu": {
119
119
+
"format": "{usage}% ",
120
120
+
"tooltip": false
121
121
+
},
122
122
+
"memory": {
123
123
+
"format": "{}% "
124
124
+
},
125
125
+
"temperature": {
126
126
+
// "thermal-zone": 2,
127
127
+
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
128
128
+
"critical-threshold": 80,
129
129
+
// "format-critical": "{temperatureC}°C {icon}",
130
130
+
"format": "{temperatureC}°C {icon}",
131
131
+
"format-icons": ["", "", ""]
132
132
+
},
133
133
+
"backlight": {
134
134
+
// "device": "acpi_video1",
135
135
+
"format": "{percent}% {icon}",
136
136
+
"format-icons": ["", "", "", "", "", "", "", "", ""]
137
137
+
},
138
138
+
"battery": {
139
139
+
"states": {
140
140
+
// "good": 95,
141
141
+
"warning": 30,
142
142
+
"critical": 15
143
143
+
},
144
144
+
"format": "{capacity}% {icon}",
145
145
+
"format-full": "{capacity}% {icon}",
146
146
+
"format-charging": "{capacity}% ",
147
147
+
"format-plugged": "{capacity}% ",
148
148
+
"format-alt": "{time} {icon}",
149
149
+
// "format-good": "", // An empty format will hide the module
150
150
+
// "format-full": "",
151
151
+
"format-icons": ["", "", "", "", ""]
152
152
+
},
153
153
+
"battery#bat2": {
154
154
+
"bat": "BAT2"
155
155
+
},
156
156
+
"power-profiles-daemon": {
157
157
+
"format": "{icon}",
158
158
+
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
159
159
+
"tooltip": true,
160
160
+
"format-icons": {
161
161
+
"default": "",
162
162
+
"performance": "",
163
163
+
"balanced": "",
164
164
+
"power-saver": ""
165
165
+
}
166
166
+
},
167
167
+
"network": {
168
168
+
// "interface": "wlp2*", // (Optional) To force the use of this interface
169
169
+
"format-wifi": "{essid} ({signalStrength}%) ",
170
170
+
"format-ethernet": "{ipaddr}/{cidr} ",
171
171
+
"tooltip-format": "{ifname} via {gwaddr} ",
172
172
+
"format-linked": "{ifname} (No IP) ",
173
173
+
"format-disconnected": "Disconnected ⚠",
174
174
+
"format-alt": "{ifname}: {ipaddr}/{cidr}"
175
175
+
},
176
176
+
"pulseaudio": {
177
177
+
// "scroll-step": 1, // %, can be a float
178
178
+
"format": "{volume}% {icon} {format_source}",
179
179
+
"format-bluetooth": "{volume}% {icon} {format_source}",
180
180
+
"format-bluetooth-muted": " {icon} {format_source}",
181
181
+
"format-muted": " {format_source}",
182
182
+
"format-source": "{volume}% ",
183
183
+
"format-source-muted": "",
184
184
+
"format-icons": {
185
185
+
"headphone": "",
186
186
+
"hands-free": "",
187
187
+
"headset": "",
188
188
+
"phone": "",
189
189
+
"portable": "",
190
190
+
"car": "",
191
191
+
"default": ["", "", ""]
192
192
+
},
193
193
+
"on-click": "pavucontrol"
194
194
+
},
195
195
+
"custom/media": {
196
196
+
"format": "{icon} {text}",
197
197
+
"return-type": "json",
198
198
+
"max-length": 40,
199
199
+
"format-icons": {
200
200
+
"spotify": "",
201
201
+
"default": "🎜"
202
202
+
},
203
203
+
"escape": true,
204
204
+
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
205
205
+
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
206
206
+
},
207
207
+
"custom/power": {
208
208
+
"format" : "⏻ ",
209
209
+
"tooltip": false,
210
210
+
"menu": "on-click",
211
211
+
"menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder
212
212
+
"menu-actions": {
213
213
+
"shutdown": "shutdown",
214
214
+
"reboot": "reboot",
215
215
+
"suspend": "systemctl suspend",
216
216
+
"hibernate": "systemctl hibernate"
217
217
+
}
218
218
+
}
219
219
+
}