Compare commits

..

174 Commits

Author SHA1 Message Date
b3d4865101 update flake 2025-09-03 02:06:01 -04:00
bf7fef3181 Add license 2025-09-03 01:53:22 -04:00
fbe6dbf84a Add blocktube extension, license-templates Emacs package, wireguard VPN 2025-09-02 22:53:15 -04:00
6b71bb213e NixOS: add wireguard-tools 2025-08-28 19:33:29 -04:00
dc5ea719d7 Emacs: add evil-surround 2025-08-28 19:32:32 -04:00
adbaed8256 Firefox config changes, add openutau 2025-08-28 19:31:26 -04:00
e603322c45 Emacs relative line numbers 2025-08-24 04:39:02 -04:00
4ad87a9d0a Emacs config tweaks 2025-08-24 04:21:26 -04:00
2b0334fdc0 Update flake 2025-08-24 01:20:59 -04:00
ee5ba9db09 Disable touchpad zoom in Firefox 2025-08-23 22:06:06 -04:00
6228e9e269 Update flake 2025-08-16 12:22:34 -04:00
f643fe7cd5 Remove Enhancer for YouTube, it is unsupported 2025-08-14 01:31:56 -04:00
d0e26059f0 Update flake 2025-08-14 01:18:47 -04:00
f6adac8cf0 Remove some whitespace in flake.nix 2025-08-04 14:16:45 -04:00
8630ff4f3d Fix some build issues 2025-07-30 17:00:46 -04:00
52620a1de0 Update flake 2025-07-30 17:00:15 -04:00
6fa3538630 Enable ibuffer-auto-mode in Emacs 2025-07-30 14:03:45 -04:00
26d52eadcc Add user-filters back on uBlock settings to enable block element shortcut in context menu 2025-07-30 13:55:18 -04:00
ee86571afd Update flake 2025-07-29 11:46:20 -04:00
c1d9b5360e Git signing, Firefox add-on config 2025-07-29 11:38:37 -04:00
cf065675a7 Update flake 2025-07-19 14:15:50 -04:00
5f2c3d241e Show full URLs in Firefox, corfu config in Emacs 2025-07-16 12:37:44 -04:00
5f30d3e55f Force Firefox extensions due to rebuild failing 2025-07-14 03:25:11 -04:00
5ee7cd1462 Update flake, add Nix category to emacs ibuffer 2025-07-13 19:55:36 -04:00
54dcfeac2f Update flake 2025-07-13 19:32:03 -04:00
ab0cdd972b Add Plasma back to desktop, add proton tool 2025-07-13 19:27:38 -04:00
64fdf478e9 Update flake 2025-07-06 20:04:48 -04:00
612cfd7b6b Addition: dolphin to desktop config 2025-06-30 00:50:32 -04:00
7564f7be9e Edit nix generation count and Emacs config 2025-06-29 19:17:39 -04:00
b7b846007d Emacs: add nerd-icons-corfu 2025-06-27 01:35:29 -04:00
7b35b606a6 Update flake 2025-06-27 01:16:15 -04:00
cb7d690890 Update Emacs config 2025-06-27 01:03:48 -04:00
e58a33b54e Edit Emacs config, LaTeX, fonts 2025-06-26 03:20:22 -04:00
dc4cf7fd77 Add texliveSmall 2025-06-25 14:36:18 -04:00
c0dea56d8b hypridle config 2025-06-25 03:09:22 -04:00
eb08f3dee0 Change mako notification location 2025-06-25 02:40:17 -04:00
29ac4e123d add fzf 2025-06-24 21:31:16 -04:00
a9d2a5d224 Fix: sddm config 2025-06-24 13:16:41 -04:00
064172db50 waybar hacking again 2025-06-24 13:04:44 -04:00
1969fd1e14 Refactoring, added amdgpu to initrd modules 2025-06-24 12:48:07 -04:00
f4dd67085e git config 2025-06-24 11:28:42 -04:00
975677f962 waybar hacking 2025-06-24 02:25:59 -04:00
5e047a7d97 Hyprland and waybar hacking 2025-06-24 02:13:55 -04:00
b7ffcf5ec6 Specify sddm package as requested by build error 2025-06-23 16:06:19 -04:00
ea5c6db82f Added plasma module, disable plasma on ichigo 2025-06-23 15:59:37 -04:00
3e98345789 Disable hyprland on ichigo, environment variable changes to clean up ~ 2025-06-23 12:59:22 -04:00
2c31aba8c8 Uncomment bash config, remove twitter extension 2025-06-23 09:45:10 -04:00
a654e76961 Merge branch 'main' of https://git.traphouse.cathoderaytube.net/chase/nix-config 2025-06-23 09:44:32 -04:00
98ef961f8e Update flake 2025-06-23 09:44:13 -04:00
ac010bad8c Update flake 2025-06-23 09:39:26 -04:00
29a785b79c Update flake 2025-06-22 17:38:48 -04:00
cc2a427add Update flake 2025-06-21 17:12:04 -04:00
f1e5c6c527 Add linkwarden extension 2025-06-20 13:46:41 -04:00
86db6c447b 241 current 2025-06-17 11:20:12 25.11.20250607.3e3afe5 6.15.1 * 2025-06-17 11:20:29 -04:00
4046dcbb48 Add README for Home Manager 2025-06-17 06:15:26 +00:00
b435373a83 Added source to details of wallpaper file 2025-06-17 02:11:47 -04:00
ae8269816d Remove wallpaper file 2025-06-17 02:10:16 -04:00
cac7ef8482 Merge branch 'main' of https://git.traphouse.cathoderaytube.net/chase/nix-config 2025-06-17 02:07:10 -04:00
65fd7498d7 239 current 2025-06-16 16:46:57 25.11.20250607.3e3afe5 6.15.1 * 2025-06-16 16:47:09 -04:00
2fead2a1f8 238 current 2025-06-13 16:21:57 25.11.20250607.3e3afe5 6.15.1 * 2025-06-13 16:22:08 -04:00
b6416eecc7 Emacs config fixes 2025-06-13 16:16:09 -04:00
bb55528d60 More emacs config tweaks 2025-06-13 15:45:45 -04:00
796808a38a Edit emacs config 2025-06-13 15:23:08 -04:00
963e2b1294 Edit emacs config for better terminal support 2025-06-13 12:15:34 -04:00
51f0e96488 232 current 2025-06-13 02:38:33 25.11.20250607.3e3afe5 6.15.1 * 2025-06-13 02:38:51 -04:00
9dde449cdd 231 current 2025-06-13 02:34:41 25.11.20250607.3e3afe5 6.15.1 * 2025-06-13 02:35:00 -04:00
ce888c4527 230 current 2025-06-13 02:20:57 25.11.20250607.3e3afe5 6.15.1 * 2025-06-13 02:21:16 -04:00
c7bb70d901 229 current 2025-06-13 01:27:52 25.11.20250607.3e3afe5 6.15.1 * 2025-06-13 01:28:13 -04:00
8153599c99 Update secrets 2025-06-13 01:11:51 -04:00
dad74bcb36 227 current 2025-06-13 01:09:57 25.11.20250607.3e3afe5 6.15.1 * 2025-06-13 01:10:19 -04:00
53b357bae9 Add host key for kuromi 2025-06-13 01:01:27 -04:00
c9a41ac3ef Merge branch 'main' of https://git.traphouse.cathoderaytube.net/chase/nix-config 2025-06-13 00:36:45 -04:00
33c00528c2 Added zsh 2025-06-13 00:34:31 -04:00
3b64c033f1 31 current 2025-06-11 23:47:12 25.11.20250607.3e3afe5 6.15.1 * 2025-06-11 23:47:16 -04:00
d6e2dca8cb 30 current 2025-06-11 19:49:28 25.11.20250607.3e3afe5 6.15.1 * 2025-06-11 19:49:32 -04:00
76c7e69572 Refactor: ichigo smb config 2025-06-10 23:39:02 -04:00
3c470b9a1b Update secrets config 2025-06-10 22:34:22 -04:00
d2608f594e Secureboot stuff 2025-06-10 15:24:04 -04:00
f2b4c60bad Add secureboot stuff 2025-06-10 15:10:43 -04:00
9cdee2278d 223 current 2025-06-10 04:12:06 25.11.20250607.3e3afe5 6.15.1 * 2025-06-10 04:12:15 -04:00
7a11a8beae 222 current 2025-06-10 04:03:49 25.11.20250607.3e3afe5 6.15.1 * 2025-06-10 04:03:58 -04:00
af7bab5ed9 221 current 2025-06-10 03:07:59 25.11.20250607.3e3afe5 6.15.1 * 2025-06-10 03:08:09 -04:00
a527dfd0c4 add brightnessctl 2025-06-10 00:41:20 -04:00
23a0839019 add helvum 2025-06-10 00:14:24 -04:00
69bf951f13 Add lm_sensors 2025-06-09 23:23:42 -04:00
de76251c18 Add waybar stuff 2025-06-09 23:04:23 -04:00
18a2072070 Add rofi-wayland 2025-06-09 22:06:57 -04:00
8a769e3ed1 restore auto-generated hyprland config 2025-06-09 21:17:37 -04:00
e778577c57 fix: hyprlock formatting 2025-06-09 19:37:08 -04:00
c428ff985d edit hyprland config 2025-06-09 19:27:30 -04:00
45109c95b5 Enable adb globally, add kvm group 2025-06-09 16:21:17 -04:00
eeb7ab6f83 Add adb udev rules, groups, edit flymake config 2025-06-09 16:07:24 -04:00
279e97d215 Add TPM2 support 2025-06-09 12:41:32 -04:00
3a84898308 Add Yubikey tools 2025-06-09 01:39:08 -04:00
30455c8709 Update flake 2025-06-09 00:31:42 -04:00
bb1ec1cbce Fix: smb-credentials 2025-06-08 15:45:47 -04:00
27cf08d271 Fix: update secrets.yaml with correct keys 2025-06-08 15:07:07 -04:00
4a81ea1e0c Fix public key for anzu 2025-06-08 15:02:46 -04:00
eaf4b88ee2 Fix: formatting 2025-06-08 14:52:21 -04:00
1988d45fbf Improve secrets management with sops-nix 2025-06-08 14:49:47 -04:00
034b693380 197 current 2025-06-08 13:39:35 25.11.20250605.d3d2d80 6.15.1 * 2025-06-08 13:39:47 -04:00
40b59c2cf6 Remove ghostty, add kitty shortcut, add mpv sponsorblock 2025-06-08 12:37:37 -04:00
053a6c744f Removed ranger, configure yt-dlp 2025-06-08 12:36:35 -04:00
2d365c49ab 195 current 2025-06-08 01:02:01 25.11.20250605.d3d2d80 6.15.1 * 2025-06-08 01:02:12 -04:00
572c5987b2 Merge branch 'main' of https://git.traphouse.cathoderaytube.net/chase/nix-config 2025-06-08 00:38:21 -04:00
6bdee3b1cf Add new host kuromi and modularized hyprland 2025-06-08 00:34:17 -04:00
7abb2ddfdc 194 current 2025-06-07 17:21:41 25.11.20250605.d3d2d80 6.15.1 * 2025-06-07 17:21:57 -04:00
b8bde251fd Remove table of contents 2025-06-07 04:13:53 -04:00
73bc4eaeb2 update README 2025-06-07 04:12:06 -04:00
1ada9392b6 Add README.org 2025-06-07 04:10:23 -04:00
7b790129b7 192 current 2025-06-07 03:55:43 25.11.20250605.d3d2d80 6.15.1 * 2025-06-07 03:55:52 -04:00
02df8ea982 Update flake, add modified nixswitch script nixupdate to update flake and rebuild 2025-06-07 03:44:09 -04:00
23f1665665 190 current 2025-06-06 23:28:12 25.11.20250605.d3d2d80 6.15.1 * 2025-06-06 23:28:21 -04:00
e9dec5a032 Refactoring, changed repo name from "nixos-config" to "nix-config" 2025-06-06 23:05:16 -04:00
40bcf42094 188 current 2025-06-06 18:54:16 25.11.20250605.d3d2d80 6.15.1 * 2025-06-06 18:55:41 -04:00
66c4d33550 187 current 2025-06-05 18:59:10 25.11.20250531.910796c 6.15.0 * 2025-06-05 18:59:18 -04:00
c174acb2c8 186 current 2025-06-05 13:46:21 25.11.20250531.910796c 6.15.0 * 2025-06-05 13:46:38 -04:00
0af891a4aa 185 current 2025-06-05 13:38:09 25.11.20250531.910796c 6.15.0 * 2025-06-05 13:38:25 -04:00
b7a4ea44de 184 current 2025-06-05 13:30:13 25.11.20250531.910796c 6.15.0 * 2025-06-05 13:30:30 -04:00
2bd4c041b4 183 current 2025-06-05 13:16:42 25.11.20250531.910796c 6.15.0 * 2025-06-05 13:16:58 -04:00
2c443ffaa1 182 current 2025-06-05 03:13:00 25.11.20250531.910796c 6.15.0 * 2025-06-05 03:13:10 -04:00
4e55dfb0da 181 current 2025-06-05 01:25:19 25.11.20250531.910796c 6.15.0 * 2025-06-05 01:25:28 -04:00
3781a419d7 180 current 2025-06-04 17:03:11 25.11.20250531.910796c 6.15.0 * 2025-06-04 17:03:27 -04:00
72200503dd 179 current 2025-06-04 15:50:22 25.11.20250531.910796c 6.15.0 * 2025-06-04 15:50:39 -04:00
7aa46e4b5a 178 current 2025-06-04 15:44:26 25.11.20250531.910796c 6.15.0 * 2025-06-04 15:44:42 -04:00
e3507e9373 177 current 2025-06-04 15:33:25 25.11.20250531.910796c 6.15.0 * 2025-06-04 15:33:41 -04:00
fb9939ef57 176 current 2025-06-04 15:25:48 25.11.20250531.910796c 6.15.0 * 2025-06-04 15:27:46 -04:00
e4e318f501 175 current 2025-06-04 00:10:37 25.11.20250531.910796c 6.15.0 * 2025-06-04 00:10:47 -04:00
e8fb5f33a2 174 current 2025-06-03 23:25:14 25.11.20250531.910796c 6.15.0 * 2025-06-03 23:25:23 -04:00
820027b666 173 current 2025-06-03 19:23:18 25.11.20250531.910796c 6.15.0 * 2025-06-03 19:23:27 -04:00
8c4700ef14 Catppuccin config 2025-06-03 19:18:49 -04:00
e691f57878 171 current 2025-06-03 18:14:20 25.11.20250531.910796c 6.15.0 * 2025-06-03 18:14:28 -04:00
b60a833fe4 Edited nixos rebuild script 2025-06-03 18:09:44 -04:00
d880599c2d 169 current 2025-06-03 17:46:07 25.11.20250531.910796c 6.15.0 * 2025-06-03 17:46:15 -04:00
d2ee3bd961 168 current 2025-06-03 17:35:23 25.11.20250531.910796c 6.15.0 * 2025-06-03 17:43:42 -04:00
5cadb58c81 Catppuccin KDE theme 2025-06-03 17:34:43 -04:00
e00a52d660 167 current 2025-06-03 17:30:50 25.11.20250531.910796c 6.15.0 * 2025-06-03 17:30:59 -04:00
54744cee49 166 current 2025-06-03 17:12:23 25.11.20250531.910796c 6.15.0 * 2025-06-03 17:12:32 -04:00
ceca5e1f18 165 current 2025-06-03 17:09:24 25.11.20250531.910796c 6.15.0 * 2025-06-03 17:09:32 -04:00
09a7793d2e 164 current 2025-06-03 16:37:19 25.11.20250531.910796c 6.15.0 * 2025-06-03 16:37:28 -04:00
267b6a155b edit rmpc 2025-06-03 16:07:21 -04:00
18bede01bd Edit mpd-discord-rpc config 2025-06-03 15:59:25 -04:00
b0bfbf51b1 fix typo 2025-06-03 15:42:26 -04:00
0165bd9af6 add arrpc 2025-06-03 15:25:36 -04:00
5fdd7f104c Add mpd-discord-rpc 2025-06-03 14:46:36 -04:00
f20bd94cc3 159 current 2025-06-03 07:02:37 25.11.20250531.910796c 6.15.0 * 2025-06-03 07:02:52 -04:00
72c1f204ff 158 current 2025-06-03 06:53:41 25.11.20250531.910796c 6.15.0 * 2025-06-03 07:00:52 -04:00
45f52123ad 158 current 2025-06-03 06:53:41 25.11.20250531.910796c 6.15.0 * 2025-06-03 06:59:37 -04:00
7f822cdc94 158 current 2025-06-03 06:53:41 25.11.20250531.910796c 6.15.0 * 2025-06-03 06:53:58 -04:00
923ef537b8 157 current 2025-06-03 06:49:04 25.11.20250531.910796c 6.15.0 * 2025-06-03 06:49:19 -04:00
3d8429c12e 156 current 2025-06-03 06:47:10 25.11.20250531.910796c 6.15.0 * 2025-06-03 06:47:25 -04:00
5554cd85a8 155 current 2025-06-03 06:38:22 25.11.20250531.910796c 6.15.0 * 2025-06-03 06:38:37 -04:00
afd81e18b6 154 current 2025-06-03 06:31:57 25.11.20250531.910796c 6.15.0 * 2025-06-03 06:32:11 -04:00
9cd21b6574 153 current 2025-06-03 06:28:00 25.11.20250531.910796c 6.15.0 * 2025-06-03 06:28:15 -04:00
cddb5a623c 152 current 2025-06-03 06:18:00 25.11.20250531.910796c 6.15.0 * 2025-06-03 06:18:14 -04:00
3e9ce6bd6c 151 current 2025-06-03 06:15:11 25.11.20250531.910796c 6.15.0 * 2025-06-03 06:15:25 -04:00
76456ed033 150 current 2025-06-03 05:57:41 25.11.20250531.910796c 6.15.0 * 2025-06-03 06:14:24 -04:00
b3d3767912 150 current 2025-06-03 05:57:41 25.11.20250531.910796c 6.15.0 * 2025-06-03 06:13:18 -04:00
f7393d1a94 add powerline-go 2025-06-03 05:56:52 -04:00
ed262deb9c 149 current 2025-06-03 05:13:04 25.11.20250531.910796c 6.15.0 * 2025-06-03 05:13:18 -04:00
27b933b014 148 current 2025-06-03 05:10:21 25.11.20250531.910796c 6.15.0 * 2025-06-03 05:10:35 -04:00
b8a0e4c563 Commented out polkit line 2025-06-03 04:53:45 -04:00
6e2130c986 typo 2025-06-03 04:48:25 -04:00
ff5693263b Thinning 2025-06-03 04:46:33 -04:00
3d60f7c462 145 current 2025-06-03 04:32:37 25.11.20250531.910796c 6.15.0 * 2025-06-03 04:32:52 -04:00
74a69941ac Update flake.lock 2025-06-03 04:26:28 -04:00
e8f4bdf156 emacsclient tweaks 2025-06-03 04:18:11 -04:00
380bed59a3 Config fixes 2025-06-03 04:09:58 -04:00
81ae432c3d 142 current 2025-06-02 19:04:45 25.11.20250528.96ec055 6.15.0 * 2025-06-02 19:04:52 -04:00
9161fa65f9 141 current 2025-06-02 19:01:13 25.11.20250528.96ec055 6.15.0 * 2025-06-02 19:01:20 -04:00
6332a15891 Disable helm, add nix lsp 2025-06-02 18:53:21 -04:00
eedb4ddc45 Add nixd configuration 2025-06-02 18:37:47 -04:00
f8050dcf03 Formatting 2025-06-02 16:00:12 -04:00
ce2a59cda4 Fixed typo 2025-06-02 15:51:29 -04:00
34 changed files with 2377 additions and 1226 deletions

