Nix-Vibe public snapshot (squashed history)

This commit is contained in:
2026-09-19 13:56:12 +01:00
commit aee8fb1e9b
119 changed files with 18895 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
{ pkgs, ... }:
# Carla — audio plugin host / JACK & PipeWire patchbay
{
environment.systemPackages = [
pkgs.carla
];
}
+12
View File
@@ -0,0 +1,12 @@
{ pkgs, ... }:
# DVD authoring and burning tools for mcf-stream
{
environment.systemPackages = with pkgs; [
brasero # GNOME disc burning (data & video DVD)
dvdstyler # DVD authoring with menus
dvdauthor # CLI tooling for authoring DVD video
libdvdcss # Play/rip encrypted DVDs
gnome-multi-writer # USB/optical image writer
];
}
+42
View File
@@ -0,0 +1,42 @@
{ config, pkgs, ... }:
let
freeshowAppImage = pkgs.stdenv.mkDerivation {
pname = "freeshow-appimage";
version = "1.5.6";
src = pkgs.fetchurl {
url = "https://github.com/ChurchApps/FreeShow/releases/download/v1.5.6/FreeShow-1.5.6-x86_64.AppImage";
sha256 = "10z1xgqzwfbs4api12myyx368yp8ahzbmjpfmwnh8c340f8b22f4";
};
dontUnpack = true;
dontBuild = true;
installPhase = ''
mkdir -p $out/bin
ln -s ${pkgs.appimage-run}/bin/appimage-run $out/bin/freeshow
mkdir -p $out/share/applications
cat > $out/share/applications/freeshow.desktop << EOF
[Desktop Entry]
Name=FreeShow
Exec=${pkgs.appimage-run}/bin/appimage-run $src
Icon=freeshow
Type=Application
Categories=Multimedia;
EOF
'';
meta = with pkgs.lib; {
description = "FreeShow AppImage wrapper";
homepage = "https://github.com/ChurchApps/FreeShow";
license = licenses.gpl3Only; # Assuming GPLv3 based on GitHub repo
platforms = platforms.linux;
};
};
in
{
environment.systemPackages = [
freeshowAppImage
];
}
+66
View File
@@ -0,0 +1,66 @@
{ pkgs, ... }:
let
mixingStation = pkgs.stdenv.mkDerivation rec {
pname = "mixing-station";
version = "3.1.4";
src = pkgs.fetchurl {
url = "https://mixingstation.app/backend/api/web/download/update/mixing-station-pc/release";
sha256 = "sha256-8d+rGfcOMz8ZoaTy4wd9SEExyc/IaUDysf1WC8xyTC0=";
};
nativeBuildInputs = [
pkgs.unzip
pkgs.makeWrapper
];
buildInputs = with pkgs; [
libGL
libx11
libxext
libxcursor
libxrandr
libxxf86vm
libxi
libpulseaudio
];
unpackPhase = ''
unzip $src
'';
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/share/mixing-station
cp -r * $out/share/mixing-station/
makeWrapper ${pkgs.openjdk21}/bin/java $out/bin/mixing-station \
--add-flags "-jar $out/share/mixing-station/mixing-station-desktop.jar" \
--prefix LD_LIBRARY_PATH : ${pkgs.lib.makeLibraryPath buildInputs}
mkdir -p $out/share/applications
cat > $out/share/applications/mixing-station.desktop << EOF
[Desktop Entry]
Name=Mixing Station
Exec=$out/bin/mixing-station
Icon=audio-mixer
Type=Application
Categories=AudioVideo;Audio;
Comment=Remote control for digital mixers
EOF
'';
meta = with pkgs.lib; {
description = "Remote control for digital mixers";
homepage = "https://mixingstation.app/";
license = licenses.unfree;
platforms = platforms.linux;
};
};
in
{
environment.systemPackages = [
mixingStation
];
}
+20
View File
@@ -0,0 +1,20 @@
{ pkgs, ... }:
# OBS Studio for live streaming/recording on mcf-stream
{
environment.systemPackages = [
(
(pkgs.wrapOBS.override {
# Enable NVIDIA NVENC GPU encoding
obs-studio = pkgs.obs-studio.override { cudaSupport = true; };
})
{
plugins = with pkgs.obs-studio-plugins; [
distroav
obs-backgroundremoval
obs-teleport
];
}
)
];
}
+8
View File
@@ -0,0 +1,8 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
opencode
opencode-desktop
];
}
+42
View File
@@ -0,0 +1,42 @@
{ pkgs, ... }:
{
# Install OpenLP from official flatpak bundle
# Update the version in the URL when new releases are available
systemd.services.openlp-flatpak-install = {
description = "Install OpenLP from official flatpak bundle";
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
ExecStart = pkgs.writeShellScript "install-openlp" ''
set -e
OPENLP_VERSION="3.1.7"
OPENLP_URL="https://get.openlp.org/$OPENLP_VERSION/openlp-$OPENLP_VERSION-1.flatpak"
OPENLP_ID="org.openlp.OpenLP"
# Check if already installed
if ${pkgs.flatpak}/bin/flatpak list --app | grep -q "$OPENLP_ID"; then
echo "OpenLP is already installed"
exit 0
fi
# Download and install the bundle
echo "Downloading OpenLP $OPENLP_VERSION..."
TEMP_FILE=$(${pkgs.coreutils}/bin/mktemp)
${pkgs.curl}/bin/curl -L -o "$TEMP_FILE" "$OPENLP_URL"
echo "Installing OpenLP from bundle..."
${pkgs.flatpak}/bin/flatpak install --system --bundle --noninteractive -y "$TEMP_FILE"
# Cleanup
${pkgs.coreutils}/bin/rm -f "$TEMP_FILE"
echo "OpenLP installed successfully"
'';
};
};
}
+5
View File
@@ -0,0 +1,5 @@
{
services.flatpak.packages = [
"io.github.Soundux"
];
}
+22
View File
@@ -0,0 +1,22 @@
{ pkgs, ... }:
let
x32editDesktop = pkgs.makeDesktopItem {
name = "X32-Edit";
desktopName = "X32-Edit";
genericName = "Digital Mixer Editor";
exec = "x32-edit";
icon = "audio-mixer"; # Using a generic audio mixer icon as a fallback
categories = [
"AudioVideo"
"Audio"
];
comment = "Editor for the Behringer X32 digital mixer";
};
in
{
environment.systemPackages = [
pkgs.x32edit
x32editDesktop
];
}