Compare commits

...
69 Commits
Author SHA1 Message Date
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
30 changed files with 500 additions and 260 deletions
Generated
+22 -22
View File
@@ -37,11 +37,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1783963347, "lastModified": 1788229478,
"narHash": "sha256-r376E2XpakiXwModDHIxlvB6qLq4iFVEq730vxOO4JY=", "narHash": "sha256-G0F2rFORVcFkEvVdE/qWQTnYekIc77YP5/vRF9nZlxU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "a45a7c451455a51ae740ec3bce4024b312809c29", "rev": "1dc2d1f720ab17fc7981e087346bf54b26d284b1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -97,11 +97,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1783904209, "lastModified": 1788146779,
"narHash": "sha256-9J92YCz9IH0EBFRfx6ty5hJQ78X3p6J1Pr8izieDgOw=", "narHash": "sha256-DPpSweCi/XNpD7r2mrL83gaN0/UsQIF6ihb2HY2G2Jc=",
"owner": "cynicsketch", "owner": "cynicsketch",
"repo": "nix-mineral", "repo": "nix-mineral",
"rev": "4c7fd609d382e6d854a4924a92b86c90ff19513c", "rev": "9e05f8a852c7ca53e797379deef275b608d47ef4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -115,11 +115,11 @@
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1783792734, "lastModified": 1788044418,
"narHash": "sha256-50rvY9GdFvpYDcMLcD/4cWSi0hVxArT5wsGlVsHy8eY=", "narHash": "sha256-cmOd3iGoE140M2GidgQMQbyxHZ4dT7C0QZq2+CrXQyA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "8efb4337e857949f4cfac86d12ef1066f417f31f", "rev": "dc3f0cfde2050172abf6c3cdb684f735c15a57c5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -131,11 +131,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1783604885, "lastModified": 1787209939,
"narHash": "sha256-tzMgSkV7kljEkqIjlgV6F+n+xD+/a35Db8bs7a4BFAo=", "narHash": "sha256-WvvHR4kSQLAbtouMC/ruZ5UpLwlUcY3K4FAllMN+yGk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "767b0d3ec98a143ad9ed7dfc0d5553510ac27133", "rev": "391b592eb44808b3bd0cb80bb71b63a5a118b8bb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -207,11 +207,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1784007870, "lastModified": 1788179007,
"narHash": "sha256-djcLt/JJphyNt4eDY9XTly+/WbCK5lqWq9lSgCmJkkQ=", "narHash": "sha256-hn1oU2rue2SYK8dAr8+WNZWtbsz1S2W5mnHlSEuh3bo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "18b9261cb3294b6d2a06d03f96872827b8fe2698", "rev": "34ab99075ac4f7e40cf037eef32cb1c360bb85e9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -223,11 +223,11 @@
}, },
"nixpkgs_6": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1783776592, "lastModified": 1787900134,
"narHash": "sha256-+GVwKnbbSmf4cWMJyRzvw8H5yFknmkLoPD5v6snqPzo=", "narHash": "sha256-5GWj0FI2uOwKNpXkmpWrSFDe1rCaNBCUQ8d+HDtFQPI=",
"rev": "e7a3ca8092b61ff85b6a45bf863ea2b2d6a661b3", "rev": "83199d0d373dd3ac2b9a1996b1d0263f76ab7a4c",
"type": "tarball", "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": { "original": {
"type": "tarball", "type": "tarball",
@@ -250,11 +250,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1783838433, "lastModified": 1788083617,
"narHash": "sha256-Zb8+v76qSPYDlUea1y30YzgdEoDjA97vRmeqfPAqwZs=", "narHash": "sha256-aXMDRUxm/9se+vgKViKdDcClk1k3qA3sUwT0kAYo3Fg=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "spicetify-nix", "repo": "spicetify-nix",
"rev": "c6ab7371e40abd405313af9bddafd5f37cc94f83", "rev": "bf4ed54253a61c8324a5b461638c42db77c0b980",
"type": "github" "type": "github"
}, },
"original": { "original": {
+27 -117
View File
@@ -70,9 +70,11 @@
./modules/gui/apps/steam.nix ./modules/gui/apps/steam.nix
./modules/gui/fonts.nix ./modules/gui/fonts.nix
./modules/gui/services/flatpak.nix ./modules/gui/services/flatpak.nix
./modules/gui/services/geoclue.nix
./modules/gui/services/kdeconnect.nix ./modules/gui/services/kdeconnect.nix
./modules/gui/services/kwallet.nix ./modules/gui/services/kwallet.nix
./modules/gui/services/xdg.nix ./modules/gui/services/xdg.nix
./modules/gui/services/waydroid.nix
./modules/net/services/avahi.nix ./modules/net/services/avahi.nix
./modules/net/services/fail2ban.nix ./modules/net/services/fail2ban.nix
@@ -91,14 +93,19 @@
./modules/sys/hw/boot.nix ./modules/sys/hw/boot.nix
./modules/sys/hw/libinput.nix ./modules/sys/hw/libinput.nix
./modules/sys/hw/cpu/amd64.nix ./modules/sys/hw/cpu/amd64.nix
./modules/sys/hw/gpu/amd.nix ./modules/sys/hw/gpu/nvidia.nix
./modules/sys/hw/gpu/vmware.nix ./modules/sys/hw/gpu/vmware.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/nix.nix
./modules/sys/perf.nix ./modules/sys/perf.nix
./modules/sys/pkgs.nix ./modules/sys/pkgs.nix
./modules/sys/rc/openssh.nix ./modules/sys/rc/openssh.nix
./modules/sys/rc/sunshine.nix ./modules/sys/rc/sunshine.nix
./modules/sys/rc/x2goserver.nix ./modules/sys/rc/synergy.nix
./modules/sys/rgb.nix ./modules/sys/rgb.nix
./modules/sys/security.nix ./modules/sys/security.nix
@@ -108,6 +115,8 @@
./modules/sys/time.nix ./modules/sys/time.nix
./modules/sys/users/k3t.nix ./modules/sys/users/k3t.nix
./modules/sys/vm.nix
./hosts/TheBlackBox/configuration.nix ./hosts/TheBlackBox/configuration.nix
spicetify-nix.nixosModules.spicetify spicetify-nix.nixosModules.spicetify
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
@@ -118,117 +127,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" [ "IdeaPad" = mkHost "x86_64-linux" [
./modules/audio/base.nix ./modules/audio/base.nix
./modules/audio/zeroconf.nix ./modules/audio/zeroconf.nix
@@ -240,6 +138,7 @@
./modules/gui/apps/firefox.nix ./modules/gui/apps/firefox.nix
./modules/gui/fonts.nix ./modules/gui/fonts.nix
./modules/gui/services/flatpak.nix ./modules/gui/services/flatpak.nix
./modules/gui/services/geoclue.nix
./modules/gui/services/kdeconnect.nix ./modules/gui/services/kdeconnect.nix
./modules/gui/services/kwallet.nix ./modules/gui/services/kwallet.nix
./modules/gui/services/xdg.nix ./modules/gui/services/xdg.nix
@@ -311,6 +210,7 @@
./modules/sys/perf.nix ./modules/sys/perf.nix
./modules/sys/pkgs.nix ./modules/sys/pkgs.nix
./modules/sys/rc/openssh.nix ./modules/sys/rc/openssh.nix
./modules/sys/rc/synergy.nix
./modules/sys/rc/sunshine.nix ./modules/sys/rc/sunshine.nix
./modules/sys/rgb.nix ./modules/sys/rgb.nix
./modules/sys/security.nix ./modules/sys/security.nix
@@ -329,7 +229,7 @@
home-manager.users.k3t = ./home/desktop.nix; home-manager.users.k3t = ./home/desktop.nix;
} }
]; ];
"T14" = mkHost "x86_64-linux" [ "ThinkPad" = mkHost "x86_64-linux" [
./modules/audio/base.nix ./modules/audio/base.nix
./modules/audio/zeroconf.nix ./modules/audio/zeroconf.nix
@@ -344,10 +244,12 @@
./modules/gui/apps/steam.nix ./modules/gui/apps/steam.nix
./modules/gui/fonts.nix ./modules/gui/fonts.nix
./modules/gui/services/flatpak.nix ./modules/gui/services/flatpak.nix
./modules/gui/services/geoclue.nix
./modules/gui/services/kdeconnect.nix ./modules/gui/services/kdeconnect.nix
./modules/gui/services/kwallet.nix ./modules/gui/services/kwallet.nix
./modules/gui/services/xdg.nix ./modules/gui/services/xdg.nix
./modules/gui/services/waydroid.nix
./modules/net/services/avahi.nix ./modules/net/services/avahi.nix
./modules/net/services/fail2ban.nix ./modules/net/services/fail2ban.nix
./modules/net/services/networkmanager.nix ./modules/net/services/networkmanager.nix
@@ -356,14 +258,22 @@
./modules/sys/compat.nix ./modules/sys/compat.nix
./modules/sys/firewall.nix ./modules/sys/firewall.nix
./modules/sys/fs/btrfs.nix ./modules/sys/fs/btrfs.nix
./modules/sys/fs/mounts/efi.nix
./modules/sys/fs/mounts/btrfs/tbb-btrfs.nix
./modules/sys/fs/mounts/swap.nix
./modules/sys/hw/boot.nix ./modules/sys/hw/boot.nix
./modules/sys/hw/cpu/amd64.nix ./modules/sys/hw/cpu/intel.nix
./modules/sys/hw/gpu/amd.nix ./modules/sys/hw/gpu/intel.nix
./modules/sys/hw/misc/ios.nix
./modules/sys/nix.nix ./modules/sys/nix.nix
./modules/sys/perf.nix ./modules/sys/perf.nix
./modules/sys/pkgs.nix ./modules/sys/pkgs.nix
./modules/sys/rc/openssh.nix ./modules/sys/rc/openssh.nix
./modules/sys/rc/synergy.nix
./modules/sys/rc/sunshine.nix ./modules/sys/rc/sunshine.nix
./modules/sys/rgb.nix ./modules/sys/rgb.nix
./modules/sys/security.nix ./modules/sys/security.nix
+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 #./cfg/gtk.nix
# excluded since there are issues with kde # excluded since there are issues with kde
./cfg/qbz.nix ./cfg/qbz.nix
./cfg/lutris.nix
]; ];
home.packages = with pkgs; [ home.packages = with pkgs; [
+18 -10
View File
@@ -4,12 +4,12 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let #let
amdgpu-kernel-module = pkgs.callPackage ./amdgpu-kernel-module.nix { # amdgpu-kernel-module = pkgs.callPackage ./amdgpu-kernel-module.nix {
# Make sure the module targets the same kernel as your system is using. # Make sure the module targets the same kernel as your system is using.
kernel = config.boot.kernelPackages.kernel; # kernel = config.boot.kernelPackages.kernel;
}; # };
in #in
{ {
imports = imports =
@@ -20,11 +20,14 @@ in
networking.hostName = "TheBlackBox"; networking.hostName = "TheBlackBox";
# Linux and VR... nightmare below # Linux and VR... nightmare below
boot.extraModulePackages = [ #boot.extraModulePackages = [
(amdgpu-kernel-module.overrideAttrs (_: { # (amdgpu-kernel-module.overrideAttrs (_: {
patches = [ ./amdgpu-cap_sys_nice_begone.patch ]; # patches = [ ./amdgpu-cap_sys_nice_begone.patch ];
})) # }))
]; #];
# Synergy
#services.synergy.server.enable = true;
services.wivrn = { services.wivrn = {
enable = true; enable = true;
@@ -64,6 +67,11 @@ in
users.users.k3t = { users.users.k3t = {
packages = with pkgs; [ packages = with pkgs; [
virt-viewer virt-viewer
fuse-overlayfs
fuse3
psmisc
dwarfs
wineWow64Packages.staging
]; ];
}; };
} }
+1 -1
View File
@@ -10,7 +10,7 @@
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
networking.hostName = "T14"; # Define your hostname. networking.hostName = "ThinkPad"; # Define your hostname.
users.users.k3t = { users.users.k3t = {
packages = with pkgs; [ packages = with pkgs; [
+2 -19
View File
@@ -8,28 +8,11 @@
[ (modulesPath + "/installer/scan/not-detected.nix") [ (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 = #swapDevices =
# [ { device = "/dev/disk/by-uuid/fe32f9af-3382-4505-90e3-aaf1c41bf5d4"; } # [ { device = "/dev/disk/by-uuid/fe32f9af-3382-4505-90e3-aaf1c41bf5d4"; }
# ]; # ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 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;
} }
+24 -3
View File
@@ -7,12 +7,27 @@
{ {
imports = imports =
(lib.filesystem.listFilesRecursive ./services.d) (lib.filesystem.listFilesRecursive ./services.d)
++ (lib.filesystem.listFilesRecursive ./services.d/matrix.d)
++ [ # Include the results of the hardware scan. ++ [ # Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
networking.hostName = "nixcloud"; # Define your hostname. 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. # Define a user account. Don't forget to set a password with passwd.
users.users = { users.users = {
@@ -36,9 +51,15 @@
# List packages installed in system profile. # List packages installed in system profile.
# You can use https://search.nixos.org/ to find more packages (and options). # You can use https://search.nixos.org/ to find more packages (and options).
#environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# wget waypipe
#]; ];
# enable mesa
hardware.graphics.enable = true;
# desktop in the sky
services.desktopManager.plasma6.enable = true;
# Open ports in the firewall. # Open ports in the firewall.
+1 -1
View File
@@ -12,7 +12,7 @@
prefetching = true; prefetching = true;
}; };
ports = { ports = {
dns = 53; dns = 5353;
tls = 853; tls = 853;
http = 4000; 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 = { virtualisation.oci-containers.containers."minecraft-server" = {
enable = true; image = "ghcr.io/graalvm/graalvm-community:25";
autoPrune.enable = true; volumes = [
dockerCompat = true; # optional; lets you use `docker` CLI "/var/lib/minecraft:/data:rw"
];
ports = [
"25565:25565/tcp"
"24454:24454/udp"
];
extraOptions = [
"--tty"
"--interactive"
];
entrypoint = "/data/run.sh";
log-driver = "journald";
}; };
systemd.services.minecraft-container = {
description = "Minecraft Server Container (GraalVM JVM 25)";
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:25 \
/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"
];
} }
+1
View File
@@ -10,5 +10,6 @@
qt5.qtwebsockets qt5.qtwebsockets
qt6.qtwebsockets qt6.qtwebsockets
qt6Packages.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 ];
}
+9 -4
View File
@@ -1,8 +1,13 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
xdg.portal = { xdg = {
enable = true; mime = {
extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; enable = true;
};
portal = {
enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};
}; };
} }
+16 -11
View File
@@ -1,13 +1,18 @@
{ {
networking.firewall = { networking = {
enable = true; nftables = {
allowedTCPPorts = [ 4713 ]; enable = false;
#allowedUDPPorts = [ 80 443 ]; };
allowedTCPPortRanges = [ firewall = {
{ from = 8000; to = 9000; } enable = true;
]; allowedTCPPorts = [ 4713 ];
allowedUDPPortRanges = [ #allowedUDPPorts = [ 80 443 ];
{ from = 8000; to = 9000; } allowedTCPPortRanges = [
]; { from = 8000; to = 9000; }
];
allowedUDPPortRanges = [
{ from = 8000; to = 9000; }
];
};
}; };
} }
+17 -6
View File
@@ -1,9 +1,20 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
hardware.cpu.amd.updateMicrocode = true; hardware.cpu.amd = {
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest; ryzen-smu.enable = true;
boot.binfmt.preferStaticEmulators = true; updateMicrocode = true;
boot.binfmt.emulatedSystems = [ "aarch64-linux" "x86_64-windows" ]; };
boot.kernelModules = [ "kvm-amd" ]; 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;
};
}
+13 -5
View File
@@ -2,8 +2,16 @@
{ {
hardware.cpu.intel.updateMicrocode = true; hardware.cpu.intel.updateMicrocode = true;
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest; boot = {
boot.binfmt.preferStaticEmulators = true; binfmt = {
boot.binfmt.emulatedSystems = [ "aarch64-linux" "x86_64-windows" ]; preferStaticEmulators = true;
boot.kernelModules = [ "kvm-intel" ]; 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, ... }: { pkgs, ... }:
{ {
services.lact.enable = true; services.lact.enable = true;
nixpkgs.config.rocmSupport = true; nixpkgs.config.rocmSupport = true;
hardware = { hardware = {
amdgpu = { amdgpu = {
overdrive.enable = true;
opencl.enable = true; opencl.enable = true;
initrd.enable = true; initrd.enable = true;
zluda.enable = true;
}; };
enableRedistributableFirmware = true; enableRedistributableFirmware = true;
graphics = { graphics = {
+19 -15
View File
@@ -2,20 +2,24 @@
{ {
boot.kernelParams = [ "i915.enable_guc=3" ]; boot.kernelParams = [ "i915.enable_guc=3" ];
# Graphics # Graphics
hardware.enableRedistributableFirmware = true; hardware = {
hardware.graphics = { enableRedistributableFirmware = true;
enable = true; intel-gpu-tools.enable = true;
enable32Bit = true; graphics = {
extraPackages = with pkgs; [ enable = true;
# Required for modern Intel GPUs (Xe iGPU and ARC) enable32Bit = true;
intel-media-driver # VA-API (iHD) userspace extraPackages = with pkgs; [
vpl-gpu-rt # oneVPL (QSV) runtime # Required for modern Intel GPUs (Xe iGPU and ARC)
intel-media-driver # VA-API (iHD) userspace
vpl-gpu-rt # oneVPL (QSV) runtime
# Optional (compute / tooling): # Optional (compute / tooling):
intel-compute-runtime # OpenCL (NEO) + Level Zero for Arc/Xe intel-compute-runtime # OpenCL (NEO) + Level Zero for Arc/Xe
# NOTE: 'intel-ocl' also exists as a legacy package; not recommended for Arc/Xe. # NOTE: 'intel-ocl' also exists as a legacy package; not recommended for Arc/Xe.
libvdpau-va-gl # Only if you must run VDPAU-only apps libvdpau-va-gl # Only if you must run VDPAU-only apps
vkbasalt 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'
];
}
+37 -8
View File
@@ -8,17 +8,46 @@
}; };
}; };
services.fstrim.enable = true; services.fstrim.enable = true;
services.system76-scheduler.enable = true; services.system76-scheduler = {
#services.thermald.enable = true; 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; 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 = { zramSwap = {
enable = true; enable = true;
algorithm = "zstd"; algorithm = "zstd";
memoryPercent = 90; memoryPercent = 90;
}; };
services.udev.extraRules = '' hardware.block.scheduler = {
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="kyber" "mmcblk[0-9]*" = "bfq";
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="kyber" "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;
};
}
+2 -1
View File
@@ -1,3 +1,4 @@
{lib, ...}:
{ {
# NTP configuration - NIST atomic clocks # NTP configuration - NIST atomic clocks
services.timesyncd = { services.timesyncd = {
@@ -14,7 +15,7 @@
"0.pool.ntp.org" "0.pool.ntp.org"
]; ];
}; };
time.timeZone = "America/Denver"; time.timeZone = lib.mkDefault "America/Denver";
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = { i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8"; LC_ADDRESS = "en_US.UTF-8";