summaryrefslogtreecommitdiffstats
path: root/lass
diff options
context:
space:
mode:
Diffstat (limited to 'lass')
-rw-r--r--lass/1systems/icarus/config.nix2
-rw-r--r--lass/1systems/shodan/config.nix2
-rw-r--r--lass/1systems/styx/config.nix3
-rw-r--r--lass/2configs/binary-cache/server.nix13
-rw-r--r--lass/2configs/home-media.nix11
-rw-r--r--lass/2configs/snapclient.nix12
-rw-r--r--lass/2configs/snapserver.nix13
7 files changed, 55 insertions, 1 deletions
diff --git a/lass/1systems/icarus/config.nix b/lass/1systems/icarus/config.nix
index 609da6011..2d2f23f95 100644
--- a/lass/1systems/icarus/config.nix
+++ b/lass/1systems/icarus/config.nix
@@ -10,6 +10,7 @@ with import <stockholm/lib>;
<stockholm/lass/2configs/git.nix>
<stockholm/lass/2configs/exim-retiolum.nix>
<stockholm/lass/2configs/baseX.nix>
+ <stockholm/lass/2configs/pipewire.nix>
<stockholm/lass/2configs/browsers.nix>
<stockholm/lass/2configs/programs.nix>
<stockholm/lass/2configs/fetchWallpaper.nix>
@@ -21,6 +22,7 @@ with import <stockholm/lib>;
#<stockholm/lass/2configs/prism-share.nix>
<stockholm/lass/2configs/network-manager.nix>
<stockholm/lass/2configs/home-media.nix>
+ <stockholm/lass/2configs/snapclient.nix>
];
krebs.build.host = config.krebs.hosts.icarus;
diff --git a/lass/1systems/shodan/config.nix b/lass/1systems/shodan/config.nix
index 7695e637b..5d6a440e0 100644
--- a/lass/1systems/shodan/config.nix
+++ b/lass/1systems/shodan/config.nix
@@ -8,6 +8,7 @@ with import <stockholm/lib>;
<stockholm/lass/2configs/mouse.nix>
<stockholm/lass/2configs/retiolum.nix>
<stockholm/lass/2configs/baseX.nix>
+ <stockholm/lass/2configs/pipewire.nix>
<stockholm/lass/2configs/exim-retiolum.nix>
<stockholm/lass/2configs/browsers.nix>
<stockholm/lass/2configs/programs.nix>
@@ -21,6 +22,7 @@ with import <stockholm/lib>;
<stockholm/lass/2configs/home-media.nix>
<stockholm/lass/2configs/syncthing.nix>
<stockholm/lass/2configs/sync/sync.nix>
+ <stockholm/lass/2configs/snapclient.nix>
];
krebs.build.host = config.krebs.hosts.shodan;
diff --git a/lass/1systems/styx/config.nix b/lass/1systems/styx/config.nix
index 016d1480f..e49d24f9a 100644
--- a/lass/1systems/styx/config.nix
+++ b/lass/1systems/styx/config.nix
@@ -8,6 +8,7 @@ with import <stockholm/lib>;
<stockholm/lass/2configs/mouse.nix>
<stockholm/lass/2configs/retiolum.nix>
<stockholm/lass/2configs/baseX.nix>
+ <stockholm/lass/2configs/pipewire.nix>
<stockholm/lass/2configs/exim-retiolum.nix>
<stockholm/lass/2configs/browsers.nix>
<stockholm/lass/2configs/programs.nix>
@@ -23,6 +24,8 @@ with import <stockholm/lib>;
<stockholm/lass/2configs/sync/sync.nix>
# <stockholm/lass/2configs/idc.nix>
<stockholm/lass/2configs/ppp/umts-stick.nix>
+ <stockholm/lass/2configs/snapserver.nix>
+ <stockholm/lass/2configs/snapclient.nix>
];
krebs.build.host = config.krebs.hosts.styx;
diff --git a/lass/2configs/binary-cache/server.nix b/lass/2configs/binary-cache/server.nix
index 1abf51ae6..dcc4b5f1a 100644
--- a/lass/2configs/binary-cache/server.nix
+++ b/lass/2configs/binary-cache/server.nix
@@ -1,6 +1,17 @@
-{ config, lib, pkgs, stockholm, ...}:
+{ config, lib, pkgs, ...}:
+let
+ nix-serve-ng-src = builtins.fetchTarball {
+ # Replace the URL and hash with whatever you actually need
+ url = "https://github.com/aristanetworks/nix-serve-ng/archive/1937593598bb1285b41804f25cd6f9ddd4d5f1cb.tar.gz";
+ sha256 = "1lqd207gbx1wjbhky33d2r8xi6avfbx4v0kpsvn84zaanifdgz2g";
+ };
+
+ nix-serve-ng = import nix-serve-ng-src;
+
+in
{
+ imports = [ nix-serve-ng.nixosModules.default ];
# generate private key with:
# nix-store --generate-binary-cache-key my-secret-key my-public-key
services.nix-serve = {
diff --git a/lass/2configs/home-media.nix b/lass/2configs/home-media.nix
index f250ca8d8..f3908e6be 100644
--- a/lass/2configs/home-media.nix
+++ b/lass/2configs/home-media.nix
@@ -20,4 +20,15 @@ with import <stockholm/lib>;
krebs.iptables.tables.filter.INPUT.rules = [
{ predicate = "-p tcp --dport 4713"; target = "ACCEPT"; } # pulseaudio
];
+
+ environment.systemPackages = [
+ (pkgs.writers.writeDashBin "snapmpv" ''
+ /run/current-system/sw/bin/mpv \
+ --audio-display=no --audio-channels=stereo \
+ --audio-samplerate=48000 --audio-format=s16 \
+ --ao-pcm-file=/run/snapserver/snapfifo --ao=pcm \
+ --audio-delay=-1 \
+ "$@"
+ '')
+ ];
}
diff --git a/lass/2configs/snapclient.nix b/lass/2configs/snapclient.nix
new file mode 100644
index 000000000..8015680e9
--- /dev/null
+++ b/lass/2configs/snapclient.nix
@@ -0,0 +1,12 @@
+{ config, lib, pkgs, ... }:
+{
+ systemd.services.snapclient = {
+ wantedBy = [ "multi-user.target" ];
+ path = [ pkgs.snapcast ];
+ script = "snapclient -h 10.42.0.1";
+ serviceConfig = {
+ DynamicUser = true;
+ Group = "pipewire";
+ };
+ };
+}
diff --git a/lass/2configs/snapserver.nix b/lass/2configs/snapserver.nix
new file mode 100644
index 000000000..3c6dbf750
--- /dev/null
+++ b/lass/2configs/snapserver.nix
@@ -0,0 +1,13 @@
+{ config, lib, pkgs, ... }:
+{
+ services.snapserver = {
+ enable = true;
+ openFirewall = true;
+ streams = {
+ pipewire = {
+ type = "pipe";
+ location = "/run/snapserver/snapfifo";
+ };
+ };
+ };
+}