[](https://travis-ci.org/rappet/pathfix)
# PathFIX
Fixes the PATH variable mess.
Pathfix is a tool to generate the `$PATH` variable from configuration files.
In most cases you don't even need do edit the configuration,
because it comes with an included set of paths which will
be checked for existence and added on demand.
## Documentation
See `pathfix(1)` and `pathfix.toml(5)`
## Install
### From Binary
Install the binary from the release to `/usr/local/bin` or any other path and
execute Pathfix from and `.bashrc`, `.zshrc`, `.profile` or a similar file:
```shell script
# .bashrc/.zshrc/.profile/...
export PATH=$(/usr/local/bin/pathfix -D)
```
### With `dpkg`
Download the `.deb` package and install it:
```shell script
# dpkg -i pathfix_${VERSION}_amd64.deb
```
and execute `pathfix` as described above:
```shell script
# .bashrc/.zshrc/.profile/...
export PATH=$(/usr/bin/pathfix -D)
```
### Install with `cargo install`
```shell script
$ cargo install pathfix
```
### Build from source
clone the repo, compile it and install it:
```bash
cargo build --release
sudo cp target/release/pathfix /usr/local/bin/
```
## Configuration
You can edit the default configuration at `/etc/pathfix.toml`
or add your own paths to `~/.pathfix.toml`:
```toml
# ~/.pathfix.toml
# Paths to check if they are present and to add
paths = [
"~/mybin"
]
# Overwrite or add environment variables which will be used
# when the $PATH will be build.
[env]
GOROOT = "/usr/local/go"
GOPATH = "/home/rappet/prog/go"
```
## CLI arguments
```
USAGE:
pathfix [FLAGS] <--from-env|--included|--defaults>
FLAGS:
-d, --dedup Deduplicates the path
-D, --defaults Use recommended flags -des. Either -D, -e or -s must be set
-e, --from-env Includes path's from $PATH in environment
-h, --help Prints help information
-i, --included Searches included path's using inbuild configuration
-l, --lines Outputs line by line instead of the default colon seperated list
-V, --version Prints version information
```