From c2d197d7f0c3abd657c97fb95cee82ece4ee87fb Mon Sep 17 00:00:00 2001 From: Ivan Bushchik Date: Sun, 27 Aug 2023 19:26:12 +0300 Subject: [PATCH] Add media-client and torrent roles Signed-off-by: Ivan Bushchik --- machines/example/default.nix | 2 ++ machines/stella/default.nix | 2 ++ roles/default.nix | 2 ++ roles/graphical.nix | 1 + roles/media-client.nix | 13 +++++++++++++ roles/torrent.nix | 13 +++++++++++++ 6 files changed, 33 insertions(+) create mode 100644 roles/media-client.nix create mode 100644 roles/torrent.nix diff --git a/machines/example/default.nix b/machines/example/default.nix index 0d93d33..9faa575 100644 --- a/machines/example/default.nix +++ b/machines/example/default.nix @@ -23,6 +23,8 @@ in { gaming.enable = true; graphical.enable = true; latex.enable = true; + media-client.enable = true; + torrent.enable = true; virtualisation.enable = true; yggdrasil-client.enable = true; }; diff --git a/machines/stella/default.nix b/machines/stella/default.nix index 0da09f5..fbd1430 100644 --- a/machines/stella/default.nix +++ b/machines/stella/default.nix @@ -21,6 +21,8 @@ in { gaming.enable = true; graphical.enable = true; latex.enable = false; + media-client.enable = true; + torrent.enable = true; virtualisation.enable = true; yggdrasil-client.enable = true; }; diff --git a/roles/default.nix b/roles/default.nix index 31a9c4d..73a8a14 100644 --- a/roles/default.nix +++ b/roles/default.nix @@ -5,6 +5,8 @@ ./gaming.nix ./graphical.nix ./latex.nix + ./media-client.nix # TODO: media-server + ./torrent.nix ./virtualisation.nix ./yggdrasil-client.nix ]; diff --git a/roles/graphical.nix b/roles/graphical.nix index 05181b4..1f973a9 100644 --- a/roles/graphical.nix +++ b/roles/graphical.nix @@ -17,6 +17,7 @@ in { usbmuxd keepassxc ]; + # When adding pkgs prefer GTK over Qt, because Qt bad GTK good services.greetd = { enable = true; diff --git a/roles/media-client.nix b/roles/media-client.nix new file mode 100644 index 0000000..b4dca4a --- /dev/null +++ b/roles/media-client.nix @@ -0,0 +1,13 @@ +{ config, pkgs, lib, ... }: + +let + cfg = config.my.roles.media-client; +in { + options.my.roles.media-client.enable = lib.mkEnableOption "Enable media players, downloaders, etc."; + config = lib.mkIf (cfg.enable){ + environment.systemPackages = with pkgs; [ + vlc + yt-dlp ffmpeg + ]; + }; +} \ No newline at end of file diff --git a/roles/torrent.nix b/roles/torrent.nix new file mode 100644 index 0000000..07723eb --- /dev/null +++ b/roles/torrent.nix @@ -0,0 +1,13 @@ +{ config, pkgs, lib, ... }: + +let + cfg = config.my.roles.torrent; +in { + options.my.roles.torrent.enable = lib.mkEnableOption "Enable torrent support."; + # TODO: do something about systems without GUI (i don't use any at the moment) + config = lib.mkIf (cfg.enable) { + environment.systemPackages = with pkgs; [ + (transmission.override {enableGTK3 = true;}) + ]; + }; +} \ No newline at end of file