fixed things and added things
This commit is contained in:
@@ -12,10 +12,24 @@
|
|||||||
<modules/services/home-assistant>
|
<modules/services/home-assistant>
|
||||||
<modules/services/docker-registry>
|
<modules/services/docker-registry>
|
||||||
<modules/services/ddns>
|
<modules/services/ddns>
|
||||||
|
<modules/services/rtmp-to-whip>
|
||||||
];
|
];
|
||||||
nixos = {
|
nixos = {
|
||||||
networking.hostName = "nixos-001-rp5";
|
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 = {
|
networking.firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowedTCPPorts = [
|
allowedTCPPorts = [
|
||||||
|
|||||||
@@ -22,13 +22,6 @@
|
|||||||
homeManager =
|
homeManager =
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
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 {
|
tiny-code-action = pkgs.vimUtils.buildVimPlugin {
|
||||||
name = "tiny-code-action.nvim";
|
name = "tiny-code-action.nvim";
|
||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
@@ -148,7 +141,7 @@
|
|||||||
};
|
};
|
||||||
cssls = {
|
cssls = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# package = cssLsFixed;
|
package = pkgs.vscode-langservers-extracted;
|
||||||
};
|
};
|
||||||
svelte.enable = true;
|
svelte.enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
+14
-1
@@ -17,7 +17,20 @@
|
|||||||
obs-studio = {
|
obs-studio = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = (
|
package = (
|
||||||
pkgs.obs-studio.override {
|
(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;
|
cudaSupport = true;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -15,50 +15,14 @@
|
|||||||
"5" = {
|
"5" = {
|
||||||
nixos = {pkgs, ...}: {
|
nixos = {pkgs, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
# inputs.nixos-hardware.nixosModules.raspberry-pi-5
|
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
|
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
libraspberrypi
|
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;
|
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"];
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Generated
+18
-18
@@ -517,11 +517,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1782702263,
|
"lastModified": 1782749631,
|
||||||
"narHash": "sha256-8/MG4Su7PhnynrmsVO61IeAfrK7GuUEu+E+gwbhy1QQ=",
|
"narHash": "sha256-slFTUgDy0KTPA4LBAmC/9SngDq8GCPdX+ZR0yQHHN1E=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "789a35fbdeb3c46b260096daa0b321c11be527ea",
|
"rev": "5d72a29fc36ac21adae6ae35568fe5ee6700850f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -605,11 +605,11 @@
|
|||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1782658834,
|
"lastModified": 1782755845,
|
||||||
"narHash": "sha256-OYjcMSNogYWLbeP4nxpUVJaO72o6yIK00bDYaAuQI2Y=",
|
"narHash": "sha256-pMax4dvo/BbKCO2zvCT8fgziiWbfXGhRH0/5uF8pyd0=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "Hyprland",
|
"repo": "Hyprland",
|
||||||
"rev": "75f558a536f8003bf80af5cb1a3e91529e78cb6b",
|
"rev": "254d6bae775258b554e1d3a4a853f3bc244190d9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -782,11 +782,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1782035033,
|
"lastModified": 1782639496,
|
||||||
"narHash": "sha256-pUtCphVzH1iNUTMGdJr4+e/yzUXA6/DZwsn+cyfIVJU=",
|
"narHash": "sha256-mjt47Xun3jPcGrXpGpYU85lzUnqvJ2rXLbQjVI1yvLo=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprutils",
|
"repo": "hyprutils",
|
||||||
"rev": "9d8bf6e810597152eef8906c670b96679af2faec",
|
"rev": "d2b40ffe7bfcb001bbf5888bb56ff646de53e7db",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -929,11 +929,11 @@
|
|||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1782592242,
|
"lastModified": 1782765817,
|
||||||
"narHash": "sha256-kgINba6Ilpj3rdTi2BeKlQBs6ZxTdu3Gb49U5gDUVhg=",
|
"narHash": "sha256-RsObTWb8IfWFUHPUIrN681QCsBAgKyuJPliijjgeZwU=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "9e26dfe0fb8d61475b6f9e8d63477fe92509f1db",
|
"rev": "aea1aaeffbf135445f76112f345b7185c27432fd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1133,11 +1133,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1782498288,
|
"lastModified": 1782651437,
|
||||||
"narHash": "sha256-8/X3yyTXiE82b38n32ItbOqfWOVBl+gKa8fILyZfR4Q=",
|
"narHash": "sha256-10srBgrJz7JOWzS1KG5BhrwHCUPTcPqZgwNKo5N9YE4=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "3cac626ec5e3703e835f227687e88aa9e2f25701",
|
"rev": "0a47451dbe2082a660b88a79a83efdc8d85de445",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1632,11 +1632,11 @@
|
|||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1782658900,
|
"lastModified": 1782771270,
|
||||||
"narHash": "sha256-/s51VbBRGLH1NSjJ3AGhOGG8BXH/Jo+5JWMmaa2n+Jk=",
|
"narHash": "sha256-1W5Oga37XF1fzjpUut98j32NS9XcLQ5HmZDuOqSSrrY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "1fbdd38c16645731b2bdc4f70170765f725a3735",
|
"rev": "47571deb317bb1e53fbbe9c3cbf2a941cd94f794",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
Reference in New Issue
Block a user