Compare commits

..

1135 commits

Author SHA1 Message Date
924e9b7ab4 Syncthing: move device info to separate file 2025-12-20 01:00:31 +01:00
beb9705d2f Flake: update secrets 2025-12-19 13:21:31 +01:00
b5a8a9a545 Common; disable mutable users 2025-12-19 12:20:35 +01:00
6365f7b4f3 Common: set toast password 2025-12-19 12:14:24 +01:00
27babd819c Flake: update lock file 2025-12-19 00:52:35 +01:00
0d0d6ebb56 Machines/Archie: mount hard drive 2025-12-19 00:52:35 +01:00
fa8efef26a Programs/distrobox: add container 2025-12-19 00:52:35 +01:00
e8af512370 Desktop/distrobox: enable 2025-12-19 00:52:35 +01:00
15149a7968 Server/syncthing: remove school things folder 2025-12-15 09:53:02 +01:00
9f53c984f4 Server/borg: allow connections from localhost 2025-12-14 21:33:40 +01:00
4828dc5a21 Server: add borg repos 2025-12-14 02:18:31 +01:00
2d801ae06a Server/ssh: only allow toast user 2025-12-14 02:16:23 +01:00
d8f2812003 Server/caddy: wait for tailscale ip before starting 2025-12-14 01:07:51 +01:00
e863aea052 Run formatter 2025-12-14 01:07:21 +01:00
04163b2c79 Common/kmscon: enable 2025-12-13 16:31:56 +01:00
3f0333b4a0 Kde/patches: add more patches 2025-12-13 16:31:56 +01:00
d7c245ed8e Desktop: install tetrio 2025-12-13 16:31:56 +01:00
83831f6a75 Common: append -iso to the variant id if building an iso 2025-12-13 16:31:56 +01:00
9be3caddbc Common: set up a default time zone 2025-12-13 16:31:56 +01:00
76ecdba67e Machines/Everest: wait for DNS to be available 2025-12-13 00:37:31 +01:00
03f0570342 Machines/WinMax2: remove jovian
I basically didn't use it, and it just caused more issues than anything
2025-12-09 19:28:15 +01:00
4e9a1dae72 Server/ssh: write ssh keys to correct locations 2025-12-09 19:17:41 +01:00
b668212daf Server: migrate secrets to sops 2025-12-08 17:51:55 +01:00
859a4b20a5 Common: set up default sops file 2025-12-08 01:39:48 +01:00
72c8a0e7e2 Server/syncthing: fix id of games folder 2025-12-07 23:19:54 +01:00
351bd99fdf Flake: add nixpkgs patch 2025-12-06 18:31:24 +00:00
1ea530a2a6 Desktop/networkManager: add home wifi 2025-12-06 04:41:12 +01:00
7277135a5b Desktop/networkManager: refactor 2025-12-06 04:16:48 +01:00
8c6fdd5b51 Desktop/NetworkManager: migrate secrets to sops-nix 2025-12-06 03:37:06 +01:00
1d1b76b329 Flake: add sops-nix 2025-12-06 03:31:56 +01:00
9ca56553f7 Justfile: update secrets repo url 2025-12-06 02:33:40 +01:00
4361d6e0a9 Flake: remove stable catppuccin 2025-12-06 00:09:31 +01:00
e6bdf0f984 Common/git: update git and delta settings 2025-12-06 00:09:31 +01:00
8331e8c875 Flake: update lock file, switch stable to 25.11 2025-12-06 00:09:31 +01:00
ed8a6297b7 Gaming/pcsx2: refactor, add game config for burnout 3 2025-12-06 00:05:39 +01:00
eb5ebb056c Gaming: patch sdl to ignore keychron things 2025-12-05 23:59:26 +01:00
8b86b1ccc0 Flake: update lock file 2025-11-19 12:01:11 +01:00
ce5be49975 Kde/patches: add spectacle patches 2025-11-16 01:41:14 +01:00
85b1605ea9 Pkgs/kame-editor: add required programs to wrapper path 2025-11-15 18:56:36 +01:00
0bfe20a736 Packages: add kame-editor and dependencies 2025-11-11 17:12:37 +01:00
5ddac8b95b Roles/common: use flake overlay 2025-11-11 17:12:37 +01:00
b1e5e83744 Flake: get packages from overlay 2025-11-11 17:12:37 +01:00
c42c6cd83a Flake: remove unused packages 2025-11-11 17:12:37 +01:00
afab4c4d0a Server: remove school.nix
Haven't used this in months
2025-11-07 02:16:55 +01:00
284bd502f0 Server/forgejo: use unix socket 2025-11-07 01:05:05 +01:00
9f7cf822ed Roles: delete gnome
Only used it on the iMac
2025-11-06 22:41:38 +01:00
b8264643e6 Machines: remove iMac 2025-11-06 22:40:29 +01:00
8b9eae079e Desktop/firefox: add control panel for twitter 2025-11-05 10:28:33 +00:00
c00ef6ab7c Kde/patches: get patches with lib.toast.patches.patchesInPath 2025-11-02 13:44:37 +01:00
16f79d8a7d Kde/patches: remove plasma-workspace patch
Lots of packages depend on plasma workspace, so it's not worth building
all of them just for a small patch
2025-11-02 13:43:34 +01:00
c914256c97 Kde/patches: add plasma-desktop patches 2025-11-02 13:43:13 +01:00
2240c4e256 Add custom lib 2025-11-02 09:59:40 +01:00
8f97bc80e3 Common/nix: remove now redundant system nixpkgs flake registry 2025-11-02 00:57:49 +01:00
392df35a1c Flake: update lock file 2025-11-01 21:09:14 +01:00
d916c8f36a Revert "Flake: add nixpkgs patch to fix rtkit"
This reverts commit 13c1d5864d.
2025-11-01 18:44:01 +01:00
03b73e7090 Revert "Roles/gaming: fix emulator build issues"
This reverts commit 65eb518651.
2025-11-01 18:43:19 +01:00
d3a3617e29 Deskop/discord: enable translate plugin 2025-10-28 19:13:07 +01:00
4da3beb168 Desktop: add tailscale system tray 2025-10-28 19:03:26 +01:00
74175100c7 Gaming/steam: open firewall for local network game transfers 2025-10-26 19:41:18 +01:00
c8d487d374 Gaming/steam: install sgdboop, move comment to place 2025-10-26 19:38:06 +01:00
13c1d5864d Flake: add nixpkgs patch to fix rtkit 2025-10-26 12:47:08 +01:00
91d0d875ea Desktop/firefox: disable AI features 2025-10-25 00:26:05 +02:00
1b620d556b Kde/kwin: enable overlays 2025-10-25 00:14:37 +02:00
65eb518651 Roles/gaming: fix emulator build issues 2025-10-24 01:12:22 +02:00
e15a9c0c01 Kde/patches: remove patches that are in plasma 6.5 2025-10-24 01:07:37 +02:00
2c49a7318b Flake: update lock file 2025-10-24 00:41:26 +02:00
93944f1391 Kde/kwin: enable wayland pip support 2025-10-23 23:54:16 +02:00
c777f0e5f1 Common/nix: disable nixos-options 2025-10-18 11:43:11 +02:00
0af0720268 Flake: update lock file 2025-10-18 01:12:59 +02:00
3d91ef0932 Desktop/syncthing: add another missing option 2025-10-18 01:08:11 +02:00
f445891c25 Kde/patches: delete merged patches 2025-10-18 01:08:11 +02:00
cf08bc61b2 Flake: use stable catppuccin nix for Everest 2025-10-04 17:28:08 +02:00
3fedba90c4 Server/beets: enable mbsync and random plugins 2025-10-04 00:17:24 +02:00
fc803fd67e Kde/patches: add more patches 2025-09-30 21:08:38 +02:00
a4f27b49af Kde/patches: override packages instead of replacing at runtime
This causes A LOT more rebuilds, but it's less hacky
2025-09-30 21:08:38 +02:00
68218ec187 Kde/patches: delete merged patches 2025-09-30 21:08:38 +02:00
641ebc7ad9 Flake: update lock file 2025-09-30 21:08:38 +02:00
8597f372c0 Flake: remove unneeded patches 2025-09-30 21:08:38 +02:00
2fc9fe9e1a Server/beets: make music library accesible with copyparty 2025-09-29 14:21:47 +02:00
75312f7622 Server/copyparty: set up db directory, enable rproxy 2025-09-29 14:21:47 +02:00
86fe2646d1 KDE/Patches: don't garbage collect the <package>-patched packages 2025-09-26 18:43:27 +02:00
57125b4bf8 Flake: add nixpkgs patches 2025-09-26 00:01:11 +02:00
8fdeb93bc5 Server: add minecraft 2025-09-22 17:41:39 +02:00
ccebf381b0 Server/beets: configure permissions plugin 2025-09-21 19:18:43 +02:00
09d0847ea4 Desktop/kde: add patches 2025-09-19 18:00:15 +02:00
b6119bd2cc Server/beets: enable chroma plugin 2025-09-19 15:09:32 +02:00
3e29186990 Server: add navidrome 2025-09-19 15:09:32 +02:00
e1c1ff801d Server/copyparty: add to rust_motd 2025-09-19 15:09:32 +02:00
eb2a4ea67a Server: add beets 2025-09-19 15:09:32 +02:00
ae0393ae37 Flake: update lock file 2025-09-18 21:33:20 +02:00
cd876e3a17 Machines/Archie: fix headphones not being detected sometimes 2025-09-18 21:33:10 +02:00
69c5e8d9be Server/syncthing: add to rust-motd 2025-09-11 01:44:26 +02:00
fb317980e2 Machines/Everest: set static time zone 2025-09-11 01:32:50 +02:00
2615b290a1 Server/forgejo: use lts 2025-09-11 01:27:25 +02:00
e43910155c Desktop/ssh: remove default config 2025-09-09 11:54:40 +02:00
38df2ff9d6 Kde/plasma: update plasma-manager home manager module name 2025-09-07 01:12:22 +02:00
0a00c2b25a Desktop/mpv: set cd speed to 8 2025-09-07 01:08:31 +02:00
eecbb372cb Kde/patches: remove unneeded dolphin patches 2025-09-05 18:46:01 +02:00
28245e92f5 Flake: update lock file 2025-09-05 18:45:52 +02:00
970da745ad Desktop/keepassxc: update configs 2025-08-26 14:58:06 +09:00
338714285e Flake: update lock file 2025-08-26 14:57:55 +09:00
f934ff1092 Desktop/mpv: enable cdda support 2025-08-19 12:12:11 +09:00
164d665324 Common: set up timezone automatically 2025-08-15 11:24:49 +09:00
190010e31f Desktop/networkmanager: disable wifi mac address randomisation 2025-08-15 04:17:56 +02:00
2b42883523 Machines/WinMax2: use stock mesa and radv 2025-08-04 15:35:48 +02:00
cd58dde5fd Flake: update lock file 2025-08-04 10:45:47 +02:00
3af90c044f Flake: switch to upstream copyparty 2025-08-04 10:45:32 +02:00
91e57025b7 Machines/WinMax2: enable secure boot 2025-08-02 15:27:29 +02:00
48993bb1e6 Machines/WinMax2: disable inputplumber 2025-08-02 15:27:29 +02:00
64d2ca9c23 Machines/WinMax2: reduce limine timeout 2025-08-02 15:27:29 +02:00
2df0370ce0 Machines/WinMax2: switch to limine 2025-08-02 15:27:29 +02:00
2fea832484 Revert "Desktop/NetworkManager: change dhcp implementation"
This reverts commit f29d5d4207.
2025-08-02 15:27:29 +02:00
90028fb7fe Roles/server: add copyparty 2025-07-30 03:27:36 +02:00
fb41beb270 Common/eza: set group option 2025-07-30 02:53:52 +02:00
5fc8c72a51 Flake: add copyparty flake 2025-07-30 00:18:55 +02:00
283ef9c680 Flake: update lock file 2025-07-21 15:25:12 +02:00
d824d6269c Roles/kde: get rid of kwin-x11 2025-07-21 15:25:12 +02:00
25cad55c78 Gaming/pcsx2: update ps2 bios link 2025-07-21 15:25:12 +02:00
820e082f49 Kde/plasma: enable i2c 2025-07-21 15:25:12 +02:00
264942168d Machines/Everest: update eno1 prefixLength
Forgot to update this when I switched to the isp router. Whoops!
2025-07-21 13:18:21 +02:00
fe93e06d34 Flake: update lock file 2025-07-09 15:15:41 +02:00
a82ddf87df Kde/patches: remove unneeded kwin patches 2025-07-09 13:59:32 +02:00
19493e8ef6 Kde/patches: update patches 2025-07-09 13:56:20 +02:00
a959fb46be Common/atuin: set default filter mode to workspace 2025-07-06 13:15:00 +02:00
7c242b437d Desktop/discord: use catppuccin vencord module 2025-07-05 19:24:24 +02:00
98f9b3a8fc Add kde patches
The nixpkgs patch is to clear out a conflict with a patch that's applied
to plasma-workspace by nixpkgs
2025-07-05 14:52:58 +02:00
fd0f27145a Flake: update lock file 2025-07-04 18:01:12 +02:00
d05764d3dd Roles/kde: remove all patches 2025-07-04 18:00:51 +02:00
d87450b305 Roles/desktop: add japanese fonts 2025-07-04 17:06:07 +02:00
2c6009b5b8 Flake: update secrets url 2025-06-24 13:24:31 +02:00
a741b9b559 Server/forgejo: expose to the internet 2025-06-06 18:54:14 +02:00
bb801f4e4c Common: update stateVersion 2025-06-03 21:19:02 +02:00
c37d347ba1 Flake: switch stable nixpkgs and home-manager to 25.05 2025-06-03 20:44:05 +02:00
0bfc27e90f Flake: update lock file 2025-06-03 18:19:41 +02:00
53df838182 Server: remove changedetection.io 2025-05-31 11:40:50 +02:00
f29d5d4207 Desktop/NetworkManager: change dhcp implementation 2025-05-26 16:19:52 +02:00
9aea5cd1f6 Flake: remove uneeded nixpkgs patches 2025-05-15 19:29:57 +02:00
9666439eeb Flake: update lock file 2025-05-15 19:29:17 +02:00
50e6fac406 Gaming/azahar: use nixpkgs version 2025-05-15 18:40:27 +02:00
ce69f89492 Desktop: remove git cola 2025-05-06 13:33:13 +02:00
c2d28ac798 Desktop/discord: get mauve catpuccin theme 2025-04-30 17:48:42 +02:00
22896ea923 Common/atuin: use catppuccin theme 2025-04-27 19:25:24 +02:00
203ffb3738 Common/atuin: bring back pre 18.4 behaviour 2025-04-27 19:01:34 +02:00
d2d28a968f Desktop/discord: configure vencord 2025-04-27 18:43:04 +02:00
f7e9fd9cad Desktop/discord: use vesktop module 2025-04-27 02:53:25 +02:00
6e5a9ca208 Desktop/keepassxc: move to new module 2025-04-27 02:32:00 +02:00
85c3c570dd Flake: add nixpkgs patches
Update and fix rpcs3 package
2025-04-27 00:23:28 +02:00
db6366a491 Flake: update lock file 2025-04-27 00:21:53 +02:00
f8140164d1 Desktop/jamesdsp: remove old build fix
Patch that fixes the build is already upstreamed, so this is entirely
  unneeded. Not even sure how it still compiled with the fix twize tbh