1
.gitignore vendored
View File

@@ -1,2 +1 @@
smb-secrets
nixos-switch.log

15
.sops.yaml Normal file
View File

@@ -0,0 +1,15 @@
keys:
- &users:
- &chase age19uwxm2gynhjl9m90gckrkh76m9hjut44ak6d8969y4swhz8ypyeqvfcaas
- &hosts:
- &anzu age1wdjujpvc2zd0g592a9gqa7qzz4pcans8m0tyq3m6eq9np9a3lg2s8kxf3h
- &ichigo age1hpcyetyl0yrwxy0geem6z2u2kwl4hmckur7pnaaxwaylf8ata9vsv8j3wh
- &kuromi age1culqt965xgweu5h6menrppf7eatq7at04z0n52t365f0nvlv043su5t2yl
creation_rules:
- path_regex: secrets.yaml$
key_groups:
- age:
- *chase
- *anzu
- *ichigo
- *kuromi

21
LICENSE Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 chase
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

17
README.org Normal file
View File

@@ -0,0 +1,17 @@
#+TITLE: Nix Config Repository
#+AUTHOR: chase
#+LANGUAGE: en
#+OPTIONS: toc:nil
Welcome to my Nix config repository!
Here you can find my config files. I have only been using NixOS since April 2025, so
this is probably not that great of a reference.
* Some Resources That Have Inspired This Config
- https://nixos-and-flakes.thiscute.world/
- https://github.com/kaleocheng/nix-dots/tree/master
- https://gist.github.com/0atman/1a5133b842f929ba4c1e195ee67599d5
- https://github.com/woioeow/hyprland-dotfiles/tree/main
- https://github.com/HeinzDev/Hyprland-dotfiles

View File

@@ -1,266 +0,0 @@
{ config, pkgs, lib, inputs, ... }:
{
# Bootloader.
boot.loader.systemd-boot = {
enable = true;
configurationLimit = 10;
};
boot.loader.efi.canTouchEfiVariables = true;
# Garbage collection
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 1w";
};
# Optimize store
nix.settings.auto-optimise-store = true;
# Use latest stable kernel
boot.kernelPackages = pkgs.linuxPackages_latest;
# Allow power management
powerManagement.enable = true;
# Firmware updates
services.fwupd.enable = true;
# Enable networking
networking.networkmanager.enable = true;
# Enable Bluetooth
hardware.bluetooth.enable = true;
# Set your time zone.
time.timeZone = "America/New_York";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Enable the KDE Plasma Desktop Environment.
services.xserver.enable = true;
services.displayManager.sddm = {
wayland.enable = true;
enableHidpi = true;
};
services.desktopManager.plasma6.enable = true;
environment.plasma6.excludePackages = with pkgs.kdePackages; [
elisa
kate
];
# Hyprland
programs.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
};
# Catppuccin
catppuccin = {
enable = true;
flavor = "mocha";
sddm = {
enable = true;
background = "/home/chase/nixos-config/home/wallpaper.jpg";
flavor = "mocha";
font = "IBM Plex Sans";
fontSize = "11";
};
};
# Enable graphics acceleration and AMDVLK
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
amdvlk
];
extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
};
# Configure keymap
console.keyMap = "jp106";
services.xserver.xkb = {
layout = "jp";
variant = "";
};
i18n.inputMethod = {
type = "fcitx5";
enable = true;
fcitx5.addons = with pkgs; [
fcitx5-mozc
kdePackages.fcitx5-qt
];
fcitx5.waylandFrontend = true;
};
# Fonts
fonts.packages = with pkgs; [
ibm-plex
liberation_ttf
nerd-fonts.blex-mono
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
];
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable sound with pipewire.
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# Enable Flakes
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# Bash config
programs.bash = {
blesh.enable = true;
};
# Define a user account
users.users.chase = {
isNormalUser = true;
description = "Chase";
extraGroups = [ "networkmanager" "wheel" ];
};
# Install firefox
programs.firefox = {
enable = true;
nativeMessagingHosts.packages = [ pkgs.firefoxpwa ];
policies = {
DisableTelemetry = true;
DisableFirefoxAccounts = true;
DisableFirefoxStudies = true;
DisablePocket = true;
};
};
# Install git and enable cache
programs.git = {
enable = true;
config = {
init = {
defaultBranch = "main";
};
credential = {
helper = "cache --timeout 21600";
};
};
};
# Install Neovim
programs.neovim = {
enable = true;
defaultEditor = true;
configure = {
customRC = ''
set autoindent
set number relativenumber
set tabstop=4
colorscheme catppuccin-mocha
'';
packages.myVimPackage = with pkgs.vimPlugins; {
start = [ catppuccin-nvim ];
};
};
viAlias = true;
vimAlias = true;
};
# Install Steam
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
alejandra
bitwarden-cli
bitwarden-desktop
cifs-utils
firefoxpwa
flashrom
gcc
nixd
pciutils
python3
qemu
rustup
usbutils
wget
];
# ssh agent
# programs.mtr.enable = true;
programs.gnupg.agent.enable = true;
programs.ssh = {
enableAskPassword = false;
};
# List services that you want to enable:
services.fprintd.enable = true;
security.polkit.enable = true;
# Enable the OpenSSH daemon.
services.openssh = {
enable = true;
settings = {
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
};
};
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. It's perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.11"; # Did you read the comment?
}

370
flake.lock generated
View File

