about summary refs log tree commit diff
path: root/users
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2022-02-18 17:41:01 -0800
committerFranck Cuny <franck@fcuny.net>2022-02-18 17:41:01 -0800
commitf544e22cc0f8107eb1308b8fccb483f09f71e27a (patch)
treea653063d44b6971fab5db673f9d62094bc9496f5 /users
parentxserver: add at-spi2-core package (diff)
downloadworld-f544e22cc0f8107eb1308b8fccb483f09f71e27a.tar.gz
media: reorganize in multiples modules
Add two new modules to synchronize videos and musics to the NAS.
Diffstat (limited to 'users')
-rw-r--r--users/fcuny/desktop/default.nix2
-rw-r--r--users/fcuny/desktop/media/default.nix11
-rw-r--r--users/fcuny/desktop/media/mpd.nix (renamed from users/fcuny/desktop/media.nix)3
-rw-r--r--users/fcuny/desktop/media/music.nix7
-rw-r--r--users/fcuny/desktop/media/sync-music.nix30
-rw-r--r--users/fcuny/desktop/media/sync-videos.nix29
-rw-r--r--users/fcuny/desktop/media/videos.nix7
7 files changed, 86 insertions, 3 deletions
diff --git a/users/fcuny/desktop/default.nix b/users/fcuny/desktop/default.nix
index f5e9a4e..990aae4 100644
--- a/users/fcuny/desktop/default.nix
+++ b/users/fcuny/desktop/default.nix
@@ -5,7 +5,7 @@
     ./browser.nix
     ./emacs.nix
     ./gtk.nix
-    ./media.nix
+    ./media
     ./sway
     ./terminal.nix
     ./trust
diff --git a/users/fcuny/desktop/media/default.nix b/users/fcuny/desktop/media/default.nix
new file mode 100644
index 0000000..23c2fae
--- /dev/null
+++ b/users/fcuny/desktop/media/default.nix
@@ -0,0 +1,11 @@
+{ ... }:
+
+{
+  imports = [
+    ./mpd.nix
+    ./music.nix
+    ./sync-music.nix
+    ./sync-videos.nix
+    ./videos.nix
+  ];
+}
diff --git a/users/fcuny/desktop/media.nix b/users/fcuny/desktop/media/mpd.nix
index 9a2835f..b46b232 100644
--- a/users/fcuny/desktop/media.nix
+++ b/users/fcuny/desktop/media/mpd.nix
@@ -1,10 +1,9 @@
-{ config, lib, pkgs, ... }:
+{ config, pkgs, ... }:
 
 {
   home.packages = [
     pkgs.mpd
     pkgs.ncmpcpp
-    pkgs.pavucontrol
   ];
 
   xdg.configFile."ncmpcpp/config".source = ../configs/ncmpcpp/config;
diff --git a/users/fcuny/desktop/media/music.nix b/users/fcuny/desktop/media/music.nix
new file mode 100644
index 0000000..ada357a
--- /dev/null
+++ b/users/fcuny/desktop/media/music.nix
@@ -0,0 +1,7 @@
+{ config, pkgs, ... }:
+
+{
+  home.packages = [
+    pkgs.pavucontrol
+  ];
+}
diff --git a/users/fcuny/desktop/media/sync-music.nix b/users/fcuny/desktop/media/sync-music.nix
new file mode 100644
index 0000000..85e795a
--- /dev/null
+++ b/users/fcuny/desktop/media/sync-music.nix
@@ -0,0 +1,30 @@
+{ config, pkgs, ... }:
+
+{
+  systemd.user.services.sync-music = {
+    Unit = {
+      Description = "synchronize my music collection to the NAS";
+      Documentation = "man:rsync(1)";
+      ConditionFileIsExecutable = "${pkgs.rsync}/bin/rsync";
+      ConditionHost = "carmel";
+    };
+    Service = {
+      Type = "oneshot";
+      ExecStart = "${pkgs.rsync}/bin/rysnc -avz -t %h/media/music/ nas.home:/data/music";
+    };
+  };
+
+  systemd.user.timers.sync-music = {
+    Unit = {
+      Description = "synchronize my music collection to the NAS";
+      Documentation = "man:rsync(1)";
+    };
+    Timer = {
+      OnBootSec = "120m";
+      OnUnitActiveSec = "1d";
+      RandomizedDelaySec = "1800";
+      Persistent = true;
+    };
+    Install = { WantedBy = [ "timers.target" ]; };
+  };
+}
diff --git a/users/fcuny/desktop/media/sync-videos.nix b/users/fcuny/desktop/media/sync-videos.nix
new file mode 100644
index 0000000..ced319d
--- /dev/null
+++ b/users/fcuny/desktop/media/sync-videos.nix
@@ -0,0 +1,29 @@
+{ config, pkgs, ... }:
+
+{
+  systemd.user.services.sync-videos = {
+    Unit = {
+      Description = "synchronize my videos to the NAS";
+      Documentation = "man:rsync(1)";
+      ConditionFileIsExecutable = "${pkgs.rsync}/bin/rsync";
+    };
+    Service = {
+      Type = "oneshot";
+      ExecStart = "${pkgs.rsync}/bin/rysnc -avz -t %h/media/videos/ nas.home:/data/videos/incoming";
+    };
+  };
+
+  systemd.user.timers.sync-videos = {
+    Unit = {
+      Description = "synchronize my videos to the NAS";
+      Documentation = "man:rsync(1)";
+    };
+    Timer = {
+      OnBootSec = "120m";
+      OnUnitActiveSec = "1d";
+      RandomizedDelaySec = "1800";
+      Persistent = true;
+    };
+    Install = { WantedBy = [ "timers.target" ]; };
+  };
+}
diff --git a/users/fcuny/desktop/media/videos.nix b/users/fcuny/desktop/media/videos.nix
new file mode 100644
index 0000000..a4d0709
--- /dev/null
+++ b/users/fcuny/desktop/media/videos.nix
@@ -0,0 +1,7 @@
+{ config, pkgs, ... }:
+
+{
+  home.packages = [
+    pkgs.vlc
+  ]
+}