aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar@gmail.com>2026-09-26 22:02:22 +0530
committerArpit Chakladar <arpitchakladar@gmail.com>2026-09-26 22:02:22 +0530
commitf47e3cd423eb9cf9e1943d7f14e597e044ee92a9 (patch)
treec24f0c64dcd42cdb576ffe24d754cb3dc26ccef0
parentd1ec6eec44e2f7787ec670676933bbcc3d07d361 (diff)
downloadhome-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.nix1
-rw-r--r--modules/media/screen-recording/assertions.nix21
-rw-r--r--modules/media/screen-recording/default.nix73
-rw-r--r--modules/media/screen-recording/screen-recording.sh56
-rw-r--r--modules/media/screen-recording/screen-recording.zsh5
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]'