From 30f8fea050f3242f0e6a2072779e706b5c8ceaf1 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Thu, 24 Sep 2026 03:42:25 +0530 Subject: refactor(modules): introduce cfg local bindings and submodule option types --- modules/media/playerctl/default.nix | 7 +++++-- modules/media/screen-recording/default.nix | 6 ++++-- modules/media/slurp/default.nix | 7 +++++-- modules/media/swayimg/default.nix | 6 +++++- modules/media/vlc/default.nix | 7 +++++-- modules/media/wf-recorder/default.nix | 9 ++++++--- 6 files changed, 30 insertions(+), 12 deletions(-) (limited to 'modules/media') diff --git a/modules/media/playerctl/default.nix b/modules/media/playerctl/default.nix index bf71f06..efea754 100644 --- a/modules/media/playerctl/default.nix +++ b/modules/media/playerctl/default.nix @@ -5,6 +5,9 @@ pkgs, ... }: +let + cfg = config.media.playerctl; +in { options.media.playerctl = { enable = lib.mkEnableOption "Enables playerctl."; @@ -16,7 +19,7 @@ }; }; - config = lib.mkIf config.media.playerctl.enable { - home.packages = [ config.media.playerctl.package ]; + config = lib.mkIf cfg.enable { + home.packages = [ cfg.package ]; }; } diff --git a/modules/media/screen-recording/default.nix b/modules/media/screen-recording/default.nix index d9ae89e..768ec22 100644 --- a/modules/media/screen-recording/default.nix +++ b/modules/media/screen-recording/default.nix @@ -6,6 +6,8 @@ ... }: let + cfg = config.media.screen-recording; + screenRecordingScript = pkgs.writeShellApplication { name = "screen-recording"; runtimeInputs = [ @@ -48,7 +50,7 @@ in }; config = lib.mkMerge [ - (lib.mkIf config.media.screen-recording.enable { + (lib.mkIf cfg.enable { home.packages = [ scriptPkg ]; assertions = import ./assertions.nix { inherit config lib; }; @@ -57,7 +59,7 @@ in source = ../../../assets/icons/apps/obs.svg; }; }) - (lib.mkIf (config.media.screen-recording.enable && config.terminal.kitty.enable) { + (lib.mkIf (cfg.enable && config.terminal.kitty.enable) { xdg.desktopEntries.screen-recording = { name = "Screen Recording"; exec = "${lib.getExe config.terminal.kitty.package} --class screen-recording -e ${lib.getExe scriptPkg}"; diff --git a/modules/media/slurp/default.nix b/modules/media/slurp/default.nix index d1d8e32..5996ab3 100644 --- a/modules/media/slurp/default.nix +++ b/modules/media/slurp/default.nix @@ -5,6 +5,9 @@ pkgs, ... }: +let + cfg = config.media.slurp; +in { options.media.slurp = { enable = lib.mkEnableOption "Enables slurp."; @@ -16,7 +19,7 @@ }; }; - config = lib.mkIf config.media.slurp.enable { - home.packages = [ config.media.slurp.package ]; + config = lib.mkIf cfg.enable { + home.packages = [ cfg.package ]; }; } diff --git a/modules/media/swayimg/default.nix b/modules/media/swayimg/default.nix index 8531fd9..3d53b5f 100644 --- a/modules/media/swayimg/default.nix +++ b/modules/media/swayimg/default.nix @@ -2,8 +2,12 @@ { config, lib, + pkgs, ... }: +let + cfg = config.media.swayimg; +in { options.media.swayimg = { enable = lib.mkEnableOption "Enables swayimg."; @@ -15,7 +19,7 @@ }; }; - config = lib.mkIf config.media.swayimg.enable { + config = lib.mkIf cfg.enable { programs.swayimg = { enable = true; initLua = builtins.readFile ./init.lua; diff --git a/modules/media/vlc/default.nix b/modules/media/vlc/default.nix index 34d8fb8..c661f09 100644 --- a/modules/media/vlc/default.nix +++ b/modules/media/vlc/default.nix @@ -5,6 +5,9 @@ pkgs, ... }: +let + cfg = config.media.vlc; +in { options.media.vlc = { enable = lib.mkEnableOption "Enables vlc."; @@ -16,8 +19,8 @@ }; }; - config = lib.mkIf config.media.vlc.enable { - home.packages = [ config.media.vlc.package ]; + config = lib.mkIf cfg.enable { + home.packages = [ cfg.package ]; xdg.mimeApps.defaultApplications = { "x-scheme-handler/vlc" = "vlc.desktop"; diff --git a/modules/media/wf-recorder/default.nix b/modules/media/wf-recorder/default.nix index 5c2cbd6..7d0d3bc 100644 --- a/modules/media/wf-recorder/default.nix +++ b/modules/media/wf-recorder/default.nix @@ -1,10 +1,13 @@ # Screen recording utility for wlroots Wayland compositors { config, - pkgs, lib, + pkgs, ... }: +let + cfg = config.media.wf-recorder; +in { options.media.wf-recorder = { enable = lib.mkEnableOption "Enables wf-recorder."; @@ -16,7 +19,7 @@ }; }; - config = lib.mkIf config.media.wf-recorder.enable { - home.packages = [ config.media.wf-recorder.package ]; + config = lib.mkIf cfg.enable { + home.packages = [ cfg.package ]; }; } -- cgit v1.2.3