go install github.com/orangekame3/ghfetch@latest
brew install orangekame3/tap/ghfetch
Download the latest compiled binaries and put it anywhere in your executable path.
ghfetch -u <your_github_account_name> --access-token=<YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>
❯ ghfetch -h
Fetch GitHub user's profile, just like neofetch
Usage:
ghfetch [flags]
Flags:
--access-token string Your GitHub access token
-c, --color string Highlight color red, green, yellow, blue, magenta, cyan (default "blue")
-h, --help help for ghfetch
-u, --user string GitHub username
-v, --version version for ghfetch
ghfetch requires a GitHub personal access token to fetch user information. You can create a personal access token by following the instructions on the GitHub documentation:
Managing your personal access tokens
Here's a GitHub Actions workflow for generating a gif image. The gif creation uses vhs
#.github/workflows/ghfetch.yml
name: Update ghfetch gif with vhs
on:
workflow_dispatch:
schedule:
- cron: '0 */6 * * *' # every 6 hours
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: '1.21'
- name: Install latest ttyd
run: |
wget https://github.com/tsl0922/ttyd/releases/download/1.7.4/ttyd.x86_64
chmod +x ttyd.x86_64
sudo mv ttyd.x86_64 /usr/local/bin/ttyd
ttyd --version
- name: Install ffmpeg
run: |
sudo apt update
sudo apt install -y ffmpeg
- name: Install vhs and ghfetch
run: |
go install github.com/orangekame3/ghfetch@latest
go install github.com/charmbracelet/vhs@latest
- name: Generate ghfetch gif with vhs
run: |
export GITHUB_TOKEN=${{ secrets.GH_PAT }}
vhs < img/demo.tape
- name: Commit and push if there are changes
run: |
git add img/demo.gif
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git commit -m "Update ghfetch gif with vhs" -a || echo "No changes to commit"
git push
To make this work, create a secret named GH_PAT
in your repository settings with your GitHub personal access token.
Next, add a file named img/demo.tape to your repository.
# img/demo.tape
# VHS documentation
Output img/demo.gif
Set Margin 20
Set MarginFill "#674EFF"
Set BorderRadius 10
Set FontSize 32
Set Width 1500
Set Height 1000
Sleep 500ms
Type "ghfetch -u orangekame3 --access-token=$GITHUB_TOKEN" Sleep 1000ms Enter
Sleep 10s
Once set up, triggering the workflow will generate and display the gif image at img/demo.gif in your profile README repository.
For creating and managing a profile README, refer to this GitHub documentation:
To showcase the gif in your profile README, simply reference the gif from your profile README managing repository:
See more examples in my profile README
ghfetch
is licensed under the MIT License - see the LICENSE file for details.