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