all repos — dotfiles @ 5351d6833635d341b38c1e322e03b3c18c77d39b

my *nix dotfiles

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]