@@ -20,11 +20,11 @@
]
},
"locked": {
"lastModified": 1747864449,
"narHash": "sha256-PIjVAWghZhr3L0EFM2UObhX84UQxIACbON0IC0zzSKA=",
"lastModified": 1755946532,
"narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "389372c5f4dc1ac0e7645ed29a35fd6d71672ef5",
"rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada",
"type": "github"
},
"original": {
@@ -38,11 +38,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1748080874,
"narHash": "sha256-sUebEzAkrY8Aq5G0GHFyRddmRNGP/a2iTtV7ISNvi/c=",
"lastModified": 1756741629,
"narHash": "sha256-n+mgH3NoQf8d1jd8cDp/9Mt++hhyuE3LO3ZAxzjWRZw=",
"owner": "catppuccin",
"repo": "nix",
"rev": "0ba11b12be81f0849a89ed17ab635164ea8f0112",
"rev": "cd22197da06df1eb6fabdaa2fc22c170c4f67382",
"type": "github"
},
"original": {
@@ -51,7 +51,38 @@
"type": "github"
}
},
"crane": {
"locked": {
"lastModified": 1731098351,
"narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=",
"owner": "ipetkov",
"repo": "crane",
"rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
@@ -68,6 +99,27 @@
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"lanzaboote",
"nixpkgs"
]
},
"locked": {
"lastModified": 1730504689,
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"nur",
@@ -110,6 +162,28 @@
"type": "github"
}
},
"gitignore_2": {
"inputs": {
"nixpkgs": [
"lanzaboote",
"pre-commit-hooks-nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@@ -117,15 +191,37 @@
]
},
"locked": {
"lastModified": 1748627197,
"narHash": "sha256-7dTtcq4Yi78cHfZcJaxlqkNs+cDBotrHjR9mkXfiUz4=",
"lastModified": 1756842514,
"narHash": "sha256-XbtRMewPGJwTNhBC4pnBu3w/xT1XejvB0HfohC2Kga8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "379c9fb858ef9abe92d5590e7502a7c1387c076a",
"rev": "30fc1b532645a21e157b6e33e3f8b4c154f86382",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "master",
"repo": "home-manager",
"type": "github"
}
},
"home-manager-stable": {
"inputs": {
"nixpkgs": [
"nixpkgs-stable"
]
},
"locked": {
"lastModified": 1756679287,
"narHash": "sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB+gTQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "07fc025fe10487dd80f2ec694f1cd790e752d0e8",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.05",
"repo": "home-manager",
"type": "github"
}
@@ -146,11 +242,11 @@
]
},
"locked": {
"lastModified": 1745948457,
"narHash": "sha256-lzTV10FJTCGNtMdgW5YAhCAqezeAzKOd/97HbQK8GTU=",
"lastModified": 1753964049,
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "ac903e80b33ba6a88df83d02232483d99f327573",
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
"type": "github"
},
"original": {
@@ -175,11 +271,11 @@
]
},
"locked": {
"lastModified": 1745015490,
"narHash": "sha256-apEJ9zoSzmslhJ2vOKFcXTMZLUFYzh1ghfB6Rbw3Low=",
"lastModified": 1755678602,
"narHash": "sha256-uEC5O/NIUNs1zmc1aH1+G3GRACbODjk2iS0ET5hXtuk=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "60754910946b4e2dc1377b967b7156cb989c5873",
"rev": "157cc52065a104fc3b8fa542ae648b992421d1c7",
"type": "github"
},
"original": {
@@ -204,11 +300,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1748645134,
"narHash": "sha256-nXTdGPXgI/aUsLSS0vjNqZfCYiWoG7TCp/dVfg2Bwsc=",
"lastModified": 1756811803,
"narHash": "sha256-03zmDvAU+VLPWHv5uxfGVR6bs/SnCYeZ8hbedK/Eb/M=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "af2fdb5d58f5d3017aafd78a8ddafb40f710e34b",
"rev": "127aab815908ecbd3db4d23f127d2e96b79855f9",
"type": "github"
},
"original": {
@@ -229,11 +325,11 @@
]
},
"locked": {
"lastModified": 1743714874,
"narHash": "sha256-yt8F7NhMFCFHUHy/lNjH/pjZyIDFNk52Q4tivQ31WFo=",
"lastModified": 1749046714,
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "3a5c2bda1c1a4e55cc1330c782547695a93f05b2",
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330",
"type": "github"
},
"original": {
@@ -261,11 +357,11 @@
]
},
"locked": {
"lastModified": 1737634706,
"narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=",
"lastModified": 1749154592,
"narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=",
"owner": "hyprwm",
"repo": "hyprland-qt-support",
"rev": "8810df502cdee755993cb803eba7b23f189db795",
"rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074",
"type": "github"
},
"original": {
@@ -297,11 +393,11 @@
]
},
"locked": {
"lastModified": 1745951494,
"narHash": "sha256-2dModE32doiyQMmd6EDAQeZnz+5LOs6KXyE0qX76WIg=",
"lastModified": 1753819801,
"narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "4be1d324faf8d6e82c2be9f8510d299984dfdd2e",
"rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc",
"type": "github"
},
"original": {
@@ -326,11 +422,11 @@
]
},
"locked": {
"lastModified": 1747484975,
"narHash": "sha256-+LAQ81HBwG0lwshHlWe0kfWg4KcChIPpnwtnwqmnoEU=",
"lastModified": 1753622892,
"narHash": "sha256-0K+A+gmOI8IklSg5It1nyRNv0kCNL51duwnhUO/B8JA=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "163c83b3db48a17c113729c220a60b94596c9291",
"rev": "23f0debd2003f17bd65f851cd3f930cff8a8c809",
"type": "github"
},
"original": {
@@ -351,11 +447,11 @@
]
},
"locked": {
"lastModified": 1746635225,
"narHash": "sha256-W9G9bb0zRYDBRseHbVez0J8qVpD5QbizX67H/vsudhM=",
"lastModified": 1756117388,
"narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "674ea57373f08b7609ce93baff131117a0dfe70d",
"rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0",
"type": "github"
},
"original": {
@@ -376,11 +472,11 @@
]
},
"locked": {
"lastModified": 1747584298,
"narHash": "sha256-PH9qZqWLHvSBQiUnA0NzAyQA3tu2no2z8kz0ZeHWj4w=",
"lastModified": 1755184602,
"narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "e511882b9c2e1d7a75d45d8fddd2160daeafcbc3",
"rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d",
"type": "github"
},
"original": {
@@ -389,13 +485,39 @@
"type": "github"
}
},
"lanzaboote": {
"inputs": {
"crane": "crane",
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts",
"nixpkgs": [
"nixpkgs"
],
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1737639419,
"narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=",
"owner": "nix-community",
"repo": "lanzaboote",
"rev": "a65905a09e2c43ff63be8c0e86a93712361f871e",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "v0.4.2",
"repo": "lanzaboote",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1744463964,
"narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=",
"lastModified": 1756266583,
"narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650",
"rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2",
"type": "github"
},
"original": {
@@ -405,13 +527,45 @@
"type": "github"
}
},
"nixpkgs_2": {
"nixpkgs-stable": {
"locked": {
"lastModified": 1748460289,
"narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=",
"lastModified": 1730741070,
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102",
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1756754095,
"narHash": "sha256-9Rsn9XEWINExosFkKEqdp8EI6Mujr1gmQiyrEcts2ls=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "7c815e513adbf03c9098b2bd230c1e0525c8a7f9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1756266583,
"narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2",
"type": "github"
},
"original": {
@@ -423,11 +577,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1748460289,
"narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=",
"lastModified": 1756787288,
"narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102",
"rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1",
"type": "github"
},
"original": {
@@ -439,18 +593,17 @@
},
"nur": {
"inputs": {
"flake-parts": "flake-parts",
"flake-parts": "flake-parts_2",
"nixpkgs": [
"nixpkgs"
],
"treefmt-nix": "treefmt-nix"
]
},
"locked": {
"lastModified": 1748645350,
"narHash": "sha256-Qy1xqRzaijsaV31Hy/f7Lc8WC4tMjS8m3WGEjKyemaM=",
"lastModified": 1756875847,
"narHash": "sha256-2L4kOvvCDUDBBBliCNiEXrYN0VqqkB0YHuOGckpp5X8=",
"owner": "nix-community",
"repo": "NUR",
"rev": "78a3ab3f97352f72d205596d8f3e776de96c7708",
"rev": "bffccde9bd7869ab355b76d53fbc25ac1f7d37eb",
"type": "github"
},
"original": {
@@ -469,11 +622,11 @@
]
},
"locked": {
"lastModified": 1748196248,
"narHash": "sha256-1iHjsH6/5UOerJEoZKE+Gx1BgAoge/YcnUsOA4wQ/BU=",
"lastModified": 1756632588,
"narHash": "sha256-ydam6eggXf3ZwRutyCABwSbMAlX+5lW6w1SVZQ+kfSo=",
"owner": "nix-community",
"repo": "plasma-manager",
"rev": "b7697abe89967839b273a863a3805345ea54ab56",
"rev": "d47428e5390d6a5a8f764808a4db15929347cd77",
"type": "github"
},
"original": {
@@ -492,11 +645,11 @@
]
},
"locked": {
"lastModified": 1747372754,
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
"lastModified": 1755960406,
"narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
"rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2",
"type": "github"
},
"original": {
@@ -505,14 +658,86 @@
"type": "github"
}
},
"pre-commit-hooks-nix": {
"inputs": {
"flake-compat": [
"lanzaboote",
"flake-compat"
],
"gitignore": "gitignore_2",
"nixpkgs": [
"lanzaboote",
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1731363552,
"narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"catppuccin": "catppuccin",
"home-manager": "home-manager",
"home-manager-stable": "home-manager-stable",
"hyprland": "hyprland",
"lanzaboote": "lanzaboote",
"nixpkgs": "nixpkgs_3",
"nixpkgs-stable": "nixpkgs-stable_2",
"nur": "nur",
"plasma-manager": "plasma-manager"
"plasma-manager": "plasma-manager",
"sops-nix": "sops-nix"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"lanzaboote",
"nixpkgs"
]
},
"locked": {
"lastModified": 1731897198,
"narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "0be641045af6d8666c11c2c40e45ffc9667839b5",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"sops-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1754988908,
"narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "3223c7a92724b5d804e9988c6b447a0d09017d48",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "sops-nix",
"type": "github"
}
},
"systems": {
@@ -530,27 +755,6 @@
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nur",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733222881,
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
@@ -579,11 +783,11 @@
]
},
"locked": {
"lastModified": 1745871725,
"narHash": "sha256-M24SNc2flblWGXFkGQfqSlEOzAGZnMc9QG3GH4K/KbE=",
"lastModified": 1755354946,
"narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "76bbf1a6b1378e4ab5230bad00ad04bc287c969e",
"rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0",
"type": "github"
},
"original": {

155
flake.nix
View File

@@ -1,18 +1,30 @@
{
description = "A simple NixOS flake";
description = "SecureBoot-enabled NixOS config";
inputs = {
# NixOS official package source, using unstable here
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.05";
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager-stable = {
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
nur = {
url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs";
};
catppuccin.url = "github:catppuccin/nix";
home-manager = {
url = "github:nix-community/home-manager";
lanzaboote = {
url = "github:nix-community/lanzaboote/v0.4.2";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
catppuccin.url = "github:catppuccin/nix";
hyprland.url = "github:hyprwm/Hyprland";
plasma-manager = {
url = "github:nix-community/plasma-manager";
@@ -21,57 +33,96 @@
};
};
outputs = { self, nixpkgs, catppuccin, nur, home-manager, plasma-manager, ... }@inputs: {
outputs = {
self,
catppuccin,
lanzaboote,
nur,
plasma-manager,
sops-nix,
...
} @ inputs: let
hosts = import ./hosts/hosts.nix;
# Make config for non-NixOS hosts
mkHomeConfiguration = {
host,
nixpkgs,
home-manager,
modules ? [],
}:
home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
system = host.arch;
config = {
allowUnfree = true;
};
overlays = [
nur.overlay
];
};
modules =
[
./hosts/${host.dir}/home.nix
catppuccin.homeModules.catppuccin
sops-nix.homeManagerModules.sops
]
++ modules;
};
# Make config for NixOS hosts
mkNixOSConfigurations = {
host,
nixpkgs,
home-manager,
modules ? [],
}:
nixpkgs.lib.nixosSystem {
system = host.arch;
specialArgs = {inherit inputs;};
modules =
[
./hosts/${host.dir}/configuration.nix
nur.modules.nixos.default
catppuccin.nixosModules.catppuccin
sops-nix.nixosModules.sops
home-manager.nixosModules.home-manager
{
home-manager.backupFileExtension = "backup";
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [
plasma-manager.homeManagerModules.plasma-manager
sops-nix.homeManagerModules.sops
];
home-manager.users."${host.user}".imports = [
./hosts/${host.dir}/home.nix
catppuccin.homeModules.catppuccin
];
}
]
++ modules;
};
in {
# Please replace my-nixos with your hostname
nixosConfigurations = {
anzu = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
# Import the previous configuration.nix we used,
# so the old configuration file still takes effect
./configuration.nix
./hosts/anzu/hardware-configuration.nix
# Add NUR overlay
nur.modules.nixos.default
# Add catppuccin
catppuccin.nixosModules.catppuccin
# Add home-manager
home-manager.nixosModules.home-manager
{
home-manager.backupFileExtension = "backup";
home-manager.useGlobalPkgs = true;
home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager ];
home-manager.users.chase = {
imports = [
./home/home.nix
catppuccin.homeManagerModules.catppuccin
];
anzu = mkNixOSConfigurations {
host = hosts.anzu;
nixpkgs = inputs.nixpkgs;
home-manager = inputs.home-manager;
modules = [lanzaboote.nixosModules.lanzaboote];
};
}
];
ichigo = mkNixOSConfigurations {
host = hosts.ichigo;
nixpkgs = inputs.nixpkgs;
home-manager = inputs.home-manager;
modules = [];
};
ichigo = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./configuration.nix
./hosts/ichigo/hardware-configuration.nix
nur.modules.nixos.default
catppuccin.nixosModules.catppuccin
home-manager.nixosModules.home-manager
{
home-manager.backupFileExtension = "backup";
home-manager.useGlobalPkgs = true;
home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager ];
home-manager.users.chase = {
imports = [
./home/home.nix
catppuccin.homeManagerModules.catppuccin
];
};
}
];
kuromi = mkNixOSConfigurations {
host = hosts.kuromi;
nixpkgs = inputs.nixpkgs-stable;
home-manager = inputs.home-manager-stable;
modules = [];
};
};
};

7
home/README.org Normal file
View File

@@ -0,0 +1,7 @@
#+TITLE: Home Manager Config
#+AUTHOR: chase
#+LANGUAGE: en
#+OPTIONS: toc:nil
* Wallpaper Source
https://x.com/allwifeman/status/1513766332252098562

243
home/base.nix Normal file
View File

@@ -0,0 +1,243 @@
{
config,
lib,
pkgs,
...
}: {
home = {
username = "chase";
homeDirectory = "/home/chase";
preferXdgDirectories = true;
file = {
"scripts" = {
source = config.lib.file.mkOutOfStoreSymlink ./scripts;
recursive = true;
};
};
sessionPath = [
"$HOME/scripts"
];
sessionVariables = {
# Aspell stuff
ASPELL_CONF = "per-conf $XDG_CONFIG_HOME/aspell/aspell.conf; personal $XDG_DATA_HOME/aspell/en.pws; repl $XDG_DATA_HOME/aspell/en.prepl";
# Bitwarden stuff
BITWARDEN_SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/.bitwarden-ssh-agent.sock";
SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/.bitwarden-ssh-agent.sock";
ELECTRON_OZONE_PLATFORM_HINT = "wayland";
# Java stuff
_JAVA_OPTIONS = "-Djava.util.prefs.userRoot='$XDG_CONFIG_HOME'/java";
# libx11 stuff
XCOMPOSECACHE = "$XDG_CACHE_HOME/X11/xcompose";
XCOMPOSEFILE = "$XDG_CONFIG_HOME/X11/xcompose";
};
shellAliases = {
gs = "git status";
"..." = "cd ../..";
};
};
xdg = {
enable = true;
userDirs.enable = true;
configFile = {
"emacs/early-init.el" = {
source = config.lib.file.mkOutOfStoreSymlink ./emacs/early-init.el;
};
"emacs/init.el" = {
source = config.lib.file.mkOutOfStoreSymlink ./emacs/init.el;
};
};
};
catppuccin = {
enable = true;
flavor = "mocha";
};
programs.bash = {
enable = true;
enableCompletion = true;
historyIgnore = [
"ls"
"ls -a"
"ls -l"
"ls -la"
"cd"
"exit"
];
};
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
history = {
append = true;
extended = true;
ignoreDups = true;
ignorePatterns = [
"ls *"
"cd *"
"gs"
"exit"
];
};
syntaxHighlighting.enable = true;
};
programs.bat.enable = true;
programs.btop.enable = true;
programs.emacs = {
enable = true;
package = lib.mkDefault pkgs.emacs-nox;
};
programs.fastfetch = {
enable = true;
settings = {
logo = {
source = "nixos_small";
};
display = {
size = {
binaryPrefix = "si";
};
color = "blue";
separator = ": ";
};
modules = [
"title"
"separator"
"os"
"host"
"uptime"
"kernel"
"packages"
"lm"
"de"
"wm"
"shell"
"terminal"
"terminalfont"
{
key = "Display";
type = "display";
}
"cpu"
"gpu"
"memory"
"swap"
"disk"
"datetime"
"colors"
"break"
"player"
"media"
];
};
};
programs.fzf = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
};
programs.git = {
enable = true;
userName = "chase";
userEmail = "chase@cathoderaytube.net";
extraConfig = {
init.defaultBranch = "main";
pull.rebase = true;
};
signing = {
format = "ssh";
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFSQX+s8Krl312DcnUtoEWOA2silcUnt5URtyVZz8Yek";
signByDefault = true;
};
};
programs.git-credential-oauth.enable = true;
programs.gpg = {
enable = true;
homedir = "${config.xdg.dataHome}/gnupg";
};
programs.htop.enable = true;
programs.rmpc = {
enable = true;
config = ''
(
enable_config_hot_reload: true,
)
'';
};
programs.starship = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
settings = {
line_break = {
disabled = true;
};
username = {
style_user = "bold blue";
format = "[$user]($style)@";
show_always = true;
};
hostname = {
style = "bold cyan";
format = "[$ssh_symbol$hostname]($style) ";
ssh_only = false;
};
directory = {
style = "bold green";
};
};
};
programs.yazi = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
};
programs.yt-dlp = {
enable = true;
settings = {
cookies-from-browser = "firefox";
write-description = true;
write-info-json = true;
embed-info-json = true;
embed-chapters = true;
embed-metadata = true;
write-subs = true;
embed-subs = true;
sub-langs = "en.*,ja";
write-thumbnail = true;
embed-thumbnail = true;
sponsorblock-mark = "all";
};
};
home.packages = with pkgs; [
aspell
aspellDicts.en
aspellDicts.en-computers
aspellDicts.en-science
ffmpeg
font-awesome
fortune
imagemagick
lm_sensors
lolcat
nerd-fonts.blex-mono
texliveFull
];
}

278
home/desktop.nix Normal file
View File

@@ -0,0 +1,278 @@
{
config,
pkgs,
...
}: {
imports = [
./base.nix
];
programs.emacs = {
enable = true;
package = pkgs.emacs-pgtk;
};
programs.firefox = {
enable = true;
nativeMessagingHosts = [pkgs.firefoxpwa];
profiles = {
default = {
id = 0;
name = "default";
isDefault = true;
containers = {
personal = {
color = "purple";
icon = "fingerprint";
id = 1;
};
work = {
color = "orange";
icon = "briefcase";
id = 2;
};
social = {
color = "blue";
icon = "chill";
id = 3;
};
dev = {
color = "green";
icon = "circle";
id = 4;
};
};
containersForce = true;
extensions = {
force = true;
packages = with pkgs.nur.repos.rycee.firefox-addons; [
awesome-rss
betterttv
bitwarden
blocktube
facebook-container
flagfox
hyperchat
istilldontcareaboutcookies
linkwarden
livetl
return-youtube-dislikes
search-by-image
sponsorblock
tab-session-manager
tampermonkey
ublock-origin
windscribe
ytcfilter
];
settings = {
"uBlock0@raymondhill.net" = {
force = true;
settings = {
selectedFilterLists = [
"ublock-filters"
"ublock-badware"
"ublock-privacy"
"ublock-unbreak"
"ublock-quick-fixes"
"easylist"
"easyprivacy"
"urlhaus-1"
"plowe-0"
"fanboy-cookiemonster"
"ublock-cookies-easylist"
"adguard-cookies"
"ublock-cookies-adguard"
"ublock-annoyances"
"https://git.traphouse.cathoderaytube.net/chase/ublock-filters/raw/branch/main/chase-all.txt"
"user-filters"
];
importedLists = [
"https://git.traphouse.cathoderaytube.net/chase/ublock-filters/raw/branch/main/chase-all.txt"
];
};
};
"Tab-Session-Manager@sienori" = {
settings = {
"startupBehavior" = ["previousSession"];
"Settings" = {
"startupBehavior" = "previousSession";
"openButtonBehavior" = "openInCurrentWindow";
};
};
};
};
};
settings = {
"apz.gtk.touchpad_pinch.enabled" = false;
"browser.formfill.enable" = false;
"browser.ml.chat.enabled" = false;
"browser.ml.chat.shortcuts" = false;
"browser.ml.chat.sidebar" = false;
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
"browser.newtabpage.activity-stream.feeds.snippets" = false;
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.newtabpage.activity-stream.system.showSponsored" = false;
"browser.topsites.contile.enabled" = false;
"browser.urlbar.trimURLs" = false;
"browser.urlbar.unitConversion.enabled" = true;
"dom.security.https_only_mode" = true;
"extensions.formautofill.addresses.enabled" = false;
"extensions.formautofill.creditCards.enabled" = false;
"extensions.pocket.enabled" = false;
"general.autoScroll" = true;
"permissions.default.geo" = 2;
"privacy.bounceTrackingProtection.mode" = 1;
"privacy.fingerprintingProtection" = true;
"privacy.trackingprotection.consentmanager.skip.pbmode.enabled" = false;
"privacy.trackingprotection.emailtracking.enabled" = true;
"privacy.trackingprotection.enabled" = true;
"privacy.trackingprotection.socialtracking.enabled" = true;
"signon.rememberSignons" = false;
"widget.use-xdg-desktop-portal.file-picker" = 1;
};
search = {
force = true;
default = "SearX";
order = ["SearX" "google"];
engines = {
"MELPA" = {
urls = [
{
template = "https://melpa.org/#/?q={searchTerms}";
}
];
definedAliases = ["@m"];
};
"Nix Packages" = {
urls = [
{
template = "https://search.nixos.org/packages?channel=unstable";
params = [
{
name = "type";
value = "packages";
}
{
name = "query";
value = "{searchTerms}";
}
];
}
];
icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = ["@np"];
};
"SearX" = {
urls = [{template = "https://searx.traphouse.cathoderaytube.net/?q={searchTerms}";}];
definedAliases = ["@searx"];
};
"bing".metaData.hidden = true;
};
};
};
};
};
programs.kitty = {
enable = true;
enableGitIntegration = true;
shellIntegration = {
enableBashIntegration = true;
enableZshIntegration = true;
};
font = {
name = "BlexMono Nerd Font";
size = 11;
};
};
programs.mpv = {
enable = true;
config = {
profile = "gpu-hq";
ytdl-format = "bestvideo+bestaudio";
};
scripts = [
pkgs.mpvScripts.mpris
pkgs.mpvScripts.sponsorblock
];
};
programs.obs-studio.enable = true;
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
};
home.packages = with pkgs; [
anki-bin
gimp
ibm-plex
kdePackages.kdenlive
libnotify
libreoffice
logiops
openutau
picard
protonmail-bridge
(pkgs.python3.withPackages (python-pkgs: [
python-pkgs.python-lsp-server
python-pkgs.python-lsp-ruff
]))
runelite
thunderbird
vcv-rack
waybar
waybar-mpris
];
services.arrpc.enable = true;
services.emacs = {
enable = true;
client = {
enable = true;
arguments = [
"-c"
"-a ''"
"-n"
];
};
defaultEditor = true;
};
services.mpd = {
enable = true;
extraConfig = ''
audio_output {
type "pipewire"
name "Pipewire Output"
}
'';
musicDirectory = "/mnt/share/media/music";
};
services.mpd-discord-rpc = {
enable = true;
settings = {
hosts = ["localhost:6600"];
format = {
details = "$track - $title [$duration]";
state = "$artist / $album ($date)";
timestamp = "elapsed";
};
};
};
services.mpd-mpris = {
enable = true;
mpd.useLocal = true;
};
}

