diff options
| author | Arpit Chakladar <arpitchakladar@gmail.com> | 2026-09-26 22:02:22 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar@gmail.com> | 2026-09-26 22:02:22 +0530 |
| commit | f47e3cd423eb9cf9e1943d7f14e597e044ee92a9 (patch) | |
| tree | c24f0c64dcd42cdb576ffe24d754cb3dc26ccef0 | |
| parent | d1ec6eec44e2f7787ec670676933bbcc3d07d361 (diff) | |
| download | home-manager-config-f47e3cd423eb9cf9e1943d7f14e597e044ee92a9.tar.gz home-manager-config-f47e3cd423eb9cf9e1943d7f14e597e044ee92a9.zip | |
feat(media/screen-recording)!: removed screen-recording
BREAKING CHANGES: Removed screen-recording. The media.screen-recording
options don't exist anymore.
| -rw-r--r-- | modules/media/default.nix | 1 | ||||
| -rw-r--r-- | modules/media/screen-recording/assertions.nix | 21 | ||||
| -rw-r--r-- | modules/media/screen-recording/default.nix | 73 | ||||
| -rw-r--r-- | modules/media/screen-recording/screen-recording.sh | 56 | ||||
| -rw-r--r-- | modules/media/screen-recording/screen-recording.zsh | 5 |
5 files changed, 0 insertions, 156 deletions
diff --git a/modules/media/default.nix b/modules/media/default.nix index 2ff708a..2619cf5 100644 --- a/modules/media/default.nix +++ b/modules/media/default.nix @@ -5,7 +5,6 @@ ./swayimg ./pamixer ./playerctl - ./screen-recording ./slurp ./vlc ./wf-recorder diff --git a/modules/media/screen-recording/assertions.nix b/modules/media/screen-recording/assertions.nix deleted file mode 100644 index 81d767b..0000000 --- a/modules/media/screen-recording/assertions.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ config, ... }: -let - cfg = config.media.screen-recording; -in -[ - { - assertion = !cfg.enable || config.media.slurp.enable; - message = "media.screen-recording is enabled but requires `media.slurp.enable`."; - } - { - assertion = !cfg.enable || config.media.wf-recorder.enable; - message = "media.screen-recording is enabled but requires `media.wf-recorder.enable`."; - } - { - assertion = !cfg.enable || config.terminal.kitty.enable; - message = '' - media.screen-recording is enabled but terminal.kitty.enable is not. - screen-recording's desktop entry requires kitty as the terminal launcher. Please enable terminal.kitty. - ''; - } -] diff --git a/modules/media/screen-recording/default.nix b/modules/media/screen-recording/default.nix deleted file mode 100644 index 768ec22..0000000 --- a/modules/media/screen-recording/default.nix +++ /dev/null @@ -1,73 +0,0 @@ -# Screen recording script using wf-recorder and slurp -{ - config, - lib, - pkgs, - ... -}: -let - cfg = config.media.screen-recording; - - screenRecordingScript = pkgs.writeShellApplication { - name = "screen-recording"; - runtimeInputs = [ - config.terminal.bash.package - config.media.slurp.package - config.media.wf-recorder.package - ]; - text = builtins.readFile ./screen-recording.sh; - }; - - screenRecordingCompletion = - pkgs.runCommand "screen-recording-completion" - { - nativeBuildInputs = [ pkgs.installShellFiles ]; - } - '' - mkdir -p $out/share/zsh/site-functions - installShellCompletion zsh --name _screen-recording ${pkgs.writeText "screen-recording.zsh" (builtins.readFile ./screen-recording.zsh)} - ''; - - scriptPkg = pkgs.symlinkJoin { - name = "screen-recording"; - paths = [ - screenRecordingScript - screenRecordingCompletion - ]; - meta = screenRecordingScript.meta or { }; - }; -in -{ - options.media.screen-recording = { - enable = lib.mkEnableOption "Screen recording script using wf-recorder and slurp"; - - package = lib.mkOption { - type = lib.types.package; - readOnly = true; - default = scriptPkg; - description = "The screen-recording script package."; - }; - }; - - config = lib.mkMerge [ - (lib.mkIf cfg.enable { - home.packages = [ scriptPkg ]; - - assertions = import ./assertions.nix { inherit config lib; }; - - home.file.".local/share/icons/hicolor/scalable/apps/obs.svg" = { - source = ../../../assets/icons/apps/obs.svg; - }; - }) - (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}"; - icon = "obs"; - categories = [ "Utility" ]; - terminal = false; - type = "Application"; - }; - }) - ]; -} diff --git a/modules/media/screen-recording/screen-recording.sh b/modules/media/screen-recording/screen-recording.sh deleted file mode 100644 index 1afa239..0000000 --- a/modules/media/screen-recording/screen-recording.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env bash -# Record the screen with wf-recorder into ~/Videos/Recordings, -# optionally selecting a region to capture with slurp. - -OUT_DIR="$HOME/Videos/Recordings" -mkdir -p "$OUT_DIR" - -info() { printf '\033[1;34m==>\033[0m %s\n' "$*"; } -warn() { printf '\033[1;33m==> warning:\033[0m %s\n' "$*" >&2; } -error() { printf '\033[1;31m==> error:\033[0m %s\n' "$*" >&2; } -die() { - error "$*" - exit 1 -} - -# Argument parsing -SELECT_MODE=false -while [[ $# -gt 0 ]]; do - case $1 in - -s | --select) SELECT_MODE=true ;; - esac - shift -done - -# Geometry selection -GEOMETRY="" - -if [ "$SELECT_MODE" = true ]; then - if command -v slurp >/dev/null 2>&1; then - info "Select a window or draw a box..." - GEOMETRY=$(slurp) - - if [ -z "$GEOMETRY" ]; then - info "Selection cancelled. Exiting." - exit 1 - fi - else - warn "slurp not found. Recording full screen..." - sleep 1 - fi -fi - -# Start recording -FILENAME="$OUT_DIR/recording-$(date +%Y%m%d-%H%M%S).mp4" - -info "Recording started!" -echo " Press 'q' in this terminal to stop." -echo " File: $FILENAME" - -if [ -n "$GEOMETRY" ]; then - wf-recorder -g "$GEOMETRY" -f "$FILENAME" -else - wf-recorder -f "$FILENAME" -fi - -info "Done! Video saved to $FILENAME" diff --git a/modules/media/screen-recording/screen-recording.zsh b/modules/media/screen-recording/screen-recording.zsh deleted file mode 100644 index 2f2baa3..0000000 --- a/modules/media/screen-recording/screen-recording.zsh +++ /dev/null @@ -1,5 +0,0 @@ -#compdef screen-recording -# Zsh completion for the screen-recording command. - -_arguments \ - '(-s --select)'{-s,--select}'[Launch slurp to select recording region]' |
