/ ytdl-sub-test / flake.nix
flake.nix
1 { 2 inputs = { 3 nixpkgs.url = "github:nixos/nixpkgs/pull/369990/merge"; 4 }; 5 6 outputs = { 7 self, 8 nixpkgs, 9 ... 10 }: let 11 inherit (nixpkgs) lib; 12 system = "x86_64-linux"; 13 in { 14 packages.${system}.default = self.nixosConfigurations.vm.config.system.build.vm; 15 nixosConfigurations.vm = lib.nixosSystem { 16 inherit system; 17 modules = [ 18 "${nixpkgs}/nixos/modules/virtualisation/qemu-vm.nix" 19 20 { 21 users.users.root.password = "nixos"; 22 services.getty.autologinUser = "root"; 23 console.keyMap = "de-latin1"; 24 25 services.ytdl-sub.instances.default = { 26 enable = true; 27 28 config = { 29 presets."YouTube Playlist" = { 30 preset = ["Max 480p"]; 31 download = "{subscription_value}"; 32 output_options = { 33 output_directory = "YouTube"; 34 file_name = "{channel}/{playlist_title}/{playlist_index_padded}_{title}.{ext}"; 35 maintain_download_archive = true; 36 }; 37 }; 38 }; 39 40 subscriptions = { 41 "YouTube Playlist" = { 42 "Rust Talks" = "https://www.youtube.com/playlist?list=PLZaoyhMXgBzoM9bfb5pyUOT3zjnaDdSEP"; 43 }; 44 }; 45 }; 46 47 virtualisation.diskImage = null; 48 virtualisation.sharedDirectories.ytdl-sub = { 49 source = "$(mkdir -p /tmp/ytdl-sub)/tmp/ytdl-sub"; 50 target = "/var/lib/ytdl-sub"; 51 }; 52 } 53 ]; 54 }; 55 }; 56 }