{ pkgs, ... }: let # open a window with live video feed from the camera webcam = pkgs.writeScriptBin "webcam" '' ${pkgs.mpv}/bin/mpv av://v4l2:/dev/video0 --profile=low-latency --untimed ''; # create new repo on fern git-new-repo = pkgs.writeScriptBin "git-new-repo" '' if [ $# -eq 0 ]; then echo "requires an arg" exit 1 fi # $1 - section/repo-name ssh git@ferrn git init --bare "$1"; git remote add origin git@ferrn:"$1"; git push -u origin HEAD; ''; # set git repo descriptions on cgit git-set-desc = pkgs.writeScriptBin "git-set-desc" '' remote=$(git remote get-url --push origin) scp .git/description "$remote/description" ''; # screen record with ffmpeg and slop record = import ./record.nix pkgs; # file uploader uploader = import ./up.nix pkgs; # battery script battery = import ./battery.nix pkgs; # fzf script to switch between tmux sessions tmux-fzf = pkgs.writeScriptBin "tmux-fzf" '' tbin() { ${pkgs.tmux}/bin/tmux "$@" } fbin() { ${pkgs.fzf}/bin/fzf "$@" } __fzf() { fbin --cycle --height 7 --reverse } __list_to_fzf() { tbin ls -F "#{session_name}" | fzf } if [ -n "$TMUX" ]; then tbin switch-client -t "$(__list_to_fzf)" else tbin a -t "$(tbin ls -F "#{session_name}" | fbin)" fi ''; in [ webcam git-set-desc git-new-repo record uploader battery tmux-fzf ]