2025-04-25 10:57:31 +02:00
1a927b60be Keep nixpkgs-patches folder 2025-04-24 11:19:19 +02:00
f06d9b0e01 Machines/WinMax2: don't disable direct scanout 2025-04-19 19:03:30 +02:00
83977d50ae Gaming: install azahar 2025-04-18 00:38:38 +02:00
6292a84a01 Flake: remove school role 2025-04-15 17:26:54 +02:00
28c64bd454 Kde/kwin: add patches 2025-04-15 16:39:04 +02:00
a377ad8176 Server/samba: overhaul config 2025-04-12 01:00:05 +02:00
dafbcb9f8d Server: remove school things 2025-04-03 20:05:47 +02:00
513dab012d Flake: update lock file 2025-04-03 19:34:28 +02:00
630e634cd2 Flake: remove unneeded patches 2025-04-03 19:34:28 +02:00
f7a528a94f Firefox: install and configure containers extension 2025-04-03 19:34:28 +02:00
35f9aaca7d Desktop/firefox: change tab switcher order for toast 2025-04-03 19:34:28 +02:00
989f5407ec Desktop/firefox: install sponsorblock for toast 2025-04-03 19:34:28 +02:00
cb1230214a Desktop/firefox: uninstall undeclared extensions 2025-04-03 19:34:28 +02:00
bc9098525b Desktop/firefox: set up per user settings 2025-04-03 19:34:28 +02:00
0bd973fb25 Kde/firefox: manage with home-manager 2025-04-03 19:34:28 +02:00
90b1e43b99 Desktop/firefox: manage firefox with home-manager 2025-04-03 19:34:28 +02:00
7fce74c605 Desktop: install spotify 2025-04-03 19:34:28 +02:00
1815e8e3f6 Desktop/firefox: enable autoplay on synctube 2025-04-03 19:34:28 +02:00
a47d0a090d Kde/patches: use replaceDependencies to avoid mass rebuilds 2025-04-03 19:34:28 +02:00
5832fcb26b Flake: add nixpkgs patches 2025-04-03 19:34:28 +02:00
00cbe6876e Kde/patches: refactor overlay function 2025-04-03 19:34:28 +02:00
b8a2c3c10d Server/tailscale: wait more time for ip to be up 2025-03-25 22:31:06 +01:00
421a389bdb Server/ddclient: change ip provider 2025-03-25 22:30:49 +01:00
c925026183 Revert "Machines/WinMax2: temporarely change to default kernel"
This reverts commit b123ab87df.
2025-03-15 17:29:27 +01:00
5d77bb0959 Desktop/jamesdsp: install using home-manager, fix build 2025-03-15 17:08:45 +01:00
71a1bad913 Flake: drop nur 2025-03-15 17:07:47 +01:00
8385b2d6e6 Gaming/rpcs3: use package from nixpkgs 2025-03-15 17:07:09 +01:00
0c64697063 Flake: update lock file 2025-03-15 17:05:23 +01:00
a0fadd7a1b Revert "Kde: fix qt wayland"
This reverts commit f3ee33177f.
2025-03-15 09:39:23 +01:00
c366ce1cbe Common: add .local/bin to path 2025-03-14 19:42:22 +01:00
ba96c9b687 Revert "Desktop/discord: revert vesktop to electron 33"
This reverts commit 922c492412.
2025-03-12 12:55:00 +01:00
790b5ec4e7 Machines/everest: change eno1 ip 2025-03-10 14:18:51 +01:00
6be10e325a Server/adguard: get host ip dinamically 2025-03-10 14:18:29 +01:00
965a5eef13 Server/ssh: remove log 2025-03-09 11:55:52 +01:00
0617934f31 Flake: make nur follow nixpkgs unstable 2025-03-07 02:59:58 +01:00
23d426f0ea Kde/plasma: reenable kickoff's switch on hover 2025-03-05 13:06:41 +01:00
a7545faa45 Kde: add spectacle patch 2025-03-05 02:20:39 +01:00
92a6c20c18 Kde: add kinfocenter patches 2025-03-05 02:20:39 +01:00
f3ee33177f Kde: fix qt wayland 2025-03-05 02:20:39 +01:00
da57debd66 Kde: load patches automatically 2025-03-05 02:20:39 +01:00
a483112a32 Server/transmission: upgrade to transmission 4 2025-03-03 18:11:30 +01:00
68ea0f03f2 Flake: remove unneeded patch 2025-03-03 18:08:06 +01:00
cbbef2a3a6 Flake: update lock file 2025-03-03 18:07:55 +01:00
8279721102 Kde/skanpage: use qt6 package 2025-03-03 17:14:09 +01:00
922c492412 Desktop/discord: revert vesktop to electron 33 2025-02-20 17:29:53 +01:00
36d0ee851e Flake: Add patch to fix nixpkgs-unstable grup install script 2025-02-19 17:29:26 +01:00
d0a38fbfa3 Server/forgejo: enable catppuccin theme 2025-02-19 17:25:45 +01:00
40d2622862 Flake: update lock file 2025-02-19 16:08:28 +01:00
5640408d9f Roles/kde: remove patches
All of this patches are in 6.3, so they're not needed anymore
2025-02-19 15:23:04 +01:00
789157e3bf Flake: update shows-api input 2025-02-07 23:31:25 +01:00
1c7d4a513d Server/headscale: never stop trying to restart 2025-02-07 20:13:08 +01:00
c46418c783 Gaming/PCSX2: fix games location 2025-02-04 09:52:20 +01:00
3dd73e0b24 Desktop/keepassxc: replace manual autostart config with home-manager module 2025-01-31 11:11:43 +01:00
bdff3d97e9 Desktop: enable xdg autostart 2025-01-31 11:11:23 +01:00
8bfd76f23c Flake: update lock file 2025-01-31 10:48:46 +01:00
b123ab87df Machines/WinMax2: temporarely change to default kernel 2025-01-31 10:48:21 +01:00
6adbd2d38c Flake: remove unneeded patch 2025-01-31 10:48:05 +01:00
ac36661d4e Server/school: add dns record and caddy reverse proxy 2025-01-27 13:29:31 +01:00
8a700174b1 Flake: add shows-api input 2025-01-27 11:17:09 +01:00
786e3967e3 Server: add school container
This container is for hosting things that I need for school
I don't trust my code to be secure yet, so that's why it's in a
container
2025-01-27 10:59:00 +01:00
f8bf8ed7a4 Flake: update lock file 2025-01-27 10:55:28 +01:00
bcff4d2cbe Server/immich: add too rust-motd service status 2025-01-25 15:37:45 +01:00
251f88df02 Server: add immich 2025-01-23 23:12:42 +01:00
5847ecfe1b Machines/everest: change boot partition location 2025-01-23 19:28:32 +01:00
573fbdd240 School/helix: set up prettier as js/ts/tsx formatter 2025-01-21 19:28:42 +01:00
65b7cf4ab6 School: configure helix with typecript lsp 2025-01-19 20:45:57 +01:00
a59b356e9d Flake: add the school role to archie 2025-01-19 12:37:01 +01:00
dec75b3f7e Common/helix: change diagnostics options 2025-01-18 16:54:37 +01:00
83f7d01824 Flake: backport nixpkgs pr to stable nixpkgs 2025-01-18 13:14:06 +01:00
91da240751 Server/adguard: change local IP address 2025-01-18 12:30:26 +01:00
02fcfb5008 Flake: update lock file 2025-01-18 00:28:22 +01:00
2f970835b2 Flake: remove unneeded nixpkgs patch 2025-01-18 00:27:52 +01:00
77edacc9d4 Roles/kde: add kwin and plasma-workspace patches 2025-01-17 22:21:12 +01:00
b6bd1ec321 Flake: update nixpkgs patch 2025-01-17 16:36:11 +01:00
a60ca21925 Machines/Everest: change ip address and default gateway 2025-01-15 11:06:26 +01:00
d713ba1f15 Flake: add nixpkgs patch 2025-01-14 10:51:13 +01:00
904bb98f36 Flake: fully remove nix-minecraft references 2025-01-13 12:44:37 +01:00
36ac10c6dd Server/grafana: change security settings 2025-01-13 12:42:25 +01:00
24f4f270c1 Server/grafana: set root url 2025-01-13 12:42:25 +01:00
d93a2a7993 Flake: remove nix-minecraft 2025-01-10 18:41:48 +01:00
67989ca1a8 Server/endlessh: open firewal
I got confused and closed the firewall
thinking it was for the prometheus metrics
2025-01-10 11:26:57 +01:00
d65b4380e7 Server/grafana: provision prometheus datasource 2025-01-10 10:45:40 +01:00
3d4deae65a Server/grafana: disable telemetry 2025-01-10 10:10:47 +01:00
daf1e39df3 Justfile: remove update-input recipe 2025-01-09 11:17:28 +01:00
c154d91613 Server/grafana: configure default username and password 2025-01-09 11:17:28 +01:00
5631236aff Flake: udate secrets 2025-01-09 11:17:28 +01:00
8933b405d4 Server/endlessh: disable stderr logging, enable geoip 2025-01-09 11:17:28 +01:00
c66d7c21da Flake: add nixpkgs pr 2025-01-09 11:17:28 +01:00
bd0d7e5495 Server/endlessh: don't open firewall, add prometheus integration 2025-01-09 11:17:28 +01:00
88235bb32e Server: add grafana 2025-01-09 11:17:28 +01:00
a2bce9715d Server: add prometheus with node exporter 2025-01-09 11:17:28 +01:00
710e431dad Machines/WinMax2: add boot debugging specialisation 2025-01-09 09:43:01 +01:00
fb7b164a6c Common/atuin: change options 2025-01-09 09:31:58 +01:00
335205338f Server/forgejo: upgrade to non lts version 2025-01-04 02:55:24 +01:00
ebbbc8da58 Server/caddy: precompress the NixOS manual 2025-01-04 02:55:24 +01:00
dca3d05aec Server/forgejo: enable repo indexer 2025-01-04 02:55:24 +01:00
f83298f632 Flake: update lock file 2025-01-04 02:52:16 +01:00
a1d47a2744 Common: update catppuccin options 2025-01-04 02:32:18 +01:00
c396ca7400 Common/helix: disable nano 2025-01-04 01:57:25 +01:00
a275c8d43e Common/syncthing: open firewall ports 2025-01-02 22:59:37 +01:00
74ed35e5f4 Server/caddy: adjust systemd restart parameters 2025-01-02 22:51:52 +01:00
21c8f8c7e4 Machines/Everest: remove unneeded firewall options 2025-01-02 21:24:50 +01:00
98ebbcfbd3 Server/minecraft: remove 2025-01-02 20:37:09 +01:00
7eeff4c125 Server/syncthing: add games folder 2024-12-29 16:13:33 +01:00
16d3391714 Gaming/retroarch: update retroarch library automatically 2024-12-29 16:10:02 +01:00
fcba25620b Gaming/syncthing: sync games with syncthing 2024-12-29 16:09:15 +01:00
68994153d0 Gaming/pcsx2: fix typos in syncthing ignore file 2024-12-29 16:08:08 +01:00
62cf076375 Gaming: don't add games to the store 2024-12-29 16:05:51 +01:00
135cd0642b Gaming/syncthing: sync project eden save files 2024-12-24 14:46:51 +01:00
3733eb8b3a Server: add changedetection-io 2024-12-19 11:58:38 +01:00
2d4374899c Kde/plasma: add plasma_desktop pr 2661 2024-12-19 00:47:48 +01:00
ba2d6eb02a Kde/kwin: add kwin pr 6844 2024-12-19 00:47:20 +01:00
0c754f1930 Kde/kwin: app pr 6878 2024-12-18 16:19:39 +01:00
577aa1cc33 Kde/konsole: remove now-upstreamed patch 2024-12-18 15:49:04 +01:00
fe9678388d Flake: update lock file and remove unneeded nixpkgs patches 2024-12-18 15:47:03 +01:00
49130f062d Gaming/syncthing: sync project diva mods 2024-12-16 10:32:41 +01:00
0b3613086c Kde/plasma: add entry for mouse over bluetooth 2024-12-15 19:40:48 +01:00
ce51dd5dd3 Gitignore: ignore nix repl result files 2024-12-15 19:31:15 +01:00
d130ffb20d Common/nix: remove unneeded nixpath workaround, update comment 2024-12-15 16:25:48 +01:00
99056c9f32 Run formatter 2024-12-15 15:43:36 +01:00
5895f4beb1 Kde/plasma: add mouse settings 2024-12-15 15:42:25 +01:00
a2eacddd44 Kde/konsole: replace fetchFromGitHub with flake input 2024-12-15 03:07:23 +01:00
3eaabeacd9 Machines/Archie: remove btrfs compression 2024-12-15 02:30:44 +01:00
4bb34105f1 Machines/Archie: replace usb_storage module with nvme 2024-12-15 02:28:56 +01:00
efc4b199a4 Common: update state version 2024-12-10 17:34:22 +01:00
049a95e7b0 Server/forgejo: chage root url to https 2024-12-10 17:13:18 +01:00
10f09226eb Update changed options 2024-12-10 11:23:35 +01:00
75e75a571e Kde/kwin: update patch 2024-12-10 11:23:16 +01:00
9aabffc52a Flake: remove uneeded nixpkgs patches 2024-12-10 11:13:29 +01:00
5eab2e1ccc Flake: update lock file 2024-12-10 11:10:33 +01:00
49e920ac97 Flake: update nur 2024-12-10 11:08:59 +01:00
16d61d8d73 Machines/WinMax2: remove now uneeded steam HiDPI workaround 2024-12-10 00:35:17 +01:00
45daaddfb6 Revert "Machines/WinMax2: enable bluetooth wake from sleep"
This reverts commit aee3b50212.
Turns out this makes it so that I get instant wakeup after sleep
2024-12-10 00:28:17 +01:00
818bb17a3f Flake: update hhd nixpkgs pr 2024-12-10 00:27:27 +01:00
cf66663534 Flake: add nixpkgs pr 2024-12-10 00:27:15 +01:00
22dc0e1915 Flake: fix giving patched nixpkgs the wrong arguments 2024-12-09 18:34:24 +01:00
d7f7561cbb Kde/kate: install qt6 version 2024-12-05 12:49:31 +01:00
a6a4f594cf Server/ddclient: update options 2024-12-05 09:16:25 +01:00
581f281950 Server/ssh: remove trace 2024-12-05 09:16:25 +01:00
aee3b50212 Machines/WinMax2: enable bluetooth wake from sleep 2024-12-03 10:24:34 +01:00
30e89ac9d3 Flake: add pr 361364 2024-12-03 09:29:27 +01:00
ff4ceecd67 Server/samba: update options 2024-12-02 12:15:01 +01:00
7c98655a99 Common/eza: remove workaround for 24.05 2024-12-02 12:14:35 +01:00
fc51305ad6 Revert "Flake: backport headscale changes to stable nixpkgs"
This reverts commit fdad5d88bb.
2024-12-02 12:14:09 +01:00
5c8044283a Flake: upgrade stable nixpkgs and home-manager 2024-12-02 12:11:26 +01:00
dc4f025318 Server/caddy: double restartSec duration 2024-11-28 10:53:33 +01:00
565e5f8224 Flake: update lock file 2024-11-28 10:52:44 +01:00
bdc9c97289 Flake: remove unneeded patch 2024-11-28 10:45:52 +01:00
4a4284bce2 Flake: add pr 359282 2024-11-27 10:15:11 +01:00
bcb20eb1ca School/programs: install mongodb compass 2024-11-26 12:12:56 +01:00
74d858d5c5 Kde: configure baloo 2024-11-26 09:57:22 +01:00
dd07992751 Flake: update lock file and change nixpkgs patches 2024-11-24 22:26:22 +01:00
e4f9e94269 Desktop/syncthing: run as a user service managed by home-manager 2024-11-24 04:18:50 +01:00
69c9bfca26 Common: start services managed bu home-manager 2024-11-23 21:02:35 +01:00
ed5cbe1a05 Desktop: get rid of vscode 2024-11-19 00:45:03 +01:00
147be34498 Revert "Common: temporarely downgrade adw-gtk3"
This reverts commit 39fcb86f6e.
2024-11-15 12:47:02 +01:00
221e4878b4 Flake: add nixpkgs patch 2024-11-15 11:38:41 +01:00
0f6f51975d Flake: update nixpkgs patches 2024-11-15 10:56:31 +01:00
e952cfa34f Flake: update lock file 2024-11-12 11:01:00 +01:00
84f5b7537b Kde: add plasma-workspace patch 2024-11-12 10:50:23 +01:00
9cbd262e14 Kde/kwin: fix patch path 2024-11-12 09:58:25 +01:00
Toast
159dbbfe90 Merge pull request 'Refactor plasma role' (#12) from plasma-refactor into main
Reviewed-on: https://git.everest.tailscale/Toast/nix-stuff/pulls/12
2024-11-12 09:43:02 +01:00
183ebd78d1 Kde: move kwin configs and patches into separate file 2024-11-12 09:43:02 +01:00
147c52ee20 Kde: rework patch paths 2024-11-12 09:43:02 +01:00
4159ee98cc Kde: move konsole patches into konsole.nix 2024-11-12 09:43:02 +01:00
25db001181 Server/headscale: start before tailscale 2024-11-12 00:07:38 +01:00
3c72a10ec0 Server/ssh: send a message to discord on login 2024-11-10 18:58:52 +01:00
aa17ed51c8 Flake: make devshell without compiler 2024-11-10 02:49:43 +01:00
8bace4cb22 Kde: add breeze cursor to steam 2024-11-09 14:24:44 +01:00
99e5c29a3b Server/headscale: update ip prefixes setting 2024-11-07 12:39:23 +01:00
38281315f7 Kde: add konsole patch 2024-11-07 11:23:42 +01:00
c569ed03d2 Kde: add kwin patch 2024-11-07 11:09:49 +01:00
c666b582f6 Kde: add libplasma patch 2024-11-06 18:15:49 +01:00
b20c1b53d1 Kde: delete old unused patch 2024-11-06 18:15:49 +01:00
7ad9530040 Server/headscale: update settings 2024-11-06 00:40:41 +01:00
fdad5d88bb Flake: backport headscale changes to stable nixpkgs 2024-11-06 00:40:23 +01:00
32b291be20 Server/rust_motd: add headscale status 2024-11-05 11:08:45 +01:00
3b5c8735be Services/rust_motd: add adguard status 2024-11-05 11:00:42 +01:00
e531e6cb68 Services: add adguard 2024-11-05 10:42:47 +01:00
e15aa9ba44 Server/syncthing: bind to localhost 2024-11-03 20:20:07 +01:00
cd802ab3a6 Flake: update lix 2024-11-03 17:16:23 +01:00
Toast
3748aae1c5 Merge pull request 'Switch to headscale' (#11) from headscale into main
Reviewed-on: https://git.everest.tailscale/Toast/nix-stuff/pulls/11
2024-11-03 01:30:30 +01:00
34e1dd0bfc Server/headscale: override local dns
For some reason extra dns records don't apply without the override
2024-11-03 01:19:30 +01:00
0e66939ab1 Server: replace dnsmasq cnames with headscale extra dns records 2024-11-03 01:18:39 +01:00
c7d2db076b Server: get rid of dnsmasq
I can add custom records to headscale's dns settings, so I don't need
  dnsmasq anymore. This will also bring back resolved's stub
2024-11-02 18:18:20 +01:00
52a08be94d Merge branch 'main' into headscale 2024-11-01 23:24:53 +01:00
d18e059d1e Flake: update lock file 2024-11-01 12:27:51 +01:00
492d870980 Server/headscale: setup dns 2024-10-31 16:20:08 +01:00
d39890589b Server/caddy: update server IP 2024-10-31 00:39:53 +01:00
37f3b3fc60 Server/headscale: set up ip prefixes 2024-10-31 00:23:25 +01:00
dfd094ef67 Server: add headscale 2024-10-29 11:50:27 +01:00
59692e7651 Server/caddy: open http/s ports on firewall 2024-10-29 11:50:08 +01:00
a643254864 Desktop/ssh: add config to connect to everest over the internet 2024-10-29 09:44:59 +01:00
cfa31cbe51 Common/eza: fix icons config for 24.05 2024-10-25 10:56:47 +02:00
b51bea1785 Server/tailscale: increase tailscale timeout 2024-10-25 00:58:01 +02:00
582ac7314a Common/eza: use catppuccin theme 2024-10-24 14:07:49 +02:00
67716baa54 Common/eza: enable git and icon support 2024-10-24 14:07:32 +02:00
f58fdb8d49 Flake: add non-flake inputs 2024-10-24 13:50:48 +02:00
74cadfd80f Common: enable eza 2024-10-24 13:35:30 +02:00
85dc75ced4 Flake: update lock file 2024-10-21 00:59:27 +02:00
059ed79f33 Schooli/mysql: disable mycli temporarely 2024-10-21 00:58:09 +02:00
9b8a0629a1 Common/helix: add taplo as toml lsp 2024-10-19 20:34:57 +02:00
84113d5327 Desktop/NetworkManager: change connection priorities 2024-10-17 09:11:42 +02:00
f85d3d5ac2 School: install insomnia 2024-10-15 19:08:30 +02:00
72ec589771 Flake: update lock file 2024-10-14 10:02:33 +02:00
0466a64c17 School/services: add mysql 2024-10-08 13:24:52 +02:00
dbb6887168 Flake: update nixpkgs patches 2024-10-08 11:51:09 +02:00
f3c83f4ac2 Desktop: install qmk tools 2024-10-08 09:25:43 +02:00
39fcb86f6e Common: temporarely downgrade adw-gtk3 2024-10-03 14:25:36 +02:00
bd866ba7a2 Flake: update lock file 2024-10-02 14:00:02 +02:00
cae6f707af Desktop: enable user qmk access 2024-10-02 11:27:22 +02:00
4dbe60e314 Gnome: manage keyring with home-manager, disable ssh 2024-09-23 12:10:19 +02:00
d0194b301a Server/minecraft: update motd 2024-09-22 16:49:51 +02:00
e497436f05 Gnome/blackbox: set up catpuccin theme 2024-09-20 14:01:16 +02:00
ef324a47db Gnome/blackbox: remove gnome console and add nautilus integration 2024-09-20 13:18:10 +02:00
12f190bbaa Gnome/nautilus: install and change settings 2024-09-20 13:15:20 +02:00
99bce3fd14 Gnome/programs: install dconf editor and gnome tweaks 2024-09-20 12:48:59 +02:00
428fd3f9f0 Gnome: change favorite apps 2024-09-20 12:29:21 +02:00
7d04111f4a Machines/iMac: set up gpu frequency 2024-09-20 12:10:38 +02:00
1ed98c54b5 Machines/iMac: enable backlight control 2024-09-20 12:10:38 +02:00
565aae0710 Gnome: run formatter 2024-09-20 12:10:38 +02:00
17e929fe3e Common: enable home-manager manual 2024-09-20 10:09:55 +02:00
1ba89c9548 Machines/WinMax2: reboot on panic 2024-09-20 09:18:04 +02:00
b061708ce7 Gnome: install firefox gnome theme 2024-09-19 12:48:34 +02:00
c3ee394131 Flake: update lock filw 2024-09-19 10:34:18 +02:00
1f6c51441a Gnome: set up gtk 2024-09-18 14:09:12 +02:00
f551e27127 Flake: package kasane teto cursor theme 2024-09-18 14:01:02 +02:00
4872cdfb98 Gnome: enable and set up QT 2024-09-18 13:18:35 +02:00
f71901fc08 School: move android studio into it's own file 2024-09-18 12:32:33 +02:00
3730c8f01c Gnome: change settings 2024-09-18 12:31:07 +02:00
45488dd25c Run formatter 2024-09-18 12:20:06 +02:00
ab1ffbcfdf Gnome: add panel workspace scroll extension 2024-09-18 11:54:02 +02:00
8004eba6d9 Kde/plasma: let kde configure gtk 2024-09-17 09:45:57 +02:00
c084034269 School/syncthing: add school things folder 2024-09-17 09:45:19 +02:00
a68714db8d Flake: update lock file 2024-09-16 09:59:17 +02:00
2d911bc591 Flake: update plasma-manager 2024-09-16 09:31:22 +02:00
32598541f3 School: add webdev things 2024-09-13 20:45:49 +02:00
6747aba0d3 Gnome: enable dark mode 2024-09-13 14:16:09 +02:00
694104e62c Gnome/blackbox: set up preferences 2024-09-13 14:14:00 +02:00
3a2bc2cda5 Gnome: replace gnome console with blackbox 2024-09-13 14:01:14 +02:00
eb7b34924a School: install android studio 2024-09-13 12:38:29 +02:00
1cac73de87 Gnome: enable dynamic workspaces 2024-09-13 12:38:15 +02:00
ffc7d81f70 Machines/iMac: mark /persist as needed for boot 2024-09-13 11:45:26 +02:00
37823965c3 Common/syncthing: add iMac 2024-09-13 10:57:27 +02:00
ca38820ac6 Machines/iMac: use the systemd initrd 2024-09-12 14:18:12 +02:00
3baa80bf1f Gnome: add dash-to-dock 2024-09-12 14:17:12 +02:00
09274de08c Gnome: enable extensions 2024-09-12 13:18:11 +02:00
c018979cb2 Gnome: add extensions 2024-09-12 12:56:14 +02:00
d5235f5bf3 Flake: update secrets 2024-09-12 12:44:10 +02:00
ec6a77b76b Roles: add gnome role 2024-09-12 11:53:42 +02:00
4bd53fc871 School: install intellij idea 2024-09-12 10:22:53 +02:00
551c3e2b11 Roles: Add new school role 2024-09-12 09:48:20 +02:00
3645370498 Flake: update secrets 2024-09-12 09:48:01 +02:00
8637b214ac Flake: add nvd to devshell 2024-09-11 14:13:16 +02:00
b81cb471cc Machines: add initial support for iMac 2024-09-11 14:11:37 +02:00
b442b1e5a9 Server/minecraft: update motd 2024-09-06 19:32:37 +02:00
c3c4c32358 Revert "Flake: pin catppuccin-vsc input"
This reverts commit c0594967a7.
2024-09-06 04:15:35 +02:00
a3b8fe20d1 Flake: update lock file 2024-09-06 03:57:45 +02:00
dc9cc8b6fa Server/minecraft: format file 2024-09-06 03:38:46 +02:00
bdf8140765 Server/minecraft: add toast to minecraft group 2024-09-06 03:38:23 +02:00
10902ed69f Flake: refactor nixos configurations 2024-09-06 02:26:11 +02:00
1aca0c5e64 Server/minecraft: disable spawn protection 2024-09-02 16:39:33 +02:00
c7088d8b96 Kde/plasma: install plasma vaults 2024-09-01 14:12:14 +02:00
0991d4defb Common: enable fstrim 2024-08-28 17:07:23 +02:00
dad79e9b40 Kde/plasma: make the panel floating 2024-08-28 14:11:20 +02:00
d686b4f0b5 Kde/plasma: redo panel configuration 2024-08-28 13:52:17 +02:00
f836354767 Kde/neochat: disable temporarely 2024-08-28 03:46:29 +02:00
8bc792fb2d Flake: remove uneeded patches 2024-08-28 03:46:29 +02:00
5981d50a72 Flake: update lock file 2024-08-28 03:46:29 +02:00
52cb4607db Server/minecraft: don't set the whitelist declaratively 2024-08-25 19:53:00 +02:00
d9d0ad7b73 Server/minecraft: add more memory 2024-08-25 19:52:15 +02:00
2626ac99c3 Server/minecraft: change vr locals server settings 2024-08-24 03:05:19 +02:00
100f7ec33e Server/minecraft: make vr locals server 2024-08-23 20:36:58 +02:00
5bf5c9f737 Machines/Everest: mount root subvolume of ssd 2024-08-23 18:06:12 +02:00
cf2a201c7a Flake: add nix-minecraft module to Everest 2024-08-23 16:40:26 +02:00
6d6dab1764 Flake: add nixpkgs patches 2024-08-18 15:32:25 +02:00
64b4a1b6cb Flake: update lock file 2024-08-18 15:31:29 +02:00
97b30aa8fc Server/rust_motd: add nix to filesystems 2024-08-16 20:38:54 +02:00
2c45da4844 Server/tailscale: wait to get ip address 2024-08-16 19:57:08 +02:00
16fa01ad7d Server/Caddy: start after tailscale:x 2024-08-16 19:54:39 +02:00
0119c52db6 Machines/Everest: move nix subvolume to SSD 2024-08-16 18:10:45 +02:00
95dd730b7d Flake: update lock file 2024-08-05 18:49:11 +02:00
b8d1c3985b Flake: remove unneeded patch 2024-08-05 18:48:57 +02:00
7a5219af7c Common/starship: configure only with nixos, remove old profile workaround 2024-08-05 17:34:18 +02:00
6f82fb26bd Common/starship: remove catppuccin preset
The catpuccin nix module already does this
2024-08-05 12:53:29 +02:00
a65936845f Desktop: change nix io and cpu schedulers 2024-08-01 21:46:14 +02:00
7eae2ded13 Gaming/cemu: add wii u discs 2024-07-26 11:23:01 +02:00
bf3c360a0d Gaming: add cemu 2024-07-26 11:23:01 +02:00
48f97c5aae Desktop: add sysdvr-qt 2024-07-26 11:23:01 +02:00
777ab3a99b Server/caddy: also serve downloads over http 2024-07-26 03:20:17 +02:00
7006a7ff93 Server/caddy: add downloads page 2024-07-26 02:16:12 +02:00
301a1bfa9b Server/dnsmasq: add status to rust-motd 2024-07-19 12:53:43 +02:00
6e885dfbb6 Server/caddy: add status to rust-motd 2024-07-19 12:42:37 +02:00
79a247d9e6 Caddy: bring back tailscale depenency and restart interval 2024-07-18 23:31:52 +02:00
c322de5757 Flake: update stable nixpkgs 2024-07-18 11:36:26 +02:00
1b96024e4a Common: add Caddy root ca 2024-07-18 02:04:41 +02:00
114fcad32e Server/caddy: change name of the root ca cert 2024-07-18 02:01:41 +02:00
e1f4b528c6 Server/caddy: serve the NixOS manual 2024-07-18 00:55:00 +02:00
863840b2b1 Server: replace traefik with caddy 2024-07-18 00:45:00 +02:00
5001e70c14 Change my tailscale network name 2024-07-17 19:06:24 +02:00
020cec94a1 Remove leftover school things 2024-07-15 16:32:08 +02:00
99a17a7c79 Server: add rust_motd 2024-07-12 11:48:32 +02:00
a826c532e5 Server/nfs: add nfs root 2024-07-12 02:02:52 +02:00
85ccce45b9 Server: move transmission nfs share settings to transmission.nix 2024-07-12 01:52:26 +02:00
675b8c7b85 Machines/WinMax2: enable hhd and hhd-ui 2024-07-11 12:29:33 +02:00
cae5c4f036 Flake: add nixpkgs patches 2024-07-11 12:29:18 +02:00
a700fc64b7 Switch to lix 2024-07-07 17:56:27 +02:00
c8863554a2 Flake: update lock file 2024-07-05 13:33:37 +02:00
faab731506 Programs: delete micro 2024-07-05 13:22:52 +02:00
b9b9f28e26 Common: enable iotop 2024-07-02 14:34:52 +02:00
8b43439238 Machines/WinMax2: remove unneeded workaround 2024-07-02 14:34:28 +02:00
1318dbba65 Machines/WinMax2: disable kwin direct scanout 2024-06-26 10:48:47 +02:00
5e310a8255 Machines/WinMax2: remove scaling env variable 2024-06-23 13:41:57 +02:00
e4ec92a8f0 Flake: update lock file and remove unneeded patch 2024-06-23 13:24:17 +02:00
67f3cf3fad Server/dns: change how host records are added 2024-06-18 15:54:33 +02:00
421be2b14b Flake: update lock file 2024-06-15 18:31:48 +02:00
b7a9debd3b Common/fish: enable catppuccin 2024-06-09 20:09:15 +02:00
4f61147f8d Common: set catppuccin accent 2024-06-09 20:09:15 +02:00
7e3da29f97 Flake: update catppuccin
I had to change flavour into flavor in the configs
2024-06-09 20:09:15 +02:00
5f99d8a0f4 Revert "Flake: pin catppucin input"
This reverts commit 8d8b118b36.

Revert "Flake: actually downgrade catppuccin input"

This reverts commit aeed860735.
2024-06-09 20:09:15 +02:00
45f86f522a Server/forgejo: disable offline mode 2024-06-05 23:49:35 +02:00
84fa84350a Kde/sddm: change background 2024-06-05 22:55:38 +02:00
f4712fdf70 Kde/sddm: change cursor name
The cursor name changed in Plasma 6 and I forgot to change it
2024-06-05 22:53:31 +02:00
bec73e73ad Machines/WinMax2: enable ryzen smu 2024-06-04 09:35:54 +02:00
7de1a1bad7 Common/avahi: remove 23.11 compatibity on config 2024-06-03 01:02:39 +02:00
6ac0973357 Flake: remove unneeded nixpkgs patches 2024-06-03 00:52:22 +02:00
2f3eafb1de Common: update state version to 24.05 2024-06-03 00:51:03 +02:00
fd871aed7a Flake: upgrade nixos-stable and home-manager to 24.05, upgrade flake 2024-06-03 00:48:56 +02:00
c0594967a7 Flake: pin catppuccin-vsc input 2024-06-02 20:27:03 +02:00
05c28f5ce5 Desktop/discord: remove vencord overlay
I don't use the official discord app, and vesktop uses it's own
vencord so I don't need it anymore
2024-06-02 00:29:22 +02:00
46678f11f1 Common/fish: enable fish 2024-05-31 01:34:32 +02:00
617a0b2356 Machines/Archie: use amd zenpower nixos-hardware module 2024-05-31 00:43:05 +02:00
57c9e8d66f Flake: update lock file 2024-05-31 00:40:01 +02:00
b7d90ad5a5 Common/direnv: configure using home-manager 2024-05-25 16:03:52 +02:00
9fc7d0c26b Machines/WinMax2: remove fingerprint reader instead of disabling 2024-05-25 02:17:22 +02:00
e3f0c2666f Machines/WinMax2: disable fingerprint reader 2024-05-25 00:56:36 +02:00
07217c6777 Gaming/pcsx2: add timesplitters 2 2024-05-24 11:19:31 +02:00
1fad825868 Gaming/pcsx2: rework iso compression 2024-05-22 00:43:32 +02:00
6628a2d181 Flake: update lock file and remove uneeded nixpkgs patch 2024-05-18 18:55:03 +02:00
89c600766a Desktop/discord: update vencord 2024-05-18 14:01:12 +02:00
fbe01084d2 Desktop/discord: get rid of official discord app 2024-05-18 13:28:50 +02:00
cc11a5a386 Desktop: add mpv 2024-05-18 12:14:41 +02:00
28a3bf2509 School: remove most of the role 2024-05-18 01:31:40 +02:00
19985c86da Kde/sddm: enable wayland 2024-05-14 20:38:59 +02:00
b740d56f03 Machines/WinMax2: add spanish keyboard layout to plasma 2024-05-14 19:16:16 +02:00
316a147c4a Machines/WinMax2: refactor steam scaling 2024-05-14 19:16:16 +02:00
3931366eb9 Kde/plasma: install plasma-thundetbolt 2024-05-14 19:16:10 +02:00
e2925ee06a Machines/WinMax2: enable bolt 2024-05-14 19:00:01 +02:00
94b0eb3d65 Machines: Update jovian desktop session name 2024-05-11 20:51:45 +02:00
72557d36ea Flake: update secrets 2024-05-11 20:49:53 +02:00
f704fd47d1 Machines/SteamDeck: mount persist subvolume 2024-05-11 20:35:16 +02:00
a66628290b Desktop/discord: update vencord 2024-05-07 10:19:51 +02:00
9e1ae553cf Flake: add nixpkgs patches 2024-05-07 09:36:20 +02:00
aeed860735 Flake: actually downgrade catppuccin input 2024-05-06 09:45:03 +02:00
008d792a4b Flake: update lock file 2024-05-03 18:21:08 +02:00
c9646442f8 Gaming/syncthing: share wolfenstein the new order saves with winmax2 2024-05-03 18:06:44 +02:00
8d8b118b36 Flake: pin catppucin input
The commit after this one breaks on nixos 23.11, and I can't be arsed to fix that rn
2024-05-03 18:02:48 +02:00
2d49d6aece Server/syncthing: add pcsx2 folder 2024-05-01 03:35:30 +02:00
91ebf1acc9 Gaming/pcsx2: set up syncthing 2024-05-01 03:34:42 +02:00
74116aa110 Gaming/pcsx2: add default hotkeys 2024-05-01 02:40:41 +02:00
6b8e8fc132 Gaming/pcsx2: set resolution multiplayer 2024-05-01 02:25:52 +02:00
Toast
3eee85a87d Merge pull request 'Switch to plasma 6' (#9) from plasma6 into main
Reviewed-on: http://git.everest.sable-pancake.ts.net/Toast/nix-stuff/pulls/9
2024-04-29 20:02:43 +02:00
ca0c84006e Kde/sddm: temporarely disable sdd theme 2024-04-29 19:32:01 +02:00
b37b576ead Kde/plasma: rename cursor name 2024-04-29 19:00:04 +02:00
3425b07040 Kde/plasma: upgrade to plasma 6 2024-04-29 18:59:07 +02:00
0be1aa7adc Gaming: use qt6 version of prism launcher 2024-04-29 18:55:29 +02:00
26798e0356 Kde/plasma: get rid of the custom breeze colorscheme 2024-04-29 13:57:43 +02:00
012687565a Kde/plasma: update breeze packages 2024-04-29 13:56:33 +02:00
760a3d3b2a Kde/plasma: don't override config 2024-04-29 13:45:32 +02:00
f02f907932 Flake: update plasma-manager 2024-04-29 13:45:20 +02:00
5e271ae4a5 Revert "Revert switching to my branch of plasma manager"
This reverts commit 8699442aba.
2024-04-29 13:33:30 +02:00
56442c00dd Gaming/pcsx2: add more settings 2024-04-29 13:09:17 +02:00
4b1ea077d3 Gaming/pcsx2: add per-game settings and hide cursor on fullscreen 2024-04-29 12:52:46 +02:00
7bd66a216d Gaming/pcsx2: add controller settings and enable discord presence 2024-04-29 11:45:29 +02:00
f6cb581dd2 Gaming/pcsx2: configure declaratively 2024-04-29 10:40:17 +02:00
f13ac0b8ec Gaming/pcsx2: compress roms to chd 2024-04-29 10:06:58 +02:00
9bea86b4ff Gaming/pcsx2: compress isos 2024-04-28 22:24:45 +02:00
bb9f35e960 Gaming/pcsx2: add ps2 bios 2024-04-28 16:48:32 +02:00
944207fdd2 Gaming/pcsx2: add isos 2024-04-28 13:48:56 +02:00
2eb19d7374 Gaming: add pcsx2 2024-04-27 20:34:11 +02:00
8699442aba Revert switching to my branch of plasma manager
Revert "Kde/plasma: set up keyboard layout and numlock settings"

This reverts commit 7202d3a57f.

Revert "Machines/WinMax2: set up keyboard layout for plasma"

This reverts commit 26fde46886.

Revert "Flake: temporarely change to my branch of plasma-manager"

This reverts commit 0337f4f7a0.
2024-04-26 14:00:39 +02:00
921f1ad912 Flake: update lock file 2024-04-26 12:13:46 +02:00
4244072f23 Flake: don't use system nixpkgs for catppuccin-vsc input 2024-04-26 12:13:08 +02:00
bad020c1d6 Flake: remove hhd nixpkgs patch 2024-04-26 12:13:08 +02:00
f9d60b9c8b Common/nix: don't use remote builder on WinMax2 2024-04-26 09:37:33 +02:00
d933203186 School/unity: install jetbrains rider 2024-04-24 09:36:23 +02:00
19bddffde3 Machines/WinMax2: set up shell for nixrbld 2024-04-24 01:33:56 +02:00
7535e078fe Common/nix: add supportedFeatures to remote builder 2024-04-24 01:25:59 +02:00
30f41d10db Common/nix: add remote builder 2024-04-24 01:24:07 +02:00
68628028bd Machines/WinMax2: set up as a nix remote builder 2024-04-24 00:29:40 +02:00
0aee3539f0 Flake: update secrets 2024-04-24 00:24:50 +02:00
be5fb3bc24 Common/git: add forgejo's public key to known hosts 2024-04-23 13:48:15 +02:00
c603df28bf Server/forgejo: use ssh host key from secrets 2024-04-23 13:47:41 +02:00
3d439c4893 Flake: update secrets 2024-04-23 13:47:27 +02:00
319550e718 Desktop/ssh: send colorterm variable 2024-04-23 11:02:23 +02:00
2b9491c837 Server/ssh: accept colorterm variable 2024-04-23 10:07:00 +02:00
ea97158296 Server/ssh: add public key for toast 2024-04-22 22:21:21 +02:00
56c81782ba Machines/Everest: remove unused ssh public keys 2024-04-22 22:16:09 +02:00
7cba5baa63 Desktop/ssh: add known hosts 2024-04-22 14:12:06 +02:00
2730ed6cdc School/jetbrains: install scenebuilder 2024-04-22 11:27:26 +02:00
befadf8ed2 Server/ssh: add ssh host key 2024-04-22 11:25:43 +02:00
a3d1a8a744 Flake: update secrets 2024-04-22 11:20:20 +02:00
4ea69cf70d Server/ssh: use dns for resolving hosts 2024-04-22 09:26:41 +02:00
228cbf3734 Flake: update lock file 2024-04-19 23:48:47 +02:00
2481e03a87 Justfile: build with nom 2024-04-19 12:31:05 +02:00
08824dddf3 Apply formatting 2024-04-19 09:48:12 +02:00
120583cea7 Flake: add formatter 2024-04-19 09:40:17 +02:00
0a5226d6fd School/jetbrains: enable javafx for jdk17 2024-04-19 09:31:56 +02:00
e01b542bb5 Desktop: add appimage support 2024-04-18 09:36:18 +02:00
35235b004b Flake: update nixpkgs patch name 2024-04-17 12:39:44 +02:00
4964354f8c School/mongodb: update to mongo 5.0 2024-04-17 12:36:08 +02:00
335c97864e Flake: update lock file 2024-04-17 12:35:59 +02:00
ed6067d43e Flake: update nixpkgs patch 2024-04-17 12:28:35 +02:00
1ac5d06ab2 School/helix: add omnisharp to helix 2024-04-17 11:58:03 +02:00
544d1f6a22 Common/helix: change nil lsp settings 2024-04-17 11:57:05 +02:00
5d644f0959 Common/helix: use home-manager languages option 2024-04-17 11:27:35 +02:00
384ecd5712 Common/starship: update nerd font symbols preset 2024-04-17 10:14:43 +02:00
b322c242ce Flake: update nixpkgs patch 2024-04-16 10:41:51 +02:00
b014af7891 Flake: update nixpkgs patch 2024-04-15 00:37:09 +02:00
5926168b3f Desktop/NetworkManager: add wifi networks 2024-04-14 17:24:39 +02:00
5f776ae552 Flake: update secrets 2024-04-14 17:24:29 +02:00
d4c3fc64f7 Justfile: get secrets with ssh 2024-04-14 15:50:50 +02:00
70f9fdecdd Machines/WinMax2: remove unneeded hhd override 2024-04-13 16:33:37 +02:00
3ccdbe36c9 Flake: add patch to update hhd 2024-04-13 16:33:10 +02:00
cb04535cbf Machines/WinMax2: run hhd as root 2024-04-13 16:32:27 +02:00
789c84fc3f Common: add missing locales 2024-04-13 13:56:42 +02:00
bda9abff87 Update old options to new formats 2024-04-12 11:08:16 +02:00
09839004e1 Flake: update lock file 2024-04-12 10:44:38 +02:00
ea0d7caf4f Kde/plasma: configure virtual desktops with high level module 2024-04-12 01:16:31 +02:00
7202d3a57f Kde/plasma: set up keyboard layout and numlock settings 2024-04-12 00:59:25 +02:00
26fde46886 Machines/WinMax2: set up keyboard layout for plasma 2024-04-12 00:58:09 +02:00
819b9bd218 Machines/WinMax2: apply home-manager tweaks to every user 2024-04-12 00:51:58 +02:00
0337f4f7a0 Flake: temporarely change to my branch of plasma-manager 2024-04-12 00:51:50 +02:00
7019c43d85 Machines/WinMax2: complete the steam desktop entry 2024-04-11 09:54:22 +02:00
761dfedf1b Machines/WinMax2: add desktop entry to launch steam without scaling 2024-04-10 13:06:55 +02:00
ce6732acd8 Machines/WinMax2: add encrypted swap partition 2024-04-10 11:16:32 +02:00
16d47d5214 Common/starship: setup using home manager and use catppuccin modue 2024-04-10 11:09:02 +02:00
3ecc3456ec Common: enable management of xdg directories 2024-04-10 11:09:02 +02:00
13b2e5ef6f Common/helix: use catppuccin module 2024-04-10 11:09:02 +02:00
89eb9e4b71 Common/btop: use catppuccin module 2024-04-10 11:09:02 +02:00
8062c8ad5a Common/git: use delta catppuccin module 2024-04-10 11:09:02 +02:00
cd48978f98 Common: use grub catppuccin module 2024-04-10 11:09:02 +02:00
72a94a71c1 Common/bat: use catppuccin module 2024-04-10 11:09:02 +02:00
317aa3800a Common: set catppuccin flavour 2024-04-10 11:09:02 +02:00
57372c8d28 Common: add catpuccin modules 2024-04-10 11:09:02 +02:00
e28022921a Kde/konsole: update default profile name
Plasma-manager update made it so that you don't need to add .profile anymore
2024-04-09 10:24:26 +02:00
aad1faa052 Revert "Machines/WinMax2: temporarely change timezone"
This reverts commit 124977bdadd5ca15356b214801902984384abf49.
2024-04-08 23:35:23 +02:00
c29fbb1fd6 Machines/WinMax2: temporarely change timezone 2024-04-08 23:35:23 +02:00
762c0ff7dc Flake: update lock file 2024-04-08 23:26:18 +02:00
7048a56413 Flake: update lock file 2024-04-01 14:45:18 +02:00
fe52c9055b Desktop/flatpak: update option 2024-04-01 14:44:45 +02:00
6b3003972d Kde/plasma: update configFile config 2024-04-01 14:41:55 +02:00
8aaa524fce Flake: update lock file 2024-03-27 13:35:56 +01:00
f8f05329a2 Server/minecraft: remove server 2024-03-27 13:23:32 +01:00
b43657877c Revert "Desktop/ssh-agent: use home-manager module"
This reverts commit 693410597a.
Neccesary cause the home-manager module has issues
2024-03-27 12:06:57 +01:00
640f1a1c41 Kde/konsole: configure konsole profiles 2024-03-27 09:49:32 +01:00
7227036630 Flake: update plasma-manager 2024-03-27 09:49:06 +01:00
60ded6e153 Machines/WinMax2: use prerelease decky-loader 2024-03-27 01:42:45 +01:00
eb6be432d6 Machines/winmax2: change hardcoded scale settings to 2 2024-03-27 00:37:32 +01:00
2e159d1359 Kde/plasma: update kwinrc setting
We don't need to escape dots anymore
2024-03-26 10:09:55 +01:00
fe701b6eec Flake: update lock file 2024-03-26 10:09:44 +01:00
27ebce4fc6 School/jetbrains: do not install plugins
I sync plugins now with the settings sync feature, so I don't need this
2024-03-25 10:19:32 +01:00
bfbf57b180 School: install datagrip 2024-03-25 10:10:30 +01:00
d93115b35c School: rename idea.nix to jetbrains.nix 2024-03-25 09:39:52 +01:00
a07ddd315c Common: add atuin 2024-03-22 10:30:38 +01:00
233581eccb Gaming/steam: remove proton and steam linux runtime desktop files 2024-03-22 10:00:09 +01:00
693410597a Desktop/ssh-agent: use home-manager module 2024-03-22 09:36:42 +01:00
430bafb0b2 Run deadnix 2024-03-20 13:03:05 +01:00
7888103b1e Format everything with alejandra 2024-03-20 12:54:25 +01:00
82bbd7ce87 Editors: format using alejandra 2024-03-20 12:44:55 +01:00
9351f85534 Flake: add alejandra to devshell 2024-03-20 11:45:17 +01:00
e88fb8a16e Common/bat: use old theme name on nixos 23.11 2024-03-20 11:22:09 +01:00
7474faefe5 Common/bat: fix theme name
The name of the file changed in a nixpkgs update
2024-03-20 11:00:05 +01:00
5a1fd5175c Flake: remove nix-gaming 2024-03-20 10:07:28 +01:00
26f91e4e19 Gaming/steam: use proton-ge from nixpkgs 2024-03-20 10:05:14 +01:00
47e6ac288b Flake: update lock file 2024-03-20 10:04:49 +01:00
2bf27fdf63 Flake: update lock file 2024-03-13 12:14:15 +01:00
b9c51f9226 Desktop/ssh: enable agent forwarding for everest 2024-03-13 11:42:34 +01:00
8f84c12306 Desktop: configure ssh client 2024-03-13 11:42:12 +01:00
81bb301ee2 School: add unity hub 2024-03-13 11:02:08 +01:00
ff7ed8e940 Flake: get secrets using ssh 2024-03-13 11:02:08 +01:00
de26a1adc4 Server/forgejo: set default branch name to main 2024-03-13 11:00:26 +01:00
fff0a55aed Server/forgejo: enable push to create 2024-03-13 11:00:26 +01:00
8c20418939 Kde: configure git-cola 2024-03-12 10:43:19 +01:00
34a9c49b17 Desktop/git: install and configure git-cola 2024-03-12 10:18:03 +01:00
1ccb1ded82 Desktop: configure git 2024-03-12 10:17:33 +01:00
eaac86bb1f School/vscode: add angular extension 2024-03-05 11:17:34 +01:00
9bbe570dfb School: add typescript settings to helix 2024-03-05 11:17:01 +01:00
7c731dd583 Flake: remove unused nixpkgs patch 2024-03-05 10:46:11 +01:00
63c544b37f Flake: update lock file 2024-03-05 10:46:11 +01:00
cca30dea32 Server/nfs: use tailscale domain instead of .local 2024-03-05 09:43:08 +01:00
e89a25dfc2 Machines/WinMax2: update hhd 2024-03-04 10:20:48 +01:00
c3f7752d09 Server/dns: add entry for winmax2 2024-03-03 00:15:37 +01:00
721adfb3d6 Common/nix: optimise store every week 2024-03-02 00:16:24 +01:00
e7b6ebb54e Server/traefik: change systemd restart interval 2024-03-01 12:24:57 +01:00
620cb43697 Server/forgejo: use built in ssh server 2024-03-01 10:55:49 +01:00
84d4918224 Server/forgejo: fix disable resignation setting 2024-02-29 16:29:38 +01:00
da19e35f83 Flake: update lock file 2024-02-29 10:52:22 +01:00
e4f4b8db98 Flake: add nixpkgs pr 288913 2024-02-29 09:28:30 +01:00
6b53ede822 Justfile: Add edit-secrets recipe 2024-02-28 13:04:56 +01:00
020c4bc4b8 Justfile: add update-input recipe 2024-02-28 11:51:18 +01:00
6d7408bc5b Kde/plasma: override some config files 2024-02-28 09:40:34 +01:00
f0b0ca75da Justfile: add update recipe 2024-02-23 21:06:28 +01:00
f012eb6d2b Justfile: add nix-diff recipe 2024-02-23 13:43:25 +01:00
a9aa0dff00 Flake: add nix-diff to devshell 2024-02-23 13:24:03 +01:00
8b2709ae33 Justfile: add build-nixos recipe 2024-02-23 13:23:53 +01:00
e2d5273ed8 Add justfile 2024-02-23 12:32:17 +01:00
975b402ff7 Flake: add just to devshell 2024-02-23 12:32:04 +01:00
06ec510599 Add .envrc 2024-02-23 12:10:47 +01:00
61c2b3dcbb Common/direnv: enable nix-direnv 2024-02-23 12:08:19 +01:00
c0529d5225 Common: add direnv 2024-02-23 12:07:22 +01:00
2018954c98 Common/bash: enable VTE integration 2024-02-23 11:03:35 +01:00
7f8155840c Flake: change name of devshell 2024-02-23 10:42:44 +01:00
7c7f1ca339 School: add mongodb and mongosh 2024-02-23 09:54:03 +01:00
dddd601fd2 Git/common: enable diff colorMoved 2024-02-23 00:01:26 +01:00
1132547d91 Common/git: use catppuccin mocha theme 2024-02-23 00:01:26 +01:00
e724778fcf Common/git: set delta theme to catppuccin-mocha 2024-02-23 00:01:26 +01:00
7ca46b27d1 Flake: remove plasma sdk from devshell 2024-02-21 15:54:21 +01:00
27d0d1de30 Common/starship: change directory truncation settings 2024-02-21 15:54:21 +01:00
cb748fedaa Desktop/NetworkManager: enable wifi mac address randomisation 2024-02-21 14:09:35 +01:00
d90a267618 Desktop/NetworkManager: don't manage tailscale's interface 2024-02-21 13:55:42 +01:00
90d45024db Desktop: configure NetworkManager in a separate file 2024-02-21 13:48:26 +01:00
ae8471345d Common/tailscale: disable logging 2024-02-21 00:16:14 +01:00
2abeee6dbe Kde/plasma: disable window borders 2024-02-20 15:09:12 +01:00
fb8aa242c3 Machines: mount /persist in early boot 2024-02-20 09:15:26 +01:00
d02fae40ad Flake: update secrets 2024-02-20 00:11:30 +01:00
38ad6796a1 Server/ddclient: update password 2024-02-20 00:11:10 +01:00
c6a89378c6 Remove secrets folder 2024-02-20 00:10:00 +01:00
1ecb8c32dc Remove redundant secrets 2024-02-19 23:48:01 +01:00
8f3eefe140 Common/syncthing: update Everest's id 2024-02-19 23:14:27 +01:00
c23dda00c0 Flake: update secrets 2024-02-19 23:14:13 +01:00
26cc28ba41 Machins/Everest: mount persist subvolume 2024-02-19 23:07:38 +01:00
192b136259 Machines/Everest: mount root subvolume 2024-02-19 23:05:15 +01:00
50bb1a9ba0 Machines/Archie: mount persist subvolume 2024-02-19 21:30:18 +01:00
d081c06a1c Server/syncthing: remove redundant secrets configuration 2024-02-19 21:30:18 +01:00
436c1785a8 Common/syncthing: use key and cert from secrets 2024-02-19 14:02:34 +01:00
2f0230c401 Common: set up secrets 2024-02-19 14:02:34 +01:00
a1f41b6295 WinMax2: mount persist subvolume 2024-02-19 14:02:34 +01:00
8a8b69b79b Flake: add secrets repo 2024-02-19 14:02:28 +01:00
8d1b7584f3 Nix: move experimantal options setting tot nix.settings 2024-02-19 11:26:41 +01:00
f4bb46fb28 Nix: auto optimise store 2024-02-19 11:18:32 +01:00
73a1fa2f84 Flake: update lock file 2024-02-19 11:00:15 +01:00
b89652f269 Machines/WinMax2: don't import cryolitia's nur repo 2024-02-14 19:48:59 +01:00
8a0a0ff09e Flake: update lock file 2024-02-14 19:48:43 +01:00
cbe3645a3a Common/helix: show buffer line if multiple buffers exist 2024-02-14 12:30:54 +01:00
7af7bd2b4f Common/helix: enable color modes 2024-02-14 12:30:24 +01:00
fea701c7b8 Desktop/vscode: configure nil to use nixpkgs-fmt to format 2024-02-09 15:40:43 +01:00
b27ddf6aad Common/helix: manually write languages.toml and configure nil for formatting 2024-02-09 14:12:43 +01:00
80eaacd3a3 Common/helix: add nixpkgs-fmt (nix formatter) 2024-02-09 01:06:06 +01:00
93f60414ac Common/helix: add nil (nix lsp) 2024-02-09 01:04:09 +01:00
ec8de77c54 Flake: update lock file 2024-02-07 20:24:58 +01:00
b59d94321a Machines/WinMax2: update handeld-daemon 2024-02-07 19:24:04 +01:00
9166ecdede Common/helix: enable indent guides 2024-02-07 14:12:48 +01:00
0adf440318 Common: replace neovim with helix 2024-02-07 12:18:19 +01:00
efc0440d61 Common/neovim: set as default editor 2024-02-05 14:31:32 +01:00
d2beeff928 Common/neovim: autodetect indenting 2024-02-05 14:31:16 +01:00
fcb0ecb3df Machines/WinMax2: update handheld-daemon 2024-02-05 14:03:13 +01:00
11cad9233f Don't override handheld-daemon package in common 2024-02-05 13:28:16 +01:00
054edff989 Common: fix typo (whoops) 2024-02-05 13:11:15 +01:00
75cf2f6740 Machines: remove redundant options 2024-02-05 13:07:30 +01:00
ad10e13501 Common: set up user 2024-02-05 13:06:54 +01:00
d14a5e89c3 Desktop: enable x server 2024-02-05 13:06:54 +01:00
cb538d49fc Desktop: enable NetworkManager 2024-02-05 11:11:28 +01:00
de85ce8d81 Update x server layout option 2024-02-05 11:00:17 +01:00
8311fcc691 Flake: update lock file 2024-02-05 09:09:10 +01:00
0976d52cab Flake: remove nixpkgs-unstable patches 2024-02-05 09:09:05 +01:00
8e92447f83 Machines:WinMax2/ enable brightness control in game mode 2024-02-05 01:34:23 +01:00
ddde5f5c56 Machines/WinMax2: update jovian option 2024-02-05 01:34:23 +01:00
cbf8e99b7b School/idea: update catppuccin plugin 2024-02-02 13:39:36 +01:00
cbd8191537 Flake: update lock file 2024-02-02 12:03:15 +01:00
19ae6db3b1 Common: update hhd 2024-02-02 09:40:34 +01:00
c038df0ba8 Flake: update pr 277661 patch 2024-02-02 09:33:55 +01:00
de8bfae07a Gaming/rpcs3: use rpcs3 from NUR 2024-01-30 23:29:52 +01:00
d706a86250 Kde/plasma: enable qt 2024-01-30 23:11:14 +01:00
afec7ca0bc Flake: add nixpkgs pr 277661 2024-01-30 10:52:41 +01:00
502074653c Common/neovim: install catppuccin theme 2024-01-29 11:15:38 +01:00
fd8053ed65 Server/syncthing: add Win Max 2 to syncthing folders 2024-01-29 11:15:38 +01:00
12c9b16a55 Common: add neovim 2024-01-29 11:15:38 +01:00
e7bee1a15f Common: don't set micro as default editor 2024-01-29 10:41:45 +01:00
502e7576ae Desktop/vscode: add git blame extension 2024-01-29 10:37:07 +01:00
25d981a1a0 Flake: update lock file 2024-01-29 10:06:55 +01:00
f308ecaa72 Flake: get rid of url literal 2024-01-29 09:53:53 +01:00
92eabd4b92 Flake: remove unused nixpkgs patch 2024-01-29 09:51:27 +01:00
0156f17eea Machines/WinMax2: move the finals fix to specialistion 2024-01-29 09:27:04 +01:00
49809407d5 Machines/WinMax2: add the finals fix 2024-01-27 22:57:48 +01:00
cfaf6ddd9d Flake: update lock file 2024-01-26 10:02:53 +01:00
2448bc421a Common: update hhd overlay 2024-01-26 09:46:55 +01:00
1bb7eeb88e Revert "Machines/WinMax2: use linux 6.6"
This reverts commit 70202144a5.
2024-01-26 09:46:21 +01:00
41e7112fce Desktop/discord: install using home manager 2024-01-25 10:49:58 +01:00
9f79cc1890 Common: override handheld-daemon source 2024-01-25 09:25:19 +01:00
8fad5e1f92 Machines/WinMax2: enable handheld daemon 2024-01-25 09:24:34 +01:00
6769536ec7 Flake: add nixpkgs pr 277661 2024-01-25 09:23:07 +01:00
50097d8c51 Gaming/retroarch: share saves with WinMax2 2024-01-24 09:45:49 +01:00
232963fffd Gaming/steam: add proton-ge 2024-01-24 09:43:56 +01:00
8d0aab3e22 Flake: add nix-gaming 2024-01-24 09:43:40 +01:00
1311ab275a Gaming/steam: install olympus 2024-01-24 09:31:38 +01:00
a40268476c Desktop/flatpak: uninstall unmanaged packages 2024-01-24 09:27:56 +01:00
5c0fe68738 Kde/plasma: set up widget settings 2024-01-23 10:46:22 +01:00
58ce37c65f Flake: update plasma-manager 2024-01-23 10:46:22 +01:00
7056d6f597 Flake: backport catppuccin grub theme to nixos 23.11 2024-01-23 10:45:37 +01:00
14fa5aff15 Machines/WinMax2: change sddm scale 2024-01-23 00:20:37 +01:00
c7bcbaed03 Kde/sddm: set cursor theme 2024-01-23 00:14:37 +01:00
70202144a5 Machines/WinMax2: use linux 6.6 2024-01-22 13:40:27 +01:00
3c3b192f35 Machines/WinMax2: add bmi260 module from nur 2024-01-21 21:06:22 +01:00
17f58cfeba Flake: add nur 2024-01-21 21:05:09 +01:00
d78c2e3f67 Kde/plasma: add some additional settings 2024-01-21 17:50:28 +01:00
386d2ae024 Flake: update lock file 2024-01-21 17:48:38 +01:00
77df840e1f Kde/plasma: configure panels 2024-01-20 02:46:42 +01:00
07b2ee00eb Kde/plasma: add catppuccin theme 2024-01-20 02:19:08 +01:00
604d4b253a Kde/plasma: set up icon theme 2024-01-20 02:15:16 +01:00
c4e846e91e Common/grub: set catppuccin theme 2024-01-20 00:50:36 +01:00
9ebfc2e1ae Machines/WinMax2: use latest linux kernel 2024-01-19 23:20:47 +01:00
100b4169b1 Plasma/kde: modify outdated comment 2024-01-19 13:14:51 +01:00
b5a58ea23f Remove unused program from flake and school role 2024-01-19 12:13:01 +01:00
1f00befb3e Plasma/kde: move titlebar button settings to new module 2024-01-19 12:06:50 +01:00
0162c94d93 Flake: update lock file 2024-01-18 10:44:34 +01:00
621de00ad3 Machines/WinMax2: add sleep fixes 2024-01-18 10:34:31 +01:00
e9bd1e24c3 Machines/WinMax2: add SteamOS radv and patched mesa 2024-01-18 10:34:31 +01:00
f9986b0d8d Flake: apply catppuccin patch to stable nixpkgs 2024-01-18 10:32:15 +01:00
cbdd6192fe Kde/plasma: set up cursor theme 2024-01-17 23:25:59 +01:00
394ec6e788 Kde/plasma: remove unused settings 2024-01-17 23:25:59 +01:00
7f86264983 Kde/plasma: get rid of custom look and feel 2024-01-17 23:25:53 +01:00
42776e6396 School/virtualbox: create folder and disable CoW 2024-01-17 11:20:12 +01:00
9fc86390b8 Flake: add https://github.com/NixOS/nixpkgs/pull/281207 to nixpkgs unstable 2024-01-16 22:28:54 +01:00
7f202c503d Flake: update lock file 2024-01-16 22:28:36 +01:00
9b5dfb9c20 Machines/WinMax2: set up scaling for plymouth 2024-01-16 20:58:08 +01:00
92b2b131ba Machines/WinMax2: force enable steam's scaling 2024-01-16 20:58:08 +01:00
3a15f90405 Machines/WinMax2: use systemd initrd 2024-01-16 20:58:08 +01:00
e0f5fffea4 Flake: store nixpkgs patches in repo 2024-01-16 20:40:21 +01:00
c114dc56ad School/syncthing: add Win Max 2 2024-01-16 09:45:20 +01:00
cf4ab5001e Common/git: add user name and email 2024-01-16 09:40:34 +01:00
6ce1dba91e Common/syncthing: add Win Max 2 ID 2024-01-16 09:28:30 +01:00
89e548cb41 Machines/WinMax2: mount efi partition in /boot 2024-01-16 02:27:06 +01:00
98e393fd92 Machines: add Win Max 2 2024-01-16 01:44:40 +01:00
983b76f82a School: remove WebStorm
I didn't end up using it and it's being problematic so yeet
2024-01-16 01:16:24 +01:00
4320ecc26a Flake: update nixpkgs patch 2024-01-16 00:56:59 +01:00
90cbeed3f2 Common/starship: use catppuccin theme from nixpkgs 2024-01-15 16:45:57 +01:00
b4020d4316 Flake: apply patch to nixpkgs-unstable
This feels really dirty, but it works and it's less effort that switching to
something like flake-utils that can do this for you
2024-01-15 16:45:57 +01:00
ea3870aa6e Use catppuccin from nixpkgs 2024-01-15 16:45:57 +01:00
dda60e84d8 Flake: update lock file
Mysql workbench doesn't build rn so I haven't updated nixpkgs and inputs that depend on it
2024-01-15 13:45:11 +01:00
d8b8c8e37c School/idea: update catppuccin icons plugin 2024-01-15 12:08:31 +01:00
9d53cc611a Common/starship: update nerdfont preset 2024-01-12 12:18:55 +01:00
b3d71fc28c Flake: update lock file 2024-01-12 11:03:06 +01:00
4653a6cf94 School/idea: add catppuccin icons 2024-01-10 13:59:33 +01:00
508b032665 School/idea: update rainbow brackets plugin 2024-01-10 13:59:13 +01:00
83ba3625b0 School/idea: update catppuccin theme and change plugin folder location 2024-01-10 12:17:56 +01:00
8189375072 Flake: update lock file 2024-01-09 19:38:04 +01:00
8e49b25e4d Gaming/retroarch: create saves and states folders 2024-01-08 09:35:09 +01:00
8b7546a7fb Flake: update lock file 2024-01-04 22:55:06 +01:00
faad6bbe42 Server/syncthing: add retroarch folder 2024-01-03 20:11:23 +01:00
69afd4bdab Gaming/retroarch: bring back syncthing 2024-01-03 19:54:12 +01:00
bafe0953a1 Gaming/retroarch: add settings for steam deck 2024-01-03 19:35:54 +01:00
1dbfc7ecc3 Gaming/retroarch: change files location 2024-01-03 18:31:49 +01:00
49e2e715b1 Gaming/retroarch: swap ok and cancel buttons 2024-01-03 18:31:34 +01:00
813993250a Gaming/retroarch: temporarely disable syncthing folder 2024-01-03 18:31:34 +01:00
7c463d4852 Gaming/retroarch: add default settings 2023-12-31 03:04:47 +01:00
b924128f7c Gaming/retroarch: sync retroarch folder with syncthing 2023-12-31 01:46:40 +01:00
30a39ec7b0 Gaming/retroarch: add super mario kart 2023-12-31 01:10:07 +01:00
3ee043ab13 Gaming/retroarch: store roms in list 2023-12-31 01:09:45 +01:00
1f281357aa Gaming/retroarch: add snes roms 2023-12-30 20:42:14 +01:00
b20181aec5 Gaming/retroarch: init 2023-12-30 20:42:09 +01:00
63062475e2 Desktop/keepassxc: install using home-manager 2023-12-30 20:42:01 +01:00
dcd6b194cb Desktop/keepassxc: enable favicon downloader 2023-12-30 20:41:50 +01:00
afb6170927 Server/traefik: depend on tailscale 2023-12-30 14:03:46 +01:00
44e2429b4c Machines/SurfaceGo: use systemd initrd 2023-12-29 19:23:40 +01:00
af5251bf42 Machines/SurfaceGo: enable tpm2 2023-12-29 19:22:56 +01:00
78d717bfef Machines/SurfaceGo: remove unused stuff 2023-12-29 19:17:07 +01:00
a4494f566b Machines/SurfaceGo: use default NixOS kernel 2023-12-29 19:06:47 +01:00
e0a28e73d2 Revert "Sddm: work around a bug"
This reverts commit 62bc8f9bee since the bug no longer occurs
2023-12-27 10:38:09 +01:00
f374274550 Flake: update lock file 2023-12-26 15:42:33 +01:00
73adf771c6 Flake: update lock file 2023-12-22 21:01:20 +01:00
175765ba57 Kde/plasma: set kwin window decorations 2023-12-18 14:10:18 +01:00
e33be49adb Flake: update plasma-manager 2023-12-18 14:02:36 +01:00
04feb2a4fe Flake: update lock file 2023-12-18 11:00:28 +01:00
a80920a663 Programs/common/starship: add upstream nerd font preset 2023-12-18 10:33:30 +01:00
9a8309def9 Common/programs/starship: add catpuccin color palette 2023-12-15 14:02:57 +01:00
437d3022eb kde/programs/konsole: add catppuccin colorscheme 2023-12-15 14:02:13 +01:00
b56b90651a Common/programs/git: disable pull.rebase 2023-12-15 13:00:56 +01:00
f3189018bf Common/programs/btop: add catppuccin theme 2023-12-15 13:00:56 +01:00
08df06dc26 Common/programs/btop: enable using home manager 2023-12-15 12:52:31 +01:00
1443e62ccd Desktop/programs/vscode: override catppuccin theme 2023-12-15 11:25:31 +01:00
cf34e7c222 Services/avahi: rename moved option 2023-12-14 11:13:10 +01:00
e6fd986fc5 Flake: update lock file
There are more things that can be updated, but jovian is going to get bumped soon
but I want to get new packages now
2023-12-14 09:56:00 +01:00
ddca181222 Flake: update lock file 2023-12-11 13:00:44 +01:00
b841a4fda9 Sever/gitea: migrate to forgejo 2023-12-11 10:39:43 +01:00
1a84aa2290 Server: move services to subdomains 2023-12-10 18:12:27 +01:00
5a52fd9f3a Server/dns: localise queries 2023-12-09 19:38:21 +01:00
78d3ac4d4e Server/traefik: set http entrypoint address to the tailscale IP 2023-12-09 18:39:45 +01:00
3e4b9056f4 Server/traefik: only enable web ui in specialisation 2023-12-09 18:31:08 +01:00
486d719d52 Server/dns: enable and configure dnsmasq 2023-12-09 18:00:03 +01:00
dc3a37fd98 Server: remove unused wireguard configs and secrets 2023-12-06 16:48:50 +01:00
e8f709aa45 Everest: replace google dns with quad9 2023-12-05 20:46:03 +01:00
d1787ecb24 Everest: mount subvolumes 2023-12-04 01:28:07 +01:00
0281e6cfeb Update home manager and system stateVersion to 23.11 2023-12-03 18:47:38 +01:00
d54cf1741b Everest: declare interface for default gateway 2023-12-03 18:47:38 +01:00
d5098eb264 Move syncthing options to new format 2023-12-03 18:47:38 +01:00
63d6a617c1 Flake: update stable nixpkgs to 23.11 2023-12-03 18:47:38 +01:00
d9aab2cdc8 Desktop: use new fonts format 2023-12-03 18:47:38 +01:00
015ad6a1c6 Revert "Bat: use old theme syntax"
This reverts commit 0d6bdf7d94.
2023-12-03 18:47:38 +01:00
6871f8f301 Kde: set gtk cursor to breeze light 2023-12-01 00:27:01 +01:00
2542722888 School: install webstorm with plugins 2023-11-30 10:19:00 +01:00
51f3854609 Kde: install neochat 2023-11-30 10:17:11 +01:00
9592300a09 School/xampp: add booDark phpmyadmin theme 2023-11-27 13:32:17 +01:00
2e47069bd1 Flake: update lock file 2023-11-27 10:51:06 +01:00
834d512ba2 Flatpak: enable weekly auto updates 2023-11-25 00:37:09 +01:00
3b0764c478 .vscode: use spaces for indenting 2023-11-24 23:27:02 +01:00
7de933ebf8 Flake: update lock file 2023-11-23 22:13:45 +01:00
9f4501f909 Revert "Desktop: temporarely disable vesktop"
This reverts commit 9d1e799dd3.
2023-11-23 20:54:49 +01:00
e4c6910d41 Flake: update lock file 2023-11-19 19:20:38 +01:00
9d1e799dd3 Desktop: temporarely disable vesktop 2023-11-19 19:20:38 +01:00
65ed299e18 Revert "Gaming: temporarely disable heroic"
This reverts commit 15d667763c.
2023-11-19 19:15:30 +01:00
921f4d4dce Vscode: disable mutable extension dir 2023-11-17 11:18:57 +01:00
e351761651 Flake: update jovian input 2023-11-16 16:49:59 +01:00
f461c9e8f3 Vscode: fix mistakes (whoops) 2023-11-16 00:20:03 +01:00
8a1d1bd41d Vscode: use nil as language server 2023-11-16 00:13:39 +01:00
5b99e3cc56 Vscode: add catppuccin icon theme 2023-11-16 00:12:55 +01:00
79012f45de Vscode: don't write nested settings 2023-11-16 00:10:22 +01:00
61ff386854 flake: update lock file 2023-11-15 00:06:52 +01:00
fe9038c685 Common: enable fwupd 2023-11-13 12:11:21 +01:00
1510694a4a Flatpak: manage flatpak with nix-flatpak 2023-11-12 23:48:20 +01:00
6ca883ca0a Flake: add nix-flatpak 2023-11-12 23:32:06 +01:00
749476efcc Kde: change gtk2 config location 2023-11-12 23:25:23 +01:00
37dcf27b05 Flake: formatting and code cleanup 2023-11-12 21:13:21 +01:00
0353945dec Flake: update lock file 2023-11-12 02:41:58 +01:00
9cccf7b4b0 SteamDeck: install the steamdeck themes 2023-11-10 13:19:17 +01:00
cafa6e4097 School: add xampp 2023-11-10 10:56:48 +01:00
9b75124f16 Kde: set correct cursor theme for gtk 2023-11-09 11:12:14 +01:00
d4337b29b9 School: add vscode extensions 2023-11-09 11:12:14 +01:00
a13dc78024 Flake: update lock file 2023-11-08 09:10:13 +01:00
e598012ab8 Archie: enable bluetooth 2023-11-06 18:15:54 +01:00
7df7f68291 Flake: update lock file 2023-11-06 11:14:13 +01:00
bb7b08a630 Kde: set up gtk with home-manager 2023-11-04 02:03:47 +01:00
2ec7a30da1 Kde: deprecate system wide gtk settings 2023-11-04 02:03:24 +01:00
a9df918291 Flake: add discord-krisp-fixer package 2023-11-04 00:32:03 +01:00
3348f8457a Intellij: update plugins 2023-11-03 13:28:30 +01:00
85b6f2f09c Flake: update lock file 2023-11-03 12:37:44 +01:00
998ea1fa43 SurfaceGo: upgrade to nispkgs-unstable 2023-11-03 00:32:46 +01:00
3992f3e6b0 Kde: show notifications over fullscreen windows 2023-11-03 00:01:55 +01:00
1372eff3d8 Flake: update lock file 2023-11-02 10:50:00 +01:00
e0394bc056 Vencord: don't override sources 2023-11-02 10:40:24 +01:00
778c084bd2 .vscode: disable stupid settings 2023-11-02 09:20:33 +01:00
7108758182 School: add xml extension to vscode 2023-11-02 08:05:11 +01:00
c1756aff12 Vscode: add the nix-ide extension from nix-vscode-extensions 2023-11-02 08:04:44 +01:00
ff7cffe256 Discord: update vencord 2023-10-31 00:22:55 +01:00
e43b6dc882 Common: don't mount tmpfs to /tmp 2023-10-30 20:35:14 +01:00
4b1c7e7bd1 Vscode: enable catppuccin recommended settings 2023-10-30 14:10:28 +01:00
25afdc2a3a Vscode: use catppuccin theme 2023-10-30 13:52:24 +01:00
3dfdbe92c6 Desktop: enable vscode 2023-10-30 12:03:20 +01:00
734b043bc7 SteamDeck: enable bluetooth 2023-10-30 11:25:26 +01:00
59d5da3419 Kde: enable partition manager 2023-10-29 21:19:34 +01:00
27e3886afc Discord: override vencord version 2023-10-28 15:54:10 +02:00
ac9f1aa71c Flake: update lock file 2023-10-28 15:53:15 +02:00
2ad0a865d5 SteamDeck: revert back to on disk /tmp 2023-10-27 11:23:19 +02:00
15d667763c Gaming: temporarely disable heroic 2023-10-27 00:04:18 +02:00
5141f0bcf3 Default: enable plymouth 2023-10-25 00:16:27 +02:00
6114bddb91 Archie: load amdgpu module in initrd 2023-10-24 23:25:21 +02:00
fcc6fdfade Flake: update lock file 2023-10-24 20:30:59 +02:00
0d6bdf7d94 Bat: use old theme syntax 2023-10-24 20:15:14 +02:00
5f5c16503a Intellij: update catppuccin plugin 2023-10-24 10:37:37 +02:00
7505ddccb3 Bat: set catppuccin-mocha as the theme 2023-10-23 20:00:24 +02:00
4f5a944834 Bat: configure using home-manager 2023-10-23 13:28:40 +02:00
10fc83b906 Intellij: update catppuccin plugin 2023-10-23 12:42:58 +02:00
a4ecb63da6 Intellij: remove leftover space 2023-10-23 12:22:47 +02:00
36928939d5 Intellij: add rainbox-plugins plugin 2023-10-23 12:22:27 +02:00
7e3dc3cb97 Intellij: use fetchurl from pkgs instead of builtins 2023-10-23 11:50:10 +02:00
4dd3b646f2 Kde: change task switcher to thumbnail grid 2023-10-23 10:49:17 +02:00
6c14f4d0aa Common: remove leftover space 2023-10-23 09:37:52 +02:00
d0f8eab6c9 Kde: set up virtual desktops 2023-10-22 12:43:52 +02:00
2e73463ebc Kde: add desktop switching shortcuts 2023-10-22 04:08:20 +02:00
62ef357aff Kde: click item to select 2023-10-22 03:59:48 +02:00
33d16b58f1 Kde: configure plasma with plasma-manager 2023-10-22 03:55:18 +02:00
605e3bd630 Minecraft: change server settings 2023-10-22 03:00:45 +02:00
6683a3a161 Flake: update lock file 2023-10-20 21:47:02 +02:00
1deb7cf3c0 Everest: remove leftover configs 2023-10-20 21:10:07 +02:00
f7f70c3643 Merge branch 'main' of http://everest/gitea/Toast/nix-stuff 2023-10-19 22:39:44 +02:00
a126250c44 Firefox: enable physics based scrolling 2023-10-19 11:02:22 +02:00
b856056d24 Minecraft: fix hash for puffish_skills 2023-10-18 22:56:24 +02:00
df662f7307 Server: add minecraft server with anything-sync-daemon 2023-10-18 22:52:41 +02:00
6249738563 Flake: add anything-sync-daemon package 2023-10-18 21:05:48 +02:00
6f7f8c5521 Gaming: install prism launcher 2023-10-18 12:13:21 +02:00
a11a7598fc Intellij: don't use system wide java 2023-10-11 17:23:08 +02:00
a74a58ecfd Flatpak: don't restart flathub-add service on configuration changes 2023-10-11 12:24:17 +02:00
4aeb6d4d53 Starship: enable and configure directory module 2023-10-11 01:15:35 +02:00
46433b513d Starship: enable and configure os module 2023-10-11 01:06:04 +02:00
c5642afeb0 Starship: add space after nix symbol 2023-10-11 01:03:39 +02:00
5ec3c1c068 Starship: enable and configure nix_shell module 2023-10-11 00:49:37 +02:00
5e8f1f8232 Common: enable starship 2023-10-10 23:11:01 +02:00
330b203396 Desktop: set up fonts 2023-10-10 22:53:10 +02:00
3527a25625 Desktop: add commment and fix formatting in configuration.nix 2023-10-10 21:40:51 +02:00
0c053bde9c Kde: install skanpage if scanning is enabled 2023-10-10 20:17:06 +02:00
d3706f28ee Git: enable verbose commits 2023-10-10 10:15:43 +02:00
006ff76290 Intellij: install catppuccin plugin 2023-10-10 10:10:36 +02:00
69ae27e713 Intellij: configure jdk8 as default java version 2023-10-09 20:32:42 +02:00
46e73a0765 Intellij: remove unused parameter 2023-10-09 20:32:42 +02:00
95c929bdf7 School: move intellij idea config to it's own file 2023-10-09 20:32:42 +02:00
fd1efa3aec MySQL: install mycli 2023-10-09 20:32:42 +02:00
feec9e898e Flake: update lock file 2023-10-09 20:23:04 +02:00
1138343be8 Common: set configurationRevision to dirty if dirtyRev doesn't exist 2023-10-09 19:51:53 +02:00
c47e8216d5 Mysql: allow user to start/stop service 2023-10-06 10:26:03 +02:00
e67ace042d Kate: set kwrite as the default program for text files 2023-10-05 12:53:54 +02:00
f2a3cbdbf6 Common: enable and configure Git 2023-10-05 12:47:23 +02:00
f753d67874 Gaming: install Heroic games launcher 2023-10-05 10:13:06 +02:00
2d22bdf013 School: install intellij ultimate 2023-10-04 12:04:44 +02:00
e6b7c624af Mysql: don't autostart service 2023-10-03 09:56:29 +02:00
a595d97675 Mysql: fix indentation 2023-10-03 09:42:45 +02:00
3ecf51580d Server: make Everest share school-things folder with Archie 2023-10-03 01:40:07 +02:00
5fc18d212f Gaming: configure syncthiing 2023-10-03 01:39:13 +02:00
ca7dd48db3 Gaming: restructure role 2023-10-03 00:36:14 +02:00
190044ee8f School: share school things folder with Archie 2023-10-03 00:20:19 +02:00
2040a00a02 Pseint: make desktop file with icons 2023-10-02 12:49:40 +02:00
caff869c81 Pseint: make wrapper run wxPSeInt 2023-10-02 12:49:19 +02:00
efbba16fea School: enable mysql 2023-10-02 12:06:59 +02:00
1c9dced21c Mangohud: remove session variable workaround 2023-10-02 11:12:31 +02:00
43fb0b1169 SteamDeck: remove obsolete option 2023-10-02 11:11:23 +02:00
8b6c91980f Flake: update lock file 2023-10-01 13:48:40 +02:00
747c01370a Desktop: enable scanning 2023-09-29 23:28:06 +02:00
50766db8c9 Desktop: enable printing 2023-09-29 23:28:06 +02:00
6cf28e30a7 Flatpak: install flathub using systemd service 2023-09-28 13:42:23 +02:00
0dd4f4c956 Flake: add school role to Archie 2023-09-28 00:34:42 +02:00
3746b5356e School: install PSeInt 2023-09-28 00:33:22 +02:00
29e7ab4516 Flake: add PSeInt package 2023-09-28 00:24:37 +02:00
3480ab8216 Pipewire: enable rtkit 2023-09-27 00:11:34 +02:00
f40adefed8 Desktop: configure pipewire 2023-09-27 00:09:50 +02:00
8b6b7e54d6 Do not enable pipewire in machine specific configs 2023-09-27 00:09:09 +02:00
84cbb13782 Rpcs3: increase memlock limit 2023-09-27 00:02:00 +02:00
1de7abfc58 School: import programs 2023-09-26 10:05:39 +02:00
061aee27ad School: install dia 2023-09-26 10:05:39 +02:00
49268397de Gaming: install rpcs3 2023-09-25 23:29:40 +02:00
2e666b18ee Steamdeck: disable mangohud in game mode 2023-09-23 12:12:36 +02:00
bd5cba2c72 SteamDeck: install firmware upgraders 2023-09-23 12:10:21 +02:00
3f74fb61e4 SteamDeck: remove leftover comment 2023-09-23 12:01:48 +02:00
2426e966e5 Flake: update lock file 2023-09-23 11:49:36 +02:00
31501f509c Common: use zram as swap 2023-09-21 11:38:51 +02:00
63ed34e568 School: enable virtualbox 2023-09-20 11:09:28 +02:00
71e088d8ca SteamDeck: enable decky loader 2023-09-19 10:16:16 +02:00
7468275123 Common: set nixpath to the system flake (again) 2023-09-19 08:24:39 +02:00
a641d8bb4c Syncthing: add school things folder to server 2023-09-18 22:29:23 +02:00
1328e16181 Flake: add school role 2023-09-18 22:28:45 +02:00
81ded02e19 Flake: update lock file 2023-09-18 00:03:58 +02:00
f3c39dd7b4 Common: manage bash using home-manager 2023-09-16 13:06:52 +02:00
a4b51545e6 Common: enable home-manager's verbose activation 2023-09-16 11:31:11 +02:00
3e6ab74cb4 KeepassXC: change settings 2023-09-15 21:24:34 +02:00
4b3a5a4778 KeepassXC: move comment to right place 2023-09-15 21:24:34 +02:00
b9663da3a3 SteamDeck: use the valve kernel 2023-09-15 20:33:09 +02:00
ebee0cb26b Syncthing: update steam deck id 2023-09-15 19:15:13 +02:00
b623acef48 Common: set hostname as variant id 2023-09-15 13:27:14 +02:00
da0bd77930 Common: set system.configurationRevision 2023-09-14 23:19:26 +02:00
884590e972 Flake: remove leftover nixPath setting 2023-09-14 18:22:41 +02:00
d92b95c90f SteamDeck: enable steam deck ui and hardware support 2023-09-13 01:15:30 +02:00
73f9f12489 Flake: add Jovian-Experiments modules 2023-09-12 20:48:09 +02:00
b3297f130e SurfaceGo: use default kernel version 2023-09-12 18:58:52 +02:00
4ff3dda4d0 Flake: update lock file 2023-09-12 18:58:24 +02:00
e98119358d Machines: Add Steam Deck 2023-09-12 18:23:22 +02:00
3bdb7539b5 Archie: add mountpoint for windows partition 2023-09-09 21:31:28 +02:00
e3577910d1 Common: enable nfs support 2023-09-09 20:59:33 +02:00
5af49c32e2 Syncthing: give additional capabilities 2023-09-06 19:32:32 +02:00
7e6a0c9ad2 SurfaceGo: update kernel version 2023-09-04 19:31:17 +02:00
9cb596d6c5 Flake: update lock file 2023-09-04 19:31:03 +02:00
35189a4e19 Discord: add specialication to use stock discord package 2023-09-04 18:34:15 +02:00
5f983678dc Syncthing: allow the syncthing user to stop syncthing service 2023-09-02 23:12:37 +02:00
008f1bc36f Syncthing: tell traefik to redirect /syncthing to /syncthing/ 2023-09-02 01:33:36 +02:00
1b2eadecf4 Syncthing: add surface go to devices list 2023-09-02 00:49:03 +02:00
88a712eac9 Syncthing: use traefik as reverse proxy 2023-08-31 23:27:35 +02:00
47c8ca29a0 Common: set syncthing options 2023-08-31 22:19:12 +02:00
e6b6416bc3 Common: add everest to syncthing 2023-08-31 22:16:02 +02:00
052d072ea5 Syncthing: change path of passwords folder on desktop role 2023-08-31 22:15:01 +02:00
559121da21 Desktop: configure syncthing 2023-08-31 22:13:44 +02:00
3fc4d0bf80 Everest: remove redundant firewall config 2023-08-31 21:42:52 +02:00
b02aef6546 Syncthing: move common devices and folders into common role 2023-08-31 21:25:15 +02:00
a0b5740029 Server: chage archie's syncthing key 2023-08-31 20:47:39 +02:00
aeb1b8c376 Transmission: use traefik as reverse proxy 2023-08-31 18:42:39 +02:00
6f7941aa74 Gitea: use traefik as reverse proxy 2023-08-31 17:19:40 +02:00
329ac39050 Server: add traefik 2023-08-31 17:18:47 +02:00
efafd187d9 Common: enable and configure comma 2023-08-31 13:12:55 +02:00
c85c03a55e Nix-index: add prebuild database 2023-08-31 13:12:55 +02:00
7d80cffd7f Nix-index: install using NixOS module 2023-08-31 13:12:39 +02:00
ed1d2f3830 Kde: remove leftover comments 2023-08-31 00:55:23 +02:00
a67ce6f8ee Kde: overhaul custom theme creation 2023-08-31 00:45:39 +02:00
124322df4c Flatpak: add flathub 2023-08-30 16:49:23 +02:00
455790a5b1 Desktop: install JamesDSP 2023-08-30 00:57:53 +02:00
7765c2a550 Archie: use pipewire as the sound server again 2023-08-30 00:56:29 +02:00
a0d2ba5c70 Flake: update lock file 2023-08-30 00:54:54 +02:00
0a358a8643 KeepassXC: install with users.users.<>-packages instead of home manager 2023-08-30 00:36:38 +02:00
638cf16a41 Kate: install system-wide 2023-08-30 00:32:27 +02:00
100a4df006 Flake: add nix-diff to devShell 2023-08-30 00:16:37 +02:00
6f59bd3d6d Move home-manager settings to common role 2023-08-29 00:04:15 +02:00
8c35cda8e9 Firefox: uninstall plasma integration extension by default 2023-08-28 18:31:42 +02:00
a0db9fdcde Kde: install firefox plasma integration extension 2023-08-28 18:30:42 +02:00
a0e2825acd Firefox: move kde specific settings to kde role 2023-08-28 18:30:04 +02:00
a0221784e7 Archie: temporarely use pulseaudio as sound server 2023-08-28 17:53:12 +02:00
bd85f36dda Steam: only enable pipewire's alsa support if it's used as the sound server 2023-08-28 16:34:19 +02:00
60b28ea218 Archie: mount home subvolume as /home 2023-08-28 14:01:48 +02:00
94a87229f1 Archie: remove duplicate comment in hardware-configuration.nix 2023-08-28 13:13:51 +02:00
0dbd1faaa6 Nix: write system nixpkgs into registry 2023-08-26 21:22:09 +02:00
200ff43096 Server: enable routing features for tailscale 2023-08-26 13:12:15 +02:00
cb3ec0cb57 Common: set up tailscale 2023-08-26 13:05:54 +02:00
9b1e8798c0 SurfaceGo: use a bigger console font 2023-08-25 13:07:53 +02:00
62fdddc21e Common: set up console font 2023-08-25 13:07:39 +02:00
8e01e3b437 Flake: update lock file 2023-08-22 00:13:48 +02:00
c7c780d86d Flake: update lock file 2023-08-14 00:34:56 +02:00
Toast
ec6b78fec7 Merge pull request 'Merge kde-stuff into main' (#6) from kde-stuff into main
Reviewed-on: http://everest.local:3000/Toast/nix-stuff/pulls/6
2023-08-13 14:22:13 +02:00
273bcd9ffd Plasma: tell baloo to not index not useful folders 2023-08-13 13:55:47 +02:00
7d96e010ed Kde: move kate.nix into programs folder 2023-08-13 11:43:14 +02:00
bc899d5901 Desktop:enable flatpak 2023-08-12 14:04:45 +02:00
7e0a707db5 Common: set up default keyboard layout 2023-07-25 00:46:17 +02:00
62a2fda287 Common: set up timezone on configuration.nix 2023-07-25 00:46:17 +02:00
d3067f9547 Common: move localisation settings to configuration.nix 2023-07-25 00:46:17 +02:00
e3fe1566a4 Flake: update lock file 2023-07-25 00:42:54 +02:00
d15fa5d7fa Everest: do not use tmpfs as /tmp 2023-07-19 11:14:53 +02:00
a213508f68 Flake: update lock file 2023-07-19 11:10:33 +02:00
9220a6acb1 SurfaceGo: use nixos-hardware module 2023-07-19 10:41:04 +02:00
f9830c2dfe Flake: add nixos-hardware 2023-07-19 10:37:43 +02:00
582fe1b01b Flake: fix formatting 2023-07-17 13:15:52 +02:00
31dcdf1d7c Machines: Add Surface Go 2023-07-17 13:11:53 +02:00
6a83942761 Server: add wireguard 2023-07-14 15:24:33 +02:00
23c444cdd0 Secrets: change Everest key and reencrypt secrets (whoops)
Accidentally deleted the host keys, so I had to do this
2023-07-14 00:13:58 +02:00
89140b9bfd Secrets: change syncthing key and cert 2023-07-13 23:23:31 +02:00
ec15de1f6c Secrets: change ddclient password 2023-07-13 23:23:31 +02:00
49966fb6da Secrets: delete deprecated keys 2023-07-13 23:23:31 +02:00
5566b334e1 Secrets: add new Everest key and rekey secrets 2023-07-13 23:23:31 +02:00
e91cb56c09 Secrets: remove uneeded secrets 2023-07-13 23:23:31 +02:00
46f3c70957 Common: don't keep host keys as secrets 2023-07-13 23:23:31 +02:00
92f5996759 Micro: change clipboard to internal 2023-07-13 21:51:35 +02:00
Toast
fcd583a063 Merge pull request 'Update kde-stuff with changes from main' (#5) from main into kde-stuff
Reviewed-on: http://everest.local:3000/Toast/nix-stuff/pulls/5
2023-07-12 21:27:48 +02:00
31d1018267 Kde: enable kate 2023-07-12 21:24:10 +02:00
7c41dfd9b3 Archie: switch kernel to xanmod 2023-07-12 21:03:06 +02:00
c7206aa602 Update lock file 2023-07-12 19:39:38 +02:00
b7cbebdd05 Common: install file 2023-07-07 23:41:35 +02:00
76630bb781 Plasma: remove leftover command from testing 2023-07-07 23:37:18 +02:00
ac567396db Plasma: change default settings 2023-07-07 23:32:29 +02:00
aa00c6eefb Plasma: install tinted look and feel packages 2023-07-06 21:13:53 +02:00
894e0c85ce Plasma: patch and install Breeze color schemes 2023-07-05 21:45:50 +02:00
bec17eb0f3 Plasma: rename variable
Old variable was used to set both the gtkrc for gtk 1 and 2, but since it's used by only gtk 2 now I wanted the name to reflect that
2023-07-04 16:54:22 +02:00
d016e5f21e Plasma: write gtk2's gtkrc to right directory 2023-07-04 16:49:45 +02:00
ea6f1be016 Plasma: don't write gtk1 settings file 2023-07-04 16:49:45 +02:00
3dc9a6bb63 Plasma: set up breeze-dark as the gtk2 theme 2023-07-04 16:49:35 +02:00
1c35c527a5 Ssh-agent: add temporary workaround 2023-07-04 09:38:30 +02:00
c690057add KeepassXC: enable ssh-agent integration 2023-07-04 09:37:45 +02:00
70baaaca0f Gitignore: ignore swap files from kate 2023-07-04 08:48:05 +02:00
b202fe478d Desktop: start ssh-agent on login 2023-07-04 08:46:31 +02:00
ade2927e8b Desktop: restructure folder structure 2023-07-04 08:06:17 +02:00
bb6c9ea5d1 Desktop: enable external clipboard on micro 2023-07-03 13:20:11 +02:00
ad8081bba3 Common: configure micro 2023-07-03 12:31:25 +02:00
79006c509b Discord: enable OpenASAR and vencord (again) 2023-07-03 01:03:29 +02:00
8975afd18d Flake: do not set up pkgs 2023-07-03 01:02:09 +02:00
6df7d43e73 Mangohud: hide hud by default 2023-07-02 14:20:57 +02:00
e844d29eae Gaming: enable mangohud 2023-06-30 16:43:30 +02:00
8f7e8e3661 Steam: enable pipewire alsa compatibility 2023-06-30 12:15:13 +02:00
2d69565d91 Firefox: disable widget.use-xdg-desktop-portal.mime-handler 2023-06-30 12:10:07 +02:00
4ba470cf5d Archie: add gaming role 2023-06-29 18:42:41 +02:00
757f60070f Gaming: enable steam 2023-06-29 18:42:24 +02:00
e1d352d019 Add gaming role 2023-06-29 17:35:20 +02:00
1167b979d9 Firefox: always ask where to download files 2023-06-29 16:48:13 +02:00
52f70f8829 Firefox: disable the password manager 2023-06-29 16:47:17 +02:00
f9e71005a4 Firefox: integrate better with kde 2023-06-29 16:36:06 +02:00
7974ca628c Firefox: enable HTTPS only mode 2023-06-29 16:35:22 +02:00
69ad531978 Sddm: customize the currently applied theme 2023-06-29 12:58:40 +02:00
0dc2b2980b Sddm: create derivation containing custom theme 2023-06-29 12:57:40 +02:00
d6eff86646 Plasma: set default session to plasma wayland 2023-06-28 14:50:12 +02:00
fa385918cd Plasma: remove leftover testing package 2023-06-28 14:49:18 +02:00
ded324e0f3 KeepassXC: configure keepass and set up autostart 2023-06-28 14:30:54 +02:00
25ca3bb7cc Install KeePassXC using home-manager 2023-06-27 00:40:33 +02:00
6e6fa9c599 Archie: mount root subvolume of ssd 2023-06-27 00:26:10 +02:00
87f78bac52 Archie: fix typo in archie's hardware-configuration.nix 2023-06-27 00:12:18 +02:00
933b4fb9bb Sddm: enable numlock by default 2023-06-26 23:50:04 +02:00
Toast
e37566c35b Merge pull request 'Update kde-stuff branch with changes from main' (#4) from main into kde-stuff
Reviewed-on: http://everest.local:3000/Toast/nix-stuff/pulls/4
2023-06-26 23:44:45 +02:00
0de81c9406 Add unstable home-manager to flake.lock (oops) 2023-06-26 18:17:22 +02:00
Toast
a061fb29be Merge pull request 'firefox' (#2) from firefox into main
Reviewed-on: http://192.168.0.160:3000/Toast/nix-stuff/pulls/2
2023-06-26 17:51:51 +02:00
5dec9fe288 Archie: use unstable home-manager 2023-06-22 23:12:45 +02:00
0b0e52e0c5 Update lock file 2023-06-22 23:04:39 +02:00
26a6a74bc6 Firefox: disable sponsored links in home page 2023-06-22 21:21:45 +02:00
762d43bd91 Firefox: add extensions 2023-06-22 21:11:17 +02:00
c5937bf9b6 Firefox: enable uBlock origin 2023-06-22 20:26:22 +02:00
a167ea6dd1 Firefox: enable DRM 2023-06-22 20:18:31 +02:00
6c64366a42 Firefox: set default autoplay permissions 2023-06-22 20:17:49 +02:00
06d11340a8 Firefox: disable telemetry 2023-06-22 20:17:06 +02:00
b7c99f3fea Firefox: enable video hardware acceleration by default 2023-06-21 17:44:24 +02:00
fd0ef3be5b Enable firefox and disable Pocket 2023-06-21 17:31:43 +02:00
d6705e5a97 Add plasma's sdk to the dev shell 2023-06-21 17:08:22 +02:00
62bc8f9bee Sddm: work around a bug 2023-06-21 13:55:22 +02:00
879abfdf7d Archie: enable xone 2023-06-20 21:22:11 +02:00
e2a406b551 Add lock file 2023-06-18 13:12:51 +02:00
79ea9fe230 I give up :( 2023-06-18 13:12:34 +02:00
10404c18e3 Set up /tmp 2023-06-16 11:02:51 +02:00
1c617bdbf3 Syncthing: add Steam Deck to devices 2023-06-15 14:44:07 +02:00
Toast
f77fdb73d9 Merge pull request 'Upgrade nixpkgs, home-manager and stateVersion to 23.05' (#1) from upgrade-to-23.05 into main
Reviewed-on: http://everest.local:3000/Toast/nix-stuff/pulls/1
2023-06-15 14:07:53 +02:00
153 changed files with 9020 additions and 843 deletions

1
.envrc Normal file
View file

@ -0,0 +1 @@
use flake

10
.gitignore vendored
View file

@ -2,6 +2,12 @@
# Ignore build outputs from performing a nix-build or `nix build` command
result
result-*
repl-result*
# I don't want to do a commit everytime that I want to update stuff
flake.lock
# ---> Kate
# Ignore kate's swap files
*.kate-swp
# ---> Direnv
.direnv

3
.helix/languages.toml Normal file
View file

@ -0,0 +1,3 @@
[[language]]
name = "nix"
formatter = { command = "alejandra" }

33
.justfile Normal file
View file

@ -0,0 +1,33 @@
# Hide the default option from the recipes list
_default: print-recipes
# Escape codes for text formatting
bold := `tput bold`
normal := `tput sgr0`
find-results:
find . -name '*result*'
print-recipes:
@just --list
update:
nix flake update
@edit-secrets:
git clone ssh://forgejo@git.toast003.xyz:4222/Toast/nix-secrets.git /tmp/secrets
sed -i 's\git+ssh://forgejo@git.toast003.xyz:4222/Toast/nix-secrets\/tmp/secrets\g' flake.nix
nix flake update secrets
echo "{{bold}}All done!"
echo "{{normal}}Remember to restore flake.nix"
echo ""
echo ""
alias build := build-nixos
# Build a NixOS configuration
build-nixos host=`hostname`:
nom build .#nixosConfigurations.{{host}}.config.system.build.toplevel
# nix-diff with some parameters piped to less
nix-diff left right:
nix-diff --color=always --skip-already-compared {{left}} {{right}} | less -F

16
.vscode/settings.json vendored
View file

@ -1,7 +1,15 @@
{
"editor.detectIndentation": true,
"editor.insertSpaces": false,
"editor.tabSize": 2,
"editor.renderWhitespace": "all",
"editor.defaultFormatter": "jnoortheen.nix-ide"
"editor.insertSpaces": true,
"editor.defaultFormatter": "jnoortheen.nix-ide",
"nix.formatterPath": "alejandra",
"nix.serverSettings": {
"nil": {
"formatting": {
"command": [
"alejandra"
]
}
}
}
}

608
flake.lock generated Normal file
View file

@ -0,0 +1,608 @@
{
"nodes": {
"agenix": {
"inputs": {
"darwin": [],
"home-manager": "home-manager",
"nixpkgs": [
"nixpkgs-raw"
],
"systems": "systems"
},
"locked": {
"lastModified": 1762618334,
"narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=",
"owner": "ryantm",
"repo": "agenix",
"rev": "fcdea223397448d35d9b31f798479227e80183f6",
"type": "github"
},
"original": {
"owner": "ryantm",
"repo": "agenix",
"type": "github"
}
},
"catppuccin": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1765990358,
"narHash": "sha256-l8x0gU8mnYaGMl+gWrsSHKBJlZWD8KXJfHTkRlFiPI0=",
"owner": "catppuccin",
"repo": "nix",
"rev": "de1b60ca45a578f59f7d84c8d338b346017b2161",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "nix",
"type": "github"
}
},
"catppuccin-konsole": {
"flake": false,
"locked": {
"lastModified": 1720277724,
"narHash": "sha256-d5+ygDrNl2qBxZ5Cn4U7d836+ZHz77m6/yxTIANd9BU=",
"owner": "catppuccin",
"repo": "konsole",
"rev": "3b64040e3f4ae5afb2347e7be8a38bc3cd8c73a8",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "konsole",
"type": "github"
}
},
"copyparty": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs-raw"
]
},
"locked": {
"lastModified": 1766045858,
"narHash": "sha256-lsbdHVSc5EB2+XgKDbeG1DjLLY5DnzlKQIPV0uQu/bQ=",
"owner": "9001",
"repo": "copyparty",
"rev": "0e6b167167eaf04036df8576f1ea96bc116ea951",
"type": "github"
},
"original": {
"owner": "9001",
"repo": "copyparty",
"type": "github"
}
},
"eza-themes": {
"flake": false,
"locked": {
"lastModified": 1765813820,
"narHash": "sha256-WcwzKm2mi/tyA+zZCpyvTdrOrZ1R1ENA3t622SGzFas=",
"owner": "eza-community",
"repo": "eza-themes",
"rev": "1239cb1dd23fa8b70865550db77701b164a53cde",
"type": "github"
},
"original": {
"owner": "eza-community",
"repo": "eza-themes",
"type": "github"
}
},
"flake-utils": {
"locked": {
"lastModified": 1678901627,
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flakey-profile": {
"locked": {
"lastModified": 1712898590,
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
"owner": "lf-",
"repo": "flakey-profile",
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
"type": "github"
},
"original": {
"owner": "lf-",
"repo": "flakey-profile",
"type": "github"
}
},
"flakey-profile_2": {
"locked": {
"lastModified": 1712898590,
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
"owner": "lf-",
"repo": "flakey-profile",
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
"type": "github"
},
"original": {
"owner": "lf-",
"repo": "flakey-profile",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"agenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1745494811,
"narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager-unstable": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable-raw"
]
},
"locked": {
"lastModified": 1765980955,
"narHash": "sha256-rB45jv4uwC90vM9UZ70plfvY/2Kdygs+zlQ07dGQFk4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "89c9508bbe9b40d36b3dc206c2483ef176f15173",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"nixpkgs-raw"
]
},
"locked": {
"lastModified": 1765979862,
"narHash": "sha256-/r9/1KamvbHJx6I40H4HsSXnEcBAkj46ZwibhBx9kg0=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d3135ab747fd9dac250ffb90b4a7e80634eacbe9",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.11",
"repo": "home-manager",
"type": "github"
}
},
"jovian": {
"inputs": {
"nix-github-actions": "nix-github-actions",
"nixpkgs": [
"nixpkgs-unstable-raw"
]
},
"locked": {
"lastModified": 1766067735,
"narHash": "sha256-cRC/rOYRtZNzc5y9nTccozyo/mkI4/1eFE33Aqgs+SQ=",
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"rev": "34a16089be30f77ac9444907ec97c02b4b711896",
"type": "github"
},
"original": {
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"type": "github"
}
},
"lix": {
"flake": false,
"locked": {
"lastModified": 1765883751,
"narHash": "sha256-clrWX/t2swPGBVs50Yegq2HK3q5bbwOt3kWMsL7JIZM=",
"rev": "fc0073f54095f15ee272621d4746eb9f40946385",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/fc0073f54095f15ee272621d4746eb9f40946385.tar.gz?rev=fc0073f54095f15ee272621d4746eb9f40946385"
},
"original": {
"type": "tarball",
"url": "https://git.lix.systems/lix-project/lix/archive/main.tar.gz"
}
},
"lix-module": {
"inputs": {
"flake-utils": "flake-utils_2",
"flakey-profile": "flakey-profile",
"lix": [
"lix"
],
"nixpkgs": [
"nixpkgs-raw"
]
},
"locked": {
"lastModified": 1764519849,
"narHash": "sha256-XnNABKfIYKSimQVvKc9FnlC2H0LurOhd9MS6l0Z67lE=",
"rev": "6c95c0b6f73f831226453fc6905c216ab634c30f",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/6c95c0b6f73f831226453fc6905c216ab634c30f.tar.gz?rev=6c95c0b6f73f831226453fc6905c216ab634c30f"
},
"original": {
"type": "tarball",
"url": "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz"
}
},
"lix-module-unstable": {
"inputs": {
"flake-utils": "flake-utils_3",
"flakey-profile": "flakey-profile_2",
"lix": [
"lix"
],
"nixpkgs": [
"nixpkgs-unstable-raw"
]
},
"locked": {
"lastModified": 1764519849,
"narHash": "sha256-XnNABKfIYKSimQVvKc9FnlC2H0LurOhd9MS6l0Z67lE=",
"rev": "6c95c0b6f73f831226453fc6905c216ab634c30f",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/6c95c0b6f73f831226453fc6905c216ab634c30f.tar.gz?rev=6c95c0b6f73f831226453fc6905c216ab634c30f"
},
"original": {
"type": "tarball",
"url": "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz"
}
},
"nix-flatpak": {
"locked": {
"lastModified": 1754777568,
"narHash": "sha256-0bBqT+3XncgF8F03RFAamw9vdf0VmaDoIJLTGkjfQZs=",
"owner": "gmodena",
"repo": "nix-flatpak",
"rev": "62f636b87ef6050760a8cb325cadb90674d1e23e",
"type": "github"
},
"original": {
"owner": "gmodena",
"ref": "main",
"repo": "nix-flatpak",
"type": "github"
}
},
"nix-github-actions": {
"inputs": {
"nixpkgs": [
"jovian",
"nixpkgs"
]
},
"locked": {
"lastModified": 1729697500,
"narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=",
"owner": "zhaofengli",
"repo": "nix-github-actions",
"rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf",
"type": "github"
},
"original": {
"owner": "zhaofengli",
"ref": "matrix-name",
"repo": "nix-github-actions",
"type": "github"
}
},
"nix-impermanence": {
"locked": {
"lastModified": 1737831083,
"narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=",
"owner": "nix-community",
"repo": "impermanence",
"rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "impermanence",
"type": "github"
}
},
"nix-index-db": {
"inputs": {
"nixpkgs": [
"nixpkgs-raw"
]
},
"locked": {
"lastModified": 1765267181,
"narHash": "sha256-d3NBA9zEtBu2JFMnTBqWj7Tmi7R5OikoU2ycrdhQEws=",
"owner": "Mic92",
"repo": "nix-index-database",
"rev": "82befcf7dc77c909b0f2a09f5da910ec95c5b78f",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "nix-index-database",
"type": "github"
}
},
"nix-index-db-unstable": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable-raw"
]
},
"locked": {
"lastModified": 1765267181,
"narHash": "sha256-d3NBA9zEtBu2JFMnTBqWj7Tmi7R5OikoU2ycrdhQEws=",
"owner": "Mic92",
"repo": "nix-index-database",
"rev": "82befcf7dc77c909b0f2a09f5da910ec95c5b78f",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "nix-index-database",
"type": "github"
}
},
"nixos-hardware": {
"locked": {
"lastModified": 1764440730,
"narHash": "sha256-ZlJTNLUKQRANlLDomuRWLBCH5792x+6XUJ4YdFRjtO4=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "master",
"repo": "nixos-hardware",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1763966396,
"narHash": "sha256-6eeL1YPcY1MV3DDStIDIdy/zZCDKgHdkCmsrLJFiZf0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5ae3b07d8d6527c42f17c876e404993199144b6a",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-raw": {
"locked": {
"lastModified": 1765838191,
"narHash": "sha256-m5KWt1nOm76ILk/JSCxBM4MfK3rYY7Wq9/TZIIeGnT8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c6f52ebd45e5925c188d1a20119978aa4ffd5ef6",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-25.11",
"type": "indirect"
}
},
"nixpkgs-unstable-raw": {
"locked": {
"lastModified": 1765779637,
"narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1306659b587dc277866c7b69eb97e5f07864d8c4",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-unstable",
"type": "indirect"
}
},
"plasma-manager": {
"inputs": {
"home-manager": [
"home-manager-unstable"
],
"nixpkgs": [
"nixpkgs-unstable-raw"
]
},
"locked": {
"lastModified": 1763909441,
"narHash": "sha256-56LwV51TX/FhgX+5LCG6akQ5KrOWuKgcJa+eUsRMxsc=",
"owner": "nix-community",
"repo": "plasma-manager",
"rev": "b24ed4b272256dfc1cc2291f89a9821d5f9e14b4",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "plasma-manager",
"type": "github"
}
},
"root": {
"inputs": {
"agenix": "agenix",
"catppuccin": "catppuccin",
"catppuccin-konsole": "catppuccin-konsole",
"copyparty": "copyparty",
"eza-themes": "eza-themes",
"home-manager": "home-manager_2",
"home-manager-unstable": "home-manager-unstable",
"jovian": "jovian",
"lix": "lix",
"lix-module": "lix-module",
"lix-module-unstable": "lix-module-unstable",
"nix-flatpak": "nix-flatpak",
"nix-impermanence": "nix-impermanence",
"nix-index-db": "nix-index-db",
"nix-index-db-unstable": "nix-index-db-unstable",
"nixos-hardware": "nixos-hardware",
"nixpkgs-raw": "nixpkgs-raw",
"nixpkgs-unstable-raw": "nixpkgs-unstable-raw",
"plasma-manager": "plasma-manager",
"secrets": "secrets",
"sops-nix": "sops-nix"
}
},
"secrets": {
"flake": false,
"locked": {
"lastModified": 1766143747,
"narHash": "sha256-bG4QoCZLUDrubYFuRvxiXhycBD3R+UjrzXrNZ+qRnio=",
"ref": "refs/heads/main",
"rev": "8921f23861a82f0f8d706c276bc738ca72c053b1",
"revCount": 41,
"type": "git",
"url": "ssh://forgejo@git.toast003.xyz:4222/Toast/nix-secrets"
},
"original": {
"type": "git",
"url": "ssh://forgejo@git.toast003.xyz:4222/Toast/nix-secrets"
}
},
"sops-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable-raw"
]
},
"locked": {
"lastModified": 1765836173,
"narHash": "sha256-hWRYfdH2ONI7HXbqZqW8Q1y9IRbnXWvtvt/ONZovSNY=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "443a7f2e7e118c4fc63b7fae05ab3080dd0e5c63",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "sops-nix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

255
flake.nix Executable file → Normal file
View file

@ -2,81 +2,236 @@
description = "Configuration for Everest";
inputs = {
nixpkgs.url = "nixpkgs/nixos-23.05";
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
secrets = {
url = "git+ssh://forgejo@git.toast003.xyz:4222/Toast/nix-secrets";
flake = false;
};
nixpkgs-raw.url = "nixpkgs/nixos-25.11";
nixpkgs-unstable-raw.url = "nixpkgs/nixos-unstable";
agenix = {
url = "github:ryantm/agenix";
inputs = {
nixpkgs.follows = "nixpkgs";
nixpkgs.follows = "nixpkgs-raw";
darwin.follows = ""; # Not using this on MacOS, so this doesn't pull it's dependencies
};
};
home-manager.url = "github:nix-community/home-manager/release-23.05";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nix-impermanence.url = "github:nix-community/impermanence";
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs-unstable-raw";
};
outputs = {nixpkgs, agenix, home-manager, nixpkgs-unstable, nix-impermanence, ... }: {
devShells.x86_64-linux.default = nixpkgs.legacyPackages.x86_64-linux.mkShell {
name = "Environment for toast's nixos configurations";
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs-raw";
};
home-manager-unstable = {
url = "github:nix-community/home-manager/";
inputs.nixpkgs.follows = "nixpkgs-unstable-raw";
};
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
jovian = {
url = "github:Jovian-Experiments/Jovian-NixOS";
inputs.nixpkgs.follows = "nixpkgs-unstable-raw";
};
nix-impermanence.url = "github:nix-community/impermanence";
copyparty.url = "github:9001/copyparty";
copyparty.inputs.nixpkgs.follows = "nixpkgs-raw";
/*
These are the same input, just following different nixpkgs versions
This avoids some wierdness when using one that follows unstable on a stable nixpkgs
*/
nix-index-db = {
url = "github:Mic92/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs-raw";
};
nix-index-db-unstable = {
url = "github:Mic92/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs-unstable-raw";
};
plasma-manager = {
url = "github:nix-community/plasma-manager/";
inputs.nixpkgs.follows = "nixpkgs-unstable-raw";
inputs.home-manager.follows = "home-manager-unstable";
};
nix-flatpak.url = "github:gmodena/nix-flatpak/main";
catppuccin.url = "github:catppuccin/nix";
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz";
inputs.nixpkgs.follows = "nixpkgs-raw";
inputs.lix.follows = "lix";
};
lix-module-unstable = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz";
inputs.nixpkgs.follows = "nixpkgs-unstable-raw";
inputs.lix.follows = "lix";
};
# Non flake inputs / random things
lix = {
url = "https://git.lix.systems/lix-project/lix/archive/main.tar.gz";
flake = false;
};
eza-themes = {
url = "github:eza-community/eza-themes";
flake = false;
};
catppuccin-konsole = {
url = "github:catppuccin/konsole";
flake = false;
};
};
outputs = {...} @ inputs:
with inputs;
# Patch nixpkgs
# https://ertt.ca/nix/patch-nixpkgs/
let
nixpkgs-unstable-patched = nixpkgs-raw.legacyPackages.x86_64-linux.applyPatches {
name = "patched-nixpkgs-unstable";
src = nixpkgs-unstable-raw;
patches = [
./nixpkgs-patches/pr471291.patch
./nixpkgs-patches/revert-mangohud-update.patch
];
};
nixpkgs-patched = nixpkgs-raw.legacyPackages.x86_64-linux.applyPatches {
name = "patched-nixpkgs";
src = nixpkgs-raw;
patches = [
];
};
# https://discourse.nixos.org/t/proper-way-of-applying-patch-to-system-managed-via-flake/21073/26
nixpkgs-unstable = (import "${nixpkgs-unstable-patched}/flake.nix").outputs {self = inputs.nixpkgs-unstable-raw;};
nixpkgs = (import "${nixpkgs-patched}/flake.nix").outputs {self = inputs.nixpkgs-raw;};
in {
formatter.x86_64-linux = nixpkgs-unstable.legacyPackages.x86_64-linux.alejandra;
devShells.x86_64-linux.default = nixpkgs.legacyPackages.x86_64-linux.mkShellNoCC {
name = "toast-devshell";
# The agenix cli is not needed to activate a configuration, so instead of installing it
# I'll just add it to de devShell, since that's the only real time I'm going to use it.
packages = [
packages = with nixpkgs.legacyPackages.x86_64-linux; [
agenix.packages.x86_64-linux.default
nixpkgs.legacyPackages.x86_64-linux.git
git
nvd
nix-output-monitor
nix-diff
just
alejandra
];
shellHook = ''
export PS1="$PS1(toast-configs)> "
'';
};
nixosConfigurations = {
Archie = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
pkgs = import nixpkgs-unstable {
system = "x86_64-linux";
config = { allowUnfree = true; }; # TODO: Find why this doesn't work
overlays =
let
discordOverlay = self: super: {
discord = super.discord.override {
withOpenASAR = true;
withVencord = true;
overlays.default = final: prev: {
kasane-teto-cursor = final.callPackage ./pkgs/kasane-teto-cursor {};
kame-editor = final.callPackage ./pkgs/kame-editor {};
kame-tools = final.callPackage ./pkgs/kame-tools {};
rstmcpp = final.callPackage ./pkgs/rstmcpp {};
};
packages = {
x86_64-linux = with import nixpkgs-unstable-raw {
system = "x86_64-linux";
overlays = [self.overlays.default];
}; {
inherit kasane-teto-cursor kame-editor kame-tools rstmcpp;
};
};
nixosConfigurations = let
mkSystems = hosts:
builtins.mapAttrs (
host: settings: let
pkgs =
if isStable
then nixpkgs
else nixpkgs-unstable;
isStable = (settings ? stable) && (settings.stable == true);
in
mkSystem host settings.modules pkgs isStable
)
hosts;
mkSystem = host: modules: pkgs: stable:
pkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
flakeSelf = self;
};
lib = import ./lib {nixpkgs = pkgs;};
modules =
[
agenix.nixosModules.default
sops-nix.nixosModules.sops
(
if stable
then home-manager
else home-manager-unstable
)
.nixosModules
.home-manager
(
if stable
then nix-index-db
else nix-index-db-unstable
)
.nixosModules
.nix-index
catppuccin.nixosModules.catppuccin
(
if stable
then lix-module
else lix-module-unstable
)
.nixosModules
.default
./roles/common
(./machines + "/${host}")
]
++ modules;
};
in
[ discordOverlay ];
};
modules = [
# Needed for nix-index
{ nix.nixPath = [ "nixpkgs=${nixpkgs}" ]; }
agenix.nixosModules.default
home-manager.nixosModule
./roles/common
mkSystems {
Archie.modules = [
nixos-hardware.nixosModules.common-cpu-amd-zenpower
./roles/desktop
./roles/kde
./machines/Archie
./roles/gaming
];
};
Everest = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
pkgs = import nixpkgs {
system = "x86_64-linux";
config = { allowUnfree = false; }; # TODO: Find why this doesn't work
};
SurfaceGo.modules = [
nixos-hardware.nixosModules.microsoft-surface-go
./roles/desktop
./roles/kde
./machines/SurfaceGo
];
SteamDeck.modules = [
jovian.nixosModules.default
./roles/desktop
./roles/kde
./roles/gaming
];
WinMax2.modules = [
nixos-hardware.nixosModules.gpd-win-max-2-2023
./roles/desktop
./roles/kde
./roles/gaming
];
Everest = {
stable = true;
modules = [
# Needed for nix-index
{ nix.nixPath = [ "nixpkgs=${nixpkgs}" ]; }
agenix.nixosModules.default
home-manager.nixosModule
./roles/common
copyparty.nixosModules.default
./roles/server
./machines/Everest
./openbox.nix
];
};
};

10
lib/default.nix Normal file
View file

@ -0,0 +1,10 @@
{nixpkgs}:
nixpkgs.lib.extend (final: prev: {
toast = let
importLib = file: import file {lib = final;};
in {
patches = importLib ./patches.nix;
networkManager = importLib ./networkManager.nix;
syncthing = importLib ./syncthing.nix;
};
})

23
lib/networkManager.nix Normal file
View file

@ -0,0 +1,23 @@
{lib}: {
/**
Make a NetworkManager wifi profile, to be used with ensureProfiles
*/
mkWifiProfile = {
id,
ssid,
priority ? 0,
wifi-security,
}: {
connection = {
inherit id;
type = "wifi";
autoconnect-priority = priority;
};
ipv4.method = "auto";
wifi = {
mode = "infrastructure";
inherit ssid;
};
inherit wifi-security;
};
}

13
lib/patches.nix Normal file
View file

@ -0,0 +1,13 @@
{lib}: {
/**
Get a list of patches from a path.
*/
patchesInPath = path: let
pathContents = builtins.readDir path;
filter = name: value:
(value == "regular" || value == "symlink") && lib.strings.hasSuffix ".patch" name;
filteredContents = lib.attrsets.filterAttrs filter pathContents;
patchFilenames = builtins.attrNames filteredContents;
in
builtins.map (value: lib.path.append path value) patchFilenames;
}

5
lib/syncthing.nix Normal file
View file

@ -0,0 +1,5 @@
{lib}: let
data = import ./../syncthing.nix;
in {
devices = builtins.getAttr "devices" data;
}

View file

@ -1,10 +1,11 @@
# 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, ... }:
{
config,
pkgs,
...
}: {
# Use grub boot loader
boot.loader = {
systemd-boot.enable = false;
@ -18,34 +19,17 @@
};
boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest;
networking.hostName = "Archie"; # Define your hostname.
networking.networkmanager.enable = true; # Enable networking
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# Set your time zone.
time.timeZone = "Europe/Madrid";
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
console = {
keyMap = "es";
};
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the pipewire sound server
services.pipewire = {
enable = true;
pulse.enable = true;
};
# Configure keymap in X11
# services.xserver.layout = "us";
# services.xserver.xkbOptions = "eurosign:e,caps:escape";
@ -60,15 +44,7 @@
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
users.users.toast = {
isNormalUser = true;
extraGroups = [ "wheel" ]; # Enable sudo for the user.
packages = with pkgs; [
firefox
tree
];
};
hardware.bluetooth.enable = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
@ -100,6 +76,4 @@
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
}

View file

@ -1,6 +1,4 @@
{ ... }:
{
{...}: {
imports = [
./configuration.nix
./hardware-configuration.nix

View file

@ -1,41 +1,84 @@
# 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")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
# Enable support for the Xbox One wireless dongle
hardware.xone.enable = true;
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usbhid" "nvme" "sd_mod"];
boot.initrd.kernelModules = ["amdgpu"];
boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
boot.extraModprobeConfig = "options snd_hda_intel power_save=0";
fileSystems."/" =
{ device = "/dev/disk/by-uuid/5322c217-b87b-4150-8b4c-a8fa17a899bf";
fileSystems."/" = {
device = "/dev/disk/by-uuid/5322c217-b87b-4150-8b4c-a8fa17a899bf";
fsType = "btrfs";
options = [ "subvol=@root" "compress=zstd" ];
options = ["subvol=@root"];
};
fileSystems."/nix" =
{ device = "/dev/disk/by-uuid/5322c217-b87b-4150-8b4c-a8fa17a899bf";
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/5322c217-b87b-4150-8b4c-a8fa17a899bf";
fsType = "btrfs";
options = [ "subvol=@nix" "compress=zstd" ];
options = ["subvol=@nix"];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/5322c217-b87b-4150-8b4c-a8fa17a899bf";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/5322c217-b87b-4150-8b4c-a8fa17a899bf";
fsType = "btrfs";
options = [ "subvol=@boot" "compress=zstd" ];
options = ["subvol=@boot"];
};
fileSystems."/boot/efi" =
{ device = "/dev/disk/by-uuid/FB87-4CBC";
fileSystems."/boot/efi" = {
device = "/dev/disk/by-uuid/FB87-4CBC";
fsType = "vfat";
};
fileSystems = {
/*
Mount the root subvolume of the SSD
This is helpful for getting things from
my old Arch install, as well as for running btdu
*/
"/mnt/ssd" = {
device = config.fileSystems."/".device;
fsType = config.fileSystems."/".fsType;
options = ["subvolid=5" "ro"];
};
"/mnt/hdd" = {
# device = "/dev/disk/by-id/ata-SAMSUNG_HD103SI_S1Y5J9CZA19763-part1";
label = "Archie\\x20HDD";
fsType = "bcachefs";
options = ["x-systemd.automount"];
};
"/mnt/windows" = {
device = "/dev/disk/by-uuid/B61AFDAC1AFD6A2F";
fsType = "ntfs3";
neededForBoot = false;
options = ["noauto" "windows_names"];
};
"/home" = {
device = "/dev/disk/by-uuid/5322c217-b87b-4150-8b4c-a8fa17a899bf";
fsType = "btrfs";
options = ["subvol=@home"];
};
"/persist" = {
device = "/dev/disk/by-uuid/5322c217-b87b-4150-8b4c-a8fa17a899bf";
fsType = "btrfs";
options = ["subvol=@persist"];
neededForBoot = true;
};
};
swapDevices = [];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";

View file

@ -1,10 +1,7 @@
# 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, lib, ... }:
{
{lib, ...}: {
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.timeout = 5;
@ -23,81 +20,41 @@
dhcpcd.enable = false;
interfaces.eno1 = {
wakeOnLan.enable = true;
ipv4.addresses = [ {
address = "192.168.0.160";
ipv4.addresses = [
{
address = "192.168.1.160";
prefixLength = 24;
} ];
}
];
};
defaultGateway = "192.168.0.1";
nameservers = [ "8.8.8.8" ];
# I use networkd, so I need to declare the interface for the default gateway
defaultGateway = {
address = "192.168.1.1";
interface = "eno1";
};
nameservers = ["9.9.9.9"];
};
systemd.network.wait-online.extraArgs = ["--dns"];
# Set your time zone.
time.timeZone = "Europe/Madrid";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "es_ES.UTF-8";
LC_IDENTIFICATION = "es_ES.UTF-8";
LC_MEASUREMENT = "es_ES.UTF-8";
LC_MONETARY = "es_ES.UTF-8";
LC_NAME = "es_ES.UTF-8";
LC_NUMERIC = "es_ES.UTF-8";
LC_PAPER = "es_ES.UTF-8";
LC_TELEPHONE = "es_ES.UTF-8";
LC_TIME = "es_ES.UTF-8";
};
# Configure keymap in X11
services.xserver = {
layout = "es";
xkbVariant = "";
};
# Configure console keymap
console.keyMap = "es";
services.automatic-timezoned.enable = lib.mkForce false;
# Define a user account. Don't forget to set a password with passwd.
users.users.toast = {
isNormalUser = true;
description = "Toast";
extraGroups = [ "networkmanager" "wheel" "transmission"];
packages = with pkgs; [];
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC2bOVmxUNvg9qFv9DlzMmTRlzcNsyNq1F1wBuAXySwsWAzHGaO+WGdSCINxW3k2ccXn7M/o1r89LeTzRzi8sWQYCpBaIqYVszM/r7SvTS4gASyKhM6lNlyUEPOnvCXH7rdtF+fjoA1TJPv7GBk78QRhGh+eVO3qhY1m++5C1CPFlyrc6sSfgIBQJ5GQZFl/7YEgsrPo+M+0Sd7LkaCOyNmJA0Wi0BA3bbf5sJhrZVMMg/p7w+eMphz2kd1VTVjW3yeMq9zLCiu4SOTBNGCMEvKIdUZbQ83lNrqO2z1/3T1bDwJgpz3xusfkNCeNJSmhfFw5ydHEUp/9jshq38WmulKAMw2Kl/Zed62AVU7Ux7YjUkZkWvo8i3eXuLUxoG891S7cWV1/ijs9QMajOLLT14FG7RbzUYYaYlx+/iNGji9d4sp9/oMYyO45TMe+vEezFSBygP7TY0QFOr4xTi49ZRQFsszbFnGRv+k3wVKoGoeNt0xWB8pBEPFtaeHJpQyJX8= id_rsa_moon"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOeu3crGqtxwaqgoQPt5mWlC8+PL/Icvcvo0MBAaK80L Key for work laptop"
];
extraGroups = ["networkmanager" "transmission"];
};
# Large builds (the linux kernel) fail to build because /tmp is too small when using tmpfs
boot.tmp.useTmpfs = false;
home-manager = {
backupFileExtension = "backup";
useGlobalPkgs = true;
users.toast = {config, ...}: {
home = {
stateVersion = "23.05";
file = {
# This symlinks the Transmission downloads folder into my user's downloads folder for easy access
"Downloads/Transmission".source = config.lib.file.mkOutOfStoreSymlink "/var/lib/transmission/Downloads";
};
};
xdg = {
#enable = true;
userDirs = {
enable = true;
createDirectories = true;
publicShare = null; # Disable the public folder
};
};
};
};
# Open ports in the firewall.
# 8384 is syncthing's webui, and 22000 is syncthing related too
# No idea what 5201 and 21027 do tho
networking.firewall.allowedTCPPorts = [ 5201 8384 22000 ];
networking.firewall.allowedUDPPorts = [ 5201 22000 21027];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
}

View file

@ -1,6 +1,4 @@
{ ... }:
{
{...}: {
imports = [
./configuration.nix
./hardware-configuration.nix

View file

@ -1,11 +1,14 @@
# 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")
];
boot.initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
@ -13,13 +16,42 @@
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-label/Everest";
fileSystems = {
"/" = {
device = "/dev/disk/by-label/Everest";
fsType = "btrfs";
options = ["compress=zstd" "subvol=@"];
};
"/nix" = {
device = "/dev/disk/by-uuid/5322c217-b87b-4150-8b4c-a8fa17a899bf";
fsType = "btrfs";
options = ["subvol=@nix-server"];
};
"/home" = {
device = "/dev/disk/by-label/Everest";
fsType = "btrfs";
options = ["compress=zstd" "subvol=@home"];
};
"/mnt/hdd" = {
device = "/dev/disk/by-label/Everest";
fsType = "btrfs";
options = ["compress=zstd" "subvol=/" "ro"];
};
"/mnt/ssd" = {
device = "/dev/disk/by-uuid/5322c217-b87b-4150-8b4c-a8fa17a899bf";
fsType = "btrfs";
options = ["subvol=/" "ro"];
};
"/persist" = {
device = "/dev/disk/by-label/Everest";
fsType = "btrfs";
options = ["compress=zstd" "subvol=@persist"];
neededForBoot = true;
};
};
fileSystems."/boot/efi" =
{ device = "/dev/disk/by-label/Boot";
fileSystems."/boot/efi" = {
device = "/dev/disk/by-uuid/FB87-4CBC";
fsType = "vfat";
};

View file

@ -0,0 +1,103 @@
# 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,
lib,
...
}: {
# Use grub boot loader
boot.loader = {
systemd-boot.enable = false;
grub = {
enable = true;
device = "nodev";
efiSupport = true;
# No other OS on here :P
useOSProber = false;
};
efi.efiSysMountPoint = config.fileSystems."efi_boot_partition".mountPoint;
};
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "SteamDeck"; # Define your hostname.
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
jovian = {
devices.steamdeck = {
enable = true;
};
# Steam Deck UI settings
steam = {
enable = true;
autoStart = true;
user = "toast";
desktopSession = "plasma";
};
decky-loader = {
enable = true;
};
};
services.displayManager.sddm.enable = lib.mkForce false;
# Enable bluetooth
hardware.bluetooth = {
enable = true;
};
# Configure keymap in X11
# services.xserver.layout = "us";
# services.xserver.xkbOptions = "eurosign:e,caps:escape";
# Enable CUPS to print documents.
# services.printing.enable = true;
# Enable sound.
# sound.enable = true;
# hardware.pulseaudio.enable = true;
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Large builds (the linux kernel) fail to build because /tmp is too small when using tmpfs
boot.tmp.useTmpfs = false;
environment.systemPackages = [pkgs.steamdeck-firmware pkgs.steamdeck-hw-theme];
# List packages installed in system profile. To search, run:
# $ nix search wget
# environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
# ];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
}

6
machines/SteamDeck/default.nix Executable file
View file

@ -0,0 +1,6 @@
{...}: {
imports = [
./configuration.nix
./hardware-configuration.nix
];
}

View file

@ -0,0 +1,79 @@
# 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,
modulesPath,
...
}: let
# \x20 is the escape code for a space
ssdLabel = ''Deck\\x20SSD'';
in {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
# Enable support for the Xbox One wireless dongle
hardware.xone.enable = true;
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
fileSystems = {
"efi_boot_partition" = {
mountPoint = "/boot/efi";
label = "deckboot";
fsType = "vfat";
};
/*
Mount the root subvolume of the SSD
This is helpful for getting things from
my old Arch install, as well as for running btdu
*/
"btrfs_root_subvolume" = {
mountPoint = "/mnt/ssd";
label = ssdLabel;
fsType = "btrfs";
options = ["subvolid=5" "ro"];
};
"btrfs_root" = {
mountPoint = "/";
label = ssdLabel;
fsType = "btrfs";
options = ["subvol=@" "compress=zstd"];
};
"btrfs_persist" = {
mountPoint = "/persist";
label = ssdLabel;
fsType = "btrfs";
options = ["subvol=@persist"];
neededForBoot = true;
};
"btrfs_boot" = {
mountPoint = "/boot";
label = ssdLabel;
fsType = "btrfs";
options = ["subvol=@boot" "compress=zstd"];
};
"btrfs_home" = {
mountPoint = "/home";
label = ssdLabel;
fsType = "btrfs";
options = ["subvol=@home" "compress=zstd"];
};
"btrfs_nix" = {
mountPoint = "/nix";
label = ssdLabel;
fsType = "btrfs";
options = ["subvol=@nix" "compress=zstd"];
};
};
swapDevices = [];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -0,0 +1,92 @@
# 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,
lib,
...
}: {
boot = {
loader = {
# Use grub boot loader
systemd-boot.enable = false;
grub = {
enable = true;
device = "nodev";
efiSupport = true;
enableCryptodisk = true;
};
efi = {
efiSysMountPoint = "/boot/efi";
canTouchEfiVariables = true;
};
};
# I need systemd for tpm luks unlocking
initrd.systemd.enable = true;
};
security.tpm2.enable = true;
networking.hostName = "SurfaceGo"; # Define your hostname.
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Configure keymap in X11
# services.xserver.layout = "us";
# services.xserver.xkbOptions = "eurosign:e,caps:escape";
console = {
# The kernel doesn't detect the scree as being HiDPI, so I need to use a bigger font
font = "ter-i32n";
};
# Enable CUPS to print documents.
# services.printing.enable = true;
# Enable sound.
# sound.enable = true;
# hardware.pulseaudio.enable = true;
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
# environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
# ];
# The surface kernel sometimes fails to suspend/shutdown and I got tired of fighting it
boot.kernelPackages = lib.mkForce pkgs.linuxPackages;
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
}

View file

@ -0,0 +1,6 @@
{...}: {
imports = [
./configuration.nix
./hardware-configuration.nix
];
}

View file

@ -0,0 +1,50 @@
# 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,
...
}: {
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usbhid" "rtsx_pci_sdmmc"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
boot.initrd.luks.devices."SSD".device = "/dev/disk/by-uuid/1d8d7578-d3a1-4ea0-90ad-4257266a6caf";
fileSystems."/" = {
device = "/dev/disk/by-uuid/19a52b40-3ff6-47ff-9402-18d8b289643e";
fsType = "btrfs";
options = ["subvol=@" "compress=zstd"];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/19a52b40-3ff6-47ff-9402-18d8b289643e";
fsType = "btrfs";
options = ["subvol=@boot" "compress=zstd"];
};
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/19a52b40-3ff6-47ff-9402-18d8b289643e";
fsType = "btrfs";
options = ["subvol=@nix" "compress=zstd"];
};
fileSystems."/home" = {
device = "/dev/disk/by-uuid/19a52b40-3ff6-47ff-9402-18d8b289643e";
fsType = "btrfs";
options = ["subvol=@home" "compress=zstd"];
};
fileSystems."/boot/efi" = {
device = "/dev/disk/by-uuid/EC76-201F";
fsType = "vfat";
};
swapDevices = [];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -0,0 +1,141 @@
# 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,
lib,
...
}: {
boot = {
loader = {
systemd-boot.enable = false;
limine = {
enable = true;
enableEditor = true;
secureBoot.enable = true;
extraConfig = ''
timeout: 3
'';
style = {
graphicalTerminal.font.scale = "2x2";
};
};
efi = {
efiSysMountPoint = config.fileSystems."efi_boot_partition".mountPoint;
canTouchEfiVariables = true;
};
};
/*
I use luks, and the systemd initrd works better for this
Both for tpm unlocking (soon) and for plymouth
*/
initrd.systemd.enable = true;
# Plymouth doesn't support fractional scaling :(
plymouth.extraConfig = "DeviceScale=2";
kernelPackages = pkgs.linuxPackages_latest;
};
catppuccin.limine.enable = true;
networking.hostName = "WinMax2"; # Define your hostname.
# Sleep fixes
boot.kernelParams = ["rtc_cmos.use_acpi_alarm=1" "panic=5"];
services.udev.extraRules = ''
ACTION=="add", SUBSYSTEM=="i2c", ATTR{name}=="GXTP7385:00", ATTR{power/wakeup}="disabled"
ACTION=="add", SUBSYSTEM=="i2c", ATTR{name}=="PNP0C50:00", ATTR{power/wakeup}="disabled"
SUBSYSTEM=="usb", ATTR{idVendor}=="2541", ATTR{idProduct}=="9711", ATTR{remove}="1"
'';
services = {
hardware.bolt.enable = true;
handheld-daemon = {
enable = true;
ui = {
enable = true;
};
user = "toast";
};
# Input plumber conflicts with hhd, and it doesn't let me use mouse mode
inputplumber.enable = lib.mkForce false;
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
services = {
xserver.xkb.layout = lib.mkForce "us";
};
# Enable bluetooth
hardware.bluetooth = {
enable = true;
};
# Configure keymap in X11
# services.xserver.layout = "us";
# services.xserver.xkbOptions = "eurosign:e,caps:escape";
# Enable CUPS to print documents.
# services.printing.enable = true;
home-manager.sharedModules = [
{
programs.plasma.input.keyboard.layouts = lib.mkForce [{layout = "us";} {layout = "es";}];
}
];
# Enable sound.
# sound.enable = true;
# hardware.pulseaudio.enable = true;
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Large builds (the linux kernel) fail to build because /tmp is too small when using tmpfs
boot.tmp.useTmpfs = false;
# List packages installed in system profile. To search, run:
# $ nix search wget
# environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
# ];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
specialisation.bootDebug.configuration = {
boot.kernelParams = [
"systemd.debug-shell=1"
"systemd.log_level=debug"
"systemd.log_target=kmsg"
"log_buf_len=1M"
"printk.devkmsg=on"
];
};
}

7
machines/WinMax2/default.nix Executable file
View file

@ -0,0 +1,7 @@
{...}: {
imports = [
./configuration.nix
./hardware-configuration.nix
./remote-builder.nix
];
}

View file

@ -0,0 +1,87 @@
# 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,
modulesPath,
...
}: let
# \x20 is the escape code for a space
ssdLabel = ''Win\\x20Max\\x202\\x20SSD'';
in {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "usbhid" "sdhci_pci"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
boot.initrd.luks.devices = {
"SSD".device = "/dev/disk/by-label/wm2-enc";
"swap".device = "/dev/disk/by-label/wm2-swap";
};
fileSystems = {
"efi_boot_partition" = {
mountPoint = "/boot";
label = "winmax2boot";
fsType = "vfat";
};
/*
Mount the root subvolume of the SSD
This is helpful for getting things from
my old Arch install, as well as for running btdu
*/
"btrfs_root_subvolume" = {
mountPoint = "/mnt/ssd";
label = ssdLabel;
fsType = "btrfs";
options = ["subvolid=5" "ro"];
};
"btrfs_root" = {
mountPoint = "/";
label = ssdLabel;
fsType = "btrfs";
options = ["subvol=@"];
};
"btrfs_persist" = {
mountPoint = "/persist";
label = ssdLabel;
fsType = "btrfs";
options = ["subvol=@persist"];
neededForBoot = true;
};
"btrfs_home" = {
mountPoint = "/home";
label = ssdLabel;
fsType = "btrfs";
options = ["subvol=@home"];
};
"btrfs_nix" = {
mountPoint = "/nix";
label = ssdLabel;
fsType = "btrfs";
options = ["subvol=@nix"];
};
};
swapDevices = [
{
device = "/dev/mapper/swap";
# only want to use the swap partition for hibernating
priority = 0;
}
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware = {
cpu.amd = {
updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
ryzen-smu.enable = true;
};
sensor.iio.bmi260.enable = true;
};
}

View file

@ -0,0 +1,56 @@
{
config,
flakeSelf,
...
}: let
hostSecrets = "${flakeSelf.inputs.secrets}/" + config.networking.hostName + "/";
hostKeyPath = "/etc/ssh/winmax2_host_key";
in {
age.secrets = {
winmax2-host-key = {
file = hostSecrets + "host-private-key.age";
path = hostKeyPath;
mode = "0400";
};
"winmax2-host-key.pub" = {
file = hostSecrets + "host-public-key.age";
path = hostKeyPath + ".pub";
};
};
users = {
groups.nixrbld = {};
users.nixrbld = {
isSystemUser = true;
useDefaultShell = true;
group = "nixrbld";
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF8v+04ZwqHZRG8P8nxdQt+fGJfzlxHXF0F6jzENb+U6 Remote builder access key"
];
};
};
nix.settings.trusted-users = ["nixrbld"];
services.openssh = {
enable = true;
startWhenNeeded = true;
# I only want it to be accesible though tailscale
openFirewall = false;
allowSFTP = false;
settings = {
UseDns = true;
PermitRootLogin = "no";
PasswordAuthentication = false;
AllowUsers = ["nixrbld"];
};
hostKeys = [
{
path = hostKeyPath;
type = "ed25519";
comment = "Everest host key";
}
];
};
networking.firewall.interfaces.tailscale0.allowedTCPPorts = [22];
}

0
nixpkgs-patches/.gitkeep Normal file
View file

View file

@ -0,0 +1,61 @@
From ef52b16862caa43dd4abc0aedf1814796342b664 Mon Sep 17 00:00:00 2001
From: K900 <me@0upti.me>
Date: Tue, 16 Dec 2025 11:48:37 +0300
Subject: [PATCH] kdePackages.plasma-vault: refresh patch
No idea how this happened.
---
.../plasma/plasma-vault/hardcode-paths.patch | 26 +++++++++----------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/pkgs/kde/plasma/plasma-vault/hardcode-paths.patch b/pkgs/kde/plasma/plasma-vault/hardcode-paths.patch
index d8a5f4a025de3..090df77eb15b0 100644
--- a/pkgs/kde/plasma/plasma-vault/hardcode-paths.patch
+++ b/pkgs/kde/plasma/plasma-vault/hardcode-paths.patch
@@ -1,5 +1,5 @@
diff --git a/kded/engine/backends/cryfs/cryfsbackend.cpp b/kded/engine/backends/cryfs/cryfsbackend.cpp
-index f425eb3..5b8cd43 100644
+index 64138b6..5d249aa 100644
--- a/kded/engine/backends/cryfs/cryfsbackend.cpp
+++ b/kded/engine/backends/cryfs/cryfsbackend.cpp
@@ -207,7 +207,7 @@ QProcess *CryFsBackend::cryfs(const QStringList &arguments) const
@@ -44,7 +44,7 @@ index b992f6f..eb828dd 100644
QString GocryptfsBackend::getConfigFilePath(const Device &device) const
diff --git a/kded/engine/fusebackend_p.cpp b/kded/engine/fusebackend_p.cpp
-index 8763304..e6860d2 100644
+index 714b660..61d8bf5 100644
--- a/kded/engine/fusebackend_p.cpp
+++ b/kded/engine/fusebackend_p.cpp
@@ -90,7 +90,7 @@ QProcess *FuseBackend::process(const QString &executable, const QStringList &arg
@@ -57,19 +57,19 @@ index 8763304..e6860d2 100644
FutureResult<> FuseBackend::initialize(const QString &name, const Device &device, const MountPoint &mountPoint, const Vault::Payload &payload)
diff --git a/kded/engine/vault.cpp b/kded/engine/vault.cpp
-index c101079..67c8a83 100644
+index a7a4741..773b671 100644
--- a/kded/engine/vault.cpp
+++ b/kded/engine/vault.cpp
-@@ -485,7 +485,7 @@ FutureResult<> Vault::close()
- } else {
- // We want to check whether there is an application
- // that is accessing the vault
-- AsynQt::Process::getOutput(QStringLiteral("lsof"), {QStringLiteral("-t"), mountPoint().data()}) | cast<QString>() | onError([this] {
-+ AsynQt::Process::getOutput(QStringLiteral("@lsof@"), {QStringLiteral("-t"), mountPoint().data()}) | cast<QString>() | onError([this] {
- d->updateMessage(i18n("Unable to lock the vault because an application is using it"));
- }) | onSuccess([this](const QString &result) {
- // based on ksolidnotify.cpp
-@@ -538,7 +538,7 @@ FutureResult<> Vault::forceClose()
+@@ -490,7 +490,7 @@ FutureResult<> Vault::close()
+ } else {
+ // We want to check whether there is an application
+ // that is accessing the vault
+- AsynQt::Process::getOutput(QStringLiteral("lsof"), { QStringLiteral("-t"), mountPoint().data() })
++ AsynQt::Process::getOutput(QStringLiteral("@lsof@"), { QStringLiteral("-t"), mountPoint().data() })
+ | cast<QString>()
+ | onError([this] {
+ d->updateMessage(i18n("Unable to close the vault because an application is using it"));
+@@ -546,7 +546,7 @@ FutureResult<> Vault::forceClose()
using namespace AsynQt::operators;
AsynQt::await(

View file

@ -0,0 +1,49 @@
diff --git a/pkgs/tools/graphics/mangohud/default.nix b/pkgs/tools/graphics/mangohud/default.nix
index cf83d4254baa..992afd60d3cb 100644
--- a/pkgs/tools/graphics/mangohud/default.nix
+++ b/pkgs/tools/graphics/mangohud/default.nix
@@ -24,8 +24,10 @@
unzip,
wayland,
libXNVCtrl,
+ nlohmann_json,
spdlog,
libxkbcommon,
+ glew,
glfw,
libXrandr,
x11Support ? true,
@@ -93,14 +95,14 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "mangohud";
- version = "0.8.2";
+ version = "0.8.1";
src = fetchFromGitHub {
owner = "flightlessmango";
repo = "MangoHud";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
- hash = "sha256-BZ3R7D2zOlg69rx4y2FzzjpXuPOv913TOz9kSvRN+Wg=";
+ hash = "sha256-FvPhnOvcYE8vVB5R+ZRmuZxrC9U4GA338V7VAuUlHCE=";
};
outputs = [
@@ -188,6 +190,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
dbus
+ nlohmann_json
spdlog
]
++ lib.optional waylandSupport wayland
@@ -195,6 +198,7 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optional nvidiaSupport libXNVCtrl
++ lib.optional (x11Support || waylandSupport) libxkbcommon
++ lib.optionals mangoappSupport [
+ glew
glfw
libXrandr
];

View file

@ -1,24 +0,0 @@
{ config, pkgs, ... }:
{
services = {
xserver = {
enable = true;
autorun = false;
windowManager.openbox.enable = true;
};
xrdp = {
enable = true;
openFirewall = true;
defaultWindowManager = "${pkgs.openbox}/bin/openbox-session";
#confDir = "/etc/xrdp";
};
};
environment.systemPackages = with pkgs; [
pcmanfm
obconf
firefox
gnome.gnome-calculator
alacritty
];
}

View file

@ -0,0 +1,59 @@
{
lib,
stdenv,
fetchFromGitLab,
qt6,
portaudio,
kame-tools,
vgmstream,
rstmcpp,
}:
stdenv.mkDerivation rec {
name = "kame-editor";
version = "1.4.1";
src = fetchFromGitLab {
owner = "beelzy";
repo = name;
# tag = version;
rev = "82c9c445644b133b6d0ce3529e65b1a3df83c804";
hash = "sha256-V2nMvVIjFRM8++XQ9tkE2OiZzCvdrg0jK69HM+ZIVyA=";
};
postPatch = ''
substituteInPlace kame-editor.pro \
--replace-fail "/usr/local/bin/" "$out/bin"
'';
buildInputs = [
qt6.qtbase
portaudio
];
qtWrapperArgs = [
"--prefix PATH : ${
lib.makeBinPath [
kame-tools
vgmstream
rstmcpp
]
}"
];
nativeBuildInputs = [
qt6.qmake
qt6.wrapQtAppsHook
];
postBuild = ''
bash ./buildicons.sh
'';
postInstall = ''
mkdir -p $out/share/icons/hicolor
mkdir -p $out/share/applications
cp kame-editor.desktop $out/share/applications
cp -r icons/. $out/share/icons/hicolor
'';
}

View file

@ -0,0 +1,29 @@
{
stdenv,
fetchFromGitLab,
zip,
}:
stdenv.mkDerivation rec {
name = "kame-tools";
version = "a1fe47cc";
src = fetchFromGitLab {
owner = "beelzy";
repo = name;
rev = version;
fetchSubmodules = true;
hash = "sha256-ETl5f8M4OJPFB7NEq2mVuMm4RhBtAbMzlrvGHD14zXw=";
};
postPatch = ''
substituteInPlace buildtools/make_base \
--replace-fail "/usr/local/bin" "$out/bin"
'';
installPhase = ''
mkdir -p $out/bin
cp output/linux-x86_64/* $out/bin/
'';
nativeBuildInputs = [zip];
}

18
pkgs/kasane-teto-cursor Normal file
View file

@ -0,0 +1,18 @@
{
stdenvNoCC,
fetchzip,
}:
stdenvNoCC.mkDerivation {
name = "kasane-teto-cursors";
src = fetchzip {
url = "http://dl.everest.tailscale/Kasane%20Teto%20Cursor%20-%20by%20wobb.zip";
hash = "sha256-4neZqApkK6hwufLTilUtPmgzyBih7onSdSZ9lezQbIU=";
};
dontBuild = true;
installPhase = ''
mkdir -p $out/share/icons
cp -dr --no-preserve='ownership' $src/Linux/Kasane\ Teto $out/share/icons
'';
}

21
pkgs/rstmcpp/default.nix Normal file
View file

@ -0,0 +1,21 @@
{
stdenv,
fetchFromGitLab,
}:
stdenv.mkDerivation rec {
name = "rstmcpp";
version = "fe8bee01";
src = fetchFromGitLab {
owner = "beelzy";
repo = name;
rev = version;
fetchSubmodules = true;
hash = "sha256-T9mxTBj/eykvbBkbmEKTUFldtBp3cJgWAbeu44SwxiM=";
};
installPhase = ''
mkdir -p $out/bin
cp rstmcpp $out/bin
'';
}

View file

@ -1,51 +1,192 @@
{ config, pkgs, ... }:
{
config,
lib,
pkgs,
flakeSelf,
...
}: {
environment = {
# As of the 1st of May 2023, the default packages are nano, perl, rsync and strace
# I don't need any of them, so I just empty the list
defaultPackages = [];
variables = {
# Environment variables go here
EDITOR = "micro";
};
# Set up /tmp
boot.tmp = {
useTmpfs = false;
# Cleaning out /tmp at boot if it's a tmpfs is quite stupid
cleanOnBoot = !config.boot.tmp.useTmpfs;
};
environment.localBinInPath = lib.mkDefault true;
# Set up zram
zramSwap = {
enable = true;
priority = 100;
memoryPercent = 60;
# zstd my beloved <3
algorithm = "zstd";
};
# zswap with zram is not a good idea
boot.kernelParams = ["zswap.enabled=0"];
# Set up keyboard layout
services.xserver.xkb.layout = "es";
# Set up console
console = {
packages = [pkgs.terminus_font];
earlySetup = true;
# mkDefault has 1000 priority, so that way I don't conflict with nixos-hardware
font = lib.mkOverride 999 "ter-i16n";
# Make the console use X's keyboard configuration
useXkbConfig = true;
};
boot.supportedFilesystems = ["nfs"];
security.pki.certificates = [
# Caddy
''
-----BEGIN CERTIFICATE-----
MIIBqTCCAU+gAwIBAgIQceh0ZUBNrOmqLVsDr+2HBjAKBggqhkjOPQQDAjAzMTEw
LwYDVQQDEyhDYWRkeSAoRXZlcmVzdCkgbG9jYWwgQ0EgLSAyMDI0IEVDQyBSb290
MB4XDTI0MDcxODAwMDEwM1oXDTM0MDUyNzAwMDEwM1owMzExMC8GA1UEAxMoQ2Fk
ZHkgKEV2ZXJlc3QpIGxvY2FsIENBIC0gMjAyNCBFQ0MgUm9vdDBZMBMGByqGSM49
AgEGCCqGSM49AwEHA0IABJjrY8x6iDXncxG8exwLyaEq8N0XnCIbga8PVYiz3VLS
07++i0Dey9k68ag6KUZICfc8dX1uZ6/ozUZb4YO3xCSjRTBDMA4GA1UdDwEB/wQE
AwIBBjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBTQAqZS9KeiAr9mSPV9
RIJbSvRsTzAKBggqhkjOPQQDAgNIADBFAiBIgHrD2cUfNEctVx0WzHb0cLAsrK4Q
3QbyxPLyenR+dAIhAMOIAyxlKKKvAJMOzAg0r+csSVRdP1YHsHiE7U1GeHWx
-----END CERTIFICATE-----
''
];
# Set up localisation
i18n = {
defaultLocale = "en_US.UTF-8";
supportedLocales = [
"es_US.UTF-8/UTF-8"
"es_ES.UTF-8/UTF-8"
"en_US.UTF-8/UTF-8"
];
extraLocaleSettings = {
LC_NUMERIC = "es_ES.UTF-8";
# am/pm is nice but mm/dd/yy is yucky
LC_TIME = "es_US.UTF-8";
LC_MONETARY = "es_ES.UTF-8";
LC_MEASUREMENT = "es_ES.UTF-8";
LC_PAPER = "es_ES.UTF-8";
LC_ADDRESS = "es_US.UTF-8";
LC_NAME = "es_ES.UTF-8";
LC_TELEPHONE = "es_ES.UTF-8";
};
};
services = {
fstrim.enable = true;
fwupd.enable = true;
};
# Set up my user
users.mutableUsers = false;
users.users.toast = {
isNormalUser = true;
description = "Toast";
extraGroups = ["wheel"];
hashedPasswordFile = config.sops.secrets.toast.path;
};
# Set up time zone.
time.timeZone = lib.mkDefault "Europe/Madrid";
services.automatic-timezoned.enable = true;
nixpkgs.overlays = [
flakeSelf.outputs.overlays.default
(
final: prev: {
catppuccin = prev.catppuccin.override {
accent = "mauve";
variant = "mocha";
themeList = [
"bat"
"btop"
"starship"
"grub"
];
};
}
)
];
catppuccin = {
flavor = "mocha";
accent = "mauve";
};
programs.iotop.enable = true;
home-manager = {
backupFileExtension = "hm-backup";
useGlobalPkgs = true;
verbose = true;
sharedModules = with flakeSelf; [
inputs.catppuccin.homeModules.catppuccin
inputs.sops-nix.homeManagerModules.sops
];
users.toast = {osConfig, ...}: {
catppuccin.flavor = osConfig.catppuccin.flavor;
catppuccin.accent = osConfig.catppuccin.accent;
home.stateVersion = "25.05";
manual = {
manpages.enable = true;
html.enable = true;
};
xdg = {
enable = true;
userDirs = {
enable = true;
createDirectories = true;
publicShare = null; # Disable the public folder
};
};
systemd.user.startServices = true;
};
};
# Set up secrets
age = {
identityPaths = [
"/etc/ssh/ssh_host_rsa_key"
"/etc/ssh/ssh_host_ed25519_key"
# This key has a passcode, so if you need to use it you'll have to
# enter the password A LOT of times. Only on the first setup tho
"/tmp/id_ed25519_bootstrap"
"/persist/id_host"
];
# Copy (NOT SYMLINK) host ssh keys into place
secrets = {
"ed25519" = {
symlink = false;
file = ../../secrets/${config.networking.hostName}/host-key-ed25519;
path = "/etc/ssh/ssh_host_ed25519_key";
};
"rsa" = {
symlink = false;
file = ../../secrets/${config.networking.hostName}/host-key-rsa;
path= "/etc/ssh/ssh_host_rsa_key";
};
"ed25519-public" = {
symlink = false;
file = ../../secrets/${config.networking.hostName}/host-key-ed25519-public;
path = "/etc/ssh/ssh_host_ed25519_key.pub";
mode = "0644";
};
"rsa-public" = {
symlink = false;
file = ../../secrets/${config.networking.hostName}/host-key-rsa-public;
path = "/etc/ssh/ssh_host_rsa_key.pub";
mode = "0644";
};
sops = {
age.sshKeyPaths = ["/persist/id_host"];
defaultSopsFile = "${flakeSelf.inputs.secrets}/${config.networking.hostName}.yaml";
secrets.toast = {
sopsFile = "${flakeSelf.inputs.secrets}/passwd.yaml";
neededForUsers = true;
};
};
system.stateVersion = "23.05";
catppuccin.grub.enable = true;
/*
I used to keep the host keys in the repo as a secret, but since I use the
host keys for decrypting too I'm not sure encrypting a key with itself
is a good idea. Now the host keys will need to be placed manually where they are needed
For first time installs they are generated by services.openssh.hostKeys on servers, and
manually on everything else
*/
system = {
stateVersion = "25.05";
# Nix on nixos 23.05 does not have dirtyRev
configurationRevision = flakeSelf.sourceInfo.rev or flakeSelf.sourceInfo.dirtyRev or "dirty";
nixos.variant_id = lib.mkDefault (lib.strings.toLower config.networking.hostName);
};
image.modules.iso = {
system.nixos.variant_id = "${lib.strings.toLower config.networking.hostName}-iso";
};
}

View file

@ -1,9 +1,7 @@
{ ... }:
{
{...}: {
imports = [
./programs
./services/avahi.nix
./services
./configuration.nix
];
}

View file

@ -0,0 +1,21 @@
{...}: {
home-manager.users.toast = {
catppuccin.atuin.enable = true;
programs.atuin = {
enable = true;
settings = {
enter_accept = true;
workspaces = true;
filter_mode = "workspace";
style = "auto";
inline_height = 0;
stats = {
common_prefix = [
"sudo"
","
];
};
};
};
};
}

View file

@ -0,0 +1,8 @@
{...}: {
home-manager.users.toast = {...}: {
programs.bash = {
enable = true;
enableVteIntegration = true;
};
};
}

View file

@ -0,0 +1,8 @@
{...}: {
home-manager = {
users.toast = {
programs.bat.enable = true;
catppuccin.bat.enable = true;
};
};
}

View file

@ -0,0 +1,8 @@
{...}: {
home-manager = {
users.toast = {
catppuccin.btop.enable = true;
programs.btop.enable = true;
};
};
}

View file

@ -0,0 +1,6 @@
{...}: {
# Use nix-index-database's comma wrapper
programs.nix-index-database.comma.enable = true;
# Run programs from the system's nixpkgs
environment.variables = {COMMA_NIXPKGS_FLAKE = "system";};
}

View file

@ -1,6 +1,4 @@
{ config, ... }:
{
{...}: {
# The nixpkgs command-not-found script does not work with flakes, so I disable it
programs.command-not-found.enable = false;
}

View file

@ -1,22 +1,31 @@
{ config, pkgs, ... }:
{
{pkgs, ...}: {
imports = [
./htop.nix
./nix.nix
./nix-index.nix
./command-not-found.nix
./comma.nix
./bash.nix
./git.nix
./starship.nix
./bat.nix
./btop.nix
./helix.nix
./direnv.nix
./atuin.nix
./fish.nix
./eza.nix
];
# Some programs dont have a programs.*.enable option, so I install their package here
environment.systemPackages = with pkgs; [
speedtest-cli
# Bat has a home manager module, but I want it to be available system wide
bat
micro
file
nvd
ncdu
tree
btdu
btop
iperf3
restic
];

View file

@ -0,0 +1,10 @@
{...}: {
home-manager.users.toast = {
programs.direnv = {
enable = true;
nix-direnv = {
enable = true;
};
};
};
}

View file

@ -0,0 +1,20 @@
{
flakeSelf,
config,
...
}: {
home-manager = {
users.toast = {
programs.eza = {
enable = true;
enableBashIntegration = true;
git = true;
icons = "auto";
extraOptions = [
"--group"
];
};
xdg.configFile."eza/theme.yml".source = "${flakeSelf.inputs.eza-themes}/themes/catppuccin.yml";
};
};
}

View file

@ -0,0 +1,10 @@
{...}: {
programs.fish = {
enable = true;
};
home-manager.users.toast = {
catppuccin.fish.enable = true;
programs.fish.enable = true;
};
}

View file

@ -0,0 +1,25 @@
{...}: {
programs.ssh.knownHosts = {
"[git.toast003.xyz]:4222".publicKey = ''
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKoUcWx56NZ3kqydN3d0gLNz6SlBm1ArkHhqR9Fwd8qs
'';
};
home-manager.users.toast = {
programs.git = {
enable = true;
settings = {
user.name = "toast";
user.email = "toast003@tutamail.com";
init.defaultBranch = "main";
diff.colorMoved = "default";
commit.verbose = "true";
};
};
programs.delta = {
enable = true;
enableGitIntegration = true;
};
catppuccin.delta.enable = true;
};
}

View file

@ -0,0 +1,54 @@
{
pkgs,
config,
...
}: {
programs.nano.enable = false;
home-manager.users.toast = {
catppuccin.helix = {
enable = true;
useItalics = true;
};
programs.helix = {
enable = true;
defaultEditor = true;
extraPackages = with pkgs; [
nixpkgs-fmt
nil
taplo
];
settings = {
editor = {
mouse = true;
cursorline = true;
color-modes = true;
bufferline = "multiple";
statusline.mode = {
normal = "Normal";
insert = "Insert";
select = "Select";
};
indent-guides.render = true;
end-of-line-diagnostics = "hint";
inline-diagnostics.cursor-line = "warning";
};
};
languages = {
language = [
{
name = "nix";
formatter.command = "nixpkgs-fmt";
}
];
language-server.nil = {
config = {
flake = {
autoArchive = false;
autoEvalInputs = true;
};
};
};
};
};
};
}

View file

@ -1,6 +1,4 @@
{ config, ... }:
{
{...}: {
programs.htop = {
enable = true;
settings = {

View file

@ -1,8 +1,15 @@
{ config, pkgs, ... }:
{
{...}: {
/*
environment.systemPackages = [ pkgs.nix-index ];
programs.bash.interactiveShellInit = ''
source ${pkgs.nix-index}/etc/profile.d/command-not-found.sh
'';
*/
programs.nix-index = {
enable = true;
enableBashIntegration = true;
# I don't use zsh or fish (yet)
enableZshIntegration = false;
enableFishIntegration = false;
};
}

View file

@ -1,14 +1,61 @@
{ config, ... }:
{
nix = {
extraOptions = ''
experimental-features = nix-command flakes
config,
lib,
flakeSelf,
...
}: {
age.secrets = {
remoteBuilderKey.file = "${flakeSelf.inputs.secrets}/WinMax2/nixrbld-private-key.age";
};
programs.ssh = {
knownHosts.winmax2.publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPE+ksvEq/I2LMLOztVXpLE9yuI6EkRh4EtXdlYkhl6C WinMax2 host key";
extraConfig = ''
Host nixrbld
HostName winmax2
IdentitiesOnly yes
IdentityFile ${config.age.secrets.remoteBuilderKey.path}
User nixrbld
'';
};
system.tools.nixos-option.enable = false;
nix = {
settings = {
auto-optimise-store = true;
experimental-features = "nix-command flakes";
};
distributedBuilds = true;
# Don't use remote builder on the remote builder
buildMachines = lib.mkIf (config.networking.hostName != "WinMax2") [
{
hostName = "nixrbld";
system = "x86_64-linux";
protocol = "ssh-ng";
maxJobs = 4;
supportedFeatures = [
"big-parallel"
"kvm"
"nixos-test"
];
}
];
optimise = {
automatic = true;
dates = ["weekly"];
};
registry = {
agenix = {
from = { id = "agenix"; type = "indirect"; };
to = { owner = "ryantm"; repo = "agenix"; type = "github"; };
from = {
id = "agenix";
type = "indirect";
};
to = {
owner = "ryantm";
repo = "agenix";
type = "github";
};
};
};
};

View file

@ -0,0 +1,31 @@
{...}: {
programs.starship = {
enable = true;
presets = [
"nerd-font-symbols"
];
settings = {
nix_shell = {
disabled = false;
heuristic = true;
};
os = {
disabled = false;
};
directory = {
disabled = false;
truncation_length = 6;
truncation_symbol = ".../";
};
};
};
# The catppuccin module only works for home-manager, so this
# sets up starship with home-manager using the system config
# home-manager.users.toast = {osConfig, ...}: {
# programs.starship = {
# enable = false;
# catppuccin.enable = true;
# settings = osConfig.programs.starship.settings;
# };
# };
}

View file

@ -1,8 +1,6 @@
{ config, ... }:
{
{config, ...}: {
services.avahi = {
enable = true;
nssmdns = true;
nssmdns4 = true;
};
}

View file

@ -0,0 +1,8 @@
{...}: {
imports = [
./avahi.nix
./tailscale.nix
./syncthing.nix
./kmscon.nix
];
}

View file

@ -0,0 +1,29 @@
{pkgs, ...}: {
services.kmscon = {
enable = true;
useXkbConfig = true;
fonts = [
{
name = "JetBrains Mono Nerd Font";
package = pkgs.nerd-fonts.jetbrains-mono;
}
];
extraConfig = ''
term=xterm-256color
font-size=10
'';
package = pkgs.kmscon.overrideAttrs (old: {
patches =
old.patches
++ [
# https://github.com/kmscon/kmscon/issues/133
(
pkgs.fetchpatch {
url = "https://github.com/Aetf/kmscon/pull/135.patch";
hash = "sha256-hJrKkONdQmz9gGMXbk11+4MF8Vn4guE3Bl1Ni6SGDw4=";
}
)
];
});
};
}

View file

@ -0,0 +1,40 @@
{
config,
lib,
flakeSelf,
...
}: let
hostSecrets = "${flakeSelf.inputs.secrets}/" + config.networking.hostName;
in {
# Get secrets
age.secrets = {
syncthingKey.file = hostSecrets + "/syncthingKey.age";
syncthingCert.file = hostSecrets + "/syncthingCert.age";
};
services.syncthing = {
key = config.age.secrets.syncthingKey.path;
cert = config.age.secrets.syncthingCert.path;
overrideDevices = true;
overrideFolders = true;
openDefaultPorts = true;
settings = {
options = {
urAccepted = 3;
};
# Set up devices and folders common to every device
devices = lib.toast.syncthing.devices;
folders = {
"passwords" = {
label = "KeePassXC Passwords";
id = "rdyaq-ex659";
devices = ["phone" "pc" "steamdeck" "server" "surface" "winmax2"];
};
};
};
};
networking.firewall = {
allowedTCPPorts = [22000];
allowedUDPPorts = [22000 21027];
};
}

View file

@ -0,0 +1,10 @@
{lib, ...}: {
services.tailscale = {
enable = true;
useRoutingFeatures = lib.mkDefault "client";
};
systemd.services.tailscaled.environment = {
TS_NO_LOGS_NO_SUPPORT = "true";
};
}

View file

@ -0,0 +1,35 @@
{pkgs, ...}: {
# Enable scanning
hardware.sane = {
enable = true;
extraBackends = [pkgs.sane-airscan];
};
users.users.toast.extraGroups = ["scanner"];
services.xserver.enable = true;
nix = {
daemonIOSchedClass = "idle";
daemonCPUSchedPolicy = "idle";
};
# Set up fonts
fonts.packages = with pkgs.nerd-fonts; [
hack
jetbrains-mono
# Japanese fonts
pkgs.noto-fonts-cjk-sans
pkgs.noto-fonts-cjk-serif
];
# Already use electron apps (discord) so this only adds 20 mb more
environment.systemPackages = [pkgs.tetrio-desktop];
hardware.keyboard.qmk.enable = true;
home-manager.users.toast.home.packages = [pkgs.qmk];
home-manager.users.toast.xdg.autostart.enable = true;
boot.plymouth.enable = true;
}

8
roles/desktop/default.nix Executable file → Normal file
View file

@ -1,7 +1,7 @@
{ ... }:
{
{...}: {
imports = [
./discord.nix
./services
./programs
./configuration.nix
];
}

View file

@ -1,19 +0,0 @@
{ config, pkgs, ... }:
{
# TODO: Find out why this does not do anything. If I put this
# on flake.nix it does work, so it's not completely wrong.
/* nixpkgs.overlays =
let
discordOverlay = self: super: {
discord = super.discord.override {
withOpenASAR = true;
withVencord = true;
};
};
in
[ discordOverlay ]; */
users.users.toast.packages = with pkgs; [
discord
];
}

View file

@ -0,0 +1,6 @@
{...}: {
programs.appimage = {
enable = true;
binfmt = true;
};
}

View file

@ -0,0 +1,15 @@
{...}: {
imports = [
./discord.nix
./firefox.nix
./keepassxc.nix
./jamesdsp.nix
./git.nix
./ssh.nix
./appimage.nix
./mpv.nix
./sysdvr-qt.nix
./spotify.nix
./distrobox.nix
];
}

View file

@ -0,0 +1,59 @@
{pkgs, ...}: let
discordOverlay = _self: super: {
discord = super.discord.override {
withOpenASAR = true;
withVencord = true;
};
};
in {
nixpkgs.overlays = [discordOverlay];
home-manager.users.toast = {
catppuccin.vesktop.enable = true;
programs.vesktop = {
enable = true;
settings = {
arRPC = true;
minimizeToTray = true;
discordBranch = "stable";
customTitleBar = true;
spellCheckLanguages = ["en-US" "en" "es"];
enableMenu = false;
};
vencord = {
settings = {
plugins = {
BetterGifPicker.enabled = true;
BetterSettings.enabled = true;
CallTimer.enabled = true;
ClearURLs.enabled = true;
FakeNitro.enabled = true;
FixSpotifyEmbeds.enabled = true;
FixYoutubeEmbeds.enabled = true;
FriendsSince.enabled = true;
iLoveSpam.enabled = true;
LoadingQuotes = {
enabled = true;
enableDiscordPresetQuotes = true;
};
MessageClickActions.enabled = true;
MessageLinkEmbeds.enabled = true;
MessageLogger.enabled = true;
Moyai = {
enabled = true;
volume = 1;
quality = "HD";
};
OpenInApp.enabled = true;
petpet.enabled = true;
PlatformIndicators.enabled = true;
ShowHiddenChannels.enabled = true;
ShowHiddenThings.enabled = true;
SpotifyControls.enabled = true;
Translate.enabled = true;
YoutubeAdblock.enabled = true;
};
};
};
};
};
}

View file

@ -0,0 +1,28 @@
{...}: {
virtualisation.podman = {
# Due to limitations with home-manager, podman has to be available system wide
enable = true;
};
home-manager.users.toast = {
programs.distrobox = {
enable = true;
containers = {
uav = {
image = "quay.io/toolbx/ubuntu-toolbox:24.04";
# additional_packages = "lsb-release dmidecode git";
additional_packages = "git";
init_hooks = [
"git clone https://github.com/PX4/PX4-Autopilot.git --recursive /tmp/px4"
"cd /tmp/px4/Tools/setup/"
# The install scripts wants to add things to .bashrc, so it errors out
# This removes the line that does that
"sed -i '181d' ubuntu.sh"
"bash ubuntu.sh"
"rm -rf /tmp/px4 --one-file-system"
];
entry = true;
};
};
};
};
}

View file

@ -0,0 +1,147 @@
{lib, ...}: {
home-manager.sharedModules = [
{
# System wide firefox settings
programs.firefox = {
enable = true;
policies = {
DisableTelemetry = true;
GenerativeAI = {
Chatbot = false;
LinkPreviews = false;
TabGroups = false;
Locked = true;
};
# You need these for Spotify
EncryptedMediaExtensions.Enabled = true;
ExtensionSettings = {
# TODO: Install extensions the NUR instead of from AMO
"uBlock0@raymondhill.net" = {
installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
};
# Decentraleyes
"jid1-BoFifL9Vbdl2zQ@jetpack" = {
installation_mode = "normal_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/decentraleyes/latest.xpi";
};
"jid1-MnnxcxisBPnSXQ@jetpack" = {
installation_mode = "normal_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi";
};
# Uninstall undeclared extensions
"*" = {
installation_mode = "blocked";
blocked_install_message = "Extensions are managed by home-manager";
};
};
Preferences = {
# Enable video hardware acceleration
"media.ffmpeg.vaapi.enabled" = {
Value = true;
Status = "default";
};
"dom.security.https_only_mode" = {
Value = true;
Status = "locked";
};
"browser.ml.chat.page" = {
Value = false;
Status = "Locked";
};
};
PromptForDownloadLocation = true;
# I use an external password manager, so the built in one just bothers me
PasswordManagerEnabled = false;
Permissions = {
Autoplay = {
Allow = [
"https://www.youtube.com"
"https://sync-tube.de"
];
Default = "block-audio-video";
};
};
FirefoxHome.SponsoredTopSites = false;
};
};
}
];
# Per-user settings
home-manager.users.toast = {
programs.firefox.policies = {
DisablePocket = true;
ExtensionSettings = {
"sponsorBlocker@ajay.app" = {
installation_mode = "normal_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/sponsorblock/latest.xpi";
};
"@testpilot-containers" = {
installation_mode = "normal_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/multi-account-containers/latest.xpi";
};
"{5cce4ab5-3d47-41b9-af5e-8203eea05245}" = {
installation_mode = "normal_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/control-panel-for-twitter/latest.xpi";
};
};
Preferences = {
"general.smoothScroll.msdPhysics.enabled" = {
Value = true;
Status = "default";
};
"browser.ctrlTab.sortByRecentlyUsed" = {
Value = true;
Status = "default";
};
# This should be set automatically, but it isn't for some reason
"extensions.webextensions.ExtensionStorageIDB.enabled" = {
Value = false;
Status = "locked";
};
};
};
programs.firefox.profiles = {
personal = {
name = "Personal";
id = 0;
isDefault = true;
containersForce = true;
containers = {
work = {
name = "Work";
id = 1;
icon = "briefcase";
color = "green";
};
};
extensions.force = true;
extensions.settings = {
"@testpilot-containers".settings = {
onboarding-stage = 8;
"siteContainerMap@@_teams.microsoft.com" = {
userContextId = "1";
neverAsk = false;
identityMacAddonUUID = "b50e5b1e-6f3b-4245-8eac-5654d889156e";
};
"siteContainerMap@@_outlook.office.com" = {
userContextId = "1";
neverAsk = false;
identityMacAddonUUID = "b50e5b1e-6f3b-4245-8eac-5654d889156e";
};
};
# Control panel for twitter
"{5cce4ab5-3d47-41b9-af5e-8203eea05245}".settings = {
hideForYouTimeline = false;
alwaysUseLatestTweets = false;
retweets = "ignore";
restoreOtherInteractionLinks = true;
navBaseFontSize = false;
followButtonStyle = "themed";
hideSidebarContent = true;
};
};
};
};
};
}

View file

@ -0,0 +1,7 @@
{pkgs, ...}: {
home-manager.users.toast = {
programs.git = {
package = pkgs.gitFull;
};
};
}

View file

@ -0,0 +1,7 @@
{pkgs, ...}: {
home-manager.users.toast = {
home.packages = with pkgs; [
jamesdsp
];
};
}

View file

@ -0,0 +1,34 @@
{pkgs, ...}: {
home-manager = {
users.toast = {
programs.keepassxc = {
enable = true;
autostart = true;
settings = {
General = {
# Not sure what changing this does, I'll leave it alone
ConfigVersion = 2;
MinimizeAfterUnlock = true;
AutoSaveAfterEveryChange = false;
};
GUI = {
ApplicationTheme = "classic";
MinimizeOnStartup = false;
MinimizeOnClose = true;
MinimizeToTray = true;
ShowTrayIcon = true;
# 0 is icons, 1 is text, 2 is text next to icons, 3 is text under icons, and 4 is follow style
ToolButtonStyle = 0; # Would choose 4 but it's too big for a small window
# monochrome-light, monochrome-dark or colorful
TrayIconAppearance = "monochrome-light";
};
Security = {
HideNotes = true;
IconDownloadFallback = true;
};
SSHAgent.Enabled = true;
};
};
};
};
}

View file

@ -0,0 +1,24 @@
{pkgs, ...}: {
nixpkgs.overlays = [
(
final: prev: {
mpv-unwrapped = prev.mpv-unwrapped.override {
cddaSupport = true;
};
}
)
];
home-manager.users.toast = {
programs.mpv = {
enable = true;
scripts = with pkgs.mpvScripts; [
mpris
];
config = {
hwdec = "auto";
cache = true;
cdda-speed = "8";
};
};
};
}

View file

@ -0,0 +1,5 @@
{pkgs, ...}: {
home-manager.users.toast = {
home.packages = [pkgs.spotify];
};
}

View file

@ -0,0 +1,33 @@
{...}: {
programs.ssh.knownHosts = {
everest = {
hostNames = [
"everest.tailscale"
"toast003.xyz"
];
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAqfABZKnF5YYGZTOKuT7m+sOnUqBQSvLke9c3JDsF5s";
};
};
home-manager.users.toast = {
programs.ssh = {
enable = true;
enableDefaultConfig = false;
matchBlocks = {
"everest" = {
host = "toast003.xyz";
hostname = "toast003.xyz";
forwardAgent = true;
sendEnv = ["COLORTERM"];
port = 69;
};
"everest-tailscale" = {
host = "everest";
hostname = "everest.tailscale";
forwardAgent = true;
sendEnv = ["COLORTERM"];
};
};
};
};
}

View file

@ -0,0 +1,8 @@
{...}: {
services.udev.extraRules = ''
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4ee0", MODE="0666"
'';
home-manager.users.toast.services.flatpak = {
packages = ["io.github.parnassius.SysDVR-Qt"];
};
}

View file

@ -0,0 +1,11 @@
{...}: {
imports = [
./ssh-agent.nix
./flatpak.nix
./syncthing.nix
./pipewire.nix
./printing.nix
./networkmanager.nix
./tailscale.nix
];
}

View file

@ -0,0 +1,17 @@
{flakeSelf, ...}: {
services.flatpak.enable = true;
home-manager = {
sharedModules = [{imports = [flakeSelf.inputs.nix-flatpak.homeManagerModules.nix-flatpak];}];
users.toast = {
services.flatpak = {
packages = ["tv.plex.PlexDesktop"];
uninstallUnmanaged = true;
update.auto = {
enable = true;
onCalendar = "weekly";
};
};
};
};
}

View file

@ -0,0 +1,52 @@
{
config,
lib,
flakeSelf,
...
}: let
tailscaleName = config.services.tailscale.interfaceName;
in {
sops.secrets.wifiPasswords = {
sopsFile = "${flakeSelf.inputs.secrets}/wifi-passwords.env";
format = "dotenv";
};
networking.networkmanager = {
enable = true;
unmanaged = [
"interface-name:${tailscaleName}"
];
ensureProfiles = {
environmentFiles = [config.sops.secrets.wifiPasswords.path];
profiles = with lib.toast.networkManager; {
"4g-modem" = mkWifiProfile {
id = "4G Modem";
priority = 5;
ssid = "TP-Link_CCB4";
wifi-security = {
auth-alg = "open";
key-mgmt = "wpa-psk";
psk = "$MODEM";
};
};
phone = mkWifiProfile {
id = "Phone";
priority = 5;
ssid = "Redmi Note 10 Pro_5197";
wifi-security = {
auth-alg = "open";
key-mgmt = "sae";
psk = "$PHONE";
};
};
home = mkWifiProfile {
id = "Home";
ssid = "MOVISTAR-WIFI6-DC98";
wifi-security = {
key-mgmt = "sae";
psk = "$HOME";
};
};
};
};
};
}

View file

@ -0,0 +1,9 @@
{...}: {
services.pipewire = {
enable = true;
pulse.enable = true;
};
# This allows pipewire to get realtime priority, which (hopefully) gets rid of stutters
security.rtkit.enable = true;
}

View file

@ -0,0 +1,7 @@
{...}: {
services.printing = {
enable = true;
startWhenNeeded = true;
stateless = true;
};
}

View file

@ -0,0 +1,19 @@
{...}: {
programs.ssh.startAgent = true;
/*
Home assistant added an option that does this
https://github.com/nix-community/home-manager/commit/2d9210f25ed18d5d4e11e6b886de4027c0c51a94
but since I still need to fix home-manager's envvars not applying I'll stick to the NixOS one
*/
/*
TODO: fix SSH_AUTH_SOCK not being set in Plasma
Turns out the NixOS module also has issues :3
The env is set but only in bash, not in the DE, so
keepass can't pick it up. For now I'll just set it manually
*/
home-manager.users.toast.xdg.configFile."plasma-workspace/env/ssh-agent.sh".text = ''
if [[ -z "$SSH_AUTH_SOCK" ]]; then
export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent
fi
'';
}

View file

@ -0,0 +1,57 @@
{config, ...}: {
services.syncthing = {
# enable = true;
# user = "toast";
# group = "users";
# dataDir = config.users.users.toast.home;
settings.folders."passwords".path = "~/Documents/Passwords";
};
age.secrets = {
syncthingCert = {
owner = "toast";
group = "users";
};
syncthingKey = {
owner = "toast";
group = "users";
};
};
home-manager.users.toast = {
osConfig,
lib,
...
}: let
systemConfig = osConfig.services.syncthing;
missingOptions = [
"all_proxy"
"configDir"
"dataDir"
"databaseDir"
"declarative"
"devices"
"folders"
"extraFlags"
"user"
"group"
"systemService"
"openDefaultPorts"
"options"
"relay"
"useInotify"
"guiPasswordFile"
];
removeMissingOptions = rawOptions: (
# lib.attrsets.filterAttrs (n: v: n == "all_proxy") rawOptions
builtins.removeAttrs rawOptions missingOptions
);
in {
services.syncthing =
removeMissingOptions systemConfig
// {
enable = true;
# Renamed options
allProxy = systemConfig.all_proxy;
extraOptions = systemConfig.extraFlags;
};
};
}

View file

@ -0,0 +1,16 @@
{pkgs, ...}: {
home-manager.users.toast = {
services.tailscale-systray = {
enable = true;
package = pkgs.tailscale.overrideAttrs {
postPatch = ''
substituteInPlace client/systray/logo.go --replace-fail \
"color.NRGBA{0, 0, 0, 255}" "color.NRGBA{0, 0, 0, 0}"
'';
# Only use this for the tray, so no testing is needed
# Makes the build last a lot less too
doCheck = false;
};
};
};
}

16
roles/gaming/default.nix Normal file
View file

@ -0,0 +1,16 @@
{pkgs, ...}: {
imports = [
./programs
./services
];
system.replaceDependencies.replacements = [
{
oldDependency = pkgs.sdl3;
newDependency = pkgs.sdl3.overrideAttrs {
patches = [
./sdl-keychron-blacklist.patch
];
};
}
];
}

View file

@ -0,0 +1,18 @@
{pkgs, ...}: {
# nixpkgs.overlays = [
# (
# final: prev: {
# azahar = prev.azahar.overrideAttrs (old: {
# version = "2120.3";
# src = final.fetchzip {
# url = "https://github.com/azahar-emu/azahar/releases/download/2120.3/azahar-unified-source-20250414-00e3bbb.tar.xz";
# hash = "sha256-3QKicmpmWDM7x9GDJ8sxm2Xu+0Yfho4LkSWMp+ixzRk=";
# };
# });
# }
# )
# ];
home-manager.users.toast = {
home.packages = [pkgs.azahar];
};
}

View file

@ -0,0 +1,7 @@
{pkgs, ...}: {
home-manager.users.toast = {
home = {
packages = [pkgs.cemu];
};
};
}

View file

@ -0,0 +1,15 @@
{pkgs, ...}: {
imports = [
./steam.nix
./mangohud.nix
./rpcs3.nix
./retroarch.nix
./pcsx2.nix
./cemu.nix
./azahar.nix
];
environment.systemPackages = with pkgs; [
heroic
prismlauncher
];
}

View file

@ -0,0 +1,13 @@
{...}: {
home-manager.users.toast = {...}: {
programs.mangohud = {
enable = true;
# This only works for Vulkan, openGL programs still need the mangohud wrapper
enableSessionWide = true;
settings = {
preset = 4;
no_display = true;
};
};
};
}

View file

@ -0,0 +1,141 @@
{
pkgs,
lib,
...
}: let
pcsx2-bios = pkgs.fetchzip {
url = "https://myrient.erista.me/files/Redump/Sony%20-%20PlayStation%202%20-%20BIOS%20Images%20%28DoM%20Version%29/ps2-0200a-20040614.zip";
hash = "sha256-wMvswgmsKl+cJl49VlVW84tvU5Jzd+2dl07SOiUDtwA=";
};
toPcsx2INI = lib.generators.toINI {listsAsDuplicateKeys = true;};
in {
home-manager.users.toast = {
home.packages = with pkgs; [
pcsx2
];
xdg.configFile = {
#PCSX2 silently overwrites the symlink so I need to force it's creation
"PCSX2/inis/PCSX2.ini".force = true;
"PCSX2/inis/PCSX2.ini".text = toPcsx2INI {
UI = {
SettingsVersion = 1;
# Use the system theme
Theme = "";
HideMouseCursor = true;
};
Folders = {
Bios = "/home/toast/.local/share/PCSX2/bios";
};
GameList.RecursivePaths = [
"/home/toast/Games/PS2/"
];
"EmuCore/GS" = {
dithering_ps2 = 1;
upscale_multiplier = 2;
};
EmuCore = {
EnableDiscordPresence = true;
EnableFastBoot = true;
McdFolderAutoManage = false;
};
MemoryCards.Slot1_Filename = "MemoryCard1.ps2";
# Controller settings
Pad1 = {
Up = "SDL-0/DPadUp";
Right = "SDL-0/DPadRight";
Down = "SDL-0/DPadDown";
Left = "SDL-0/DPadLeft";
Triangle = "SDL-0/Y";
Circle = "SDL-0/B";
Cross = "SDL-0/A";
Square = "SDL-0/X";
Select = "SDL-0/Back";
Start = "SDL-0/Start";
L1 = "SDL-0/LeftShoulder";
L2 = "SDL-0/+LeftTrigger";
R1 = "SDL-0/RightShoulder";
R2 = "SDL-0/+RightTrigger";
L3 = "SDL-0/LeftStick";
R3 = "SDL-0/RightStick";
Analog = "SDL-0/Guide";
LUp = "SDL-0/-LeftY";
LRight = "SDL-0/+LeftX";
LDown = "SDL-0/+LeftY";
LLeft = "SDL-0/-LeftX";
RUp = "SDL-0/-RightY";
RRight = "SDL-0/+RightX";
RDown = "SDL-0/+RightY";
RLeft = "SDL-0/-RightX";
LargeMotor = "SDL-0/LargeMotor";
SmallMotor = "SDL-0/SmallMotor";
};
# Default hotkeys
Hotkeys = {
ToggleFullscreen = "Keyboard/Alt & Keyboard/Return";
CycleAspectRatio = "Keyboard/F6";
CycleInterlaceMode = "Keyboard/F5";
CycleMipmapMode = "Keyboard/Insert";
GSDumpMultiFrame = "Keyboard/Control & Keyboard/Shift & Keyboard/F8";
Screenshot = "Keyboard/F8";
GSDumpSingleFrame = "Keyboard/Shift & Keyboard/F8";
ToggleSoftwareRendering = "Keyboard/F9";
ZoomIn = "Keyboard/Control & Keyboard/Plus";
ZoomOut = "Keyboard/Control & Keyboard/Minus";
InputRecToggleMode = "Keyboard/Shift & Keyboard/R";
LoadStateFromSlot = "Keyboard/F3";
SaveStateToSlot = "Keyboard/F1";
NextSaveStateSlot = "Keyboard/F2";
PreviousSaveStateSlot = "Keyboard/Shift & Keyboard/F2";
OpenPauseMenu = "Keyboard/Escape";
ToggleFrameLimit = "Keyboard/F4";
TogglePause = "Keyboard/Space";
ToggleSlowMotion = "Keyboard/Shift & Keyboard/Backtab";
ToggleTurbo = "Keyboard/Tab";
HoldTurbo = "Keyboard/Period";
};
};
# 007 nightfire
"PCSX2/gamesettings/SLUS-20579_5B86BB62.ini".text = toPcsx2INI {
"EmuCore/GS".AspectRatio = "16:9";
};
"PCSX2/gamesettings/SLUS-21050_BEBF8793.ini".text = toPcsx2INI {
"EmuCore/GS".AspectRatio = "16:9";
Patches.Enable = [
"60 FPS for Crashes"
"60 FPS for Menus"
"Progressive Scan"
"MPH to KPH"
"Extra Particles While Driving"
];
};
};
xdg.dataFile = {
# I would prefer to use symlinkJoin like I do for the ISOs, but
# the bios folder needs to be writable to store the bios settings
"PCSX2/bios/ntsc.bin".source = pkgs.runCommandLocal "pcsx2-bios" {} ''
cp -v ${pcsx2-bios}/*.bin $out
'';
};
};
# Syncthing
services.syncthing.settings.folders."pcsx2" = {
label = "PCSX2";
id = "qcdsp-qaaej";
devices = ["steamdeck" "server" "pc" "winmax2"];
path = "~/.config/PCSX2";
};
home-manager.users.toast.xdg.configFile = {
"PCSX2/.stignore".text = ''
cache
bios
gamesettings
inis/PCSX2.ini*
inis/debuggersettings
inputprofiles
logs
'';
};
}

View file

@ -0,0 +1,87 @@
{pkgs, ...}: {
home-manager.users.toast = {
home = {
packages = [
(
pkgs.wrapRetroArch {
cores = with pkgs.libretro; [
snes9x
];
settings = {
video_driver = "vulkan";
video_fullscreen = "true";
menu_swap_ok_cancel_buttons = "true";
input_joypad_driver = "sdl2";
# Enable touchscreen support
menu_pointer_enable = "true";
# Folder stuffs
# System/BIOS files
system_directory = "~/.local/share/retroarch/system";
# Downloads
core_assets_directory = "~/.local/share/retroarch/downloads";
thumbnails_directory = "~/.local/share/retroarch/thumbnails";
content_database_path = "~/.local/share/retroarch/database/rdb";
cheat_database_path = "~/.local/share/retroarch/cheats";
video_filter_dir = "~/.local/share/retroarch/filters/video";
audio_filter_dir = "~/.local/share/retroarch/filters/audio";
video_shader_dir = "~/.local/share/retroarch/shaders";
recording_output_directory = "~/.local/share/retroarch/records";
overlay_directory = "~/.local/share/retroarch/overlays";
osk_overlay_directory = "~/.local/share/retroarch/overlays/keyboards";
screenshot_directory = "~/.local/share/retroarch/screenshots";
playlist_directory = "~/.local/share/retroarch/playlists";
savefile_directory = "~/.local/share/retroarch/saves";
savestate_directory = "~/.local/share/retroarch/states";
log_dir = "~/.local/share/retroarch/logs";
# By default settings has some things that this overrides, so I need to set them myself
libretro_info_path = "${pkgs.libretro-core-info}/share/retroarch/cores";
joypad_autoconfig_dir = "${pkgs.retroarch-joypad-autoconfig}/share/libretro/autoconfig";
assets_directory = "${pkgs.retroarch-assets}/share/retroarch/assets";
};
}
)
];
};
# Retroarch is dumb since it doesn't generate some folders (but it does for others)
systemd.user.tmpfiles.rules = [
"d /%h/.local/share/retroarch/playlists"
"d /%h/.local/share/retroarch/saves"
"d /%h/.local/share/retroarch/states"
];
systemd.user.paths = {
snes-roms = {
Unit.Description = "Monitor SNES rom path for changes";
Path = {
PathChanged = "/%h/Games/SNES";
Unit = "update-retroarch-library.service";
};
Install.WantedBy = ["default.target"];
};
};
systemd.user.services.update-retroarch-library = {
Service = {
Type = "oneshot";
ExecStart = pkgs.writeShellScript "scan-snes-games" ''
${pkgs.libnotify}/bin/notify-send -a RetroArch \
-i retroarch \
"SNES games changed!" \
"Scanning $TRIGGER_PATH..."
${pkgs.retroarch}/bin/retroarch --scan "/home/toast/Games/SNES"
'';
};
};
};
# Sync saves and some other stuff
services.syncthing.settings.folders = {
"retroarch" = {
label = "RetroArch";
id = "jxuou-2yjnu";
devices = ["steamdeck" "server" "pc" "winmax2"];
path = "~/.local/share/retroarch";
};
};
}

View file

@ -0,0 +1,15 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
rpcs3
];
# Increase the memory lock limit
security.pam.loginLimits = [
{
domain = "*";
item = "memlock";
type = "-"; # Applies to both hard and soft limits
value = "unlimited";
}
];
}

View file

@ -0,0 +1,34 @@
{
config,
pkgs,
...
}: {
programs.steam = {
enable = true;
localNetworkGameTransfers.openFirewall = true;
# Doubt that I'll use it, but I'll enable it anyways
remotePlay.openFirewall = true;
extraCompatPackages = with pkgs; [
proton-ge-bin
];
};
# Some linux native games (rise of the tomb raider) use alsa for sound
services.pipewire.alsa.enable =
if config.services.pipewire.pulse.enable == true
then true
else false;
home-manager.users.toast = {
systemd.user.tmpfiles.rules = [
"r '/%h/.local/share/applications/Steam Linux Runtime *.desktop'"
"r '/%h/.local/share/applications/Proton *.desktop'"
];
services.flatpak.packages = [
# Celeste mod manager
"io.github.everestapi.Olympus"
];
home.packages = [pkgs.sgdboop];
};
}

View file

@ -0,0 +1,13 @@
diff --git a/src/joystick/SDL_joystick.c b/src/joystick/SDL_joystick.c
index 5ce36de86..37bf5ca85 100644
--- a/src/joystick/SDL_joystick.c
+++ b/src/joystick/SDL_joystick.c
@@ -281,6 +281,8 @@ static Uint32 initial_blacklist_devices[] = {
MAKE_VIDPID(0x3297, 0x1969), // Moonlander MK1 Keyboard
MAKE_VIDPID(0x3434, 0x0211), // Keychron K1 Pro System Control
MAKE_VIDPID(0x04f2, 0xa13c), // HP Deluxe Webcam KQ246AA
+ MAKE_VIDPID(0x3434, 0x0353), // Keychron V5 System Control
+ MAKE_VIDPID(0x3434, 0xd030), // Keychron Link
};
static SDL_vidpid_list blacklist_devices = {
SDL_HINT_JOYSTICK_BLACKLIST_DEVICES, 0, 0, NULL,

View file

@ -0,0 +1,5 @@
{...}: {
imports = [
./syncthing.nix
];
}

View file

@ -0,0 +1,37 @@
{...}: {
/*
This file will sync saves for games that don't have cloud saves
TODO: turn this into a module eventually
*/
services.syncthing.settings.folders = {
"steam-201810" = {
label = "Wolfenstein The New Order Saves";
id = "laxxf-t2wmy";
devices = ["steamdeck" "server" "pc" "winmax2"];
path = "~/.local/share/Steam/steamapps/compatdata/201810/pfx/drive_c/users/steamuser/Saved Games/MachineGames/Wolfenstein The New Order/";
};
"project-diva-mods" = {
label = "Project Diva Mods";
id = "7pscj-6egww";
devices = ["steamdeck" "server" "pc" "winmax2"];
path = "~/.local/share/Steam/steamapps/common/Hatsune Miku Project DIVA Mega Mix Plus/mods/";
};
"project-eden-saves" = {
label = "Project Eden saves";
id = "xa3qx-3ax5k";
devices = ["server" "pc" "winmax2" "steamdeck"];
path = "~/.local/share/Steam/steamapps/compatdata/1761390/pfx/drive_c/users/steamuser/AppData/Roaming/EDEN/";
};
"games" = {
label = "Games";
id = "mwzph-gf2df";
devices = ["server" "pc" "winmax2" "steamdeck"];
path = "~/Games";
};
};
home-manager.users.toast.home.file."steam-201810-ignore" = {
target = ".local/share/Steam/steamapps/compatdata/201810/pfx/drive_c/users/steamuser/Saved Games/MachineGames/Wolfenstein The New Order/.stignore";
text = "base/qconsole.log\nbase/wolfConfig.cfg";
};
}

View file

@ -1,7 +1,8 @@
{ ... }:
{
{...}: {
imports = [
./plasma.nix
./sddm.nix
./programs
./patches
];
}

View file

@ -0,0 +1,29 @@
{lib, ...}: let
rootDirs = builtins.readDir ./.;
removeFiles = lib.attrsets.filterAttrs (n: v: v == "directory") rootDirs;
programsToPatch = builtins.attrNames removeFiles;
bigOverlay = final: prev:
lib.attrsets.mergeAttrsList (
lib.lists.forEach programsToPatch (
program: let
unpatchedProgram = prev."${program}";
newPatches = lib.toast.patches.patchesInPath (lib.path.append ./. program);
in {
"${program}" = unpatchedProgram.overrideAttrs {
version = "${unpatchedProgram.version}-patched";
__intentionallyOverridingVersion = true;
patches = unpatchedProgram.patches ++ newPatches;
};
}
)
);
in {
nixpkgs.overlays = [
(
final: prev: {
kdePackages = prev.kdePackages.overrideScope bigOverlay;
}
)
];
}

View file

@ -0,0 +1,6 @@
Plasma 6.6.0:
Pr 3256 https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/3256
Pr 3259 https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/3259
Pr 3269 https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/3269
Pr 3356 https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/3356

View file

@ -0,0 +1,94 @@
From 79d010f4bcdb19d5a19d222dd3c3cb581fde891d Mon Sep 17 00:00:00 2001
From: David Redondo <kde@david-redondo.de>
Date: Fri, 17 Oct 2025 15:15:51 +0200
Subject: [PATCH] applets/taskmanager: Allow changing a tasks volume by
scrolling
FEATURE:510668
FIXED-IN:6.6
---
.../package/contents/config/main.xml | 1 +
.../package/contents/ui/ConfigBehavior.qml | 3 ++-
.../package/contents/ui/MouseHandler.qml | 20 +++++++++++++++++++
3 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/applets/taskmanager/package/contents/config/main.xml b/applets/taskmanager/package/contents/config/main.xml
index f71a7a8457..8c3b68785b 100644
--- a/applets/taskmanager/package/contents/config/main.xml
+++ b/applets/taskmanager/package/contents/config/main.xml
@@ -90,6 +90,7 @@
<choice name="None"/>
<choice name="AllTask"/>
<choice name="TaskOnly"/>
+ <choice name="AdjustVolume"/>
</choices>
<default>0</default>
</entry>
diff --git a/applets/taskmanager/package/contents/ui/ConfigBehavior.qml b/applets/taskmanager/package/contents/ui/ConfigBehavior.qml
index 2c0dc19154..73357e9dcd 100644
--- a/applets/taskmanager/package/contents/ui/ConfigBehavior.qml
+++ b/applets/taskmanager/package/contents/ui/ConfigBehavior.qml
@@ -202,13 +202,14 @@ KCMUtils.SimpleKCM {
QQC2.ComboBox {
id: wheelEnabled
- Kirigami.FormData.label: i18nc("@label:listbox Part of a sentence: 'Scrolling behavior does nothing/cycles through tasks/cycles through the selected task's windows'", "Scrolling behavior:")
+ Kirigami.FormData.label: i18nc("@label:listbox Part of a sentence: 'Scrolling behavior does nothing/cycles through tasks/cycles through the selected task's windows/adjusts the hovered tasks volume''", "Scrolling behavior:")
Layout.fillWidth: true
Layout.minimumWidth: Kirigami.Units.gridUnit * 14
model: [
i18nc("@item:inlistbox Part of a sentence: 'Scrolling behavior does nothing'", "Does nothing"),
i18nc("@item:inlistbox Part of a sentence: 'Scrolling behavior cycles through all tasks'", "Cycles through all tasks"),
i18nc("@item:inlistbox Part of a sentence: 'Scrolling behavior cycles through the hovered task's windows'", "Cycles through the hovered tasks windows"),
+ i18nc("@item:inlistbox Part of a sentence: 'Scrolling behavior adjusts the hovered tasks volume'", "Adjusts the hovered tasks volume"),
]
}
diff --git a/applets/taskmanager/package/contents/ui/MouseHandler.qml b/applets/taskmanager/package/contents/ui/MouseHandler.qml
index cf2362835a..3f8d703d73 100644
--- a/applets/taskmanager/package/contents/ui/MouseHandler.qml
+++ b/applets/taskmanager/package/contents/ui/MouseHandler.qml
@@ -8,6 +8,7 @@ import QtQuick
import org.kde.taskmanager as TaskManager
import org.kde.plasma.plasmoid
+import org.kde.plasma.private.volume as PlasmaPa
import "code/tools.js" as TaskTools
@@ -157,6 +158,10 @@ DropArea {
}
}
+ PlasmaPa.GlobalConfig {
+ id: plasmaPaConfig
+ }
+
WheelHandler {
id: wheelHandler
@@ -179,6 +184,21 @@ DropArea {
increment--;
}
const anchor = dropArea.target.childAt(event.x, event.y);
+ if (Plasmoid.configuration.wheelEnabled === 3) {
+ const loudest = anchor?.audioStreams?.reduce((loudest, stream) => Math.max(loudest, stream.volume), 0)
+ const step = (pulseAudio.item.normalVolume - pulseAudio.item.minimalVolume) * plasmaPaConfig.volumeStep / 100;
+ anchor?.audioStreams?.forEach((stream) => {
+ let delta = step * increment;
+ if (loudest > 0) {
+ delta *= stream.volume / loudest;
+ }
+ const volume = stream.volume + delta;
+ console.log(volume, Math.max(pulseAudio.item.minimalVolume, Math.min(volume, pulseAudio.item.normalVolume)));
+ stream.model.Volume = Math.max(pulseAudio.item.minimalVolume, Math.min(volume, pulseAudio.item.normalVolume));
+ stream.model.Muted = volume === 0
+ })
+ return;
+ }
while (increment !== 0) {
TaskTools.activateNextPrevTask(anchor, increment < 0, Plasmoid.configuration.wheelSkipMinimized, Plasmoid.configuration.wheelEnabled, tasks);
increment += (increment < 0) ? 1 : -1;
--
GitLab

View file

@ -0,0 +1,78 @@
From 57885ba4ec524bdc1c1326228f27c1c3a3561bba Mon Sep 17 00:00:00 2001
From: Nate Graham <nate@kde.org>
Date: Tue, 21 Oct 2025 13:39:40 -0600
Subject: [PATCH] applets/kickoff: add spacing between non-switch-on-hover
category items
Otherwise, their highlight effects touch, and it looks bad.
To avoid blowing up the layout as a result of this change, slightly
decrease the height of these category list items too, which also reduces
some code complexity.
BUG: 508985
FIXED-IN: 6.6.0
---
applets/kickoff/ApplicationsPage.qml | 1 +
applets/kickoff/KickoffListDelegate.qml | 9 ---------
applets/kickoff/KickoffListView.qml | 5 +++++
3 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/applets/kickoff/ApplicationsPage.qml b/applets/kickoff/ApplicationsPage.qml
index c2baa75b52..fe8d6eaafb 100644
--- a/applets/kickoff/ApplicationsPage.qml
+++ b/applets/kickoff/ApplicationsPage.qml
@@ -20,6 +20,7 @@ BasePage {
id: sideBar
focus: true // needed for Loaders
model: kickoff.rootModel
+ showingCategories: true
// needed otherwise app displayed at top-level will show a first character as group.
section.property: ""
delegate: KickoffListDelegate {
diff --git a/applets/kickoff/KickoffListDelegate.qml b/applets/kickoff/KickoffListDelegate.qml
index b1f8afb3ce..02bfcfcacd 100644
--- a/applets/kickoff/KickoffListDelegate.qml
+++ b/applets/kickoff/KickoffListDelegate.qml
@@ -72,15 +72,6 @@ AbstractKickoffItemDelegate {
id: label
Layout.fillWidth: !descriptionLabel.visible
Layout.maximumWidth: root.width - root.leftPadding - root.rightPadding - icon.width - row.spacing
- Layout.preferredHeight: {
- if (root.isCategoryListItem) {
- return root.compact ? implicitHeight : Math.round(implicitHeight * 1.5);
- }
- if (!root.compact && !descriptionLabel.visible) {
- return implicitHeight + descriptionLabel.implicitHeight
- }
- return implicitHeight;
- }
text: root.text
textFormat: root.isMultilineText ? Text.StyledText : Text.PlainText
elide: Text.ElideRight
diff --git a/applets/kickoff/KickoffListView.qml b/applets/kickoff/KickoffListView.qml
index c7787493e0..382d146428 100644
--- a/applets/kickoff/KickoffListView.qml
+++ b/applets/kickoff/KickoffListView.qml
@@ -33,6 +33,7 @@ EmptyPage {
property alias section: view.section
property alias highlight: view.highlight
property alias view: view
+ property bool showingCategories: false
property bool mainContentView: false
property bool hasSectionView: false
@@ -144,6 +145,10 @@ EmptyPage {
width: view.availableWidth
}
+ // Without switch-on-hover, it's possible for the selected category and the hovered category to be adjacent.
+ // When this happens, their highlights tuoch and look ungly without some artificial spacing added.
+ spacing: root.showingCategories && !Plasmoid.configuration.switchCategoryOnHover ? Kirigami.Units.smallSpacing : 0
+
section {
property: "group"
criteria: ViewSection.FullString
--
GitLab

View file

@ -0,0 +1,66 @@
From a63fce38f285b59407c24f44639023d41b5d3ca9 Mon Sep 17 00:00:00 2001
From: Nate Graham <nate@kde.org>
Date: Thu, 30 Oct 2025 20:01:32 -0600
Subject: [PATCH] applets/kickoff: add separation between Places page list
items too
Missed in 57885ba4ec524bdc1c1326228f27c1c3a3561bba
BUG: 508985
FIXED-IN: 6.6.0
---
applets/kickoff/ApplicationsPage.qml | 2 +-
applets/kickoff/KickoffListView.qml | 4 ++--
applets/kickoff/PlacesPage.qml | 1 +
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/applets/kickoff/ApplicationsPage.qml b/applets/kickoff/ApplicationsPage.qml
index fe8d6eaafb..206ddd958d 100644
--- a/applets/kickoff/ApplicationsPage.qml
+++ b/applets/kickoff/ApplicationsPage.qml
@@ -20,7 +20,7 @@ BasePage {
id: sideBar
focus: true // needed for Loaders
model: kickoff.rootModel
- showingCategories: true
+ isSidebar: true
// needed otherwise app displayed at top-level will show a first character as group.
section.property: ""
delegate: KickoffListDelegate {
diff --git a/applets/kickoff/KickoffListView.qml b/applets/kickoff/KickoffListView.qml
index 382d146428..2d67bd59b7 100644
--- a/applets/kickoff/KickoffListView.qml
+++ b/applets/kickoff/KickoffListView.qml
@@ -33,7 +33,7 @@ EmptyPage {
property alias section: view.section
property alias highlight: view.highlight
property alias view: view
- property bool showingCategories: false
+ property bool isSidebar: false
property bool mainContentView: false
property bool hasSectionView: false
@@ -147,7 +147,7 @@ EmptyPage {
// Without switch-on-hover, it's possible for the selected category and the hovered category to be adjacent.
// When this happens, their highlights tuoch and look ungly without some artificial spacing added.
- spacing: root.showingCategories && !Plasmoid.configuration.switchCategoryOnHover ? Kirigami.Units.smallSpacing : 0
+ spacing: root.isSidebar && !Plasmoid.configuration.switchCategoryOnHover ? Kirigami.Units.smallSpacing : 0
section {
property: "group"
diff --git a/applets/kickoff/PlacesPage.qml b/applets/kickoff/PlacesPage.qml
index ff92f535e4..7f81096834 100644
--- a/applets/kickoff/PlacesPage.qml
+++ b/applets/kickoff/PlacesPage.qml
@@ -19,6 +19,7 @@ BasePage {
id: sideBar
focus: true // needed for Loaders
model: placesCategoryModel
+ isSidebar: true
delegate: KickoffListDelegate {
url: ""
description: ""
--
GitLab

View file

@ -0,0 +1,37 @@
From 04c747a41d8c01248c7baeec5c852c2298f76fc3 Mon Sep 17 00:00:00 2001
From: Christoph Wolk <cwo.kde@posteo.net>
Date: Mon, 1 Dec 2025 14:36:09 +0100
Subject: [PATCH] applets/kickoff: also close when triggering from footer menu
Kickoff already closes when one of the power/session buttons from the
menu is pressed, but the same does not happen if the same action is
shown in the overflow menu.
Instead, also close kickoff in that case.
CCBUG: 508725
---
applets/kickoff/LeaveButtons.qml | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/applets/kickoff/LeaveButtons.qml b/applets/kickoff/LeaveButtons.qml
index c9a14dc3254..acf83639341 100644
--- a/applets/kickoff/LeaveButtons.qml
+++ b/applets/kickoff/LeaveButtons.qml
@@ -214,7 +214,12 @@ RowLayout {
text: model.display
icon: model.decoration
- onClicked: filteredMenuItemsModel.trigger(index)
+ onClicked: {
+ filteredMenuItemsModel.trigger(index)
+ if (kickoff.hideOnWindowDeactivate) {
+ kickoff.expanded = false;
+ }
+ }
}
onObjectAdded: (index, object) => contextMenu.addMenuItem(object)
onObjectRemoved: (index, object) => contextMenu.removeMenuItem(object)
--
GitLab

Some files were not shown because too many files have changed in this diff Show more