Compare commits

...
74 Commits
Author SHA1 Message Date
k3t b06a8e58d7 HOW DID I FUCK THIS UP??????? 2026-09-04 16:43:09 -06:00
k3t 4772a085ae rename a few things, add minizen host, rebase with other changes 2026-09-04 15:52:13 -06:00
k3t a00258ed3d disable redundant features 2026-09-03 08:28:03 +00:00
k3t 1eb528fdc7 oops 2026-09-03 07:52:55 +00:00
k3t 900a830660 add nvidia support 2026-09-03 07:52:07 +00:00
k3t 4e32f3c193 flake update 2026-08-27 18:20:33 -06:00
k3t 8f32d561f5 flake update 2026-08-23 15:08:14 -06:00
k3t e766d73c6d e 2026-08-09 14:05:20 -06:00
k3t 550b91fd59 disable nftables again 2026-08-09 14:02:28 -06:00
k3t 9d5b87e036 e 2026-08-09 13:01:49 -06:00
k3t 7b729d68aa e 2026-08-09 12:53:34 -06:00
k3t 71b94afced e 2026-08-09 12:52:44 -06:00
k3t af7fee8ea7 e 2026-08-09 12:50:41 -06:00
k3t b8594b37b5 enable ios support on tbb 2026-08-09 12:50:13 -06:00
k3t f39b398e8a add ios support 2026-08-09 12:48:45 -06:00
k3t b00cadd7a3 update waydroid.nix & firewall.nix 2026-08-08 14:23:43 +00:00
k3t 3572ef72af update waydroid.nix 2026-08-08 14:14:57 +00:00
k3t ea41bef16c oops 2026-08-08 02:31:49 -06:00
k3t addef281d7 remove adb from waydroid 2026-08-08 02:30:45 -06:00
k3t 4f8df6192f oops 2026-08-08 02:30:13 -06:00
k3t bcddfd1443 allow timezone to be overrideable 2026-08-08 02:29:43 -06:00
k3t 2f5bcb3029 oops 2026-08-08 02:27:10 -06:00
k3t d8dffd131f add geoclue and waydroid 2026-08-08 02:26:34 -06:00
k3t d2123f4e8d modify synergy.nix 2026-08-08 01:39:01 -06:00
k3t 2ab6b4a932 add synergy 2026-08-08 01:34:14 -06:00
k3t 9753013fa9 oops 2026-08-08 01:26:49 -06:00
k3t fc5fb9af0e many performance optimizations 2026-08-08 01:25:08 -06:00
k3t 91ea0a10cf reenable lact & enable iio on thinkpad 2026-08-08 00:45:39 -06:00
k3t 7e300df6fa update hardware-configuration.nix 2026-08-06 23:56:57 -06:00
k3t 24e58fc71d flake update 2026-08-06 23:53:17 -06:00
k3t e5c52d516a rename T14 to ThinkPad 2026-08-06 23:50:08 -06:00
k3t 682f49d002 disable 32bit mesa 2026-08-02 03:37:29 -06:00
k3t 0df48f3021 enable mesa 2026-08-02 03:36:32 -06:00
k3t 6a41a274cf enable plasma6 on nixcloud 2026-08-02 03:25:39 -06:00
k3t 49d3f8bb5b add packages to tbb for certain repacks to function 2026-08-01 23:53:46 -06:00
k3t 89980b6244 re-enable vmware on theblackbox 2026-08-01 23:52:22 -06:00
k3t bf094a3e08 add gomuks 2026-07-28 16:47:24 -06:00
k3t b052afabc1 [mautrix.nix] change ig port, add mautrix-signal 2026-07-28 13:20:40 -06:00
k3t 62e3df59bf add mautrix-meta instagram container 2026-07-28 13:07:48 -06:00
k3t 8bf6c4fcc0 ENABLE the setting that was just added 😭 2026-07-28 11:39:37 -06:00
k3t 86e84cad1b reconfigure nginx for mautrix-discord 2026-07-28 11:37:07 -06:00
k3t 36952f5bae forgot to plan ahead, too latenow 2026-07-28 11:20:59 -06:00
k3t 7f59ae2652 bind continuwuity to 0.0.0.0 2026-07-28 11:15:22 -06:00
k3t a386bd81c3 modify mautrix.nix 2026-07-28 11:13:15 -06:00
k3t f0294a80ce change blocky port to fix podman, fix a few container files 2026-07-28 10:03:28 -06:00
k3t 6d6b690218 oops 2026-07-28 09:50:44 -06:00
k3t cc8b2636db modify mautrix.nix 2026-07-28 09:49:40 -06:00
k3t acc6970571 move podman config to more suitable location 2026-07-28 09:49:34 -06:00
k3t 07f1f811b9 add mautrix podman containers 2026-07-28 09:18:56 -06:00
k3t e0e00ecfeb flake update & remove lact 2026-07-28 09:18:00 -06:00
k3t fbaf4fbb37 remove mautrix.nix 2026-07-27 09:52:52 -06:00
k3t 6c9259c0bf disable mautrix bridges 2026-07-27 09:51:39 -06:00
k3t ee533092be flake inputs update 2026-07-27 09:47:30 -06:00
k3t 821596f571 comment mautrix-discord 2026-07-26 12:39:45 -06:00
k3t 2dd0f80405 fix mautrix.nix 2026-07-26 12:37:36 -06:00
k3t c4cf5c867f add mess of mautrix bridges 2026-07-26 12:33:38 -06:00
k3t 34c109906d update nginx hosts again 2026-07-26 11:45:38 -06:00
k3t 323dc489a0 formatting, once again 2026-07-26 11:22:53 -06:00
k3t d6be2b6b6e imagine reading docs who does that 2026-07-26 11:17:37 -06:00
k3t dd7b736d96 oops 2026-07-26 11:15:50 -06:00
k3t d5ee81f7ae proxy matrix, add well-known as well 2026-07-26 11:15:06 -06:00
k3t 13cd25557c matrix homeserver 2026-07-26 11:02:16 -06:00
k3t 71e7cf84b7 tbb additions 2026-07-26 11:02:08 -06:00
k3t 855c536f96 remove nonsense 2026-07-24 15:49:31 -06:00
k3t 2f007f0a69 include lutris.nix 2026-07-24 15:49:00 -06:00
k3t c9df14e255 add lutris 2026-07-24 15:48:10 -06:00
k3t 6f9a78a853 fix xdg mime 2026-07-24 15:34:52 -06:00
k3t a5776fbf36 add waypipe on wayland systems 2026-07-24 06:45:40 -06:00
k3t 7b5eea44c5 fix retarded activity 2026-07-24 06:44:58 -06:00
k3t 831d103064 remove duplicate config 2026-07-24 06:44:03 -06:00
k3t ed51eb5613 add hardware support 2026-07-24 06:42:22 -06:00
k3t 8400da57ba bump java up to 25 2026-07-14 15:16:30 -06:00
k3t 1d2915d02a flake update && minecraft.nix fix 2026-07-14 15:11:50 -06:00
k3t 1095db59e9 remove yubikey from pam (you can log in as ssh without a pw if its plugged in 😭) 2026-07-14 05:07:32 -06:00
38 changed files with 717 additions and 310 deletions
Generated
+22 -22
View File
@@ -37,11 +37,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1783963347,
"narHash": "sha256-r376E2XpakiXwModDHIxlvB6qLq4iFVEq730vxOO4JY=",
"lastModified": 1788229478,
"narHash": "sha256-G0F2rFORVcFkEvVdE/qWQTnYekIc77YP5/vRF9nZlxU=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "a45a7c451455a51ae740ec3bce4024b312809c29",
"rev": "1dc2d1f720ab17fc7981e087346bf54b26d284b1",
"type": "github"
},
"original": {
@@ -97,11 +97,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1783904209,
"narHash": "sha256-9J92YCz9IH0EBFRfx6ty5hJQ78X3p6J1Pr8izieDgOw=",
"lastModified": 1788146779,
"narHash": "sha256-DPpSweCi/XNpD7r2mrL83gaN0/UsQIF6ihb2HY2G2Jc=",
"owner": "cynicsketch",
"repo": "nix-mineral",
"rev": "4c7fd609d382e6d854a4924a92b86c90ff19513c",
"rev": "9e05f8a852c7ca53e797379deef275b608d47ef4",
"type": "github"
},
"original": {
@@ -115,11 +115,11 @@
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1783792734,
"narHash": "sha256-50rvY9GdFvpYDcMLcD/4cWSi0hVxArT5wsGlVsHy8eY=",
"lastModified": 1788044418,
"narHash": "sha256-cmOd3iGoE140M2GidgQMQbyxHZ4dT7C0QZq2+CrXQyA=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "8efb4337e857949f4cfac86d12ef1066f417f31f",
"rev": "dc3f0cfde2050172abf6c3cdb684f735c15a57c5",
"type": "github"
},
"original": {
@@ -131,11 +131,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1783604885,
"narHash": "sha256-tzMgSkV7kljEkqIjlgV6F+n+xD+/a35Db8bs7a4BFAo=",
"lastModified": 1787209939,
"narHash": "sha256-WvvHR4kSQLAbtouMC/ruZ5UpLwlUcY3K4FAllMN+yGk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "767b0d3ec98a143ad9ed7dfc0d5553510ac27133",
"rev": "391b592eb44808b3bd0cb80bb71b63a5a118b8bb",
"type": "github"
},
"original": {
@@ -207,11 +207,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1783776592,
"narHash": "sha256-UgCQzxeWI75XM8G+hPrPh+MKzEPjG3SpAj7dtqSbksA=",
"lastModified": 1788179007,
"narHash": "sha256-hn1oU2rue2SYK8dAr8+WNZWtbsz1S2W5mnHlSEuh3bo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e7a3ca8092b61ff85b6a45bf863ea2b2d6a661b3",
"rev": "34ab99075ac4f7e40cf037eef32cb1c360bb85e9",
"type": "github"
},
"original": {
@@ -223,11 +223,11 @@
},
"nixpkgs_6": {
"locked": {
"lastModified": 1783776592,
"narHash": "sha256-+GVwKnbbSmf4cWMJyRzvw8H5yFknmkLoPD5v6snqPzo=",
"rev": "e7a3ca8092b61ff85b6a45bf863ea2b2d6a661b3",
"lastModified": 1787900134,
"narHash": "sha256-5GWj0FI2uOwKNpXkmpWrSFDe1rCaNBCUQ8d+HDtFQPI=",
"rev": "83199d0d373dd3ac2b9a1996b1d0263f76ab7a4c",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1032869.e7a3ca8092b6/nixexprs.tar.xz"
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1063296.83199d0d373d/nixexprs.tar.xz"
},
"original": {
"type": "tarball",
@@ -250,11 +250,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1783838433,
"narHash": "sha256-Zb8+v76qSPYDlUea1y30YzgdEoDjA97vRmeqfPAqwZs=",
"lastModified": 1788083617,
"narHash": "sha256-aXMDRUxm/9se+vgKViKdDcClk1k3qA3sUwT0kAYo3Fg=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "c6ab7371e40abd405313af9bddafd5f37cc94f83",
"rev": "bf4ed54253a61c8324a5b461638c42db77c0b980",
"type": "github"
},
"original": {
+40 -160
View File
@@ -42,19 +42,6 @@
in {
nixosConfigurations = {
# repurposed for use as nas
#"TheBlackBox" = mkHost "x86_64-linux" [
# ./modules/common.nix
# ./modules/desktop-common.nix
# ./hosts/desktop/configuration.nix
# spicetify-nix.nixosModules.spicetify
# home-manager.nixosModules.home-manager
# {
# home-manager.useGlobalPkgs = true;
# home-manager.useUserPackages = true;
# home-manager.users.k3t = ./home/desktop.nix;
# }
#];
"TheBlackBox" = mkHost "x86_64-linux" [
./modules/audio/base.nix
./modules/audio/zeroconf.nix
@@ -70,9 +57,11 @@
./modules/gui/apps/steam.nix
./modules/gui/fonts.nix
./modules/gui/services/flatpak.nix
./modules/gui/services/geoclue.nix
./modules/gui/services/kdeconnect.nix
./modules/gui/services/kwallet.nix
./modules/gui/services/xdg.nix
./modules/gui/services/waydroid.nix
./modules/net/services/avahi.nix
./modules/net/services/fail2ban.nix
@@ -85,20 +74,24 @@
./modules/sys/fs/btrfs.nix
./modules/sys/fs/mounts/efi.nix
./modules/sys/fs/mounts/btrfs/tbb-btrfs.nix
./modules/sys/fs/mounts/btrfs/btrfs-with-subvols.nix
./modules/sys/fs/mounts/swap.nix
./modules/sys/hw/boot.nix
./modules/sys/hw/libinput.nix
./modules/sys/hw/cpu/amd64.nix
./modules/sys/hw/gpu/amd.nix
./modules/sys/hw/gpu/vmware.nix
./modules/sys/hw/cpu/intel.nix
./modules/sys/hw/gpu/nvidia.nix
./modules/sys/hw/input/keyboard.nix
./modules/sys/hw/input/tablet.nix
./modules/sys/hw/input/xbox.nix
./modules/sys/hw/misc/ios.nix
./modules/sys/nix.nix
./modules/sys/perf.nix
./modules/sys/pkgs.nix
./modules/sys/rc/openssh.nix
./modules/sys/rc/sunshine.nix
./modules/sys/rc/x2goserver.nix
./modules/sys/rgb.nix
./modules/sys/security.nix
@@ -108,6 +101,8 @@
./modules/sys/time.nix
./modules/sys/users/k3t.nix
./modules/sys/vm.nix
./hosts/TheBlackBox/configuration.nix
spicetify-nix.nixosModules.spicetify
home-manager.nixosModules.home-manager
@@ -118,117 +113,6 @@
}
];
"NixNAS" = mkHost "x86_64-linux" [
./modules/net/services/avahi.nix
./modules/net/services/fail2ban.nix
./modules/net/services/networkmanager.nix
./modules/net/services/tailscale.nix
./modules/sys/compat.nix
./modules/sys/firewall.nix
./modules/sys/fs/btrfs.nix
./modules/sys/fs/mounts/efi.nix
./modules/sys/fs/mounts/root-btrfs.nix
./modules/sys/fs/mounts/swap.nix
./modules/sys/hw/boot.nix
./modules/sys/hw/hyperv.nix
./modules/sys/nix.nix
./modules/sys/perf.nix
./modules/sys/pkgs.nix
./modules/sys/rc/openssh.nix
./modules/sys/security.nix
./modules/sys/shell.nix
./modules/sys/stateversion.nix
./modules/sys/sysctl.nix
./modules/sys/time.nix
./modules/sys/users/k3t.nix
./hosts/NixNAS/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.k3t = ./home/server.nix;
}
];
"NixServe" = mkHost "x86_64-linux" [
./modules/net/services/avahi.nix
./modules/net/services/fail2ban.nix
./modules/net/services/networkmanager.nix
./modules/net/services/tailscale.nix
./modules/sys/compat.nix
./modules/sys/firewall.nix
./modules/sys/fs/btrfs.nix
./modules/sys/fs/mounts/efi.nix
./modules/sys/fs/mounts/root-btrfs.nix
./modules/sys/fs/mounts/swap.nix
./modules/sys/hw/boot.nix
./modules/sys/hw/hyperv.nix
./modules/sys/nix.nix
./modules/sys/perf.nix
./modules/sys/pkgs.nix
./modules/sys/rc/openssh.nix
./modules/sys/security.nix
./modules/sys/shell.nix
./modules/sys/stateversion.nix
./modules/sys/sysctl.nix
./modules/sys/time.nix
./modules/sys/users/k3t.nix
./hosts/NixServe/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.k3t = ./home/server.nix;
}
];
"NixGame" = mkHost "x86_64-linux" [
./modules/net/services/avahi.nix
./modules/net/services/fail2ban.nix
./modules/net/services/networkmanager.nix
./modules/net/services/tailscale.nix
./modules/sys/compat.nix
./modules/sys/firewall.nix
./modules/sys/fs/btrfs.nix
./modules/sys/fs/mounts/efi.nix
./modules/sys/fs/mounts/root-btrfs.nix
./modules/sys/fs/mounts/swap.nix
./modules/sys/hw/boot.nix
./modules/sys/hw/hyperv.nix
./modules/sys/nix.nix
./modules/sys/perf.nix
./modules/sys/pkgs.nix
./modules/sys/rc/openssh.nix
./modules/sys/security.nix
./modules/sys/shell.nix
./modules/sys/stateversion.nix
./modules/sys/sysctl.nix
./modules/sys/time.nix
./modules/sys/users/k3t.nix
./hosts/NixGame/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.k3t = ./home/server.nix;
}
];
"IdeaPad" = mkHost "x86_64-linux" [
./modules/audio/base.nix
./modules/audio/zeroconf.nix
@@ -240,6 +124,7 @@
./modules/gui/apps/firefox.nix
./modules/gui/fonts.nix
./modules/gui/services/flatpak.nix
./modules/gui/services/geoclue.nix
./modules/gui/services/kdeconnect.nix
./modules/gui/services/kwallet.nix
./modules/gui/services/xdg.nix
@@ -276,60 +161,46 @@
./hosts/IdeaPad/configuration.nix
];
"htpc" = mkHost "x86_64-linux" [
"minizen" = mkHost "x86_64-linux" [
./modules/audio/base.nix
./modules/audio/zeroconf.nix
./modules/bluetooth/desktop.nix
./modules/de/kde.nix
./modules/de/i3.nix
./modules/desktop-common.nix
./modules/gui/services/fcast.nix
./modules/gui/apps/firefox.nix
./modules/gui/apps/spicetify.nix
./modules/gui/apps/steam.nix
./modules/gui/fonts.nix
./modules/gui/services/flatpak.nix
./modules/gui/services/kdeconnect.nix
./modules/gui/services/kwallet.nix
./modules/gui/services/xdg.nix
./modules/net/services/avahi.nix
./modules/net/services/fail2ban.nix
./modules/net/services/networkmanager.nix
./modules/net/services/printing.nix
./modules/net/services/tailscale.nix
./modules/sys/compat.nix
./modules/sys/firewall.nix
./modules/sys/fs/btrfs.nix
./modules/sys/fs/mounts/efi.nix
./modules/sys/fs/mounts/btrfs/btrfs-with-subvols.nix
./modules/sys/fs/mounts/swap.nix
./modules/sys/hw/boot.nix
./modules/sys/hw/cpu/amd64.nix
./modules/sys/hw/gpu/amd.nix
./modules/sys/hw/cpu/arm64.nix
./modules/sys/nix.nix
./modules/sys/perf.nix
./modules/sys/pkgs.nix
./modules/sys/rc/openssh.nix
./modules/sys/rc/sunshine.nix
./modules/sys/rgb.nix
./modules/sys/security.nix
./modules/sys/shell.nix
./modules/sys/stateversion.nix
./modules/sys/sysctl.nix
./modules/sys/time.nix
./modules/sys/users/k3t.nix
./hosts/htpc/configuration.nix
spicetify-nix.nixosModules.spicetify
./hosts/minizen/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.k3t = ./home/desktop.nix;
home-manager.users.k3t = ./home/server.nix;
}
];
"T14" = mkHost "x86_64-linux" [
};
"ThinkPad" = mkHost "x86_64-linux" [
./modules/audio/base.nix
./modules/audio/zeroconf.nix
@@ -344,9 +215,11 @@
./modules/gui/apps/steam.nix
./modules/gui/fonts.nix
./modules/gui/services/flatpak.nix
./modules/gui/services/geoclue.nix
./modules/gui/services/kdeconnect.nix
./modules/gui/services/kwallet.nix
./modules/gui/services/xdg.nix
./modules/gui/services/waydroid.nix
./modules/net/services/avahi.nix
./modules/net/services/fail2ban.nix
@@ -356,14 +229,22 @@
./modules/sys/compat.nix
./modules/sys/firewall.nix
./modules/sys/fs/btrfs.nix
./modules/sys/fs/mounts/efi.nix
./modules/sys/fs/mounts/btrfs/btrfs-with-subvols.nix
./modules/sys/fs/mounts/swap.nix
./modules/sys/hw/boot.nix
./modules/sys/hw/cpu/amd64.nix
./modules/sys/hw/gpu/amd.nix
./modules/sys/hw/cpu/intel.nix
./modules/sys/hw/gpu/intel.nix
./modules/sys/hw/misc/ios.nix
./modules/sys/nix.nix
./modules/sys/perf.nix
./modules/sys/pkgs.nix
./modules/sys/rc/openssh.nix
./modules/sys/rc/synergy.nix
./modules/sys/rc/sunshine.nix
./modules/sys/rgb.nix
./modules/sys/security.nix
@@ -465,5 +346,4 @@
# }
# ];
#};
};
}
+17
View File
@@ -0,0 +1,17 @@
{pkgs, ...}:
{
programs.lutris = {
enable = true;
winePackages = [ pkgs.wineWow64Packages.waylandFull pkgs.wineWow64Packages.stagingFull ];
protonPackages = [ pkgs.proton-ge-bin ];
steamPackage = pkgs.steam.override {
extraProfile = ''
# Allows Monado/WiVRn to be used
export PRESSURE_VESSEL_IMPORT_OPENXR_1_RUNTIMES=1
# Fixes timezones on VRChat
unset TZ
'';
};
};
}
+1
View File
@@ -9,6 +9,7 @@
#./cfg/gtk.nix
# excluded since there are issues with kde
./cfg/qbz.nix
./cfg/lutris.nix
];
home.packages = with pkgs; [
+18 -10
View File
@@ -4,12 +4,12 @@
{ config, pkgs, ... }:
let
amdgpu-kernel-module = pkgs.callPackage ./amdgpu-kernel-module.nix {
#let
# amdgpu-kernel-module = pkgs.callPackage ./amdgpu-kernel-module.nix {
# Make sure the module targets the same kernel as your system is using.
kernel = config.boot.kernelPackages.kernel;
};
in
# kernel = config.boot.kernelPackages.kernel;
# };
#in
{
imports =
@@ -20,11 +20,14 @@ in
networking.hostName = "TheBlackBox";
# Linux and VR... nightmare below
boot.extraModulePackages = [
(amdgpu-kernel-module.overrideAttrs (_: {
patches = [ ./amdgpu-cap_sys_nice_begone.patch ];
}))
];
#boot.extraModulePackages = [
# (amdgpu-kernel-module.overrideAttrs (_: {
# patches = [ ./amdgpu-cap_sys_nice_begone.patch ];
# }))
#];
# Synergy
#services.synergy.server.enable = true;
services.wivrn = {
enable = true;
@@ -64,6 +67,11 @@ in
users.users.k3t = {
packages = with pkgs; [
virt-viewer
fuse-overlayfs
fuse3
psmisc
dwarfs
wineWow64Packages.staging
];
};
}
+1 -1
View File
@@ -10,7 +10,7 @@
./hardware-configuration.nix
];
networking.hostName = "T14"; # Define your hostname.
networking.hostName = "ThinkPad"; # Define your hostname.
users.users.k3t = {
packages = with pkgs; [
+2 -19
View File
@@ -8,28 +8,11 @@
[ (modulesPath + "/installer/scan/not-detected.nix")
];
fileSystems."/" =
{ device = "/dev/disk/by-label/NixOS";
fsType = "btrfs";
options = [ "subvol=@" ];
};
fileSystems."/home" =
{ device = "/dev/disk/by-label/NixOS";
fsType = "btrfs";
options = [ "subvol=@home" ];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/E0C2-A3A3";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
#swapDevices =
# [ { device = "/dev/disk/by-uuid/fe32f9af-3382-4505-90e3-aaf1c41bf5d4"; }
# ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.sensor.iio.enable = true;
}
+45
View File
@@ -0,0 +1,45 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ config, lib, pkgs, inputs, ... }:
{
imports =
(lib.filesystem.listFilesRecursive ./services.d)
++ [ # Include the results of the hardware scan.
./hardware-configuration.nix
];
networking.hostName = "minizen"; # Define your hostname.
# podman
virtualisation.podman = {
enable = true;
autoPrune.enable = true;
dockerCompat = true; # optional; lets you use `docker` CLI
};
virtualisation.oci-containers.backend = "podman";
# Enable container name DNS for all Podman networks.
networking.firewall.interfaces = let
matchAll = if !config.networking.nftables.enable then "podman+" else "podman*";
in {
"${matchAll}".allowedUDPPorts = [ 53 ];
};
# List packages installed in system profile.
# You can use https://search.nixos.org/ to find more packages (and options).
environment.systemPackages = with pkgs; [
waypipe
];
# Open ports in the firewall.
networking.firewall.allowedTCPPorts = [ 80 443 25565 4433 9971 853 ];
networking.firewall.allowedUDPPorts = [ 443 24454 4433 9971 ];
# 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;
}
+26
View File
@@ -0,0 +1,26 @@
# 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 + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "virtio_scsi" "usbhid" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp7s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}
+64
View File
@@ -0,0 +1,64 @@
{ config, lib, pkgs, ... }:
{
services.blocky = {
enable = true;
settings = {
certFile = "/etc/nixos/dns.crt";
keyFile = "/etc/nixos/dns.key";
caching = {
minTime = "5m";
maxTime = "30m";
prefetching = true;
};
ports = {
dns = 5353;
tls = 853;
http = 4000;
};
upstreams.groups.default = [
"https://dns.quad9.net/dns-query"
];
# For initially solving DoH/DoT Requests when no system Resolver is available.
bootstrapDns = {
upstream = "https://dns.quad9.net/dns-query";
ips = [ "9.9.9.9" "1.1.1.1" ];
};
#Enable Blocking of certain domains.
blocking = {
loading.refreshPeriod = "1h";
denylists = {
ads = [
"https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts"
"https://v.firebog.net/hosts/AdguardDNS.txt"
"https://v.firebog.net/hosts/Admiral.txt"
"https://raw.githubusercontent.com/anudeepND/blacklist/master/adservers.txt"
"https://raw.githubusercontent.com/FadeMind/hosts.extras/master/UncheckyAds/hosts"
];
tracking = [
"https://v.firebog.net/hosts/Easyprivacy.txt"
"https://v.firebog.net/hosts/Prigent-Ads.txt"
"https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt"
"https://hostfiles.frogeye.fr/firstparty-trackers-hosts.txt"
"https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.2o7Net/hosts"
];
sus = [
"https://someonewhocares.org/hosts/zero/hosts"
"https://raw.githubusercontent.com/RooneyMcNibNug/pihole-stuff/master/SNAFU.txt"
"https://raw.githubusercontent.com/matomo-org/referrer-spam-blacklist/master/spammers.txt"
"https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Spam/hosts"
"https://raw.githubusercontent.com/PolishFiltersTeam/KADhosts/master/KADhosts.txt"
"https://raw.githubusercontent.com/matomo-org/referrer-spam-blacklist/master/spammers.txt"
];
};
#Configure what block categories are used
clientGroupsBlock = {
default = [ "ads" "tracking" "sus" ];
};
};
};
};
}
+25
View File
@@ -0,0 +1,25 @@
{ config, lib, pkgs, ... }:
{
services.gonic = {
enable = true;
settings = {
music-path = [
"/home/k3t/Music"
];
playlists-path = "/home/k3t/Playlists";
podcast-path = "/home/k3t/Podcasts";
};
};
services.nginx.virtualHosts."fckurspotify.lostin06.duckdns.org" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://127.0.0.1:4747";
proxyWebsockets = true;
recommendedProxySettings = true;
};
};
}
+20
View File
@@ -0,0 +1,20 @@
{ config, pkgs, lib, ... }:
{
virtualisation.oci-containers.containers."minecraft-server" = {
image = "ghcr.io/graalvm/graalvm-community:25";
volumes = [
"/var/lib/minecraft:/data:rw"
];
ports = [
"25565:25565/tcp"
"24454:24454/udp"
];
extraOptions = [
"--tty"
"--interactive"
];
entrypoint = "/data/run.sh";
log-driver = "journald";
};
}
+17
View File
@@ -0,0 +1,17 @@
{ config, lib, pkgs, ... }:
{
services.nginx = {
enable = true;
recommendedGzipSettings = true;
recommendedOptimisation = true;
recommendedProxySettings = true;
recommendedTlsSettings = true;
};
security.acme = {
acceptTerms = true;
defaults.email = "k3t@k3t.dev";
};
}
+24 -3
View File
@@ -7,12 +7,27 @@
{
imports =
(lib.filesystem.listFilesRecursive ./services.d)
++ (lib.filesystem.listFilesRecursive ./services.d/matrix.d)
++ [ # Include the results of the hardware scan.
./hardware-configuration.nix
];
networking.hostName = "nixcloud"; # Define your hostname.
# podman
virtualisation.podman = {
enable = true;
autoPrune.enable = true;
dockerCompat = true; # optional; lets you use `docker` CLI
};
virtualisation.oci-containers.backend = "podman";
# Enable container name DNS for all Podman networks.
networking.firewall.interfaces = let
matchAll = if !config.networking.nftables.enable then "podman+" else "podman*";
in {
"${matchAll}".allowedUDPPorts = [ 53 ];
};
# Define a user account. Don't forget to set a password with passwd.
users.users = {
@@ -36,9 +51,15 @@
# List packages installed in system profile.
# You can use https://search.nixos.org/ to find more packages (and options).
#environment.systemPackages = with pkgs; [
# wget
#];
environment.systemPackages = with pkgs; [
waypipe
];
# enable mesa
hardware.graphics.enable = true;
# desktop in the sky
services.desktopManager.plasma6.enable = true;
# Open ports in the firewall.
+1 -1
View File
@@ -12,7 +12,7 @@
prefetching = true;
};
ports = {
dns = 53;
dns = 5353;
tls = 853;
http = 4000;
};
@@ -0,0 +1,22 @@
{
virtualisation.oci-containers.containers = {
"matrix-gomuks" = {
image = "dock.mau.dev/gomuks/gomuks";
volumes = [
"/var/lib/gomuks:/data:rw"
];
ports = [
"127.0.0.1:29325:29325/tcp"
];
log-driver = "journald";
};
};
services.nginx.virtualHosts."gomuks.k3t.dev" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://127.0.0.1:29325";
proxyWebsockets = true;
};
};
}
@@ -0,0 +1,46 @@
{
services.matrix-continuwuity = {
enable = true;
settings = {
admin = {
enable = true;
};
global = {
address = [ "0.0.0.0" ];
server_name = "k3t.dev";
trusted_servers = [
"matrix.org"
"constellatory.net"
"unredacted.org"
"tchncs.de"
];
};
};
};
services.nginx.virtualHosts = {
"k3t.dev".locations."/.well-known/matrix/client" = {
return = ''
200 '{"m.homeserver":{"base_url":"https://k3t.dev"},"m.identity_server":{"base_url":"https://vector.im"}}'
'';
extraConfig = ''
default_type application/json;
'';
};
"k3t.dev".locations."/.well-known/matrix/server" = {
return = ''
200 '{"m.server": "k3t.dev:443"}'
'';
extraConfig = ''
default_type application/json;
'';
};
"k3t.dev".locations."/_matrix/" = {
proxyPass = "http://127.0.0.1:6167";
proxyWebsockets = true;
};
"k3t.dev".locations."/_continuwuity/" = {
proxyPass = "http://127.0.0.1:6167";
proxyWebsockets = true;
};
};
}
@@ -0,0 +1,104 @@
# Auto-generated by compose2nix.
{ pkgs, lib, config, ... }:
{
# Containers
virtualisation.oci-containers.containers = {
"matrix-mautrix-bluesky" = {
image = "dock.mau.dev/mautrix/bluesky:latest";
volumes = [
"/var/lib/mautrix/bluesky:/data:rw"
];
ports = [
"127.0.0.1:29340:29340/tcp"
];
log-driver = "journald";
};
"matrix-mautrix-discord" = {
image = "dock.mau.dev/mautrix/discord:latest";
volumes = [
"/var/lib/mautrix/discord:/data:rw"
];
ports = [
"127.0.0.1:29334:29334/tcp"
];
log-driver = "journald";
};
"matrix-mautrix-linkedin" = {
image = "dock.mau.dev/mautrix/linkedin:latest";
volumes = [
"/var/lib/mautrix/linkedin:/data:rw"
];
ports = [
"127.0.0.1:29341:29341/tcp"
];
log-driver = "journald";
};
"matrix-mautrix-meta" = {
image = "dock.mau.dev/mautrix/meta:latest";
volumes = [
"/var/lib/mautrix/meta:/data:rw"
];
ports = [
"127.0.0.1:29319:29319/tcp"
];
log-driver = "journald";
};
"matrix-mautrix-instagram" = {
image = "dock.mau.dev/mautrix/meta:ig-latest";
volumes = [
"/var/lib/mautrix/instagram:/data:rw"
];
ports = [
"127.0.0.1:29330:29330/tcp"
];
log-driver = "journald";
};
"matrix-mautrix-signal" = {
image = "dock.mau.dev/mautrix/signal:latest";
volumes = [
"/var/lib/mautrix/signal:/data:rw"
];
ports = [
"127.0.0.1:29328:29328/tcp"
];
log-driver = "journald";
};
"matrix-mautrix-twitter" = {
image = "dock.mau.dev/mautrix/twitter:latest";
volumes = [
"/var/lib/mautrix/twitter:/data:rw"
];
ports = [
"127.0.0.1:29327:29327/tcp"
];
log-driver = "journald";
};
"matrix-mautrix-whatsapp" = {
image = "dock.mau.dev/mautrix/whatsapp:latest";
volumes = [
"/var/lib/mautrix/whatsapp:/data:rw"
];
ports = [
"127.0.0.1:29318:29318/tcp"
];
log-driver = "journald";
};
};
services.nginx.virtualHosts."discord-media-mxc.k3t.dev" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://127.0.0.1:29334";
proxyWebsockets = true;
};
};
# Allow podman containers to access continuwuity
networking.firewall.interfaces = let
matchAll = if !config.networking.nftables.enable then "podman+" else "podman*";
in {
"${matchAll}".allowedTCPPorts = [ 6167 ];
};
}
+16 -37
View File
@@ -1,41 +1,20 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
virtualisation.podman = {
enable = true;
autoPrune.enable = true;
dockerCompat = true; # optional; lets you use `docker` CLI
};
systemd.services.minecraft-container = {
description = "Minecraft Server Container (GraalVM JVM 21)";
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
serviceConfig = {
ExecStart = ''
${pkgs.podman}/bin/podman run \
--rm \
--name minecraft-server \
-v /var/lib/minecraft:/data \
-p 25565:25565 \
-p 24454:24454/udp \
ghcr.io/graalvm/graalvm-community:8 \
/data/run.sh
'';
ExecStop = "${pkgs.podman}/bin/podman stop minecraft-server";
Restart = "always";
RestartSec = "10s";
};
# Ensure the directory exists
preStart = ''
mkdir -p /var/lib/minecraft
'';
wantedBy = [ "multi-user.target" ];
};
# Give Podman permission to access persistent storage
systemd.tmpfiles.rules = [
"d /var/lib/minecraft 0755 root root"
virtualisation.oci-containers.containers."minecraft-server" = {
image = "ghcr.io/graalvm/graalvm-community:25";
volumes = [
"/var/lib/minecraft:/data:rw"
];
ports = [
"25565:25565/tcp"
"24454:24454/udp"
];
extraOptions = [
"--tty"
"--interactive"
];
entrypoint = "/data/run.sh";
log-driver = "journald";
};
}
+1
View File
@@ -10,5 +10,6 @@
qt5.qtwebsockets
qt6.qtwebsockets
qt6Packages.qtwebsockets
waypipe
];
}
+6
View File
@@ -0,0 +1,6 @@
{
services = {
localtimed.enable = true;
geoclue2.enable = true;
};
}
+9
View File
@@ -0,0 +1,9 @@
{pkgs, ...}:
{
virtualisation.waydroid = {
enable = true;
package = pkgs.waydroid-nftables;
};
environment.systemPackages = [ pkgs.wl-clipboard ];
}
+6 -1
View File
@@ -1,8 +1,13 @@
{ pkgs, ... }:
{
xdg.portal = {
xdg = {
mime = {
enable = true;
};
portal = {
enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};
};
}
+6 -1
View File
@@ -1,5 +1,9 @@
{
networking.firewall = {
networking = {
nftables = {
enable = false;
};
firewall = {
enable = true;
allowedTCPPorts = [ 4713 ];
#allowedUDPPorts = [ 80 443 ];
@@ -10,4 +14,5 @@
{ from = 8000; to = 9000; }
];
};
};
}
+16 -5
View File
@@ -1,9 +1,20 @@
{ pkgs, ... }:
{
hardware.cpu.amd.updateMicrocode = true;
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
boot.binfmt.preferStaticEmulators = true;
boot.binfmt.emulatedSystems = [ "aarch64-linux" "x86_64-windows" ];
boot.kernelModules = [ "kvm-amd" ];
hardware.cpu.amd = {
ryzen-smu.enable = true;
updateMicrocode = true;
};
boot = {
binfmt = {
preferStaticEmulators = true;
emulatedSystems = [ "aarch64-linux" "x86_64-windows" ];
};
kernelModules = [ "kvm-amd" ];
kernelPackages = pkgs.linuxPackages_xanmod_latest;
};
programs = {
ryzen-monitor-ng.enable = true;
corectrl.enable = true;
};
}
+12 -4
View File
@@ -2,8 +2,16 @@
{
hardware.cpu.intel.updateMicrocode = true;
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
boot.binfmt.preferStaticEmulators = true;
boot.binfmt.emulatedSystems = [ "aarch64-linux" "x86_64-windows" ];
boot.kernelModules = [ "kvm-intel" ];
boot = {
binfmt = {
preferStaticEmulators = true;
emulatedSystems = [ "aarch64-linux" "x86_64-windows" ];
};
kernelModules = [ "kvm-intel" ];
kernelPackages = pkgs.linuxPackages_xanmod_latest;
};
services = {
thermald.enable = true;
throttled.enable = true;
};
}
+3
View File
@@ -1,12 +1,15 @@
{ pkgs, ... }:
{
services.lact.enable = true;
nixpkgs.config.rocmSupport = true;
hardware = {
amdgpu = {
overdrive.enable = true;
opencl.enable = true;
initrd.enable = true;
zluda.enable = true;
};
enableRedistributableFirmware = true;
graphics = {
+6 -2
View File
@@ -2,8 +2,10 @@
{
boot.kernelParams = [ "i915.enable_guc=3" ];
# Graphics
hardware.enableRedistributableFirmware = true;
hardware.graphics = {
hardware = {
enableRedistributableFirmware = true;
intel-gpu-tools.enable = true;
graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
@@ -18,4 +20,6 @@
vkbasalt
];
};
};
virtualisation.kvmgt.enable = true;
}
+22
View File
@@ -0,0 +1,22 @@
{ pkgs, ... }:
{
nixpkgs.config.rocmSupport = true;
hardware = {
enableRedistributableFirmware = true;
graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
vkbasalt
mangohud
lsfg-vk
];
};
nvidia = {
open = true;
modesetting.enable = true;
};
};
services.xserver.videoDrivers = [ "nvidia" ];
}
+6
View File
@@ -0,0 +1,6 @@
{
hardware.keyboard.qmk = {
enable = true;
keychronSupport = true;
};
}
+6
View File
@@ -0,0 +1,6 @@
{
hardware.opentabletdriver = {
enable = true;
daemon.enable = true;
};
}
+12
View File
@@ -0,0 +1,12 @@
{
hardware = {
xone.enable = true;
xpad-noone.enable = true;
xpadneo = {
enable = true;
settings = {
disable_deadzones = 1;
};
};
};
}
+12
View File
@@ -0,0 +1,12 @@
{pkgs, ...}:
{
services.usbmuxd = {
enable = true;
package = pkgs.usbmuxd2;
};
environment.systemPackages = with pkgs; [
libimobiledevice
ifuse # optional, to mount using 'ifuse'
];
}
+36 -7
View File
@@ -8,17 +8,46 @@
};
};
services.fstrim.enable = true;
services.system76-scheduler.enable = true;
#services.thermald.enable = true;
services.system76-scheduler = {
enable = true;
settings = {
processScheduler = {
foregroundBoost = {
#background = {
# ioClass = "idle";
#};
foreground = {
ioClass = "realtime";
class = "fifo";
};
};
pipewireBoost.profile = {
ioClass = "realtime";
class = "fifo";
};
};
};
};
services.power-profiles-daemon.enable = true;
systemd.coredump.enable = false;
systemd.coredump = { # https://discourse.nixos.org/t/how-to-completely-disable-coredump/77335/11
enable = true;
settings.Coredump = {
Storage = "none";
ProcessSizeMax = "0";
};
};
zramSwap = {
enable = true;
algorithm = "zstd";
memoryPercent = 90;
};
services.udev.extraRules = ''
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="kyber"
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="kyber"
'';
hardware.block.scheduler = {
"mmcblk[0-9]*" = "bfq";
"nvme[0-9]*" = "kyber";
"sd[a-z]" = "kyber";
};
services.scx = {
enable = true;
scheduler = "scx_cake";
};
}
+9
View File
@@ -0,0 +1,9 @@
{
services.synergy = {
client = {
#enable = true;
serverAddress = "theblackbox";
};
#server.enable = true;
};
}
+6 -6
View File
@@ -12,12 +12,12 @@
sudo.execWheelOnly = true;
polkit.enable = true;
protectKernelImage = true;
pam.yubico = {
enable = true;
debug = true;
mode = "challenge-response";
id = [ "19694730" ];
};
#pam.yubico = {
# enable = true;
# debug = true;
# mode = "challenge-response";
# id = [ "19694730" ];
#};
tpm2 = {
enable = true;
pkcs11.enable = true;
+2 -1
View File
@@ -1,3 +1,4 @@
{lib, ...}:
{
# NTP configuration - NIST atomic clocks
services.timesyncd = {
@@ -14,7 +15,7 @@
"0.pool.ntp.org"
];
};
time.timeZone = "America/Denver";
time.timeZone = lib.mkDefault "America/Denver";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";