about summary refs log tree commit diff stats
path: root/DEPENDENCIES.md
blob: 478b4eb53284f579817f0a3783f083077576c6b6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# NOTE
each and every file in this repository can be altered by anyone with any goal, including changing programs used. this, of course, will change the dependencies for every file that is altered.
# KEY
* `item`: a program
  * NOTE: if `item` has a link, the link leads to either the official website if one exists, or its repository.
  * if `item` does not have a link, it can likely be found in your OS's package manager.
* `path/item`: one of the files in this repo
* `$variable`: a shell variable set somewhere like shrc or .profile
  * more specifically:
  * `$TERMINAL`: value is the user's terminal of choice, e.g [xterm](https://invisible-island.net/xterm)
  * `$EDITOR`: value is the user's terminal editor of choice, e.g [vis](https://github.com/martanne/vis)
  * `$READER`: value is the user's ebook reader of choice, e.g [zathura](https://pwmt.org/projects/zathura)
  * `$BROWSER`: value is the user's (non-terminal) web browser of choice, e.g [firefox](https://mozilla.org/firefox)
  * `$HOME_ETC`: value is the user's config directory, usually `$HOME/.config`
  * `$HOME_DATA`: value is the user's data directory, usually `$HOME/.local/share`
* `opt: any of the previous bullets`: same meaning as before but optional
* `(description)`: explains why it's necessary/what optional feature it enables if present
# bin/
* mbsync-cron: populate local maildirs and notify the user if there is new mail
  * [isync](https://isync.sourceforge.net)
  * properly configured `$XDG_CONFIG_HOME/mbsync/mbsync` (One Group per email account)
  * libnotify (notifies the user for new mail and the subject line of said mail)
  * `$XDG_DATA_HOME`
* bother: urgently notifies you with the contents of $HOME/today
  * opt: `$XFILE`: the location of the file that starts your X session
    * please define this if you don't use .xsession or .xinitrc
  * notify-send (the entire point of the script)
  * `$HOME`/today (bother reads this file and sends it as a notification)
  * pgrep (checks to see if your window manager is up yet)
* comm-sel: a handy menu for spawning communication clients
  * [epic5](https://epicsol.org)
  * [cordless](https://github.com/bios-marcel/cordless)
  * [scli](https://github.com/isamert/scli)
  * [dmenu](https://dmenu.suckless.org) (provides a menu for selecting which client to start)
  * opt: st-altscreen (build of st that doesn't have scrollback or extra bindings, doesnt interfere with programs and is generally smaller)
  * `$TERMINAL`
* lh: a script that takes a URL as input and does different things depending on what the URL links to
  * [mpv](https://mpv.io) (video file streaming, streaming from sites like youtube, viewing livestreams from twitch)
  * [youtube-dl](https://yt-dl.org) (hooked by mpv when streaming from the appropriate sites)
  * [streamlink](https://streamlink.github.io) (used to view livestreams from twitch)
  * [dmenu](https://dmenu.suckless.org) (used to pick stream quality when handling livestream URLs)
  * [sxiv](https://github.com/muennich/sxiv) (used to view images)
  * [curl](https://curl.haxx.se) (images, audio files, ebook files)
  * [bombadillo](https://tildegit.org/sloum/bombadillo) (gemini, gopher)
  * `$TERMINAL`
  * `$READER`
  * `$EDITOR`
  * `$BROWSER`
* opener: a script that uses file(1) to determine what a file is, then opens it with an appropriate program
  * [mpv](https://mpv.io) (opens video and audio files)
  * [sxiv](https://github.com/muennich/sxiv) (used to view images)
  * `$READER`
  * `$EDITOR`
* prompt: makes prompting the user for particular actions easier
  * [dmenu](https://dmenu.suckless.org)
* pw: generates a password of variable length
* rsschk: takes a URL as an argument and adds it to newsboat's url file, with an optional second argument specifying a category
  * libnotify (notifies the user of improper usage, and whether or not they should probably edit the url file manually to add a category.)
  * [newsboat](https://newsboat.org)
  * opt: `$XDG_CONFIG_HOME`
* shenv: runs the shell with a specific environment file
  * a shrc file located in `$XDG_CONFIG_HOME`, check config/shrc for an example
* xbg: sets the background or changes the picture used for the background
  * opt: xdg-user-dir (lets you change the directory bg.png has to be in)
  * xwallpaper (sets the wallpaper)
* bar.sh: spawns a dzen status bar
  * config/color/colors.sh
  * [spoon](https://git.2f30.org/spoon)
  * [dzen2](https://github.com/robm/dzen)
# config/
* cwmrc: config for [cwm](https://man.openbsd.org/cwm)
  * [Cozette](https://github.com/slavfox/cozette) font
  * xterm
  * slock
  * `$TERMINAL`
  * `$ALTSCR`
  * `$EDITOR`
  * `$BROWSER`
  * `$HOMEPAGE`
  * `$COMM`
  * `kpcli`
  * bin/lh
  * xclip
  * `$MUSIC`
  * `$MAILER`
  * `$RSS`
  * `$FILE`
  * `$READER`
  * `$SCR`
  * xdg-user-dir
  * mpc
  * [sndioctl](https://man.openbsd.org/sndioctl)
  * xbacklight
  * bin/prompt
  * [doas](https://man.openbsd.org/doas)
  * bin/bar.sh
  * xdotool
* lf/lfrc: configuration file for [lf](https://github.com/gokcehan/lf)
  * opt: bin/opener (for opening files)
  * opt: curl (for uploading temporary content to the [ttm.sh](https://ttm.sh) site)
* shrc: shell environment, particularly for bin/shenv
  * vis (`$EDITOR`)
  * lf (`$FILE`)
  * xterm (`$TERMINAL`)
  * st-altscreen (`$ALTSCR`)
  * firefox (`$BROWSER`)
  * bin/comm-sel (`$COMM`)
  * zathura (`$READER`)
  * neomutt (`$MAILER`)
  * ncmpcpp (`$MUSIC`)
  * newsboat (`$RSS`)
  * ksh (`$ENV`)
  * config/ksh (`$ENV`)
  * maim (`$SCR`)
  * slock (`$LOCK`)
  * opt: [todo](https://git.tilde.institute/ensa/todo)
  * opt: go (`$GOPATH`)
  * opt: cargo (`$CARGO_HOME`)
  * opt: python (`$PYTHONUSERBASE`)
  * opt: mednafen (`$MEDNAFEN_HOME`)
* dunst/dunstrc
  * [Cozette](https://github.com/slavfox/cozette) font
* zathura/zathurarc
  * [Cozette](https://github.com/slavfox/cozette) font
## ksh/
configuration files for ksh
* kshrc
  * config/shrc (for the majority of variables set)
  * opt: pfetch (`$PF_INFO`)
* functions.ksh
  * mpv (for mpvpin() to work)
* completions.ksh
  * `$XDG_CACHE_HOME`
  * [pass](https://rgz.ee/pass.html)
# data/
* mailcap: helps neomutt figure out what to do with particular MIME types
  * `$EDITOR`
  * lynx
  * [mpv](https://mpv.io)
  * `$READER`
## applications/
* doc.desktop
  * [zathura](https://pwmt.org/projects/zathura)
* img.desktop
  * [sxiv](https://github.com/muennich/sxiv)
* rss.desktop
  * bin/rsschk
* text.desktop
  * [xterm](https://invisible-island.net/xterm)
  * [vis](https://github.com/martanne/vis)
* weblight.desktop
  * [surf](https://surf.suckless.org)