A config to control your (sym)links! In mostly pure sh with as few outside bin calls as possible! -- Currently WIP
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ThatGeekyWeeb 56ee87355f linkcage finally works!!!; live detection + --help is missing currently comming next commit 12 months ago
testing linkcage finally works!!!; live detection + --help is missing currently comming next commit 12 months ago
LICENSE init 1 year ago
README shit; forgot to write 1 year ago
ex.conf still WIP 1 year ago
linkcage linkcage finally works!!!; live detection + --help is missing currently comming next commit 12 months ago

README

---
# Linkcage: a cage for your links!
- easily manage (all of) your links from a single simple config file!
- in nearly pure posix sh!
-- Additionly there are plans for multifile links!
- a feature exclusive to linkcage!
# Requires: (ONLY)
- a posix shell (bash should "count")
- ln - for creating links
- `ls -l` || puresh realpath - for readling the realpath of links
- unlink || rm - for removing your links
---
# Live Update:
live filesystem updates require daemonizing linkcage
- init service files are NOT and WILL NOT be provided
- a pr/issue may exist containing them
- if not; write one.
---
# Fallback:
- the following is done if the first util in above required section is missing

- Live changes detection (typically uses `ls -l`)
- live changes are detected using $(pshcat) and != (this will be much slower)
- in the situation that `ls -l` returns data does not match a special case
- Realpath reading will also make use of `ls -l`
- falling back to an puresh realpath
- should `ls -l /dev/null` not match the special case
- stat can also be used for this purpose
- but is not very portable (usage/flag wise) and thus not used
- symlink removal (typically uses `unlink <link>`)
- will fallback to rm if `unlink <link>` exits != 0
---
# Config - an example config can be found at $/ex.conf
- it also features some information about the multifile links
# Locations:
- ./config - highest level config; overrides all
- /etc/linkcage/config - system config; used if no others are present
- ${XDG_CONFIG_HOME:-$HOME/.config}/linkcage/config - user config; used if present
-- Custom configs; should be provided via STDIN ( linkcage < CONFIG )