Skip to content

Commit 7bf1ced

Browse files
committed
Copy lectures to nextcloud
1 parent 9a1e099 commit 7bf1ced

File tree

5 files changed

+55
-44
lines changed

5 files changed

+55
-44
lines changed

dots/nvim/lazy-lock.json

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,55 @@
11
{
22
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
3-
"avante.nvim": { "branch": "main", "commit": "456f7ccdab6fa977fe10458e02d6226c7f8f33c0" },
4-
"catppuccin": { "branch": "main", "commit": "4965db2d6155c25db4e8417465fc2703fdf4c2b7" },
3+
"avante.nvim": { "branch": "main", "commit": "b01121bc395c81b4a36baace70a40c9275703824" },
4+
"catppuccin": { "branch": "main", "commit": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429" },
55
"cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" },
66
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
77
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
88
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
99
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
1010
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
11-
"conform.nvim": { "branch": "master", "commit": "363243c03102a531a8203311d4f2ae704c620d9b" },
12-
"copilot.lua": { "branch": "master", "commit": "886ee73b6d464b2b3e3e6a7ff55ce87feac423a9" },
11+
"conform.nvim": { "branch": "master", "commit": "a6f5bdb78caa305496357d17e962bbc4c0b392e2" },
12+
"copilot.lua": { "branch": "master", "commit": "30321e33b03cb924fdcd6a806a0dc6fa0b0eafb9" },
1313
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
14-
"dressing.nvim": { "branch": "master", "commit": "56ef6a969a4990d938c5fed40c370f65e125fc97" },
14+
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
1515
"git-conflict.nvim": { "branch": "main", "commit": "4bbfdd92d547d2862a75b4e80afaf30e73f7bbb4" },
16-
"gitsigns.nvim": { "branch": "main", "commit": "4baa13519c2168cc9a7890a3580c50226ed018fb" },
16+
"gitsigns.nvim": { "branch": "main", "commit": "4c40357994f386e72be92a46f41fc1664c84c87d" },
1717
"gopher.nvim": { "branch": "main", "commit": "0ed14a40d9799ac8d92aaf9eb1cd9be22ffd6b14" },
18-
"harpoon": { "branch": "harpoon2", "commit": "a84ab829eaf3678b586609888ef52f7779102263" },
19-
"img-clip.nvim": { "branch": "main", "commit": "5ded6f468d633ccfb315905fe8901d6c95ae8f29" },
18+
"harpoon": { "branch": "harpoon2", "commit": "ed1f853847ffd04b2b61c314865665e1dadf22c7" },
19+
"img-clip.nvim": { "branch": "main", "commit": "11f068e3deea5643330146bdda2e852779dcd19c" },
2020
"indent-blankline.nvim": { "branch": "master", "commit": "e10626f7fcd51ccd56d7ffc00883ba7e0aa28f78" },
21-
"lazy.nvim": { "branch": "main", "commit": "f15a93907ddad3d9139aea465ae18336d87f5ce6" },
21+
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
2222
"leetcode.nvim": { "branch": "master", "commit": "db7e1cd6b9191b34b4c1f2f96e4e3949cde9f951" },
23-
"lspsaga.nvim": { "branch": "main", "commit": "da8a66c53241876bba140980469876db3a183604" },
23+
"lspsaga.nvim": { "branch": "main", "commit": "6063935cf68de9aa6dd79f8e1caf5df0a9385de3" },
2424
"lualine.nvim": { "branch": "master", "commit": "f4f791f67e70d378a754d02da068231d2352e5bc" },
25-
"markdown.nvim": { "branch": "main", "commit": "17a77463f945c4b9e4f371c752efd90e3e1bf604" },
26-
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
25+
"markdown.nvim": { "branch": "main", "commit": "059f503ae5490f93346e5ad19b56aec12ead12a6" },
26+
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
2727
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
28-
"nvim-autopairs": { "branch": "master", "commit": "3d02855468f94bf435db41b661b58ec4f48a06b7" },
29-
"nvim-cmp": { "branch": "main", "commit": "12509903a5723a876abd65953109f926f4634c30" },
30-
"nvim-dap": { "branch": "master", "commit": "52302f02fea3a490e55475de52fa4deb8af2eb11" },
28+
"nvim-autopairs": { "branch": "master", "commit": "68f0e5c3dab23261a945272032ee6700af86227a" },
29+
"nvim-cmp": { "branch": "main", "commit": "c27370703e798666486e3064b64d59eaf4bdc6d5" },
30+
"nvim-dap": { "branch": "master", "commit": "379cf26e9c457b66a0152cd5d018418c03720d47" },
3131
"nvim-dap-go": { "branch": "main", "commit": "8763ced35b19c8dc526e04a70ab07c34e11ad064" },
3232
"nvim-dap-python": { "branch": "master", "commit": "34282820bb713b9a5fdb120ae8dd85c2b3f49b51" },
3333
"nvim-dap-ui": { "branch": "master", "commit": "bc81f8d3440aede116f821114547a476b082b319" },
3434
"nvim-dap-virtual-text": { "branch": "master", "commit": "df66808cd78b5a97576bbaeee95ed5ca385a9750" },
35-
"nvim-jdtls": { "branch": "master", "commit": "3cdd09f336ab7169476b936c0825213d86d32e41" },
36-
"nvim-lspconfig": { "branch": "master", "commit": "5dca9e1480ebe39f3f96f98a8196f8ee18fad207" },
35+
"nvim-jdtls": { "branch": "master", "commit": "2f7bff9b8d2ee1918b36ca55f19547d9d335a268" },
36+
"nvim-lspconfig": { "branch": "master", "commit": "919f83ef8169d11eabd921a4cbda4fc1ba12f123" },
3737
"nvim-luapad": { "branch": "master", "commit": "176686eb616a5ada5dfc748f2b5109194bbe8a71" },
38-
"nvim-metals": { "branch": "main", "commit": "ef6e9957aae0ade96eb64d30eaf5d5b638a55703" },
38+
"nvim-metals": { "branch": "main", "commit": "344b74b2109f3bd3771cb8dee5274dcd9042aab5" },
3939
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
40-
"nvim-treesitter": { "branch": "master", "commit": "da89532f036da9855f3105955696df36f583b919" },
41-
"nvim-web-devicons": { "branch": "master", "commit": "402377242b04be3f4f0f3720bd952df86e946c30" },
40+
"nvim-treesitter": { "branch": "master", "commit": "1adcd5711929e44d1bc9e59fbf7d94656cf6d389" },
41+
"nvim-web-devicons": { "branch": "master", "commit": "ab4cfee554e501f497bce0856788d43cf2eb93d7" },
4242
"obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
43-
"oil.nvim": { "branch": "master", "commit": "add50252b5e9147c0a09d36480d418c7e2737472" },
44-
"plenary.nvim": { "branch": "master", "commit": "3707cdb1e43f5cea73afb6037e6494e7ce847a66" },
45-
"render-markdown.nvim": { "branch": "main", "commit": "17a77463f945c4b9e4f371c752efd90e3e1bf604" },
43+
"oil.nvim": { "branch": "master", "commit": "975a77cce3c8cb742bc1b3629f4328f5ca977dad" },
44+
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
45+
"render-markdown.nvim": { "branch": "main", "commit": "059f503ae5490f93346e5ad19b56aec12ead12a6" },
4646
"supermaven-nvim": { "branch": "main", "commit": "07d20fce48a5629686aefb0a7cd4b25e33947d50" },
47-
"telescope.nvim": { "branch": "master", "commit": "415af52339215926d705cccc08145f3782c4d132" },
47+
"telescope.nvim": { "branch": "master", "commit": "814f102cd1da3dc78c7d2f20f2ef3ed3cdf0e6e4" },
4848
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
4949
"tree-sitter-just": { "branch": "main", "commit": "bb0c898a80644de438e6efe5d88d30bf092935cd" },
50-
"tree-sitter-nu": { "branch": "main", "commit": "d0b26e45525016ef8e6f2ced05852437c06a00ca" },
51-
"trouble.nvim": { "branch": "main", "commit": "6f380b8826fb819c752c8fd7daaee9ef96d4c689" },
50+
"tree-sitter-nu": { "branch": "main", "commit": "b99dc3b7b26337d84f95c0de4dda81077b03e5c7" },
51+
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
5252
"twoslash-queries.nvim": { "branch": "main", "commit": "b92622c7b71eceefabd02eef24236041069904b1" },
53-
"vim-fugitive": { "branch": "master", "commit": "b068eaf1e6cbe35d1ac100d435cd7f7b74a5c87d" },
54-
"vimtex": { "branch": "master", "commit": "dfaf26c2cafddf61963ebeff28437352002691ac" }
53+
"vim-fugitive": { "branch": "master", "commit": "4a745ea72fa93bb15dd077109afbb3d1809383f2" },
54+
"vimtex": { "branch": "master", "commit": "d7c696d9fe114876b53dc986e32d795cd16dbdcc" }
5555
}

