about summary refs log tree commit diff stats
path: root/DEPENDENCIES.md
diff options
context:
space:
mode:
Diffstat (limited to 'DEPENDENCIES.md')
-rw-r--r--DEPENDENCIES.md108
1 files changed, 108 insertions, 0 deletions
diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md
new file mode 100644
index 0000000..9e1b086
--- /dev/null
+++ b/DEPENDENCIES.md
@@ -0,0 +1,108 @@
+# 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 [st](https://st.suckless.org)
+  * `$EDITOR`: value is the user's terminal editor of choice, e.g [neovim](https://neovim.io)
+  * `$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)
+  * `$XDG_CONFIG_HOME`: value is the user's config directory according to the [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables), usually `$HOME/.config`
+  * `$XDG_DATA_HOME`: value is the user's data directory according to the [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables), 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/
+* popmail: populate local maildirs and notify the user if there is new mail
+  * [isync](https://isync.sourceforge.net)
+  * properly configured `$HOME/.mbsync` (One Group per email account)
+  * libnotify (notifies the user for new mail and the subject line of said mail)
+  * `$XDG_DATA_HOME`
+* comm-sel: a handy menu for spawning communication clients
+  * [irssi](https://irssi.org)
+  * [6cord](https://gitlab.com/diamondburned/6cord)
+  * [scli](https://github.com/isamert/scli)
+  * [dmenu](https://dmenu.suckless.org) (provides a menu for selecting which client to start)
+  * notify-send (notifies the user that they made an invalid choice)
+  * `$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)
+  * `$TERMINAL`
+  * `$READER`
+  * `$EDITOR`
+  * `$BROWSER`
+* prompt: makes prompting the user for particular actions easier
+  * [dmenu](https://dmenu.suckless.org)
+* pw: generates a password of variable length
+  * opt: xclip (enables pw's mode copying the generated password to the clipboard)
+  * opt: libnotify (notifies the user that the password is generated, how long the password will be kept in the clipboard for, and when the clipboard is cleared.)
+* 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)
+# config/
+* lfrc: configuration file for [lf](https://github.com/gokcehan/lf)
+  * opt: $EDITOR (viewing text files)
+  * opt: [gimp](https://gimp.org) (editing vector images)
+  * opt: [zathura](https://pwmt.org/projects/zathura) (viewing ebooks)
+  * opt: [sxiv](https://github.com/muennich/sxiv) (view images)
+  * opt: mpv (listening to audio files or viewing video files)
+  * opt: bin/lh (wildcard for opening files not detected by other MIME types)
+* shrc: shell environment, particularly for bin/shenv
+  * nvim (`$EDITOR`)
+  * lf (`$FILE`)
+  * st (`$TERMINAL`)
+  * firefox (`$BROWSER`)
+  * bin/comm-sel (`$COMM`)
+  * zathura (`$READER`)
+  * neomutt (`$MAILER`)
+  * ncmpcpp (`$MUSIC`)
+  * newsboat (`$RSS`)
+  * zsh (`$ISH` `$ZDOTDIR`)
+  * maim (`$SCR`)
+  * slock (`$LOCK`)
+  * opt: go (`$GOPATH`)
+  * opt: cargo (`$CARGO_HOME`)
+  * opt: mednafen (`$MEDNAFEN_HOME`)
+## zsh/
+configuration files for zsh
+* zshrc
+  * git (installing zplugin)
+* functions.zsh
+  * bin/pw (for pw() to work)
+* exports.zsh
+  * config/shrc (for the majority of variables set)
+  * opt: pfetch (`$PF_INFO`)
+* themes/p10k.zsh
+  * [Nerd Fonts font](https://nerdfonts.com)
+# 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
+  * [st](https://st.suckless.org)
+  * [neovim](https://neovim.io)
+* weblight.desktop
+  * [surf](https://surf.suckless.org)