fixed things and added things

This commit is contained in:
2026-07-01 21:55:36 +01:00
parent 8f311cc4ba
commit d42ad4b44f
6 changed files with 121 additions and 66 deletions
+14
View File
@@ -12,10 +12,24 @@
<modules/services/home-assistant>
<modules/services/docker-registry>
<modules/services/ddns>
<modules/services/rtmp-to-whip>
];
nixos = {
networking.hostName = "nixos-001-rp5";
fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888";
fsType = "ext4";
options = ["noatime"];
};
"/boot/firmware" = {
device = "/dev/disk/by-uuid/2175-794E";
fsType = "vfat";
options = ["noatime"];
};
};
networking.firewall = {
enable = true;
allowedTCPPorts = [
+1 -8
View File
@@ -22,13 +22,6 @@
homeManager =
{ pkgs, ... }:
let
# REPLACE THIS ONCE ITS FIXED IN UPSTREAM
# cssLsFixed = pkgs.vscode-langservers-extracted.overrideAttrs (old: {
# postInstall = (old.postInstall or "") + ''
# sed -i 's/import\.meta\.url/"file:\/\/"+__filename/g' \
# $out/lib/node_modules/vscode-langservers-extracted/lib/css-language-server/node/cssServerMain.js
# '';
# });
tiny-code-action = pkgs.vimUtils.buildVimPlugin {
name = "tiny-code-action.nvim";
src = pkgs.fetchFromGitHub {
@@ -148,7 +141,7 @@
};
cssls = {
enable = true;
# package = cssLsFixed;
package = pkgs.vscode-langservers-extracted;
};
svelte.enable = true;
};
+16 -3
View File
@@ -17,9 +17,22 @@
obs-studio = {
enable = true;
package = (
pkgs.obs-studio.override {
cudaSupport = true;
}
(pkgs.obs-studio.overrideAttrs (old: {
version = "32.2.0-beta2-unstable";
src = pkgs.fetchFromGitHub {
owner = "obsproject";
repo = "obs-studio";
rev = "27ac23ef750aafb2bb7ddd499ede5755a5a3087f";
hash = "sha256-3wPHNgYzR+ZIbCYMh5ocyK/nsQxy24Wfa03kheYOU88=";
fetchSubmodules = true;
};
cmakeFlags = (old.cmakeFlags or []) ++ [
"-DOBS_VERSION_OVERRIDE=32.2.0-beta2"
];
})).override
{
cudaSupport = true;
}
);
plugins = with pkgs.obs-studio-plugins; [
obs-pipewire-audio-capture
+1 -37
View File
@@ -15,50 +15,14 @@
"5" = {
nixos = {pkgs, ...}: {
imports = [
# inputs.nixos-hardware.nixosModules.raspberry-pi-5
inputs.nixos-raspberrypi.lib.inject-overlays-global
inputs.nixos-raspberrypi.nixosModules.trusted-nix-caches
inputs.nixos-raspberrypi.lib.inject-overlays
inputs.nixos-raspberrypi.nixosModules.raspberry-pi-5.base
inputs.nixos-raspberrypi.nixosModules.raspberry-pi-5.page-size-16k
inputs.nixos-raspberrypi.nixosModules.raspberry-pi-5.display-vc4
inputs.nixos-raspberrypi.nixosModules.raspberry-pi-5.bluetooth
inputs.nixos-raspberrypi.nixosModules.sd-image
inputs.nixos-hardware.nixosModules.raspberry-pi-5
];
environment.systemPackages = with pkgs; [
libraspberrypi
];
_module.args = {inherit (inputs) nixos-raspberrypi;};
sdImage.compressImage = false;
boot.loader.raspberry-pi.bootloader = "kernel";
# boot.initrd.systemd.tpm2.enable = false;
# boot.initrd.allowMissingModules = true;
boot.supportedFilesystems.zfs = false;
# hardware.enableRedistributableFirmware = true;
# fileSystems = {
# "/boot/firmware" = {
# device = "/dev/disk/by-uuid/2175-794E";
# fsType = "vfat";
# options = [
# "noatime"
# "noauto"
# "x-systemd.automount"
# "x-systemd.idle-timeout=1min"
# ];
# };
# "/" = {
# device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888";
# fsType = "ext4";
# options = ["noatime"];
# };
# };
};
};
};
+71
View File
@@ -0,0 +1,71 @@
{
den,
__findFile,
modules,
...
}: {
modules.services.provides.rtmp-to-whip = {
nixos = {
config,
pkgs,
...
}: {
systemd.services.init-rtmp-to-whip-network = {
description = "Create rtmp-to-whip docker network";
after = [ "docker.service" "docker.socket" ];
requires = [ "docker.service" "docker.socket" ];
before = [ "docker-rtmp-to-whip.service" "docker-rtmp-to-whip-frontend.service" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
script = ''
${pkgs.docker}/bin/docker network inspect rtmp-to-whip >/dev/null 2>&1 || \
${pkgs.docker}/bin/docker network create rtmp-to-whip
'';
};
virtualisation.oci-containers.containers = {
rtmp-to-whip = {
image = "reg.h.doloro.co.uk/doloro/rtmp-to-whip:latest";
ports = [
"0.0.0.0:1935:1935" # RTMP ingestion
"0.0.0.0:6969:6969/udp" # WebRTC UDP
];
environment = {
PUBLIC_DOMAIN = "rtmp.h.doloro.co.uk";
RTC_PORT = "6969";
SIGNUP_CODE = "";
};
volumes = [
"/data/rtmp-to-whip/db.sqlite:/app/db.sqlite"
];
extraOptions = [ "--network=rtmp-to-whip" ];
};
rtmp-to-whip-frontend = {
image = "reg.h.doloro.co.uk/doloro/rtmp-to-whip-frontend:latest";
ports = [
"0.0.0.0:3002:3000"
];
environment = {
VITE_API_URL = "http://rtmp-to-whip:3000";
};
extraOptions = [ "--network=rtmp-to-whip" ];
};
};
networking.firewall = {
allowedTCPPorts = [ 1935 ];
allowedUDPPorts = [ 6969 ];
};
services.caddy = pkgs.lib.mkIf config.services.caddy.enable {
virtualHosts."stream.h.doloro.co.uk".extraConfig = ''
reverse_proxy :3002
'';
};
};
};
}