diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index c4defdddbe0b..7212202f4846 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3671,6 +3671,12 @@ githubId = 10221570; name = "Bo Bakker"; }; + bobberb = { + email = "bobberb@half-done.org"; + github = "bobberb"; + githubId = 1891836; + name = "bobberb"; + }; bobby285271 = { name = "Bobby Rong"; email = "rjl931189261@126.com"; diff --git a/pkgs/by-name/im/imapgoose/package.nix b/pkgs/by-name/im/imapgoose/package.nix new file mode 100644 index 000000000000..e07464412292 --- /dev/null +++ b/pkgs/by-name/im/imapgoose/package.nix @@ -0,0 +1,53 @@ +{ + lib, + buildGoModule, + fetchFromSourcehut, + installShellFiles, +}: +buildGoModule rec { + pname = "imapgoose"; + version = "0.4.2"; + + src = fetchFromSourcehut { + owner = "~whynothugo"; + repo = "ImapGoose"; + tag = "v${version}"; + hash = "sha256-Zu2cHCTl6RyZzndFrLM7xTeD/T3isVerIB8D6vD3jIU="; + }; + + vendorHash = "sha256-6mh6KsJlijXn+bLzmtJSC4lcYFChQdyBKEjFzbQMIM0="; + + subPackages = [ + "cmd/imapgoose" + "cmd/capcheck" + ]; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + installManPage imapgoose.1 + installManPage imapgoose.conf.5 + ''; + + meta = { + description = "IMAP to Maildir synchronization tool"; + longDescription = '' + ImapGoose is a daemon that continuously keeps local mailboxes in sync + with an IMAP server. It monitors both the IMAP server and local + filesystem, immediately synchronizing changes within seconds. Unlike + traditional sync tools, ImapGoose is highly optimized to reduce network + traffic by leveraging modern IMAP extensions (CONDSTORE, QRESYNC, and + NOTIFY) to perform efficient incremental syncs. It can monitor multiple + mailboxes per connection and automatically reconnects with exponential + back-off when network issues occur. + ''; + homepage = "https://git.sr.ht/~whynothugo/ImapGoose"; + changelog = "https://git.sr.ht/~whynothugo/ImapGoose/refs/v${version}"; + license = lib.licenses.isc; + platforms = lib.platforms.linux; + mainProgram = "imapgoose"; + maintainers = with lib.maintainers; [ + bobberb + ]; + }; +}