hosts/servers/pollux/lecture-recorder.nix

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,39 @@
1-
{ meta, pkgs, ... }:
1+
{ config, pkgs, ... }:
22

33
let
4+
ffmpeg = "${pkgs.ffmpeg}/bin/ffmpeg";
45
script = channel: duration: ''
5-
dir="/home/lukas/tutils/recordings/$(date +'%Y/%m/%d')/${channel}"
6-
mkdir -p "$dir"
6+
day=$(date +'%d')
7+
month=$(date +'%m')
8+
year=$(date +'%Y')
9+
hour=$(date +'%H')
10+
minute=$(date +'%M')
711
8-
out_file="$dir/$(date +'%H-%M').ts"
12+
timestamp=$day-$month-$year-$hour-$minute
13+
mkv_file="/tmp/lecture_${channel}_$timestamp.mkv"
914
10-
printf "Recording ${duration} to %s\n" "$out_file"
11-
printf "Started at %s\n" "$(date)"
12-
13-
${pkgs.ffmpeg}/bin/ffmpeg -headers "Referer: https://tuwel.tuwien.ac.at\r\n" \
15+
printf "Recording %s to %s\n" "${duration}" "$mkv_file"
16+
${ffmpeg} -headers "Referer: https://tuwel.tuwien.ac.at\r\n" \
1417
-t "${duration}" \
1518
-i "https://live-cdn-2.video.tuwien.ac.at/lecturetube-live/${channel}/playlist.m3u8" \
16-
-c copy "$out_file"
19+
-c:v libx264 -preset veryslow -crf 0 -c:a copy "$mkv_file"
20+
printf "Finished recording at %s\n" "$(date)"
21+
22+
echo "Moving to nextcloud"
23+
out_dir="${config.services.nextcloud.datadir}/data/root/files/Lectures/$year/$month/$day/$channel"
24+
mkdir -p "$out_dir"
25+
mv "$mkv_file" "$out_dir/$hour-$minute.mkv"
1726
18-
printf "Finished at %s\n" "$(date)"
27+
/run/current-system/sw/bin/nextcloud-occ files:scan root
1928
'';
29+
# TODO: don't use /run/current-system, ideally use nix syntax
2030

