]> glassweightruler.freedombox.rocks Git - xdg-ninja.git/blobdiff - README.md
fixed shellcheck warning
[xdg-ninja.git] / README.md
index e0166d74ca9b7d536b85dbfa1a46b3b461e83dbc..d97b7e83db37051324de0d2d9bdfde8d7b106aae 100644 (file)
--- a/README.md
+++ b/README.md
@@ -5,10 +5,30 @@
 
 A shell script which checks your _$HOME_ for unwanted files and directories.
 
+<p align="center">
+  <img src="https://s8.gifyu.com/images/Peek-2022-05-13-16-07.gif" width="500"/>
+</p>
+
 When it encounters a file it knows about, it will tell you whether it's possible to move this file to an appropriate location, and how to do it.
 
 Currently, a subset of the [arch wiki page on XDG_BASE_DIR](https://wiki.archlinux.org/title/XDG_Base_Directory) is implemented as configurations.
 
+## Running
+
+Clone the repository somewhere, then run the _./xdg-ninja.sh_ script.
+
+This will run every test in the default configuration.
+
+## Dependencies
+
+- your favorite POSIX-compliant shell ([bash](https://repology.org/project/bash/packages), [zsh](https://repology.org/project/zsh/packages), [dash](https://repology.org/project/dash-shell/packages), ...)
+- [jq](https://repology.org/project/jq/packages) for parsing the json files
+
+### Optional
+
+- [glow](https://repology.org/project/glow/packages) for rendering markdown in the terminal ([bat](https://repology.org/project/bat-cat/packages) can be used as a fallback, but glows output is clearer and therefore recommended)
+- [cabal](https://repology.org/project/cabal/packages) for compiling the helper program for creating configurations
+
 ## Configuration
 
 The configuration is done in the _programs/_ directory.
@@ -23,10 +43,10 @@ Files in this directory can have any name, but using the name of the program is
 
 ### Automatically Generating Configuration
 
-You need _haskell_ and _cabal_ installed.
+You need _haskell_ and _cabal_ installed. (To be clear, this is just for a tool that will help you automatically generate the config files, you still only need your shell to run the tests)
 
 Run the following command:
-```bash
+```sh
 cabal build
 ```
 
@@ -43,13 +63,13 @@ It puts the file _.gitconfig_ into _$HOME.
 Luckily, the XDG spec is supported by git, so we can simply move the file to _XDG_CONFIG_HOME/git/config_.
 
 We can use that last sentence as our instructions. In this case, there are no newlines, so escaping this string for use in json is trivial, however, this is how you should generally approach it:
-```bash
+```sh
 echo "Luckily, the XDG spec is supported by git, so we can simply move the file to _XDG_CONFIG_HOME/git/config_." | jq -aRs .
 ```
 
 Let's see what the output of this command looks like for something a little more sophisticated.
 Here's an example file:
-```bash
+```sh
 cat example.md
 ```
 ```
@@ -58,7 +78,7 @@ Currently not fixable.
 _(But you can probably just delete the dir)_
 ```
 Here's what catting this file to the _jq_ command produces:
-```bash
+```sh
 cat example.md | jq -aRs .
 ```
 ```