add pi & move mc server to it, fix dead by daylight easyanticheat
This commit is contained in:
parent
9a7beec481
commit
30411c74ab
|
@ -3,4 +3,12 @@ rec {
|
||||||
ipv4 = "65.21.145.62";
|
ipv4 = "65.21.145.62";
|
||||||
ipv6 = "2a01:4f9:c012:9dbf::1";
|
ipv6 = "2a01:4f9:c012:9dbf::1";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"raspberry" = {
|
||||||
|
ipv4 = "77.104.180.70";
|
||||||
|
ipv6 = [
|
||||||
|
"fd00::2ecf:67ff:fe74:940d"
|
||||||
|
"2a02:8012:7883:0:2ecf:67ff:fe74:940d"
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
18
flake.lock
18
flake.lock
|
@ -65,11 +65,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1723986931,
|
"lastModified": 1725180166,
|
||||||
"narHash": "sha256-Fy+KEvDQ+Hc8lJAV3t6leXhZJ2ncU5/esxkgt3b8DEY=",
|
"narHash": "sha256-fzssXuGR/mCeGbzM1ExaTqDz7QDGta3WA4jJsZyRruo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "2598861031b78aadb4da7269df7ca9ddfc3e1671",
|
"rev": "471e3eb0a114265bcd62d11d58ba8d3421ee68eb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -120,11 +120,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724224976,
|
"lastModified": 1725103162,
|
||||||
"narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=",
|
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c374d94f1536013ca8e92341b540eba4c22f9c62",
|
"rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -168,11 +168,11 @@
|
||||||
},
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724323712,
|
"lastModified": 1725381339,
|
||||||
"narHash": "sha256-w/x4HmZm6NpZ4xz5c48tIAymZny8/OMQUMR0yEx5s50=",
|
"narHash": "sha256-R2QrBQDg3PzZWYfnpu8x+65CpqE/jVxNGYX1C0zSzms=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "e78affd5313eef31717a16f81bc658f5e5be2154",
|
"rev": "89f1914bb56bc44fdae5ef8fb51a5e1e48223b8e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -19,7 +19,6 @@ in {
|
||||||
"storage"
|
"storage"
|
||||||
"mail"
|
"mail"
|
||||||
#"jellyfin"
|
#"jellyfin"
|
||||||
"minecraft"
|
|
||||||
] (name: ./containers + "/${name}/${name}.nix"))
|
] (name: ./containers + "/${name}/${name}.nix"))
|
||||||
|
|
||||||
(with hosts.hetzner-arm.profiles; [
|
(with hosts.hetzner-arm.profiles; [
|
||||||
|
|
|
@ -30,8 +30,6 @@ in {
|
||||||
chaos.gaming
|
chaos.gaming
|
||||||
])
|
])
|
||||||
|
|
||||||
./profiles/kodi.nix
|
|
||||||
|
|
||||||
./secrets.nix
|
./secrets.nix
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
]);
|
]);
|
||||||
|
|
|
@ -1,84 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
tree,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
kodiPackage = pkgs.kodi-wayland.withPackages (kodiPkgs:
|
|
||||||
with kodiPkgs; [
|
|
||||||
keymap
|
|
||||||
sendtokodi
|
|
||||||
sponsorblock
|
|
||||||
pvr-iptvsimple
|
|
||||||
inputstreamhelper
|
|
||||||
inputstream-adaptive
|
|
||||||
inputstream-rtmp
|
|
||||||
visualization-projectm
|
|
||||||
visualization-waveform
|
|
||||||
visualization-matrix
|
|
||||||
visualization-starburst
|
|
||||||
visualization-spectrum
|
|
||||||
]);
|
|
||||||
in {
|
|
||||||
environment.systemPackages = [
|
|
||||||
kodiPackage
|
|
||||||
];
|
|
||||||
|
|
||||||
services.xserver = {
|
|
||||||
enable = true;
|
|
||||||
desktopManager.kodi = {
|
|
||||||
enable = true;
|
|
||||||
package = kodiPackage;
|
|
||||||
};
|
|
||||||
#autoLogin.enable = true;
|
|
||||||
#autoLogin.user = "kodi";
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.firewall = {
|
|
||||||
allowedTCPPorts = [8080];
|
|
||||||
allowedUDPPorts = [8080];
|
|
||||||
};
|
|
||||||
|
|
||||||
users.users.kodi = {
|
|
||||||
uid = 1002;
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [
|
|
||||||
"video"
|
|
||||||
"input"
|
|
||||||
"uinput"
|
|
||||||
"audio"
|
|
||||||
"rtkit"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager.users.kodi = {
|
|
||||||
imports = with tree.profiles.home-manager; [
|
|
||||||
base
|
|
||||||
|
|
||||||
gui.base
|
|
||||||
gui.environments.gnome
|
|
||||||
|
|
||||||
apps.fileRoller
|
|
||||||
apps.nautilus
|
|
||||||
apps.pavucontrol
|
|
||||||
apps.mpv
|
|
||||||
|
|
||||||
apps.firefox
|
|
||||||
apps.telegram
|
|
||||||
|
|
||||||
apps.aria2
|
|
||||||
apps.rclone
|
|
||||||
];
|
|
||||||
|
|
||||||
# only for x86_64
|
|
||||||
home.file.widevine-lib = {
|
|
||||||
source = "${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so";
|
|
||||||
target = ".kodi/cdm/libwidevinecdm.so";
|
|
||||||
};
|
|
||||||
home.file.widevine-manifest = {
|
|
||||||
source = "${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm/manifest.json";
|
|
||||||
target = ".kodi/cdm/manifest.json";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.stateVersion = "24.05";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -55,6 +55,9 @@
|
||||||
# Force 32 bpp framebuffer allocation.
|
# Force 32 bpp framebuffer allocation.
|
||||||
framebuffer_depth=32
|
framebuffer_depth=32
|
||||||
|
|
||||||
|
# Enable 4k60
|
||||||
|
hdmi_enable_4kp60=1
|
||||||
|
|
||||||
# Disable compensation for displays with overscan.
|
# Disable compensation for displays with overscan.
|
||||||
disable_overscan=1
|
disable_overscan=1
|
||||||
|
|
||||||
|
@ -63,6 +66,7 @@
|
||||||
|
|
||||||
# Force maximum CPU speed.
|
# Force maximum CPU speed.
|
||||||
force_turbo=1
|
force_turbo=1
|
||||||
|
arm_boost=1
|
||||||
'';
|
'';
|
||||||
# UEFI Files
|
# UEFI Files
|
||||||
"RPI_EFI.fd" = "${edk2}/RPI_EFI.fd";
|
"RPI_EFI.fd" = "${edk2}/RPI_EFI.fd";
|
||||||
|
@ -72,12 +76,22 @@
|
||||||
in {
|
in {
|
||||||
imports = with tree; [
|
imports = with tree; [
|
||||||
presets.nixos.serverEncryptedDrive
|
presets.nixos.serverEncryptedDrive
|
||||||
|
|
||||||
|
#inputs.nixos-hardware.nixosModules.raspberry-pi-4
|
||||||
|
#inputs.nixos-hardware.nixosModules.raspberry-pi-5
|
||||||
|
];
|
||||||
|
|
||||||
|
services.xserver.videoDrivers = [
|
||||||
|
"modesetting"
|
||||||
|
"fbdev"
|
||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = pkgs.linuxPackages_rpi4;
|
kernelPackages = pkgs.linuxPackages_rpi4;
|
||||||
supportedFilesystems = mkForce ["vfat"];
|
supportedFilesystems = mkForce ["vfat"];
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
|
"kunit.enable=0"
|
||||||
|
|
||||||
"8250.nr_uarts=11"
|
"8250.nr_uarts=11"
|
||||||
"console=ttyAMA10,115200"
|
"console=ttyAMA10,115200"
|
||||||
"console=tty0"
|
"console=tty0"
|
||||||
|
@ -132,8 +146,8 @@ in {
|
||||||
"192.168.178.26/24"
|
"192.168.178.26/24"
|
||||||
|
|
||||||
# v6
|
# v6
|
||||||
"fe80::715e:ef0c:5429:e9cc/64"
|
"fd00::2ecf:67ff:fe74:940d/64"
|
||||||
"2a02:8012:7883:0:1072:c180:2363:1c92/64"
|
"2a02:8012:7883:0:2ecf:67ff:fe74:940d/64"
|
||||||
];
|
];
|
||||||
|
|
||||||
routes = [
|
routes = [
|
||||||
|
|
54
hosts/raspberry-pi5/profiles/kodi.nix
Normal file
54
hosts/raspberry-pi5/profiles/kodi.nix
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
{pkgs, ...}: let
|
||||||
|
kodiPackage = pkgs.kodi-wayland.withPackages (kodiPkgs:
|
||||||
|
with kodiPkgs; [
|
||||||
|
keymap
|
||||||
|
sendtokodi
|
||||||
|
sponsorblock
|
||||||
|
pvr-iptvsimple
|
||||||
|
inputstreamhelper
|
||||||
|
inputstream-adaptive
|
||||||
|
inputstream-rtmp
|
||||||
|
visualization-projectm
|
||||||
|
visualization-waveform
|
||||||
|
visualization-matrix
|
||||||
|
visualization-starburst
|
||||||
|
visualization-spectrum
|
||||||
|
]);
|
||||||
|
in {
|
||||||
|
environment.systemPackages = [
|
||||||
|
kodiPackage
|
||||||
|
];
|
||||||
|
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
desktopManager.kodi = {
|
||||||
|
enable = true;
|
||||||
|
package = kodiPackage;
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
Section "OutputClass"
|
||||||
|
Identifier "vc4"
|
||||||
|
MatchDriver "vc4"
|
||||||
|
Driver "modesetting"
|
||||||
|
Option "PrimaryGPU" "true"
|
||||||
|
EndSection
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall = {
|
||||||
|
allowedTCPPorts = [8080];
|
||||||
|
allowedUDPPorts = [8080];
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager.users.chaos = {
|
||||||
|
# only for x86_64
|
||||||
|
# home.file.widevine-lib = {
|
||||||
|
# source = "${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so";
|
||||||
|
# target = ".kodi/cdm/libwidevinecdm.so";
|
||||||
|
# };
|
||||||
|
# home.file.widevine-manifest = {
|
||||||
|
# source = "${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm/manifest.json";
|
||||||
|
# target = ".kodi/cdm/manifest.json";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
}
|
|
@ -3,12 +3,13 @@
|
||||||
tree,
|
tree,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib.lists) flatten;
|
inherit (lib.lists) flatten forEach;
|
||||||
|
inherit (lib.modules) mkForce;
|
||||||
in {
|
in {
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(_final: super: {
|
(_final: prev: {
|
||||||
makeModulesClosure = x:
|
makeModulesClosure = x:
|
||||||
super.makeModulesClosure (x // {allowMissing = true;});
|
prev.makeModulesClosure (x // {allowMissing = true;});
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -39,16 +40,45 @@ in {
|
||||||
chaos.guiDesktop
|
chaos.guiDesktop
|
||||||
])
|
])
|
||||||
|
|
||||||
|
(with tree.hosts.raspberry-pi5.profiles; [
|
||||||
|
kodi
|
||||||
|
])
|
||||||
|
|
||||||
|
(forEach [
|
||||||
|
"minecraft"
|
||||||
|
] (name: ./containers + "/${name}/${name}.nix"))
|
||||||
|
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
services.displayManager = {
|
||||||
|
defaultSession = "kodi";
|
||||||
|
autoLogin = {
|
||||||
|
enable = true;
|
||||||
|
user = "chaos";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.xserver.displayManager.gdm.autoLogin.delay = 10;
|
||||||
|
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
allowPing = true;
|
allowPing = true;
|
||||||
checkReversePath = "loose";
|
checkReversePath = "loose";
|
||||||
|
|
||||||
allowedTCPPorts = [22];
|
allowedTCPPorts = [22];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
networking.nat = {
|
||||||
|
enable = true;
|
||||||
|
internalInterfaces = ["ve-+"];
|
||||||
|
externalInterface = "end0";
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.networkmanager.enable = mkForce false;
|
||||||
|
networking.useDHCP = mkForce false;
|
||||||
|
|
||||||
networking.hostName = "raspberry-pi5";
|
networking.hostName = "raspberry-pi5";
|
||||||
time.timeZone = "Europe/London";
|
time.timeZone = "Europe/London";
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ in {
|
||||||
user = "root";
|
user = "root";
|
||||||
hostname = "${hostname}.servers.genderfucked.monster";
|
hostname = "${hostname}.servers.genderfucked.monster";
|
||||||
};
|
};
|
||||||
}) ["hetzner-arm" "hetzner-arm-decrypt"]))
|
}) ["hetzner-arm" "hetzner-arm-decrypt" "raspberry-pi5" "raspberry-pi5-decrypt"]))
|
||||||
{
|
{
|
||||||
"blahaj" = {
|
"blahaj" = {
|
||||||
user = "chaos";
|
user = "chaos";
|
||||||
|
|
|
@ -24,8 +24,8 @@ in {
|
||||||
else "xcb";
|
else "xcb";
|
||||||
SDL_VIDEODRIVER =
|
SDL_VIDEODRIVER =
|
||||||
if isWayland
|
if isWayland
|
||||||
then "wayland"
|
then "wayland,x11,windows"
|
||||||
else "x11";
|
else "x11,windows";
|
||||||
_JAVA_AWT_WM_NONREPARENTING = mkIf isWayland "1";
|
_JAVA_AWT_WM_NONREPARENTING = mkIf isWayland "1";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -14,10 +14,11 @@
|
||||||
if
|
if
|
||||||
builtins.elem currentHostname [
|
builtins.elem currentHostname [
|
||||||
"lappy-t495"
|
"lappy-t495"
|
||||||
"lappy-surface"
|
|
||||||
]
|
]
|
||||||
then usbSSHKeyFile
|
then usbSSHKeyFile
|
||||||
else if builtins.elem currentHostname []
|
else if
|
||||||
|
builtins.elem currentHostname [
|
||||||
|
]
|
||||||
then normalSSHKeyFile
|
then normalSSHKeyFile
|
||||||
else throw "host isn't configured for remote-builders";
|
else throw "host isn't configured for remote-builders";
|
||||||
|
|
||||||
|
@ -36,8 +37,19 @@ in {
|
||||||
systems = ["aarch64-linux"];
|
systems = ["aarch64-linux"];
|
||||||
supportedFeatures = ["native-arm64"];
|
supportedFeatures = ["native-arm64"];
|
||||||
publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUk5cGM0REU1UlV4UUp2T1pwenFOQWVac0JlRW1kcmp4OFlnV3orVXBMckcgcm9vdEBoZXR6bmVyLWFybQo=";
|
publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUk5cGM0REU1UlV4UUp2T1pwenFOQWVac0JlRW1kcmp4OFlnV3orVXBMckcgcm9vdEBoZXR6bmVyLWFybQo=";
|
||||||
maxJobs = 2;
|
maxJobs = 3;
|
||||||
speedFactor = 2;
|
speedFactor = 1;
|
||||||
|
}
|
||||||
|
]))
|
||||||
|
(mkIf (currentHostname != "raspberry-pi5") (mkMerge [
|
||||||
|
builderDefaults
|
||||||
|
{
|
||||||
|
hostName = "raspberry-pi5.servers.genderfucked.monster";
|
||||||
|
systems = ["aarch64-linux"];
|
||||||
|
supportedFeatures = ["native-arm64"];
|
||||||
|
publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUNZNFpuQ1NVeWpjOHR3UXVpMzhwU21qdHluSVZUVnFiNzB5blNRa0Z3anYgcm9vdEByYXNwYmVycnkK";
|
||||||
|
maxJobs = 4;
|
||||||
|
speedFactor = 4;
|
||||||
}
|
}
|
||||||
]))
|
]))
|
||||||
];
|
];
|
||||||
|
|
|
@ -9,7 +9,7 @@ in {
|
||||||
firmware = with pkgs;
|
firmware = with pkgs;
|
||||||
[
|
[
|
||||||
wireless-regdb
|
wireless-regdb
|
||||||
|
|
||||||
# Realtek
|
# Realtek
|
||||||
rtl8192su-firmware
|
rtl8192su-firmware
|
||||||
rt5677-firmware
|
rt5677-firmware
|
||||||
|
|
Loading…
Reference in a new issue