nix/bin/default.nix (view raw)
1{ pkgs, theme, host, ... }:
2
3let
4
5 # open a window with live video feed from the camera
6 webcam = pkgs.writeScriptBin "webcam" ''
7 ${pkgs.mpv}/bin/mpv av://v4l2:/dev/video0 --profile=low-latency --untimed
8 '';
9
10 # create new repo on git.icyphox.sh
11 git-new-repo = pkgs.writeScriptBin "git-new-repo" ''
12 repo="$1"
13 [[ "$1" == "" ]] && repo="$(basename "$PWD")"
14 ssh git@jade git init --bare "$repo"
15 read -p "descripton: " desc
16 printf '%s' "$desc" > .git/description
17 rsync .git/description git@jade:"$repo"
18 '';
19
20 # adds a new push-only remote
21 git-new-push-remote = pkgs.writeScriptBin "git-new-push-remote" ''
22 [[ "$@" == "" ]] && {
23 printf '%s\n' "usage: git new-push-remote <remote url>"
24 exit
25 }
26
27 old_push_remote="$(git remote -v | grep '(push)' | awk '{print $2}')"
28 git remote set-url "$(git remote show)" --add --push "$1"
29 git remote set-url "$(git remote show)" --add --push "$old_push_remote"
30 '';
31
32 # json pretty
33 jp = pkgs.writeScriptBin "jp" ''
34 ${pkgs.coreutils}/bin/cat | ${pkgs.jq}/bin/jq "$@"
35 '';
36
37 # screen record with ffmpeg and slop
38 record = import ./record.nix pkgs;
39
40 # bar
41 bar = import ./bar.nix { inherit pkgs theme host; };
42
43 # xurls
44 xurls = import ./xurls.nix pkgs;
45
46 # file uploader
47 # uploader = import ./up.nix pkgs;
48
49 # battery script
50 battery = import ./battery.nix pkgs;
51
52 # invert screen
53 invert = import ./invert.nix pkgs;
54
55 # nvidia offload
56 nvidia-offload = import ./nvidia-offload.nix pkgs;
57
58 # power profiles script
59 cputil = import ./cputil.nix pkgs;
60
61 # password manager
62 pw = import ./pw.nix pkgs;
63
64 # screenshot tool
65 scr = import ./scr.nix pkgs;
66
67 # kubectx wrapper
68 kctx = import ./kctx.nix pkgs;
69in
70[
71 git-new-push-remote
72 git-new-repo
73 jp
74 webcam
75 record
76 battery
77 bar
78 xurls
79 invert
80 nvidia-offload
81 cputil
82 pw
83 scr
84 kctx
85]