]> glassweightruler.freedombox.rocks Git - xdg-ninja.git/blobdiff - README.md
Added PCManFM, updated GIMP (#347)
[xdg-ninja.git] / README.md
index 9070615985ca8a636ed57329fe3e1774cdc8accc..9af8c772bbc41e40a5b95afc89b7fd97b9fbef0e 100644 (file)
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
 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"/>
+  <img src="https://s11.gifyu.com/images/68747470733a2f2f73382e67696679752e636f6d2f696d616765732f5065656b2d323032322d30352d31332d31362d30372e676966.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.
@@ -15,14 +15,28 @@ The configurations are from the [arch wiki page on XDG_BASE_DIR](https://wiki.ar
 
 ## Running
 
+### Using nix
+
+If you're using [nix](https://nixos.org) and have flakes turned on, you can just run the following command:
+```sh
+nix run github:b3nj5m1n/xdg-ninja
+```
+
+### Cloning Manually
+
 Clone the repository somewhere, then run the _./xdg-ninja.sh_ script.
 
 This will run every test in the default configuration.
 
+### Installing with Homebrew
+
+To install xdg-ninja with [Homebrew](https://brew.sh), run `brew install xdg-ninja` to install the script and all of its dependencies, then run the `xdg-ninja` command.
+
 ## 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
+- [find](https://repology.org/project/findutils/versions)
 
 ### Optional
 
@@ -30,7 +44,7 @@ This will run every test in the default configuration.
 
 ## Configuration
 
-The configuration is done in the _programs/_ directory.
+The configuration is done in the _programs/_ directory, which should be located in the same working directory as the xdg-ninja.sh script. This can be overriden with the `XN_PROGRAMS_DIR` environment variable.
 
 You define a program, and then a list of files and directories which this program ruthlessly puts into your _$HOME_ directory.
 
@@ -42,15 +56,23 @@ Files in this directory can have any name, but using the name of the program is
 
 ### Automatically Generating Configuration
 
-You can download the _xdgnj_ executable from the releases page. Alternatively you can build it from scratch using _cabal_, _stack_, or the provided docker image in _build/_. (To be clear, this is just a tool that will help you automatically generate the config files, you still only need your shell to run the tests)
+You can download the _xdgnj_ executable from the releases page. Alternatively, you can use the nix flake or build it from scratch using _cabal_, _stack_, or the provided docker image in _build/_. (To be clear, this is just a tool that will help you automatically generate the config files, you still only need your shell to run the tests)
 
 Available commands:
 ```sh
 xdgnj add # Adds a new configuration
 xdgnj prev programs/FILE.json # Preview the configuration for a program
+xdgnj edit programs/FILE.json # Edit the configuration for a program
 xdgnj run # Mostly the same as running the shell script
 ```
 
+#### Using nix
+
+If you're using [nix](https://nixos.org) and have flakes turned on, you can just run the following command:
+```sh
+nix run github:b3nj5m1n/xdg-ninja#xdgnj-bin ...
+```
+
 #### Building from scratch
 
 You can use `cabal build`, `stack build`, or the provided dockerfile in _build/_.
@@ -102,4 +124,4 @@ Now, we can assemble our final json file:
 
 Saving this as _git.json_ in the _programs/_ directory will result in the script picking it up and checking the file.
 
-If you've created a configuration for a file that isn't in the offical repository yet, make sure to create a pull request so that other people can benefit from it as well.
+If you've created a configuration for a file that isn't in the official repository yet, make sure to create a pull request so that other people can benefit from it as well.