2131
service = channel: duration: {
2232
description = "lecture-${channel}-${duration}";
2333
script = script channel duration;
2434
startLimitIntervalSec = 0;
2535
serviceConfig = {
26-
User = meta.user.name;
36+
User = "nextcloud";
2737
Restart = "on-failure";
2838
};
2939
};

hosts/servers/pollux/nextcloud.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@
1717
# nextcloud uses nginx as webserver
1818
hostName = "cloud.lukasl.dev";
1919

20-
config.adminpassFile = config.sops.secrets."nextcloud/admin_password".path;
20+
config.adminpassFile = config.sops.secrets."nextcloud/password".path;
2121
config.dbtype = "sqlite"; # TODO: use postgres
2222
};
2323

2424
sops.secrets = {
25-
"nextcloud/admin_password" = {
25+
"nextcloud/password" = {
2626
owner = "nextcloud";
2727
};
2828
};

hosts/servers/pollux/restic.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
repository = "/var/backup/restic/local";
88
paths = [
99
"/var/lib/vaultwarden"
10+
"/var/lib/nextcloud"
1011
];
1112
passwordFile = config.sops.secrets."restic/secret".path;
1213
};

secrets/secrets.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ authelia:
3030
session_secret: ENC[AES256_GCM,data:plBsVS+qVsEcXe1I31b43pgI26TyEMQMwKi/HgMFCK2HFbRC,iv:gI5I0B4jY1e6Ki6yAOWyUgk0Ui3fNnNbEHiTi2+1NoI=,tag:UQJK7gNIei/qxTWfr7UAsQ==,type:str]
3131
storage_encryption_key: ENC[AES256_GCM,data:WEa/PZ+DeCAs0JiEVX3U25JbF/rPpq/XxM2y3LvslIyHOJZW,iv:bYMYYtS1MgFQDcDe0fBbEZEMKTNTtVdTwo4e/1e12AU=,tag:qRzIw8N+VNAgfSzW4oDmlg==,type:str]
3232
nextcloud:
33-
admin_password: ENC[AES256_GCM,data:nZrMmk4jgFBOJ5O0IqF7k7gYhtGE1gd4n3m6Z55w6s9MCVBE0I8b+xkL+hepn1cR,iv:fycfPALJRBMdbqVmRr7Pkr2arJK2u1pdbO+GBFH8QSw=,tag:Msw0KmFVcvzJgvfG08uNWQ==,type:str]
33+
password: ENC[AES256_GCM,data:nbtOFV5DI6VZXkhs7EshJyoykDdDNn7JdI3aaRVxvEiFcAUsvPrPtQZRByCy/jW6,iv:WrXtEj0jXOYqYKDnjnYHY2rrFMp+Ww7q2Ez2wO4NHAY=,tag:Uc9EgFAY/fzC3TIa38iopw==,type:str]
3434
restic:
3535
secret: ENC[AES256_GCM,data:1bQ/hv47TP4gqGRZXzYyCVYSp74taB6ScGHC/tB8HkIUjzGf/pixAlO/4BdfLbMscJ8=,iv:iaWEFsjkq0y8fQk0OAb3YEzK6bf7IM7Ye134Er/CGto=,tag:1EDm2PH3TkydY520ahAUNw==,type:str]
3636
sops:
@@ -48,8 +48,8 @@ sops:
4848
dlFSYVJHV2xqRDFjblZjWXNDWEF4ZEUKa5OF79AfBk3dz4tFTPgn073Vs6EYHCnh
4949
XRXJyB0XGF7KjdlwG8MEvpRtSKfvFpGzsVOAjuTFjI2KMX0GByk38A==
5050
-----END AGE ENCRYPTED FILE-----
51-
lastmodified: "2025-03-03T22:13:10Z"
52-
mac: ENC[AES256_GCM,data:38pJldPgWHGhVUyAXFUYamEcOKZEA79zUBYeSZPqLYCJEWkjE6uxpiPMrKRNXS9TrQUSpZc7zTxeTxWMmpYh1dkAE8TAvhuBTf6OC2ASOUeDr77QL98KyEy0Kz8RmTZQH9KSHPaYsZsUk/nALNRlChiTSfwqOrqzK360V4/94nA=,iv:I00dCw3ds/rcGuR5FDIDsw6OkX7SNsxYOui02LKdY7g=,tag:b4SZewGHwcy3abCFFnxfaw==,type:str]
51+
lastmodified: "2025-03-09T02:24:53Z"
52+
mac: ENC[AES256_GCM,data:bITea9kDFDa2rKnVuAo2f+I4eEvSHQRWwepqmY68mKwBLuvkG+iGuITwavVgIZrWTyPzFI6fTpKolKAN+FxpfNDMMKelT954pUhX6nBJlZAgDckC/OwPe7V27h3YMELZrx/GCXJ/UuYZVtbuJv6R1umC3W4MAN4fwYpp9CpQdvM=,iv:Xbm8Yz6Z5Ky+AmiBszpVwsmcJkFnTGwlI3DGlSXx/L0=,tag:h3OzjKlBZXBfL7LGbXk7nw==,type:str]
5353
pgp: []
5454
unencrypted_suffix: _unencrypted
5555
version: 3.9.4

0 commit comments

Comments
 (0)