X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/xdg-ninja.git/blobdiff_plain/50eb373303465dccdea8fe15e977d45d8fc4b79e..a0c13c19b8deb711deafaaaa0d2dec1d5dea0e31:/README.md diff --git a/README.md b/README.md index 44748d1..81efa9b 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,30 @@ A shell script which checks your _$HOME_ for unwanted files and directories. +

+ +

+ 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 + +- [bash](https://repology.org/project/bash/packages), obviously +- [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 +- [cabal](https://repology.org/project/cabal/packages) for compiling the helper program for creating configurations + ## Configuration The configuration is done in the _programs/_ directory. @@ -19,7 +41,20 @@ If this is the case, you also specify instructions on how to accomplish this in Files in this directory can have any name, but using the name of the program is encouraged. -### Example +### Automatically Generating Configuration + +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 bash to run the tests) + +Run the following command: +```bash +cabal build +``` + +You should now have a binary which you can run. You'll find it in somewhere in _dist-newstyle/build_, for example in _dist-newstyle/build/x86_64-linux/ghc-9.0.2/add-program-0.1.0.0/x/add-program/build/add-program/add-program_. + +Execute this binary in this directory. It will guide you through the process. + +### Manually We're going to use _git_ as an example.