summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Gerace <nickagerace@gmail.com>2022-04-23 14:46:28 -0400
committerNick Gerace <nickagerace@gmail.com>2022-05-10 12:44:33 -0400
commite2de9e9e6588d1931b0ef56c09999b2b4aff1d13 (patch)
tree27f77d225170a0822ae1675b521120437fb1faac
parent445223c7354bcb449638c621b205d926be42ee0a (diff)
downloadgfold-e2de9e9e6588d1931b0ef56c09999b2b4aff1d13.zip
Update to 4.0.0
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
-rw-r--r--CHANGELOG.md22
-rw-r--r--Cargo.lock70
-rw-r--r--Cargo.toml2
-rw-r--r--README.md125
-rw-r--r--docs/THANKS.md2
5 files changed, 121 insertions, 100 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2aada48..fc44951 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,15 +7,24 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
## [Unreleased]
-<!-- The latest version contains all changes. -->
+The latest version contains all changes.
+
+### [4.0.0] - 2022-05-10
### Added
- [Bors](https://bors.tech/) to avoid merge skew / semantic merge conflicts
- Color mode option with the following choices: "always", "compatibility" and "never"
+ - "always": display with rich colors (default)
+ - "compatibility": display with portable colors
+ - "never": display with no color
+- Display flag with the following choices: "standard" (or "default"), "json" and "classic"
+ - "standard" (or "default") and "classic" output options return from the previous release
+ - "json" output is a new option that displays all results in valid JSON, which is useful for third party applications, plugins, parsers, etc.
- Documentation comments almost everywhere for `cargo doc`
- [git2-rs](https://github.com/rust-lang/git2-rs), which replaces `git` subcommand usage
- - Even though `git` subcommands were used over **git2-rs** to reduce binary size, significant speed increases could only be achieved by using the latter.
+ - Even though `git` subcommands were used over **git2-rs** to reduce binary size, significant speed increases could only be achieved by using the latter
+ - More consistent behavior since git2-rs can be tested at a locked version
- JSON output flag for both version and results printing
- Troubleshooting section to CLI help
- Troubleshooting section to README for using `RUST_LOG` and `RUST_BACKTRACE`
@@ -29,11 +38,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Module layout
- `display` now contains its child, `color`
- `report` now contains its child, `target`
- - `target` is a new submodule of `display` since they are within the same bounded context, but the former is a subdomain of the latter.
- - `color` now uses a harness rather than individual functions.
- Grey color default to avoid a bug where the `stdout` color is not refreshed within `tmux` when using macOS `Terminal.app`
- Testing for the entire crate
- - All tests have been replaced in favor on one integration test.The old tests relied on developer's environment, which is highly variable. The new test creates multiple files, directories, and repositories in the `target` directory to simulate an actual development environment.
+ - All tests have been replaced in favor on one integration test
+ - The old tests relied on developer's environment, which is highly variable
+ - The new test creates multiple files, directories, and repositories in the `target` directory to simulate an actual development environment
+- The `color` module now uses a harness rather than individual functions
### Removed
@@ -45,6 +55,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
### Notes
- Substantial performance gains should be noticeable in certain scenarios
+ - Observed range in _loose_ benchmarking "real world" usage: ~1.2x to ~5.1x faster than `gfold 3.0.0` on macOS 12.3.1
+ - Binary size has increased, but speed has taken priority for this release
- Using `RUST_LOG` and `RUST_BACKTRACE` should be more helpful when debugging unexpected output, performance or suspected bugs
### [3.0.0] - 2022-01-06
diff --git a/Cargo.lock b/Cargo.lock
index d9cf78d..5c441fa 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -213,7 +213,7 @@ dependencies = [
[[package]]
name = "gfold"
-version = "4.0.0-rc.4"
+version = "4.0.0"
dependencies = [
"anyhow",
"argh",
@@ -237,9 +237,9 @@ checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4"
[[package]]
name = "git2"
-version = "0.14.2"
+version = "0.14.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3826a6e0e2215d7a41c2bfc7c9244123969273f3476b939a226aac0ab56e9e3c"
+checksum = "5e77a14ffc6ba4ad5188d6cf428894c4fcfda725326b37558f35bb677e712cec"
dependencies = [
"bitflags",
"libc",
@@ -306,15 +306,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.124"
+version = "0.2.125"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21a41fed9d98f27ab1c6d161da622a4fa35e8a54a8adc24bbf3ddd0ef70b0e50"
+checksum = "5916d2ae698f6de9bfb891ad7a8d65c09d232dc58cc4ac433c7da3b2fd84bc2b"
[[package]]
name = "libgit2-sys"
-version = "0.13.2+1.4.2"
+version = "0.13.3+1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a42de9a51a5c12e00fc0e4ca6bc2ea43582fc6418488e8f615e905d886f258b"
+checksum = "c24d36c3ac9b9996a2418d6bf428cc0bc5d1a814a84303fc60986088c5ed60de"
dependencies = [
"cc",
"libc",
@@ -324,9 +324,9 @@ dependencies = [
[[package]]
name = "libz-sys"
-version = "1.1.5"
+version = "1.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f35facd4a5673cb5a48822be2be1d4236c1c99cb4113cab7061ac720d5bf859"
+checksum = "92e7e15d7610cce1d9752e137625f14e61a28cd45929b6e12e47b50fe154ee2e"
dependencies = [
"cc",
"libc",
@@ -336,9 +336,9 @@ dependencies = [
[[package]]
name = "log"
-version = "0.4.16"
+version = "0.4.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
dependencies = [
"cfg-if",
]
@@ -351,9 +351,9 @@ checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
[[package]]
name = "memchr"
-version = "2.4.1"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
[[package]]
name = "memoffset"
@@ -385,9 +385,9 @@ dependencies = [
[[package]]
name = "object"
-version = "0.28.3"
+version = "0.28.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456"
+checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424"
dependencies = [
"memchr",
]
@@ -406,9 +406,9 @@ checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
[[package]]
name = "proc-macro2"
-version = "1.0.37"
+version = "1.0.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1"
+checksum = "9027b48e9d4c9175fa2218adf3557f91c1137021739951d4932f5f8268ac48aa"
dependencies = [
"unicode-xid",
]
@@ -486,18 +486,18 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]]
name = "serde"
-version = "1.0.136"
+version = "1.0.137"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789"
+checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.136"
+version = "1.0.137"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9"
+checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be"
dependencies = [
"proc-macro2",
"quote",
@@ -506,9 +506,9 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.79"
+version = "1.0.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95"
+checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c"
dependencies = [
"itoa",
"ryu",
@@ -517,9 +517,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "1.0.91"
+version = "1.0.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d"
+checksum = "04066589568b72ec65f42d65a1a52436e954b168773148893c020269563decf2"
dependencies = [
"proc-macro2",
"quote",
@@ -537,18 +537,18 @@ dependencies = [
[[package]]
name = "thiserror"
-version = "1.0.30"
+version = "1.0.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417"
+checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.30"
+version = "1.0.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b"
+checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a"
dependencies = [
"proc-macro2",
"quote",
@@ -557,9 +557,9 @@ dependencies = [
[[package]]
name = "tinyvec"
-version = "1.5.1"
+version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
dependencies = [
"tinyvec_macros",
]
@@ -581,9 +581,9 @@ dependencies = [
[[package]]
name = "unicode-bidi"
-version = "0.3.7"
+version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f"
+checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
[[package]]
name = "unicode-normalization"
@@ -602,9 +602,9 @@ checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
[[package]]
name = "unicode-xid"
-version = "0.2.2"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
+checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04"
[[package]]
name = "url"
diff --git a/Cargo.toml b/Cargo.toml
index b132189..d505085 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -10,7 +10,7 @@ readme = "README.md"
repository = "https://github.com/nickgerace/gfold/"
edition = "2021"
-version = "4.0.0-rc.4"
+version = "4.0.0"
[dependencies]
anyhow = { version = "1", features = ["backtrace"] }
diff --git a/README.md b/README.md
index f0ae162..74eafa8 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,10 @@
# gfold
-[![build](https://img.shields.io/github/workflow/status/nickgerace/gfold/merge/main?style=flat-square&logo=github&logoColor=white)](https://github.com/nickgerace/gfold/actions?query=workflow%3Amerge+branch%3Amain)
-[![tag](https://img.shields.io/github/v/tag/nickgerace/gfold?sort=semver&logo=git&logoColor=white&label=version&style=flat-square&color=silver)](https://github.com/nickgerace/gfold/releases/latest)
-[![crates.io](https://img.shields.io/crates/v/gfold?style=flat-square&logo=rust&color=orange)](https://crates.io/crates/gfold)
-[![arch linux](https://img.shields.io/archlinux/v/community/x86_64/gfold?logo=archlinux&logoColor=white&style=flat-square&color=blue)](https://archlinux.org/packages/community/x86_64/gfold/)
+[![latest release tag](https://img.shields.io/github/v/tag/nickgerace/gfold?sort=semver&logo=git&logoColor=white&label=version&style=flat-square&color=blue)](https://github.com/nickgerace/gfold/releases/latest)
+[![crates.io version](https://img.shields.io/crates/v/gfold?style=flat-square&logo=rust&color=orange)](https://crates.io/crates/gfold)
[![license](https://img.shields.io/github/license/nickgerace/gfold?style=flat-square&logo=apache&color=silver)](./LICENSE)
-[![Bors enabled](https://bors.tech/images/badge_small.svg)](https://app.bors.tech/repositories/42509)
-
-> This **README** is for users building from `main` in anticipation of `gfold 4.0.0`.
-> Since `gfold 4.0.0` has not yet been released, contents of this **README** may be inapplicable to your version of `gfold`.
->
-> For the latest, full release (`gfold 3.0.0`), please refer to the [**README** most closely corresponding to it (`92e976b207`)](https://github.com/nickgerace/gfold/blob/92e976b207d7c1074bb87432e0e6ca3cd6575cf3/README.md).
+[![build status](https://img.shields.io/github/workflow/status/nickgerace/gfold/merge/main?style=flat-square&logo=github&logoColor=white)](https://github.com/nickgerace/gfold/actions?query=workflow%3Amerge+branch%3Amain)
+[![bors enabled](https://bors.tech/images/badge_small.svg)](https://app.bors.tech/repositories/42509)
`gfold` is a CLI-driven application that helps you keep track of multiple Git repositories.
@@ -39,22 +33,16 @@ Use `-d classic`.
```
% gfold -d classic
-astrid unclean main git@github.com:db/astrid.git
-fev bare main none
-gb unpushed dev https://github.com/hrothgar/gb.git
-neloth unclean patch git@github.com:telvanni/neloth.git
-pam clean main https://github.com/onc/pam.git
-prime clean issue2287 git@github.com:bos/prime.git
+another-day unclean main git@github.com:motm3/another-day.git
+beautiful-trip bare dev none
+damaged unpushed dev https://github.com/motm3/damaged.git
+dive unclean patch git@github.com:motm3/dive.git
+solo-dolo clean main https://github.com/motm3/solo-dolo.git
+tpm clean issue15 git@github.com:motm3/the-pale-moonlight.git
```
If you'd prefer to use the classic display mode by default, and avoid setting the flag every time, you can set it in the config file (see **Usage** section).
-## Upcoming Release
-
-The next version of `gfold` will be `gfold 4.0.0`.
-While it might seem odd to bump the major version field so soon, user feedback and feature requests have been front and center for the next release, and setting up `gfold` for the future requires bumping that field.
-This **README** reflects changes in between the latest release (`gfold 3.0.0`) and the next release (`gfold 4.0.0`).
-
## Description
This app displays relevant information for multiple Git repositories in one to many directories.
@@ -110,7 +98,7 @@ display_mode = 'Classic'
color_mode = 'Never'
```
-Let's say you created a config file, but wish to execute `gfold` with entirely different settings _and_ you want to ensure that
+Let's say you created a config file, but wanted to execute `gfold` with entirely different settings _and_ you want to ensure that
you do not accidentally inherit options from the config file.
In that scenario you can ignore your config file by using the `-i` flag.
@@ -118,6 +106,20 @@ In that scenario you can ignore your config file by using the `-i` flag.
gfold -i
```
+You can restore the config file to its defaults by using the same flag.
+
+```shell
+gfold -i > $HOME/.config/gfold.toml
+```
+
+In addition, you can ignore the existing config file, configure specific options, and use defaults for unspecified options all at once.
+Here is an example where we want to use the classic display mode and override all other settings with their default values:
+
+```shell
+gfold -i -d classic > $HOME/.config/gfold.toml
+```
+
+
You can back up a config file and track its history with `git`.
On macOS, Linux, and most systems, you can link the file back to a `git` repository.
@@ -131,7 +133,9 @@ Now, you can update the config file within your repository and include the linki
[![Packaging status](https://repology.org/badge/vertical-allrepos/gfold.svg)](https://repology.org/project/gfold/versions)
-**macOS users:** you can use [Homebrew](https://brew.sh) to install the [tap](https://github.com/nickgerace/homebrew-nickgerace/blob/main/Formula/gfold.rb).
+### Homebrew Install (macOS only)
+
+You can use [Homebrew](https://brew.sh) to install the [tap](https://github.com/nickgerace/homebrew-nickgerace/blob/main/Formula/gfold.rb).
```shell
brew install nickgerace/nickgerace/gfold
@@ -139,27 +143,27 @@ brew install nickgerace/nickgerace/gfold
_Note:_ the tap may not work with [Linuxbrew](https://docs.brew.sh/Homebrew-on-Linux).
-**Arch Linux users:** you can use [pacman](https://wiki.archlinux.org/title/Pacman) to install `gfold` from the [community repository](https://archlinux.org/packages/community/x86_64/gfold/).
+### Arch Linux
-```shell
-pacman -S gfold
-```
+[![arch linux](https://img.shields.io/archlinux/v/community/x86_64/gfold?logo=archlinux&logoColor=white&style=flat-square&color=blue)](https://archlinux.org/packages/community/x86_64/gfold/)
-If you'd like the [development (VCS) package](https://aur.archlinux.org/packages/gfold-git/), you can install it from the AUR.
+You can use [pacman](https://wiki.archlinux.org/title/Pacman) to install `gfold` from the [community repository](https://archlinux.org/packages/community/x86_64/gfold/).
```shell
-paru -S gfold-git
+pacman -S gfold
```
-_Note:_ the above example uses [paru](https://github.com/Morganamilo/paru), which is an [AUR helper](https://wiki.archlinux.org/index.php/AUR_helpers) used to install packages from the AUR.
+### Nix and NixOS
-**Nix and NixOS users:** you can install `gfold` from [nixpkgs](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/version-management/git-and-tools/gfold/default.nix):
+You can install `gfold` from [nixpkgs](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/version-management/git-and-tools/gfold/default.nix):
```shell
-nix-env --install ripgrep
+nix-env --install gfold
```
-**Rust developers and Cargo users:** you can use [cargo](https://crates.io) to install the [crate](https://crates.io/crates/gfold) on almost any platform.
+### Cargo Install
+
+You can use [cargo](https://crates.io) to install the [crate](https://crates.io/crates/gfold) on almost any platform.
```shell
cargo install gfold
@@ -172,16 +176,14 @@ cargo install cargo-update
cargo install-update -a
```
-**Build and install from source:** if you want to install from source, and not from [crates.io](https://crates.io/crates/gfold), you can clone the repository and build `gfold`.
+### Download a Binary
-```shell
-(
- git clone https://github.com/nickgerace/gfold.git
- cargo install --locked --path gfold
-)
-```
+If you do not want to use one of the above installation methods and do not want to clone the repository, you can download a binary from the [releases](https://github.com/nickgerace/gfold/releases) page.
+
+#### Downloading and Installing the Binary
-**Download a binary:** if you do not want to use one of the above installation methods, you can download a binary from the [releases](https://github.com/nickgerace/gfold/releases) page.
+If you would prefer to use a convenience script over downloading directly from the aforementioned releases page, we have one!
+You can execute the installation helper script on a compatible system with `bash` installed (e.g. macOS and Linux).
```shell
curl -s https://raw.githubusercontent.com/nickgerace/gfold/main/scripts/install.sh | bash
@@ -190,7 +192,9 @@ curl -s https://raw.githubusercontent.com/nickgerace/gfold/main/scripts/install.
_Note:_ the installation convenience script _does not verify the binary with a checksum_.
Discretion is advised, including downloading and reading the script before execution.
-To uninstall `gfold` fully, after using this installation method, execute the following script:
+#### Uninstalling the Downloaded Binary
+
+To uninstall `gfold` fully after using the above installation method, execute the following script:
```shell
curl -s https://raw.githubusercontent.com/nickgerace/gfold/main/scripts/uninstall.sh | bash
@@ -198,7 +202,20 @@ curl -s https://raw.githubusercontent.com/nickgerace/gfold/main/scripts/uninstal
The uninstall script can also be used for cleanup in the event of a failed install.
-**Preferred package manager not listed:** please [file an issue](https://github.com/nickgerace/gfold/issues/new/choose)!
+### Build From Source Locally
+
+If you want to install from source locally, and not from [crates.io](https://crates.io/crates/gfold), you can clone the repository and build `gfold`.
+
+```shell
+(
+ git clone https://github.com/nickgerace/gfold.git
+ cargo install --locked --path gfold
+)
+```
+
+### Preferred Installation Method Not Listed?
+
+Please [file an issue](https://github.com/nickgerace/gfold/issues/new)!
## Compatibility
@@ -226,17 +243,9 @@ alias gfld=$HOME/.cargo/bin/gfold
For more information and thanks to contributors, users, and the "community" at large, please refer to the **[THANKS](./docs/THANKS.md)** file.
-### Projects
-
-- [nvim-gfold.lua](https://github.com/AckslD/nvim-gfold.lua), a `neovim` plugin for `gfold` *([announcement Reddit post](https://www.reddit.com/r/neovim/comments/t209wy/introducing_nvimgfoldlua/))*
-
-### Articles
-
-- ["One Hundred Rust Binaries"](https://www.wezm.net/v2/posts/2020/100-rust-binaries/page2/), which featured `gfold`
-
-### Packaging
-
-- [Arch Linux community repository](https://archlinux.org/packages/community/x86_64/gfold/) for the `gfold` package
-- [nixpkgs](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/version-management/git-and-tools/gfold/default.nix) for the `gfold` package
-- [AUR](https://github.com/orhun/PKGBUILDs) for the `gfold-git` (VCS/development) package
- - In the past, this included the `gfold` and `gfold-bin` packages as well, they those have been deprecated in favor of the official community repository package above
+Name | Type | Description
+--- | --- | ---
+[Arch Linux community repository](https://archlinux.org/packages/community/x86_64/gfold/) | packaging | the `gfold` package _(note: before moving to the community repository, the [AUR](https://github.com/orhun/PKGBUILDs) was previously used for distribution)_
+["One Hundred Rust Binaries"](https://www.wezm.net/v2/posts/2020/100-rust-binaries/page2/) | article | featured `gfold`
+[nixpkgs](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/version-management/git-and-tools/gfold/default.nix) | packaging | the `gfold` package
+[nvim-gfold.lua](https://github.com/AckslD/nvim-gfold.lua) | project | a `neovim` plugin for `gfold` *([announcement Reddit post](https://www.reddit.com/r/neovim/comments/t209wy/introducing_nvimgfoldlua/))*
diff --git a/docs/THANKS.md b/docs/THANKS.md
index cf1a526..b112f46 100644
--- a/docs/THANKS.md
+++ b/docs/THANKS.md
@@ -2,7 +2,7 @@
- [@AcksID](https://github.com/AckslD/nvim-gfold.lua) for creating and maintaining [nvim-gfold.lua](https://github.com/AckslD/nvim-gfold.lua), a `neovim` plugin for `gfold`
- [@jrcichra](https://github.com/jrcichra) for adding multi-OS support to the original, early-stage CI pipeline
-- [@orhun](https://github.com/orhun) for adding `gfold` to the [Arch Linux community repository](https://archlinux.org/packages/community/x86_64/gfold/) and for maintaining [all AUR packages](https://github.com/orhun/PKGBUILDs)
+- [@orhun](https://github.com/orhun) for adding `gfold` to the [Arch Linux community repository](https://archlinux.org/packages/community/x86_64/gfold/) and for maintaining [the original AUR packages](https://github.com/orhun/PKGBUILDs)
- [@shanesveller](https://github.com/shanesveller) for adding `gfold` to [nixpkgs](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/version-management/git-and-tools/gfold/default.nix)
- [@wezm](https://github.com/wezm) for featuring `gfold` in the ["One Hundred Rust Binaries"](https://www.wezm.net/v2/posts/2020/100-rust-binaries/page2/) series
- [@yaahc](https://github.com/yaahc) for mentoring during an early refactor