Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rubixdev/pixfetch

Another fetch program with pixelized images written in Rust
https://github.com/rubixdev/pixfetch

ansi-colors cli fetch linux pixel-art rust system-information unicode

Last synced: 3 months ago
JSON representation

Another fetch program with pixelized images written in Rust

Awesome Lists containing this project

README

        

# pixfetch
Another fetch program with pixelized images written in Rust

![screenshot with default config](https://raw.githubusercontent.com/RubixDev/pixfetch/master/screenshots/default.png)
![screenshot with custom config](https://raw.githubusercontent.com/RubixDev/pixfetch/master/screenshots/custom.png)

## Configuration
pixfetch can be configured using a config file in `$XDG_CONFIG_HOME/pixfetch/config.toml` or when `$XDG_CONFIG_HOME` is not set in `$HOME/.config/pixfetch/config.toml`. To see all options you can have a look at the [default configuration file](https://github.com/RubixDev/pixfetch/blob/master/src/default_config.toml).

Additionally, all configuration can also be overridden with flags from the command line. To see those options run `pixfetch --help` or `pixfetch -h` for shorter descriptions.

## Installation
### Arch Linux
On Arch Linux pixfetch can be installed through the AUR with a helper like `paru` or `yay`:
```bash
paru -S pixfetch
```

### Cargo
In case you do not need the man page and shell completion scripts you can also install pixfetch through `cargo`:
```bash
cargo install pixfetch
```

### Manual
#### Binary releases
##### 0. Setup
You can set these variables beforehand to be able to just copy below commands (edit the values accordingly):
```bash
version=1.0.0
platform=x86_64-unknown-linux-musl
```

##### 1. Download
Download the latest release for your platform from the [releases page](https://github.com/RubixDev/pixfetch/releases). In case there is no suitable download option for you, please [open an issue](https://github.com/RubixDev/pixfetch/issues/new):
```bash
wget https://github.com/RubixDev/pixfetch/releases/download/v$version/pixfetch-$version-$platform.tar.gz
```

##### 2. Extract the downloaded archive:
```bash
tar -xvf pixfetch-$version-$platform.tar.gz
```
and open the directory:
```bash
cd pixfetch-$version-$platform
```

##### 3. Copy the files to their respective places:
```bash
sudo install -Dm755 pixfetch /usr/bin/pixfetch
sudo install -Dm644 README.md /usr/share/doc/pixfetch/README.md
sudo install -Dm644 LICENSE /usr/share/licenses/pixfetch/LICENSE
sudo install -Dm644 doc/pixfetch.1.gz /usr/share/man/man1/pixfetch.1.gz
sudo install -Dm644 completion/_pixfetch /usr/share/zsh/site-functions/_pixfetch
sudo install -Dm644 completion/pixfetch.bash /usr/share/bash-completion/completions/pixfetch
sudo install -Dm644 completion/pixfetch.fish /usr/share/fish/vendor_completions.d/pixfetch.fish
```

> Note: For bash completion make sure you have [`bash-completion`](https://github.com/scop/bash-completion) installed

#### From source
##### 1. Clone the repository:
```bash
git clone https://github.com/RubixDev/pixfetch.git
```

##### 2. Compile the binary:
```bash
cargo build --release
```

##### 3. Copy the binary, README and LICENSE
```bash
sudo install -Dm755 "${CARGO_TARGET_DIR:-target}/release/pixfetch" /usr/bin/pixfetch
sudo install -Dm644 README.md /usr/share/doc/pixfetch/README.md
sudo install -Dm644 LICENSE /usr/share/licenses/pixfetch/LICENSE
```

##### 4. Locate the output directory:
This is where the generated man page and shell completion scripts are located. The location of that folder was logged while building the binary. Alternatively you can use following command:
```bash
find "${CARGO_TARGET_DIR:-target}/release" -name pixfetch.1 -print0 | xargs -0 ls -t | head -n1 | xargs dirname
```

You can then open that directory using `cd`.

##### 5. Copy the generated file to their respective locations
```bash
gzip pixfetch.1
sudo install -Dm644 pixfetch.1.gz /usr/share/man/man1/pixfetch.1.gz
sudo install -Dm644 _pixfetch /usr/share/zsh/site-functions/_pixfetch
sudo install -Dm644 pixfetch.bash /usr/share/bash-completion/completions/pixfetch
sudo install -Dm644 pixfetch.fish /usr/share/fish/vendor_completions.d/pixfetch.fish
```

> Note: For bash completion make sure you have [`bash-completion`](https://github.com/scop/bash-completion) installed