duncan­lock­.net

Thanks, Zachary Yedidia (zyedidia)!

Open source developers are often the unsung heroes of the technology world, creating & maintaining the software that powers our digital lives. Sadly, their contributions often go unnoticed, but without their dedication and expertise, much of the software & digital infrastructure what we take for granted today wouldn’t exist.

I want to recognize the brilliant work of one developer and express my gratitude to them for making the world a better place through open source.

Zachary Yedidia / zyedidia

GitHub Profile

Avatar
GitHub Profile

These are the projects of theirs that I love & use the most:

eget

Easily install prebuilt binaries from GitHub.

Most of the software on my machine comes from the systems package manager, and is automatically kept up to date. The problems with this, is that packages in the system repositories are deliberately stable - and not kept up to date with the latest changes; system repos also don’t contain newly released software.

That leaves a small collection of software that is either too new - or I want a newer version of - that I need to install & update manually.

That stuff is often on GitHub - and if you want it, you need to download it and put it in your ~/bin folder yourself - and keep it updated yourself too.

Eget is a great, simple way to automate that.

I have a little ~/bin/update-eget.sh script, that’s included in my larger ~/bin/update-system.sh, that updates all those things to their latest available version:

#!/usr/bin/env bash

cd ~/bin || exit

# Token is in ~/.config/eget/eget.toml

echo -e "\nUpdating eget..."
eget zyedidia/eget

echo -e "\nUpdating micro..."
eget zyedidia/micro --asset static
echo -e "\nUpdating pandoc..."
eget jgm/pandoc
echo -e "\nUpdating fzf..."
eget junegunn/fzf
echo -e "\nUpdating eza..."
eget eza-community/eza --asset musl.tar.gz
echo -e "\nUpdating starship..."
eget starship/starship --asset ^musl
echo -e "\nUpdating bat..."
eget sharkdp/bat --asset ^musl
echo -e "\nUpdating btop..."
eget aristocratos/btop
echo -e "\nUpdating duf..."
eget muesli/duf --asset x86_64.tar.gz
echo -e "\nUpdating caddy..."
eget caddyserver/caddy --asset amd64.tar.gz --asset ^.sig
echo -e "\nUpdating vale..."
eget errata-ai/vale --asset 64-bit.tar
echo -e "\nUpdating lapce..."
eget lapce/lapce --asset Lapce-linux.tar.gz
echo -e "\nUpdating pdftilecut..."
eget oxplot/pdftilecut
echo -e "\nUpdating tealdeer..."
eget dbrgn/tealdeer
echo -e "\nUpdating broot..."
eget Canop/broot --file=x86_64-linux/broot
echo -e "\nUpdating pdfcpu..."
eget pdfcpu/pdfcpu

# These ones always update, regardless
echo -e "\nUpdating cascadia-code font..."
eget microsoft/cascadia-code --file=ttf/*.ttf --all --to ~/.fonts
echo -e "\nUpdating rg..."
eget BurntSushi/ripgrep
echo -e "\nUpdating rclone..."
sudo /home/duncan/bin/eget rclone/rclone --asset amd64.zip --to /usr/bin

Here’s what my eget config file (~/.config/eget/eget.toml) looks like:

[global]
target = "~/bin"
upgrade_only = true
github_token = "ghp_..."

micro

A modern and intuitive terminal-based text editor

Micro is my command line/terminal editor of choice. I can’t say enough good things about it - it’s simple, fast, has good syntax highlighting, line numbers, Unicode support, soft wrapping - and supports all the normal editing hotkeys out of the box: Ctrl+x,c,v for Cut, Copy & Paste, Ctrl+s for Save, Ctrl+z undo!

Put this in your .bashrc and never look back:

export EDITOR=micro
export MICRO_TRUECOLOR=1

It’s written in Go and comes as a single static binary that you can just download to anywhere and just run. It’s completely replaced nano & vi and is the only cli editor that I use. If you’re editing in a terminal, you should use micro.


Related Posts