View File

@@ -40,7 +40,7 @@
(load custom-file))
;; backup directory instead of loose files
(setq backup-directory-alist '(("." . "~/.config/emacs/backups")))
(setq backup-directory-alist '(("." . (expand-file-name "backups/" user-emacs-directory))))
(setq backup-by-copying t)
;; defer package initialize
@@ -49,11 +49,6 @@
;; prevent resizing of the frame
(setq frame-inhibit-implied-resize t)
;; no bars
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
;; no startup screen
(setq inhibit-startup-screen t)

View File

@@ -3,6 +3,10 @@
;;; Commentary:
;;; Code:
;; Check Emacs version and warn if it is not supported
(when (and (<= emacs-major-version 29) (< emacs-minor-version 4))
(warn (format "This config is designed for Emacs 29+, please upgrade.")))
;; display startup time
(defun chase/display-startup-time ()
"Write init time and number of garbage collections to message buffer."
@@ -11,17 +15,22 @@
(add-hook 'emacs-startup-hook #'chase/display-startup-time)
;; set repos and bootstrap use-package
;; (require 'package)
;; automatically create missing directories
;; source: https://emacsredux.com/blog/2022/06/12/auto-create-missing-directories/
(defun er-auto-create-missing-dirs ()
"Create missing parent directories automatically when opening a file."
(let ((target-dir (file-name-directory buffer-file-name)))
(unless (file-exists-p target-dir)
(make-directory target-dir t))))
;; (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(add-to-list 'find-file-not-found-functions #'er-auto-create-missing-dirs)
;; (package-initialize)
;; no bars
(add-hook 'window-setup-hook (lambda ()
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)))
;; (eval-when-compile
;; (require 'use-package))
;;
;; bootstrap straight
(defvar bootstrap-version)
(let ((bootstrap-file
@@ -41,13 +50,10 @@
(setq straight-use-package-by-default t)
;; always install missing packages
;; (require 'use-package-ensure)
;; (setq use-package-always-ensure t)
(setq use-package-always-demand t
use-package-compute-statistics t)
(require 'bind-key)
(use-package bind-key)
(use-package diminish)
@@ -56,16 +62,6 @@
:config
(add-hook 'after-init-hook #'benchmark-init/deactivate))
;; auto-update packages
;; (use-package auto-package-update
;; :custom
;; (setq auto-package-update-delete-old-versions t
;; auto-package-update-hide-results t
;; auto-package-update-interval 7)
;; :config
;; (auto-package-update-maybe)
;; (auto-package-update-at-time "09:30"))
;; set locale
(set-language-environment "UTF-8")
(prefer-coding-system 'utf-8-unix)
@@ -116,6 +112,26 @@
:config
(evil-collection-init))
(use-package evil-surround
:config
(global-evil-surround-mode 1))
(use-package vertico
:custom
(vertico-cycle t)
:init
(vertico-mode))
(use-package savehist
:init
(savehist-mode))
(use-package orderless
:custom
(completion-styles '(orderless basic))
(completion-category-defaults nil)
(completion-category-overrides '((file (styles partial-completion)))))
;; prevent laggy icons
(setq inhibit-compacting-font-caches t)
@@ -128,6 +144,11 @@
:config
(nerd-icons-completion-mode))
(use-package nerd-icons-corfu
:after corfu
:config
(add-to-list 'corfu-margin-formatters #'nerd-icons-corfu-formatter))
(use-package nerd-icons-dired
:hook
(dired-mode . nerd-icons-dired-mode))
@@ -159,14 +180,10 @@
(column-number-mode)
;; line numbers, not quite everywhere
(setq-default display-line-numbers-type 'relative)
(add-hook 'prog-mode-hook #'display-line-numbers-mode)
(add-hook 'text-mode #'display-line-numbers-mode)
;; center cursor
;; (use-package centered-cursor-mode
;; :config
;; (global-centered-cursor-mode))
;; move cursor to new help windows
(setq help-window-select t)
@@ -196,15 +213,17 @@
(setq ibuffer-saved-filter-groups
'(("Default"
("Terminal" (name . "^\\*terminal\\*$"))
("Nix" (mode . nix-ts-mode))
("Code" (or
(mode . c-ts-mode)
(mode . c++-ts-mode)
(mode . emacs-lisp-mode)
(mode . js-ts-mode)
(mode . makefile-gmake-mode)
(mode . python-ts-mode)
(mode . rust-ts-mode)))
("Dired" (mode . dired-mode))
("Org" (mode . org-mode))
("Dired" (mode . dired-mode))
("Magit" (name . "^magit"))
("Emacs" (or
(name . "^\\*Completions\\*$")
@@ -215,10 +234,19 @@
(add-hook 'ibuffer-mode-hook
(lambda ()
(ibuffer-switch-to-saved-filter-groups "Default")))
(ibuffer-switch-to-saved-filter-groups "Default")
(ibuffer-auto-mode 1)))
;; make dired less messy
(setf dired-kill-when-opening-new-dired-buffer t)
;; kill buffers
(substitute-key-definition 'kill-buffer 'kill-buffer-and-window global-map)
;; git stuff
(use-package magit)
(use-package magit
:config
(setq magit-bury-buffer-function 'kill-buffer))
(use-package magit-todos
:after magit)
@@ -254,15 +282,26 @@
:config
(treemacs-load-theme "nerd-icons"))
;; company
(use-package company
:bind (:map company-active-map
("C-n" . company-select-next)
("C-p" . company-select-previous))
;; corfu
(use-package corfu
:custom
(corfu-cycle t)
(corfu-auto t)
(corfu-auto-prefix 2)
(corfu-auto-delay 0.2)
(corfu-quit-at-boundary 'separator)
(corfu-echo-documentation 0.25)
:init
(global-company-mode)
:config
(setq company-idle-delay 0.1)) ;; faster autocomplete
(when (>= emacs-major-version 30)
(global-completion-preview-mode 1))
(unless (display-graphic-p)
(when (require 'corfu-terminal nil :noerror)
(corfu-terminal-mode +1)))
(global-corfu-mode 1)
(corfu-history-mode 1))
;; license templates
(use-package license-templates)
;; yasnippet config
(use-package yasnippet
@@ -271,8 +310,8 @@
(prog-mode . yas-minor-mode)
:config
(setq yas-snippet-dirs
'("~/.config/emacs/snippets" ;; personal
"~/.config/emacs/work"))) ;; keep em separated
'((expand-file-name "snippets/" user-emacs-directory) ;; personal
(expand-file-name "work/" user-emacs-directory)))) ;; keep em separated
;; nix
(use-package nix-ts-mode
@@ -291,18 +330,21 @@
(use-package python
:defer t
:config
(setq python-flymake-command '("flake8" "-")))
(setq python-flymake-command '("ruff" "--quiet" "--stdin-filename=stdin" "-")))
;; eglot
(use-package eglot
:straight nil
:hook
(c-ts-mode . eglot-ensure)
(nix-ts-mode . eglot-ensure)
(python-ts-mode . eglot-ensure)
:config
(setq eldoc-echo-area-display-truncation-message nil
eldoc-echo-area-prefer-doc-buffer t
max-mini-window-height 2))
max-mini-window-height 2)
(dolist (mode '(((nix-mode nix-ts-mode) . ("nixd"))))
(add-to-list 'eglot-server-programs mode)))
;; treesit-auto
(use-package treesit-auto
@@ -352,15 +394,6 @@
(pdf-tools-install :no-query)
(require 'pdf-occur))
;; helm
(use-package helm
:config
(global-set-key (kbd "M-x") #'helm-M-x)
(global-set-key (kbd "C-x r b") #'helm-filtered-bookmarks)
(global-set-key (kbd "C-x C-f") #'helm-find-files)
(setq helm-ff-auto-update-initial-value 1)
(helm-mode 1))
;; org stuff
(use-package org
:mode
@@ -384,7 +417,11 @@
;; agenda
(require 'find-lisp)
(setq org-directory "~/org")
(unless (file-exists-p "~/Documents/org")
(make-directory "~/Documents/org" t))
(setq org-directory "~/Documents/org")
(unless (file-exists-p (expand-file-name "gtd/" org-directory))
(make-directory (expand-file-name "gtd/" org-directory) t))
(setq chase/org-agenda-directory
(expand-file-name "gtd/" org-directory))
(setq org-agenda-files
@@ -393,7 +430,7 @@
(setq org-capture-templates
'(("i" "Inbox" entry (file "gtd/inbox.org")
"* TODO %?\n")
("n" "Note" entry (file "~/org/inbox.org")
("n" "Note" entry (file "gtd/inbox.org")
"* %? :NOTE:\n")))
;; TODO
@@ -408,7 +445,7 @@
(setq org-refile-allow-creating-parent-nodes 'confirm
org-refile-targets '(("projects.org" . (:level . 1))))
;; source blocks
;; source blocks
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
(add-to-list 'org-structure-template-alist '("py" . "src python"))
(add-to-list 'org-structure-template-alist '("sh" . "src shell"))
@@ -416,6 +453,9 @@
(add-to-list 'org-structure-template-alist '("json" . "src json"))
(add-to-list 'org-structure-template-alist '("yaml" . "src yaml"))
;; babel
(add-to-list 'org-babel-load-languages '(shell . t))
;; fix yaml fontify
(add-to-list 'org-src-lang-modes '("yaml" . yaml-ts))
@@ -424,10 +464,10 @@
org-export-with-section-numbers nil)
;; LaTeX
(setq org-latex-compiler "xelatex")
(setq org-latex-listings 'minted
org-latex-pdf-process
'("latexmk -shell-escape -f -pdf -%latex -interaction=nonstopmode -output-directory=%o %f"))
;;(setq org-latex-compiler "xelatex")
;;(setq org-latex-listings 'minted
;;org-latex-pdf-process
;;'("latexmk -shell-escape -f -pdf -%latex -interaction=nonstopmode -output-directory=%o %f"))
(use-package evil-org
:after org
@@ -443,8 +483,6 @@
(use-package org-roam
:after org
:custom
(org-roam-directory "~/org/roam")
:bind
(("C-c n l" . org-roam-buffer-toggle)
("C-c n f" . org-roam-node-find)
@@ -454,6 +492,10 @@
;; Dailies
("C-c n j" . org-roam-dailies-capture-today))
:config
(unless (file-exists-p (expand-file-name "roam/" org-directory))
(make-directory (expand-file-name "roam/" org-directory) t))
(setq org-roam-directory
(expand-file-name "roam/" org-directory))
(require 'org-roam-protocol)
(require 'org-roam-export)
(org-roam-db-autosync-mode)
@@ -472,10 +514,10 @@
(file+head "reference/${slug}.org" "#+title: ${title}\n${body}\n")
:unnarrowed t))))
(use-package org-bullets
(use-package org-superstar
:after org
:hook
(org-mode . org-bullets-mode))
(org-mode . org-superstar-mode))
(use-package org-appear
:after org
@@ -497,11 +539,13 @@
:after org)
(use-package ox-moderncv
:after org
:straight
(org-cv :type git :host gitlab :repo "Titan-C/org-cv"))
:straight nil
:load-path "~/org-cv/"
;;(org-cv :type git :host gitlab :repo "Titan-C/org-cv"))
:init (require 'ox-moderncv))
(use-package ox-hugocv
(use-package ox-hugocv
:after org
:straight
(org-cv :type git :host gitlab :repo "Titan-C/org-cv")))
@@ -515,11 +559,19 @@
(use-package flyspell
:defer t
:hook
(markdown-mode . flyspell-mode)
(org-mode . flyspell-mode)
:diminish flyspell-mode)
;; enlighten flymake to the load path
(setq elisp-flymake-byte-compile-load-path load-path)
;; flymake config
(use-package flymake
:straight nil
:defer t
:init
(setq elisp-flymake-byte-compile-load-path load-path)
:bind (:map global-map
("M-n" . flymake-goto-next-error)
("M-p" . flymake-goto-prev-error)))
;; windows printer
(setq ps-printer-name t)
@@ -529,24 +581,5 @@
(use-package emms)
;; exwm
;; (use-package exwm
;; :config
;; (add-hook 'exwm-update-class-hook
;; (lambda () (exwm-workspace-rename-buffer exwm-class-name)))
;; (setq exwm-input-global-keys
;; `(([?\s-r] . exwm-reset)
;; ([?\s-w] . exwm-workspace-switch)
;; ([?\s-&] . (lambda (cmd)
;; (interactive (list (read-shell-command "$ ")))
;; (start-process-shell-command cmd nil cmd)))
;; ,@(mapcar (lambda (i)
;; `(,(kbd (format "s-%d" i))
;; (lambda ()
;; (interactive)
;; (exwm-workspace-switch-create ,i))))
;; (number-sequence 0 9))))
;; (exwm-enable))
(provide 'init)
;;; init.el ends here

View File

@@ -1,325 +0,0 @@
{ config, pkgs, nur, ... }:
{
imports = [
./plasma.nix
];
home.username = "chase";
home.homeDirectory = "/home/chase";
home.stateVersion = "24.11";
home.file = {
"scripts" = {
source = config.lib.file.mkOutOfStoreSymlink ./scripts;
recursive = true;
};
};
home.sessionPath = [
"$HOME/scripts"
];
home.preferXdgDirectories = true;
xdg = {
enable = true;
userDirs.enable = true;
configFile = {
"emacs/early-init.el" = {
source = config.lib.file.mkOutOfStoreSymlink ./emacs/early-init.el;
};
"emacs/init.el" = {
source = config.lib.file.mkOutOfStoreSymlink ./emacs/init.el;
};
};
};
catppuccin = {
enable = true;
flavor = "mocha";
};
programs.alacritty = {
enable = true;
settings = {
font = {
normal = {
family = "IBM Plex Mono";
style = "Regular";
};
};
};
# theme = "catppuccin_mocha";
};
programs.bash = {
enable = true;
enableCompletion = true;
bashrcExtra = ''
export SSH_AUTH_SOCK=/home/chase/.bitwarden-ssh-agent.sock
'';
historyIgnore = [
"ls"
"cd"
"exit"
];
};
programs.emacs = {
enable = true;
package = "pkgs.emacs-pgtk";
};
programs.fastfetch = {
enable = true;
settings = {
logo = {
source = "nixos_small";
};
display = {
size = {
binaryPrefix = "si";
};
color = "blue";
separator = ": ";
};
modules = [
"title"
"separator"
"os"
"host"
"uptime"
"kernel"
"packages"
"lm"
"de"
"wm"
"shell"
"terminal"
"terminalfont"
{
key = "Display";
type = "display";
}
"cpu"
"gpu"
"memory"
"swap"
"disk"
"datetime"
"colors"
"break"
"player"
"media"
];
};
};
programs.firefox = {
enable = true;
nativeMessagingHosts = [ pkgs.firefoxpwa ];
profiles = {
default = {
id = 0;
name = "default";
isDefault = true;
extensions = {
packages = with pkgs.nur.repos.rycee.firefox-addons; [
awesome-rss
betterttv
bitwarden
clearurls
control-panel-for-twitter
enhancer-for-youtube
facebook-container
flagfox
istilldontcareaboutcookies
privacy-badger
return-youtube-dislikes
search-by-image
sponsorblock
tab-session-manager
tampermonkey
ublock-origin
];
};
settings = {
"browser.formfill.enable" = false;
"browser.ml.chat.enabled" = false;
"browser.ml.chat.shortcuts" = false;
"browser.ml.chat.sidebar" = false;
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
"browser.newtabpage.activity-stream.feeds.snippets" = false;
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.newtabpage.activity-stream.system.showSponsored" = false;
"browser.topsites.contile.enabled" = false;
"browser.urlbar.unitConversion.enabled" = true;
"extensions.formautofill.addresses.enabled" = false;
"extensions.formautofill.creditCards.enabled" = false;
"extensions.pocket.enabled" = false;
"general.autoScroll" = true;
"widget.use-xdg-desktop-portal.file-picker" = 1;
"signon.rememberSignons" = false;
};
search = {
force = true;
default = "SearX";
order = [ "SearX" "google" ];
engines = {
"Nix Packages" = {
urls = [{
template = "https://search.nixos.org/packages";
params = [
{ name = "type"; value = "packages"; }
{ name = "query"; value = "{searchTerms}"; }
];
}];
icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@np" ];
};
"SearX" = {
urls = [{ template = "https://searx.traphouse.cathoderaytube.net/?q={searchTerms}"; }];
definedAliases = [ "@searx" ];
};
"bing".metaData.hidden = true;
};
};
};
};
};
programs.ghostty = {
enable = true;
enableBashIntegration = true;
installVimSyntax = true;
settings = {
# theme = "catppuccin-mocha";
font-family = "BlexMono Nerd Font";
font-size = 11;
};
};
programs.git = {
enable = true;
userName = "chase";
userEmail = "chase@cathoderaytube.net";
extraConfig = {
init.defaultBranch = "main";
};
};
programs.git-credential-oauth.enable = true;
programs.htop.enable = true;
programs.mpv = {
enable = true;
config = {
profile = "gpu-hq";
ytdl-format = "bestvideo+bestaudio";
};
scripts = [
pkgs.mpvScripts.mpris
];
};
programs.ncmpcpp = {
enable = true;
bindings = [
{ key = "h"; command = "previous_column"; }
{ key = "j"; command = "scroll_down"; }
{ key = "k"; command = "scroll_up"; }
{ key = "l"; command = "next_column"; }
];
settings = {
media_library_primary_tag = "album_artist";
};
};
programs.obs-studio.enable = true;
programs.ranger.enable = true;
programs.rmpc = {
enable = true;
config = ''
(
album_art: (
method: Auto,
max_size_px: (width: 1200, height: 1200),
disabled_protocols: ["http://", "https://"],
vertical_align: Center,
horizontal_align: Center,
),
)
'';
};
programs.texlive.enable = true;
programs.yazi = {
enable = true;
enableBashIntegration = true;
};
programs.yt-dlp = {
enable = true;
settings = {
embed-thumbnail = true;
};
};
home.packages = with pkgs; [
anki-bin
audacity
ffmpeg
gimp
ibm-plex
imagemagick
kdePackages.kdenlive
libnotify
libreoffice
logiops
nerd-fonts.blex-mono
picard
protonmail-bridge
thunderbird
ueberzugpp
vcv-rack
runelite
];
services.emacs = {
enable = true;
client = {
enable = true;
arguments = [
"-w"
];
};
defaultEditor = true;
}
services.mpd = {
enable = true;
extraConfig = ''
audio_output {
type "pipewire"
name "Pipewire Output"
}
'';
musicDirectory = "/mnt/share/media/music";
};
services.mpd-mpris = {
enable = true;
mpd.useLocal = true;
};
}

222
home/hypr.nix Normal file
View File

@@ -0,0 +1,222 @@
{
config,
pkgs,
...
}: {
catppuccin = {
waybar = {
enable = false;
# flavor = "mocha";
# mode = "createLink";
};
hyprland = {
enable = false;
};
};
programs.waybar = {
enable = true;
systemd = {
enable = true;
target = "hyprland-session.target";
};
style = ./waybar.css;
settings = [{
"layer" = "top";
"position" = "top";
modules-left = [
"custom/launcher"
"temperature"
"mpd"
];
modules-center = [
"clock"
];
modules-right = [
"pulseaudio"
"backlight"
"memory"
"cpu"
"network"
"custom/powermenu"
"tray"
];
"custom/launcher" = {
"format" = " ";
"on-click" = "pkill rofi || rofi2";
"on-click-middle" = "exec default_wall";
"on-click-right" = "exec wallpaper_random";
"tooltip" = false;
};
"pulseaudio" = {
"scroll-step" = 1;
"format" = "{icon} {volume}%";
"format-muted" = "󰖁 Muted";
"format-icons" = {
"default" = [ "" "" "" ];
};
"on-click" = "pamixer -t";
"tooltip" = false;
};
"clock" = {
"interval" = 1;
"format" = "{:%H:%M}";
"tooltip" = true;
"tooltip-format"= "{:%Y-%m-%d}\n<tt>{calendar}</tt>";
};
"memory" = {
"interval" = 1;
"format" = "󰻠 {percentage}%";
"states" = {
"warning" = 85;
};
};
"cpu" = {
"interval" = 1;
"format" = "󰍛 {usage}%";
};
"mpd" = {
"max-length" = 25;
"format" = "<span foreground='#bb9af7'></span> {title}";
"format-paused" = " {title}";
"format-stopped" = "<span foreground='#bb9af7'></span>";
"format-disconnected" = "";
"on-click" = "rmpc togglepause";
"on-click-right" = "rmpc update";
"on-click-middle" = "kitty --class='rmpc' rmpc ";
"on-scroll-up" = "rmpc prev";
"on-scroll-down" = "rmpc next";
"smooth-scrolling-threshold" = 5;
"tooltip-format" = "{title} - {artist} ({elapsedTime:%M:%S}/{totalTime:%H:%M:%S})";
};
"network" = {
"format-disconnected" = "󰯡";
"format-ethernet" = "󰒢";
"format-linked" = "󰖪 {essid} (No IP)";
"format-wifi" = "󰖩 {essid}";
"interval" = 1;
"tooltip" = false;
};
"custom/powermenu" = {
"format" = "";
"on-click" = "pkill rofi || ~/.config/rofi/powermenu/type-3/powermenu.sh";
"tooltip" = false;
};
"tray" = {
"icon-size" = 15;
"spacing" = 5;
};
}];
};
programs.hyprlock = {
enable = true;
settings = {
general = {
disable_loading_bar = true;
grace = 3;
hide_cursor = true;
no_fade_in = false;
};
background = [
{
path = "screenshot";
blur_passes = 3;
blur_size = 8;
}
];
input-field = [
{
size = "200, 50";
position = "0, -80";
monitor = "";
dots_center = true;
fade_on_empty = false;
font_color = "rgb(202, 211, 245)";
inner_color = "rgb(91, 96, 120)";
outer_color = "rgb(24, 25, 38)";
outline_thickness = 5;
placeholder_text = "Enter password...";
shadow_passes = 2;
}
];
};
};
home.packages = with pkgs; [
brightnessctl
helvum
];
services.hypridle = {
enable = true;
settings = {
general = {
lock_cmd = "pidof hyprlock || hyprlock";
before_sleep_cmd = "loginctl lock-session";
after_sleep_cmd = "hyprctl dispatch dpms on";
ignore_dbus_inhibit = false;
};
listener = [
{
timeout = 600;
on-timeout = "loginctl lock-session";
}
{
timeout = 900;
on-timeout = "hyprctl dispatch dpms off";
on-resume = "hyprctl dispatch dpms on";
}
];
};
};
services.hyprpolkitagent.enable = true;
services.hyprsunset.enable = true;
services.hyprpaper = {
enable = true;
settings = {
preload = ["/home/chase/nix-config/home/wallpaper.jpg"];
wallpaper = ["/home/chase/nix-config/home/wallpaper.jpg"];
};
};
services.mako = {
enable = true;
settings = {
actions = true;
anchor = "top-right";
background-color = "#1e1e2e";
border-color = "#cba6f7";
border-radius = 0;
default-timeout = 0;
font = "monospace 10";
height = 100;
width = 300;
icons = true;
ignore-timeout = false;
layer = "top";
margin = 10;
markup = true;
# Section example
"actionable=true" = {
anchor = "top-right";
};
};
};
services.network-manager-applet.enable = true;
wayland.windowManager.hyprland = {
enable = false;
# package = null;
# portalPackage = null;
systemd.enable = true;
};
}

View File

@@ -1,327 +1,140 @@
{
programs.plasma = {
enable = true;
shortcuts = {
"ActivityManager"."switch-to-activity-0fb1d4a1-96e6-4dfd-909a-04b78f1e3845" = [ ];
"KDE Keyboard Layout Switcher"."Switch keyboard layout to English (US)" = [ ];
"KDE Keyboard Layout Switcher"."Switch keyboard layout to Japanese" = [ ];
"KDE Keyboard Layout Switcher"."Switch to Last-Used Keyboard Layout" = "Meta+Alt+L";
"KDE Keyboard Layout Switcher"."Switch to Next Keyboard Layout" = "Meta+Alt+K";
"kaccess"."Toggle Screen Reader On and Off" = "Meta+Alt+S";
"kcm_touchpad"."Disable Touchpad" = "Touchpad Off";
"kcm_touchpad"."Enable Touchpad" = "Touchpad On";
"kcm_touchpad"."Toggle Touchpad" = ["Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku,Touchpad Toggle" "Touchpad Toggle" "Meta+Ctrl+Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku"];
"kmix"."decrease_microphone_volume" = "Microphone Volume Down";
"kmix"."decrease_volume" = "Volume Down";
"kmix"."decrease_volume_small" = "Shift+Volume Down";
"kmix"."increase_microphone_volume" = "Microphone Volume Up";
"kmix"."increase_volume" = "Volume Up";
"kmix"."increase_volume_small" = "Shift+Volume Up";
"kmix"."mic_mute" = ["Microphone Mute" "Meta+Volume Mute,Microphone Mute" "Meta+Volume Mute,Mute Microphone"];
"kmix"."mute" = "Volume Mute";
"ksmserver"."Halt Without Confirmation" = "none,,Shut Down Without Confirmation";
"ksmserver"."Lock Session" = ["Meta+L" "Screensaver,Meta+L" "Screensaver,Lock Session"];
"ksmserver"."Log Out" = "Ctrl+Alt+Del";
"ksmserver"."Log Out Without Confirmation" = "none,,Log Out Without Confirmation";
"ksmserver"."LogOut" = "none,,Log Out";
"ksmserver"."Reboot" = "none,,Reboot";
"ksmserver"."Reboot Without Confirmation" = "none,,Reboot Without Confirmation";
"ksmserver"."Shut Down" = "none,,Shut Down";
"kwin"."Activate Window Demanding Attention" = "Meta+Ctrl+A";
"kwin"."Cycle Overview" = [ ];
"kwin"."Cycle Overview Opposite" = [ ];
"kwin"."Decrease Opacity" = "none,,Decrease Opacity of Active Window by 5%";
"kwin"."Edit Tiles" = "Meta+T";
"kwin"."Expose" = "Ctrl+F9";
"kwin"."ExposeAll" = ["Ctrl+F10" "Launch (C),Ctrl+F10" "Launch (C),Toggle Present Windows (All desktops)"];
"kwin"."ExposeClass" = "Ctrl+F7";
"kwin"."ExposeClassCurrentDesktop" = [ ];
"kwin"."Grid View" = "Meta+G";
"kwin"."Increase Opacity" = "none,,Increase Opacity of Active Window by 5%";
"kwin"."Kill Window" = "Meta+Ctrl+Esc";
"kwin"."Move Tablet to Next Output" = [ ];
"kwin"."MoveMouseToCenter" = "Meta+F6";
"kwin"."MoveMouseToFocus" = "Meta+F5";
"kwin"."MoveZoomDown" = [ ];
"kwin"."MoveZoomLeft" = [ ];
"kwin"."MoveZoomRight" = [ ];
"kwin"."MoveZoomUp" = [ ];
"kwin"."Overview" = "Meta+W";
"kwin"."Setup Window Shortcut" = "none,,Setup Window Shortcut";
"kwin"."Show Desktop" = "Meta+D";
"kwin"."Switch One Desktop Down" = "Meta+Ctrl+Down";
"kwin"."Switch One Desktop Up" = "Meta+Ctrl+Up";
"kwin"."Switch One Desktop to the Left" = "Meta+Ctrl+Left";
"kwin"."Switch One Desktop to the Right" = "Meta+Ctrl+Right";
"kwin"."Switch Window Down" = "Meta+Alt+Down";
"kwin"."Switch Window Left" = "Meta+Alt+Left";
"kwin"."Switch Window Right" = "Meta+Alt+Right";
"kwin"."Switch Window Up" = "Meta+Alt+Up";
"kwin"."Switch to Desktop 1" = "Ctrl+F1";
"kwin"."Switch to Desktop 10" = "none,,Switch to Desktop 10";
"kwin"."Switch to Desktop 11" = "none,,Switch to Desktop 11";
"kwin"."Switch to Desktop 12" = "none,,Switch to Desktop 12";
"kwin"."Switch to Desktop 13" = "none,,Switch to Desktop 13";
"kwin"."Switch to Desktop 14" = "none,,Switch to Desktop 14";
"kwin"."Switch to Desktop 15" = "none,,Switch to Desktop 15";
"kwin"."Switch to Desktop 16" = "none,,Switch to Desktop 16";
"kwin"."Switch to Desktop 17" = "none,,Switch to Desktop 17";
"kwin"."Switch to Desktop 18" = "none,,Switch to Desktop 18";
"kwin"."Switch to Desktop 19" = "none,,Switch to Desktop 19";
"kwin"."Switch to Desktop 2" = "Ctrl+F2";
"kwin"."Switch to Desktop 20" = "none,,Switch to Desktop 20";
"kwin"."Switch to Desktop 3" = "Ctrl+F3";
"kwin"."Switch to Desktop 4" = "Ctrl+F4";
"kwin"."Switch to Desktop 5" = "none,,Switch to Desktop 5";
"kwin"."Switch to Desktop 6" = "none,,Switch to Desktop 6";
"kwin"."Switch to Desktop 7" = "none,,Switch to Desktop 7";
"kwin"."Switch to Desktop 8" = "none,,Switch to Desktop 8";
"kwin"."Switch to Desktop 9" = "none,,Switch to Desktop 9";
"kwin"."Switch to Next Desktop" = "none,,Switch to Next Desktop";
"kwin"."Switch to Next Screen" = "none,,Switch to Next Screen";
"kwin"."Switch to Previous Desktop" = "none,,Switch to Previous Desktop";
"kwin"."Switch to Previous Screen" = "none,,Switch to Previous Screen";
"kwin"."Switch to Screen 0" = "none,,Switch to Screen 0";
"kwin"."Switch to Screen 1" = "none,,Switch to Screen 1";
"kwin"."Switch to Screen 2" = "none,,Switch to Screen 2";
"kwin"."Switch to Screen 3" = "none,,Switch to Screen 3";
"kwin"."Switch to Screen 4" = "none,,Switch to Screen 4";
"kwin"."Switch to Screen 5" = "none,,Switch to Screen 5";
"kwin"."Switch to Screen 6" = "none,,Switch to Screen 6";
"kwin"."Switch to Screen 7" = "none,,Switch to Screen 7";
"kwin"."Switch to Screen Above" = "none,,Switch to Screen Above";
"kwin"."Switch to Screen Below" = "none,,Switch to Screen Below";
"kwin"."Switch to Screen to the Left" = "none,,Switch to Screen to the Left";
"kwin"."Switch to Screen to the Right" = "none,,Switch to Screen to the Right";
"kwin"."Toggle Night Color" = [ ];
"kwin"."Toggle Window Raise/Lower" = "none,,Toggle Window Raise/Lower";
"kwin"."Walk Through Windows" = "Alt+Tab";
"kwin"."Walk Through Windows (Reverse)" = "Alt+Shift+Tab";
"kwin"."Walk Through Windows Alternative" = "none,,Walk Through Windows Alternative";
"kwin"."Walk Through Windows Alternative (Reverse)" = "none,,Walk Through Windows Alternative (Reverse)";
"kwin"."Walk Through Windows of Current Application" = "Alt+`";
"kwin"."Walk Through Windows of Current Application (Reverse)" = "Alt+~";
"kwin"."Walk Through Windows of Current Application Alternative" = "none,,Walk Through Windows of Current Application Alternative";
"kwin"."Walk Through Windows of Current Application Alternative (Reverse)" = "none,,Walk Through Windows of Current Application Alternative (Reverse)";
"kwin"."Window Above Other Windows" = "none,,Keep Window Above Others";
"kwin"."Window Below Other Windows" = "none,,Keep Window Below Others";
"kwin"."Window Close" = "Alt+F4";
"kwin"."Window Custom Quick Tile Bottom" = "none,,Custom Quick Tile Window to the Bottom";
"kwin"."Window Custom Quick Tile Left" = "none,,Custom Quick Tile Window to the Left";
"kwin"."Window Custom Quick Tile Right" = "none,,Custom Quick Tile Window to the Right";
"kwin"."Window Custom Quick Tile Top" = "none,,Custom Quick Tile Window to the Top";
"kwin"."Window Fullscreen" = "none,,Make Window Fullscreen";
"kwin"."Window Grow Horizontal" = "none,,Expand Window Horizontally";
"kwin"."Window Grow Vertical" = "none,,Expand Window Vertically";
"kwin"."Window Lower" = "none,,Lower Window";
"kwin"."Window Maximize" = "Meta+PgUp";
"kwin"."Window Maximize Horizontal" = "none,,Maximize Window Horizontally";
"kwin"."Window Maximize Vertical" = "none,,Maximize Window Vertically";
"kwin"."Window Minimize" = "Meta+PgDown";
"kwin"."Window Move" = "none,,Move Window";
"kwin"."Window Move Center" = "none,,Move Window to the Center";
"kwin"."Window No Border" = "none,,Toggle Window Titlebar and Frame";
"kwin"."Window On All Desktops" = "none,,Keep Window on All Desktops";
"kwin"."Window One Desktop Down" = "Meta+Ctrl+Shift+Down";
"kwin"."Window One Desktop Up" = "Meta+Ctrl+Shift+Up";
"kwin"."Window One Desktop to the Left" = "Meta+Ctrl+Shift+Left";
"kwin"."Window One Desktop to the Right" = "Meta+Ctrl+Shift+Right";
"kwin"."Window One Screen Down" = "none,,Move Window One Screen Down";
"kwin"."Window One Screen Up" = "none,,Move Window One Screen Up";
"kwin"."Window One Screen to the Left" = "none,,Move Window One Screen to the Left";
"kwin"."Window One Screen to the Right" = "none,,Move Window One Screen to the Right";
"kwin"."Window Operations Menu" = "Alt+F3";
"kwin"."Window Pack Down" = "none,,Move Window Down";
"kwin"."Window Pack Left" = "none,,Move Window Left";
"kwin"."Window Pack Right" = "none,,Move Window Right";
"kwin"."Window Pack Up" = "none,,Move Window Up";
"kwin"."Window Quick Tile Bottom" = "Meta+Down";
"kwin"."Window Quick Tile Bottom Left" = "none,,Quick Tile Window to the Bottom Left";
"kwin"."Window Quick Tile Bottom Right" = "none,,Quick Tile Window to the Bottom Right";
"kwin"."Window Quick Tile Left" = "Meta+Left";
"kwin"."Window Quick Tile Right" = "Meta+Right";
"kwin"."Window Quick Tile Top" = "Meta+Up";
"kwin"."Window Quick Tile Top Left" = "none,,Quick Tile Window to the Top Left";
"kwin"."Window Quick Tile Top Right" = "none,,Quick Tile Window to the Top Right";
"kwin"."Window Raise" = "none,,Raise Window";
"kwin"."Window Resize" = "none,,Resize Window";
"kwin"."Window Shade" = "none,,Shade Window";
"kwin"."Window Shrink Horizontal" = "none,,Shrink Window Horizontally";
"kwin"."Window Shrink Vertical" = "none,,Shrink Window Vertically";
"kwin"."Window to Desktop 1" = "none,,Window to Desktop 1";
"kwin"."Window to Desktop 10" = "none,,Window to Desktop 10";
"kwin"."Window to Desktop 11" = "none,,Window to Desktop 11";
"kwin"."Window to Desktop 12" = "none,,Window to Desktop 12";
"kwin"."Window to Desktop 13" = "none,,Window to Desktop 13";
"kwin"."Window to Desktop 14" = "none,,Window to Desktop 14";
"kwin"."Window to Desktop 15" = "none,,Window to Desktop 15";
"kwin"."Window to Desktop 16" = "none,,Window to Desktop 16";
"kwin"."Window to Desktop 17" = "none,,Window to Desktop 17";
"kwin"."Window to Desktop 18" = "none,,Window to Desktop 18";
"kwin"."Window to Desktop 19" = "none,,Window to Desktop 19";
"kwin"."Window to Desktop 2" = "none,,Window to Desktop 2";
"kwin"."Window to Desktop 20" = "none,,Window to Desktop 20";
"kwin"."Window to Desktop 3" = "none,,Window to Desktop 3";
"kwin"."Window to Desktop 4" = "none,,Window to Desktop 4";
"kwin"."Window to Desktop 5" = "none,,Window to Desktop 5";
"kwin"."Window to Desktop 6" = "none,,Window to Desktop 6";
"kwin"."Window to Desktop 7" = "none,,Window to Desktop 7";
"kwin"."Window to Desktop 8" = "none,,Window to Desktop 8";
"kwin"."Window to Desktop 9" = "none,,Window to Desktop 9";
"kwin"."Window to Next Desktop" = "none,,Window to Next Desktop";
"kwin"."Window to Next Screen" = "Meta+Shift+Right";
"kwin"."Window to Previous Desktop" = "none,,Window to Previous Desktop";
"kwin"."Window to Previous Screen" = "Meta+Shift+Left";
"kwin"."Window to Screen 0" = "none,,Move Window to Screen 0";
"kwin"."Window to Screen 1" = "none,,Move Window to Screen 1";
"kwin"."Window to Screen 2" = "none,,Move Window to Screen 2";
"kwin"."Window to Screen 3" = "none,,Move Window to Screen 3";
"kwin"."Window to Screen 4" = "none,,Move Window to Screen 4";
"kwin"."Window to Screen 5" = "none,,Move Window to Screen 5";
"kwin"."Window to Screen 6" = "none,,Move Window to Screen 6";
"kwin"."Window to Screen 7" = "none,,Move Window to Screen 7";
"kwin"."disableInputCapture" = "Meta+Shift+Esc";
"kwin"."view_actual_size" = "Meta+0";
"kwin"."view_zoom_in" = ["Meta++" "Meta+=,Meta++" "Meta+=,Zoom In"];
"kwin"."view_zoom_out" = "Meta+-";
"mediacontrol"."mediavolumedown" = "none,,Media volume down";
"mediacontrol"."mediavolumeup" = "none,,Media volume up";
"mediacontrol"."nextmedia" = "Media Next";
"mediacontrol"."pausemedia" = "Media Pause";
"mediacontrol"."playmedia" = "none,,Play media playback";
"mediacontrol"."playpausemedia" = "Media Play";
"mediacontrol"."previousmedia" = "Media Previous";
"mediacontrol"."stopmedia" = "Media Stop";
"org_kde_powerdevil"."Decrease Keyboard Brightness" = "Keyboard Brightness Down";
"org_kde_powerdevil"."Decrease Screen Brightness" = "Monitor Brightness Down";
"org_kde_powerdevil"."Decrease Screen Brightness Small" = "Shift+Monitor Brightness Down";
"org_kde_powerdevil"."Hibernate" = "Hibernate";
"org_kde_powerdevil"."Increase Keyboard Brightness" = "Keyboard Brightness Up";
"org_kde_powerdevil"."Increase Screen Brightness" = "Monitor Brightness Up";
"org_kde_powerdevil"."Increase Screen Brightness Small" = "Shift+Monitor Brightness Up";
"org_kde_powerdevil"."PowerDown" = "Power Down";
"org_kde_powerdevil"."PowerOff" = "Power Off";
"org_kde_powerdevil"."Sleep" = "Sleep";
"org_kde_powerdevil"."Toggle Keyboard Backlight" = "Keyboard Light On/Off";
"org_kde_powerdevil"."Turn Off Screen" = [ ];
"org_kde_powerdevil"."powerProfile" = ["Battery" "Meta+B,Battery" "Meta+B,Switch Power Profile"];
"plasmashell"."activate application launcher" = ["Meta" "Alt+F1,Meta" "Alt+F1,Activate Application Launcher"];
"plasmashell"."activate task manager entry 1" = "Meta+1";
"plasmashell"."activate task manager entry 10" = "none,,Activate Task Manager Entry 10";
"plasmashell"."activate task manager entry 2" = "Meta+2";
"plasmashell"."activate task manager entry 3" = "Meta+3";
"plasmashell"."activate task manager entry 4" = "Meta+4";
"plasmashell"."activate task manager entry 5" = "Meta+5";
"plasmashell"."activate task manager entry 6" = "Meta+6";
"plasmashell"."activate task manager entry 7" = "Meta+7";
"plasmashell"."activate task manager entry 8" = "Meta+8";
"plasmashell"."activate task manager entry 9" = "Meta+9";
"plasmashell"."clear-history" = "none,,Clear Clipboard History";
"plasmashell"."clipboard_action" = "Meta+Ctrl+X";
"plasmashell"."cycle-panels" = "Meta+Alt+P";
"plasmashell"."cycleNextAction" = "none,,Next History Item";
"plasmashell"."cyclePrevAction" = "none,,Previous History Item";
"plasmashell"."manage activities" = "Meta+Q";
"plasmashell"."next activity" = "Meta+A,none,Walk through activities";
"plasmashell"."previous activity" = "Meta+Shift+A,none,Walk through activities (Reverse)";
"plasmashell"."repeat_action" = "none,,Manually Invoke Action on Current Clipboard";
"plasmashell"."show dashboard" = "Ctrl+F12";
"plasmashell"."show-barcode" = "none,,Show Barcode";
"plasmashell"."show-on-mouse-pos" = "Meta+V";
"plasmashell"."stop current activity" = "Meta+S";
"plasmashell"."switch to next activity" = "none,,Switch to Next Activity";
"plasmashell"."switch to previous activity" = "none,,Switch to Previous Activity";
"plasmashell"."toggle do not disturb" = "none,,Toggle do not disturb";
"services/org.kde.krunner.desktop"."_launch" = ["Alt+Space" "Search" "Alt+F2" "Meta+Space"];
fonts = {
fixedWidth = {
family = "BlexMono Nerd Font";
pointSize = 11;
};
configFile = {
"baloofilerc"."General"."dbVersion" = 2;
"baloofilerc"."General"."exclude filters" = "*~,*.part,*.o,*.la,*.lo,*.loT,*.moc,moc_*.cpp,qrc_*.cpp,ui_*.h,cmake_install.cmake,CMakeCache.txt,CTestTestfile.cmake,libtool,config.status,confdefs.h,autom4te,conftest,confstat,Makefile.am,*.gcode,.ninja_deps,.ninja_log,build.ninja,*.csproj,*.m4,*.rej,*.gmo,*.pc,*.omf,*.aux,*.tmp,*.po,*.vm*,*.nvram,*.rcore,*.swp,*.swap,lzo,litmain.sh,*.orig,.histfile.*,.xsession-errors*,*.map,*.so,*.a,*.db,*.qrc,*.ini,*.init,*.img,*.vdi,*.vbox*,vbox.log,*.qcow2,*.vmdk,*.vhd,*.vhdx,*.sql,*.sql.gz,*.ytdl,*.tfstate*,*.class,*.pyc,*.pyo,*.elc,*.qmlc,*.jsc,*.fastq,*.fq,*.gb,*.fasta,*.fna,*.gbff,*.faa,po,CVS,.svn,.git,_darcs,.bzr,.hg,CMakeFiles,CMakeTmp,CMakeTmpQmake,.moc,.obj,.pch,.uic,.npm,.yarn,.yarn-cache,__pycache__,node_modules,node_packages,nbproject,.terraform,.venv,venv,core-dumps,lost+found";
"baloofilerc"."General"."exclude filters version" = 9;
"dolphinrc"."General"."ViewPropsTimestamp" = "2025,4,28,12,11,21.343";
"dolphinrc"."KFileDialog Settings"."Places Icons Auto-resize" = false;
"dolphinrc"."KFileDialog Settings"."Places Icons Static Size" = 22;
"kactivitymanagerdrc"."activities"."0fb1d4a1-96e6-4dfd-909a-04b78f1e3845" = "Default";
"kactivitymanagerdrc"."main"."currentActivity" = "0fb1d4a1-96e6-4dfd-909a-04b78f1e3845";
"kcminputrc"."Libinput/1739/52839/SYNA0001:00 06CB:CE67 Mouse"."PointerAccelerationProfile" = 1;
"kcminputrc"."Libinput/1739/52839/SYNA0001:00 06CB:CE67 Touchpad"."NaturalScroll" = true;
"kded5rc"."Module-browserintegrationreminder"."autoload" = false;
"kded5rc"."Module-device_automounter"."autoload" = false;
"kdeglobals"."General"."XftHintStyle" = "hintslight";
"kdeglobals"."General"."XftSubPixel" = "none";
"kdeglobals"."General"."fixed" = "BlexMono Nerd Font,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1";
"kdeglobals"."General"."font" = "IBM Plex Sans,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1";
"kdeglobals"."General"."menuFont" = "IBM Plex Sans,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1";
"kdeglobals"."General"."smallestReadableFont" = "IBM Plex Sans,8,-1,5,400,0,0,0,0,0,0,0,0,0,0,1";
"kdeglobals"."General"."toolBarFont" = "IBM Plex Sans,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1";
"kdeglobals"."KFileDialog Settings"."Allow Expansion" = false;
"kdeglobals"."KFileDialog Settings"."Automatically select filename extension" = true;
"kdeglobals"."KFileDialog Settings"."Breadcrumb Navigation" = true;
"kdeglobals"."KFileDialog Settings"."Decoration position" = 2;
"kdeglobals"."KFileDialog Settings"."LocationCombo Completionmode" = 5;
"kdeglobals"."KFileDialog Settings"."PathCombo Completionmode" = 5;
"kdeglobals"."KFileDialog Settings"."Show Bookmarks" = false;
"kdeglobals"."KFileDialog Settings"."Show Full Path" = false;
"kdeglobals"."KFileDialog Settings"."Show Inline Previews" = true;
"kdeglobals"."KFileDialog Settings"."Show Preview" = false;
"kdeglobals"."KFileDialog Settings"."Show Speedbar" = true;
"kdeglobals"."KFileDialog Settings"."Show hidden files" = false;
"kdeglobals"."KFileDialog Settings"."Sort by" = "Name";
"kdeglobals"."KFileDialog Settings"."Sort directories first" = true;
"kdeglobals"."KFileDialog Settings"."Sort hidden files last" = false;
"kdeglobals"."KFileDialog Settings"."Sort reversed" = false;
"kdeglobals"."KFileDialog Settings"."Speedbar Width" = 140;
"kdeglobals"."KFileDialog Settings"."View Style" = "DetailTree";
"kdeglobals"."WM"."activeBackground" = "49,54,59";
"kdeglobals"."WM"."activeBlend" = "252,252,252";
"kdeglobals"."WM"."activeFont" = "IBM Plex Sans,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1";
"kdeglobals"."WM"."activeForeground" = "252,252,252";
"kdeglobals"."WM"."inactiveBackground" = "42,46,50";
"kdeglobals"."WM"."inactiveBlend" = "161,169,177";
"kdeglobals"."WM"."inactiveForeground" = "161,169,177";
"krunnerrc"."General"."FreeFloating" = true;
"krunnerrc"."Plugins"."browserhistoryEnabled" = false;
"krunnerrc"."Plugins"."browsertabsEnabled" = false;
"krunnerrc"."Plugins"."krunner_appstreamEnabled" = false;
"krunnerrc"."Plugins"."krunner_bookmarksrunnerEnabled" = false;
"krunnerrc"."Plugins"."krunner_dictionaryEnabled" = false;
"krunnerrc"."Plugins"."krunner_katesessionsEnabled" = false;
"krunnerrc"."Plugins"."krunner_konsoleprofilesEnabled" = false;
"krunnerrc"."Plugins"."krunner_sessionsEnabled" = false;
"krunnerrc"."Plugins"."krunner_spellcheckEnabled" = false;
"krunnerrc"."Plugins"."org.kde.activities2Enabled" = false;
"krunnerrc"."Plugins/Favorites"."plugins" = "krunner_services,krunner_systemsettings,unitconverter";
"kuriikwsfilterrc"."General"."DefaultWebShortcut" = "duckduckgo";
"kuriikwsfilterrc"."General"."EnableWebShortcuts" = true;
"kuriikwsfilterrc"."General"."KeywordDelimiter" = ":";
"kuriikwsfilterrc"."General"."PreferredWebShortcuts" = "wikit,wikipedia,youtube";
"kuriikwsfilterrc"."General"."UsePreferredWebShortcutsOnly" = false;
"kwalletrc"."Wallet"."First Use" = false;
"kwinrc"."Activities/LastVirtualDesktop"."0fb1d4a1-96e6-4dfd-909a-04b78f1e3845" = "a140557c-77d1-4905-9d1c-3f7308b7aebd";
"kwinrc"."Desktops"."Id_1" = "6d7bbeb1-6928-4f68-8c3b-7cbf20b2e2ce";
"kwinrc"."Desktops"."Id_2" = "a140557c-77d1-4905-9d1c-3f7308b7aebd";
"kwinrc"."Desktops"."Id_3" = "4e659bf3-b29d-4155-99fd-65c56d9fcf32";
"kwinrc"."Desktops"."Number" = 3;
"kwinrc"."Desktops"."Rows" = 1;
"kwinrc"."Tiling"."padding" = 4;
"kwinrc"."Tiling/07e6a9d6-7fe8-5aca-aa4d-fed79e8d901d"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling/a4b67978-379f-5845-bb4c-dd8369bff4ca"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Wayland"."InputMethod[$e]" = "/run/current-system/sw/share/applications/org.fcitx.Fcitx5.desktop";
"kwinrc"."Wayland"."VirtualKeyboardEnabled" = true;
"kwinrc"."Xwayland"."Scale" = 1.5;
"kxkbrc"."Layout"."DisplayNames" = "";
"kxkbrc"."Layout"."LayoutList" = "jp";
"kxkbrc"."Layout"."Model" = "jp106";
"kxkbrc"."Layout"."Options" = "ctrl:swapcaps";
"kxkbrc"."Layout"."ResetOldOptions" = true;
"kxkbrc"."Layout"."Use" = true;
"kxkbrc"."Layout"."VariantList" = "";
"plasma-localerc"."Formats"."LANG" = "en_US.UTF-8";
"plasmanotifyrc"."Applications/thunderbird"."Seen" = true;
"plasmarc"."Wallpapers"."usersWallpapers" = "/home/chase/Pictures/wallpaper/wallhaven-g7y8od.jpg";
"spectaclerc"."GuiConfig"."captureMode" = 0;
"spectaclerc"."ImageSave"."translatedScreenshotsFolder" = "Screenshots";
"spectaclerc"."VideoSave"."translatedScreencastsFolder" = "Screencasts";
general = {
family = "IBM Plex Sans";
pointSize = 11;
};
menu = {
family = "IBM Plex Sans";
pointSize = 11;
};
small = {
family = "IBM Plex Sans";
pointSize = 8;
};
toolbar = {
family = "IBM Plex Sans";
pointSize = 11;
};
windowTitle = {
family = "IBM Plex Sans";
pointSize = 11;
};
};
krunner = {
historyBehavior = "disabled";
position = "center";
shortcuts.launch = "Meta+Space";
};
kscreenlocker = {
appearance.wallpaper = "/home/chase/nix-config/home/wallpaper.jpg";
};
kwin = {
effects = {
desktopSwitching.animation = "slide";
minimization.animation = "squash";
shakeCursor.enable = true;
};
nightLight = {
enable = true;
location = {
latitude = "39.70"; # not my house xD
longitude = "-86.15";
};
mode = "location";
temperature = {
day = null;
night = 4000;
};
transitionTime = 15;
};
virtualDesktops = {
names = [
""
""
""
""
""
];
number = 5;
rows = 1;
};
};
panels = [
{
floating = false;
height = 32;
hiding = "none";
lengthMode = "fill";
location = "top";
opacity = "opaque";
widgets = [
{
name = "org.kde.plasma.pager";
config = {
General = {
displayedText = "name";
showWindowOutlines = false;
};
};
}
"org.kde.plasma.appmenu"
"org.kde.plasma.panelspacer"
{
digitalClock = {
calendar.firstDayOfWeek = "monday";
time.format = "24h";
};
}
"org.kde.plasma.panelspacer"
"org.kde.plasma.systemtray"
];
}
{
floating = true;
height = 48;
hiding = "dodgewindows";
lengthMode = "fit";
location = "bottom";
opacity = "adaptive";
widgets = [
"org.kde.plasma.kicker"
"org.kde.plasma.icontasks"
];
}
];
shortcuts = {
kwin = {
"Switch to Desktop 1" = "Meta+1";
"Switch to Desktop 2" = "Meta+2";
"Switch to Desktop 3" = "Meta+3";
"Switch to Desktop 4" = "Meta+4";
"Switch to Desktop 5" = "Meta+5";
"Window to Desktop 1" = "Meta+!";
"Window to Desktop 2" = "Meta+\"";
"Window to Desktop 3" = "Meta+#";
"Window to Desktop 4" = "Meta+$";
"Window to Desktop 5" = "Meta+%";
};
plasmashell = {
"activate task manager entry 1" = ",none,Activate Task Manager Entry 1";
"activate task manager entry 2" = ",none,Activate Task Manager Entry 2";
"activate task manager entry 3" = ",none,Activate Task Manager Entry 3";
"activate task manager entry 4" = ",none,Activate Task Manager Entry 4";
"activate task manager entry 5" = ",none,Activate Task Manager Entry 5";
"next activity" = ",none,Walk through activities";
"previous activity" = ",none,Walk through activities (Reverse)";
};
"services/kitty.desktop"."_launch" = "Meta+X";
};
workspace = {
wallpaper = "/home/chase/nix-config/home/wallpaper.jpg";
};
};
}

33
home/scripts/nixswitch Executable file
View File

@@ -0,0 +1,33 @@
#!/usr/bin/env bash
#
# NixOS rebuild script
#
# original by 0atman: https://gist.github.com/0atman/1a5133b842f929ba4c1e195ee67599d5
set -e
pushd ~/nix-config
if git diff --quiet; then
echo "No changes detected, exiting."
popd
exit 0
fi
alejandra . &>/dev/null \
|| ( alejandra . ; echo "formatting failed!" && exit 1)
git diff -U0
echo "NixOS rebuilding..."
sudo nixos-rebuild switch --flake . &>nixos-switch.log \
|| (cat nixos-switch.log | grep --color error && exit 1)
current=$(nixos-rebuild list-generations | grep current)
git commit -am "$current"
popd
notify-send -e "NixOS Rebuilt OK!" --icon=software-update-available

View File

@@ -1,11 +0,0 @@
#!/usr/bin/env bash
cd ~/nixos-config
sudo nixos-rebuild switch --flake . &>nixos-switch.log || (cat nixos-switch.log | grep --color error && exit 1)
current=$(nixos-rebuild list-generations | grep current)
git commit -am "$current"
notify-send -e "NixOS Rebuilt OK!" --icon=software-update-available

36
home/scripts/nixupdate Executable file
View File

@@ -0,0 +1,36 @@
#!/usr/bin/env bash
#
# NixOS update and rebuild script
#
# original by 0atman: https://gist.github.com/0atman/1a5133b842f929ba4c1e195ee67599d5
set -e
pushd ~/nix-config
nix flake update
if git diff --quiet; then
echo "No changes detected, exiting."
popd
exit 0
fi
alejandra . &>/dev/null \
|| ( alejandra . ; echo "formatting failed!" && exit 1)
git diff -U0
echo "NixOS rebuilding..."
sudo nixos-rebuild switch --flake . &>nixos-switch.log \
|| (cat nixos-switch.log | grep --color error && exit 1)
current=$(nixos-rebuild list-generations | grep current)
git commit -am "$current"
popd
notify-send -e "NixOS Rebuilt OK!" --icon=software-update-available

123
home/waybar.css Normal file
View File

@@ -0,0 +1,123 @@
* {
font-family: "JetBrainsMono Nerd Font";
font-size: 12pt;
font-weight: bold;
border-radius: 8px;
transition-property: background-color;
transition-duration: 0.5s;
}
@keyframes blink_red {
to {
background-color: rgb(242, 143, 173);
color: rgb(26, 24, 38);
}
}
.warning, .critical, .urgent {
animation-name: blink_red;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
window#waybar {
background-color: transparent;
}
window > box {
margin-left: 5px;
margin-right: 5px;
margin-top: 5px;
background-color: #1e1e2a;
padding: 3px;
padding-left:8px;
border: 2px none #33ccff;
}
#workspaces {
padding-left: 0px;
padding-right: 4px;
}
#workspaces button {
padding-top: 5px;
padding-bottom: 5px;
padding-left: 6px;
padding-right: 6px;
}
#workspaces button.active {
background-color: rgb(181, 232, 224);
color: rgb(26, 24, 38);
}
#workspaces button.urgent {
color: rgb(26, 24, 38);
}
#workspaces button:hover {
background-color: rgb(248, 189, 150);
color: rgb(26, 24, 38);
}
tooltip {
background: rgb(48, 45, 65);
}
tooltip label {
color: rgb(217, 224, 238);
}
#custom-launcher {
font-size: 20px;
padding-left: 8px;
padding-right: 6px;
color: #7ebae4;
}
#mode, #clock, #memory, #temperature,#cpu,#mpd, #custom-wall, #temperature, #backlight, #pulseaudio, #network, #battery, #custom-powermenu, #custom-cava-internal {
padding-left: 10px;
padding-right: 10px;
}
/* #mode { */
/* margin-left: 10px; */
/* background-color: rgb(248, 189, 150); */
/* color: rgb(26, 24, 38); */
/* } */
#memory {
color: rgb(181, 232, 224);
}
#cpu {
color: rgb(245, 194, 231);
}
#clock {
color: rgb(217, 224, 238);
}
/* #idle_inhibitor {
color: rgb(221, 182, 242);
}*/
#custom-wall {
color: #33ccff;
}
#temperature {
color: rgb(150, 205, 251);
}
#backlight {
color: rgb(248, 189, 150);
}
#pulseaudio {
color: rgb(245, 224, 220);
}
#network {
color: #ABE9B3;
}
#network.disconnected {
color: rgb(255, 255, 255);
}
#custom-powermenu {
color: rgb(242, 143, 173);
padding-right: 8px;
}
#tray {
padding-right: 8px;
padding-left: 10px;
}
#mpd.paused {
color: #414868;
font-style: italic;
}
#mpd.stopped {
background: transparent;
}
#mpd {
color: #c0caf5;
}

View File

@@ -0,0 +1,49 @@
{
config,
lib,
pkgs,
...
}: {
imports = [
./hardware-configuration.nix
../../nixos/desktop.nix
../../nixos/plasma.nix
../../nixos/hypr.nix
];
hardware.graphics = {
extraPackages = with pkgs; [
amdvlk
];
extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
};
services.xserver.videoDrivers = [ "amdgpu" ];
boot.loader.systemd-boot.enable = lib.mkForce false;
boot.lanzaboote = {
enable = true;
pkiBundle = "/var/lib/sbctl";
};
# Mount SMB share
fileSystems."/mnt/share" = {
device = "//haruko/share";
fsType = "cifs";
options = let
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
credentials = "${config.sops.templates."smb-credentials".path}";
in ["${automount_opts},credentials=${credentials},uid=1000,gid=100"];
};
networking.wg-quick.interfaces = {
wg0 = {
configFile = "/home/chase/wg0.conf";
};
};
system.stateVersion = "24.11";
}

View File

@@ -1,8 +1,11 @@
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
config,
lib,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
### this machine ###
@@ -16,36 +19,26 @@
# encrypted swap
boot.initrd.luks.devices."luks-9527937d-2d02-4feb-9a16-c9c417b33d0d".device = "/dev/disk/by-uuid/9527937d-2d02-4feb-9a16-c9c417b33d0d";
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = ["amdgpu"];
boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/1518dbe1-8322-48d3-9fc9-cd0478ccbf43";
fileSystems."/" = {
device = "/dev/disk/by-uuid/1518dbe1-8322-48d3-9fc9-cd0478ccbf43";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/1FCD-5A26";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/1FCD-5A26";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
options = ["fmask=0077" "dmask=0077"];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/dd48a14e-2c90-465b-81a3-661d31ebf39f"; }
swapDevices = [
{device = "/dev/disk/by-uuid/dd48a14e-2c90-465b-81a3-661d31ebf39f";}
];
# Mount SMB share
fileSystems."/mnt/share" = {
device = "//haruko/share";
fsType = "cifs";
options = let
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
in ["${automount_opts},credentials=/etc/nixos/smb-secrets,uid=1000,gid=100"];
};
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
@@ -56,4 +49,6 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
services.xserver.xkb.options = "ctrl:swapcaps";
}

13
hosts/anzu/home.nix Normal file
View File

@@ -0,0 +1,13 @@
{
config,
pkgs,
...
}: {
imports = [
../../home/desktop.nix
../../home/hypr.nix
../../home/plasma.nix
];
home.stateVersion = "24.11";
}

22
hosts/hosts.nix Normal file
View File

@@ -0,0 +1,22 @@
let
user = "chase";
in {
anzu = {
hostname = "anzu";
dir = "anzu";
arch = "x86_64-Linux";
user = user;
};
ichigo = {
hostname = "ichigo";
dir = "ichigo";
arch = "x86_64-Linux";
user = user;
};
kuromi = {
hostname = "kuromi";
dir = "kuromi";
arch = "x86_64-Linux";
user = user;
};
}

View File

@@ -0,0 +1,35 @@
{
config,
pkgs,
...
}: {
imports = [
./hardware-configuration.nix
../../nixos/desktop.nix
../../nixos/plasma.nix
../../nixos/hypr.nix
];
hardware.graphics = {
extraPackages = with pkgs; [
amdvlk
];
extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
};
services.xserver.videoDrivers = [ "amdgpu" ];
# Mount SMB share
fileSystems."/mnt/share" = {
device = "//haruko/share";
fsType = "cifs";
options = let
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
credentials = "${config.sops.templates."smb-credentials".path}";
in ["${automount_opts},credentials=${credentials},uid=1000,gid=100"];
};
system.stateVersion = "24.11";
}

View File

@@ -1,50 +1,43 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
config,
lib,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
### this machine ###
networking.hostName = "ichigo";
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/d248b616-bdb7-463d-94a6-9718de8dc85a";
fsType = "ext4";
};
### hardware config ###
# encrypted root and swap
boot.initrd.luks.devices."luks-d90b3a3d-bb12-4a29-a2b4-99487f0ff1ca".device = "/dev/disk/by-uuid/d90b3a3d-bb12-4a29-a2b4-99487f0ff1ca";
boot.initrd.luks.devices."luks-877310a4-b495-4060-9ee6-e7a841862f22".device = "/dev/disk/by-uuid/877310a4-b495-4060-9ee6-e7a841862f22";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/AA5A-18AD";
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = ["amdgpu"];
boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
fileSystems."/" = {
device = "/dev/disk/by-uuid/d248b616-bdb7-463d-94a6-9718de8dc85a";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/AA5A-18AD";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
options = ["fmask=0077" "dmask=0077"];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/752114b2-c304-4670-aba8-7288954605bc"; }
swapDevices = [
{device = "/dev/disk/by-uuid/752114b2-c304-4670-aba8-7288954605bc";}
];
# Mount SMB share
fileSystems."/mnt/share" = {
device = "//haruko/share";
fsType = "cifs";
options = let
automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users";
in ["${automount_opts},credentials=/etc/nixos/smb-secrets,uid=1000,gid=100"];
};
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction

13
hosts/ichigo/home.nix Normal file
View File

@@ -0,0 +1,13 @@
{
config,
pkgs,
...
}: {
imports = [
../../home/desktop.nix
../../home/hypr.nix
../../home/plasma.nix
];
home.stateVersion = "24.11";
}

View File

@@ -0,0 +1,18 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
pkgs,
...
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
../../nixos/base.nix
];
networking.hostName = "kuromi";
system.stateVersion = "25.05";
}

View File

@@ -0,0 +1,44 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" "sdhci_pci"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" = {
device = "/dev/disk/by-uuid/612f8704-c020-4188-85a7-27127e9b9ff2";
fsType = "btrfs";
options = ["subvol=@"];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/2211-57BE";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
};
swapDevices = [];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.eno0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

11
hosts/kuromi/home.nix Normal file
View File

@@ -0,0 +1,11 @@
{
config,
pkgs,
...
}: {
imports = [
../../home/base.nix
];
home.stateVersion = "25.05";
}

244
nixos/base.nix Normal file
View File

@@ -0,0 +1,244 @@
{
config,
pkgs,
lib,
inputs,
...
}: {
# Bootloader.
boot.loader = {
efi.canTouchEfiVariables = true;
systemd-boot = {
enable = true;
configurationLimit = 5;
};
};
# Garbage collection
nix = {
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 1w";
};
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
settings = {
auto-optimise-store = true;
download-buffer-size = 524288000;
experimental-features = ["nix-command" "flakes"];
};
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# Set your time zone.
time.timeZone = "America/New_York";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_GB.UTF-8";
};
# Configure keymap
console.keyMap = lib.mkDefault "jp106";
services.xserver.xkb = {
layout = lib.mkDefault "jp";
model = lib.mkDefault "jp106";
};
# Allow power management
powerManagement.enable = true;
# NetworkManager
networking.networkmanager.enable = true;
# Catppuccin
catppuccin = {
enable = true;
flavor = "mocha";
};
# Android debug tools
programs.adb.enable = true;
# Bash config
programs.bash = {
blesh.enable = true;
};
# zsh config
programs.zsh = {
enable = true;
enableCompletion = true;
enableBashCompletion = true;
autosuggestions.enable = true;
syntaxHighlighting.enable = true;
};
# Define a user account
users.users.chase = {
isNormalUser = true;
description = "Chase";
extraGroups = [
"adbusers"
"audio"
"cdrom"
"dialout"
"kvm"
"networkmanager"
"tss"
"video"
"wheel"
];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFSQX+s8Krl312DcnUtoEWOA2silcUnt5URtyVZz8Yek"
];
shell = pkgs.zsh;
};
# Install git and enable cache
programs.git = {
enable = true;
config = {
init = {
defaultBranch = "main";
};
credential = {
helper = "cache --timeout 21600";
};
};
};
# Install Neovim
programs.neovim = {
enable = true;
defaultEditor = true;
configure = {
customRC = ''
set autoindent
set number relativenumber
set tabstop=4
colorscheme catppuccin-mocha
'';
packages.myVimPackage = with pkgs.vimPlugins; {
start = [catppuccin-nvim];
};
};
viAlias = true;
vimAlias = true;
};
# ssh agent
programs.gnupg.agent.enable = true;
programs.ssh = {
enableAskPassword = false;
};
sops = {
defaultSopsFile = ../secrets.yaml;
validateSopsFiles = false;
age = {
sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
keyFile = "/var/lib/sops-nix/key.txt";
generateKey = true;
};
secrets = {
"smb-username" = {};
"smb-password" = {};
};
templates = {
"smb-credentials".content = ''
username=${config.sops.placeholder.smb-username}
password=${config.sops.placeholder.smb-password}
'';
};
};
# List packages installed in system profile.
environment.systemPackages = with pkgs; [
alejandra
bitwarden-cli
cifs-utils
flashrom
gcc
nixd
pam_u2f
pciutils
python3
qemu
rustup
sbctl
sops
usbutils
wget
wireguard-tools
yubikey-manager
];
security.pam = lib.optionalAttrs pkgs.stdenv.isLinux {
sshAgentAuth.enable = true;
u2f = {
enable = true;
settings = {
cue = false;
authFile = "~/.config/Yubico/u2f_keys";
};
};
services = {
login.u2fAuth = true;
sudo = {
u2fAuth = true;
};
};
};
security.tpm2 = {
enable = true;
pkcs11.enable = true;
tctiEnvironment.enable = true;
};
services.fstrim.enable = lib.mkDefault true;
# Firmware updates
services.fwupd.enable = true;
# Enable the OpenSSH daemon.
services.openssh = {
enable = true;
settings = {
PermitRootLogin = "no";
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
};
};
services.pcscd.enable = true;
# Enable CUPS to print documents.
services.printing.enable = true;
services.udev = {
packages = with pkgs; [
yubikey-personalization
];
extraRules = ''
SUBSYSTEM=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0202", MODE="0666", GROUP="dialout"
'';
};
services.yubikey-agent.enable = true;
}

119
nixos/desktop.nix Normal file
View File

@@ -0,0 +1,119 @@
{
config,
lib,
pkgs,
inputs,
...
}: {
imports = [
./base.nix
];
# Use latest stable kernel
boot.kernelPackages = pkgs.linuxPackages_latest;
# Enable Bluetooth
hardware.bluetooth.enable = true;
# Enable SDDM
services.xserver.enable = true;
services.displayManager.sddm = {
enable = true;
package = lib.mkDefault pkgs.kdePackages.sddm;
extraPackages = [pkgs.kdePackages.sddm-kcm];
wayland.enable = true;
enableHidpi = true;
};
# Catppuccin
catppuccin = {
sddm = {
enable = true;
background = "/home/chase/nix-config/home/wallpaper.jpg";
flavor = "mocha";
font = "IBM Plex Sans";
fontSize = "11";
};
};
# Enable graphics
hardware.graphics = {
enable = true;
enable32Bit = true;
};
i18n.inputMethod = {
type = "fcitx5";
enable = true;
fcitx5.addons = with pkgs; [
fcitx5-mozc
kdePackages.fcitx5-qt
];
fcitx5.waylandFrontend = true;
};
# Fonts
fonts = {
packages = with pkgs; [
corefonts
font-awesome
hachimarupop
ibm-plex
kanji-stroke-order-font
liberation_ttf
nerd-fonts.blex-mono
nerd-fonts.jetbrains-mono
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
];
fontconfig = {
defaultFonts = {
serif = ["IBM Plex Serif"];
sansSerif = ["IBM Plex Sans"];
monospace = ["BlexMono Nerd Font"];
};
};
};
# Enable sound with pipewire.
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# Install firefox
programs.firefox = {
enable = true;
nativeMessagingHosts.packages = [pkgs.firefoxpwa];
policies = {
DisableTelemetry = true;
DisableFirefoxAccounts = true;
DisableFirefoxStudies = true;
DisablePocket = true;
};
};
# Install Steam
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
# List packages installed in system profile.
environment.systemPackages = with pkgs; [
bitwarden-desktop
firefoxpwa
kdePackages.dolphin
protonup-qt
qpwgraph
yubioath-flutter
];
services.fprintd.enable = true;
}

39
nixos/hypr.nix Normal file
View File

@@ -0,0 +1,39 @@
{
config,
pkgs,
inputs,
...
}: {
# Cachix for Hyprland
nix.settings = {
substituters = ["https://hyprland.cachix.org"];
trusted-substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
# Hyprland
programs.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
withUWSM = true;
xwayland.enable = true;
};
programs.hyprlock.enable = true;
programs.uwsm = {
enable = true;
waylandCompositors = {
hyprland = {
prettyName = "Hyprland";
comment = "Hyprland compositor managed by UWSM";
binPath = "/run/current-system/sw/bin/Hyprland";
};
};
};
security.pam.services.hyprlock = {};
services.hypridle.enable = true;
}

24
nixos/plasma.nix Normal file
View File

@@ -0,0 +1,24 @@
{
pkgs,
...
}: {
services.desktopManager.plasma6.enable = true;
environment.plasma6.excludePackages = with pkgs.kdePackages; [
elisa
kate
];
# List packages installed in system profile.
environment.systemPackages = with pkgs; [
(catppuccin-kde.override {
flavour = ["mocha"];
accents = [
"blue"
"lavender"
"pink"
"sapphire"
];
winDecStyles = ["classic"];
})
];
}

44
secrets.yaml Normal file
View File

@@ -0,0 +1,44 @@
smb-username: ENC[AES256_GCM,data:pFkBi+c=,iv:JSRlBHBGMNZVZZuQaSHj/cpXOaxRV3xkG/OaTOjFDZc=,tag:ALMWCi+gAqt2HtSKGGaS5Q==,type:str]
smb-password: ENC[AES256_GCM,data:LgxYSOZhj5DwvTwAoF0cLJezxYQ=,iv:is3PWEgvWmbFc39npdjD9qYrMo76wWAczZlo7LCoNf0=,tag:vanjCeI01KaL5STCSwxM/g==,type:str]
sops:
age:
- recipient: age19uwxm2gynhjl9m90gckrkh76m9hjut44ak6d8969y4swhz8ypyeqvfcaas
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvT1pKc1VrVllURWozOXd1
NURBT1haRlBkeHB3eTVabmhWMEI0a1JySDFjCkU3Ry9QaEpRTllaZlRZUllJOUtF
U0ZtOFJRbmEwYnFwK1JRNkJQQXlVVnMKLS0tIGRBZTloenV2YkhGMllUSEx5UGlk
emcvaGhuRStCRFBPY29UdmhPeUhqWDQKkabWErK0qtwVnWza7UfhmX9yfIZJC1XV
MOsdxHryfilLFHhzOI2UGM2dzKlukNvHwAuJmoRkwjIj8Ugj1sU3nA==
-----END AGE ENCRYPTED FILE-----
- recipient: age1wdjujpvc2zd0g592a9gqa7qzz4pcans8m0tyq3m6eq9np9a3lg2s8kxf3h
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQbDBPVUFTcERIaEh4ZHp3
aW1GQXlVQThyeDdVYzNYNHlqcFRIYVNpa2xNCmpMeml4REpsRDl1SU1pSm92SU1V
OXNhUklhTGxRMTRTV3dlbENsTVlXTVEKLS0tICtzU3ZteFNCOEo3NmVwNE1ydHVM
dFpJMXowc3h1MHdBYVZLc0Y5bXZoTUkKFs67JKeHhZiK2tAu7Poh4Fou5QYm8HXK
r09HeCuiIfxjRuT1t8nRvRALdzOG6xNuPULs6aCdjpa/d0EvnXyw+w==
-----END AGE ENCRYPTED FILE-----
- recipient: age1hpcyetyl0yrwxy0geem6z2u2kwl4hmckur7pnaaxwaylf8ata9vsv8j3wh
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmb3oyWFBvdXIxRkNtL0xs
aGNzQ0RERXB3TGFUOVBTQm5wOUlodkZiMXlvClFXR1Z0ZHpFa2RyUlYzL01Bb2RN
UGZNREVqRU9ZRVhMQ3VMYUNKcUI4WTgKLS0tIDB5RmkzSTdwSTVUQjJMbklxeFM5
M0s3QmI4MzNiVy8yNGE2TG01Z1paOWcKIGj+ofrO443CiK1n3J291KwnKqmG99+M
1mYfFrvpx/yVTzt2Pk5ioTC+hzDWUHy1gR8vQTVTjGkhU8cBCzNR/w==
-----END AGE ENCRYPTED FILE-----
- recipient: age1culqt965xgweu5h6menrppf7eatq7at04z0n52t365f0nvlv043su5t2yl
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWOVQ2ZzhZT0pqZjIzQXp1
dzBuVEcyYS9MSW8vdnFPT2p4NzJBZ3g2K0c4CmpqSC9XRFBsdUJsM1phckQ4aW5D
RFZmTFJMSkR5VE9idzJMZGZzajFBWFEKLS0tIElnTXg5aUNQVE5qOGlxd00zY0NX
ZGRES0oyeGZSRHBQU0RQNzNZd1VBZTAKhRXixVaTXhZrTmntLGaC9WIm/Ylm3tp7
xQxZA8n5PRtqENa5Cj3jqJQS2gmwy5kixO9U6IHzMWntBE7zr/hKrQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-06-08T19:43:47Z"
mac: ENC[AES256_GCM,data:9YpgBrJwWhz2utNPldpIU/ylaN2QfkSj1LvWa8sISSnuXvsBsZ8a+oNzuGDd5+Q1pSYtoiBt6viqZn65wp8x+kb9ZMJdsWoZZG2U1b3rHUsadOYarvwMVDoQ5TZFFjEOyzyCgT7ln6v1rfAKwL5LJ3Kjv6SRIb9dK51sDsVijhQ=,iv:yTlxgZoOdB7pu5iZKP+q1cXbDsTT5HgsWo4tkix8948=,tag:qJbiq+Fayx5L9V7to1ijvQ==,type:str]
unencrypted_suffix: _unencrypted
version: 3.10.2