- Shell 75.2%
- Ruby 20.7%
- Python 4.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo/workflows | ||
| Casks | ||
| companion-prime-git | ||
| dgit-listener-git | ||
| domctl-git | ||
| Formula | ||
| gns3-server | ||
| kwin-polonium-git | ||
| legcord-git | ||
| lnctl-bin | ||
| lune-git | ||
| mutagen-bin | ||
| nerd-fonts-inter | ||
| onedrive-git | ||
| orbolay-git | ||
| positron-ide-bin | ||
| upkg-git | ||
| visual-paradigm-community-bin | ||
| wf-observer-bin | ||
| wf-observer-git | ||
| .gitignore | ||
| README.md | ||
d-packages
A personal collection of Arch Linux packages, hosted on DGit for use with paru/pacman.
This repo exists for three kinds of packages:
- No AUR package at all — tools I use that nobody has packaged (often because they're mine, or too niche).
- AUR maintainer lets it go stale — a package exists on the AUR, but updates lag behind upstream (or it's sitting flagged out-of-date), so it's tracked directly here instead.
- Critical packages — things I depend on enough that I want a copy I control, independent of whether the AUR (or a given AUR maintainer) is reachable.
Packages here are built and kept up to date automatically (see .forgejo/workflows/): most check upstream on a schedule and rebuild only when something actually changed, so installing from this repo tracks upstream about as closely as building it yourself would.
Available Packages
Click a package name to see its registry page (build info, versions, install instructions).
| Package | Description | Arch | Auto-updated | Notes |
|---|---|---|---|---|
| upkg-git | No-nonsense simplistic package manager wrapper focusing on extendability and ease of use | any | every 30 min | Personal project |
| dgit-listener-git | Accepts signals from external CI and dispatches d-packages workflows | x86_64 | on signal | Personal project; the signal broker itself — pings this workflow on its own push to main |
| domctl-git | Docker container control CLI | any | on signal | Personal project; no schedule, built on demand via dgit-listener |
| wf-observer-git | Read-only Warframe process observer with an Iroh endpoint (latest main) |
x86_64 | every 30 min | Project of a friend, here for redundancy |
| companion-prime-git | Warframe companion desktop app that connects to Warframe Observer (latest main) |
x86_64 | every 30 min | Temporarily disabled. Project of a friend (same org as wf-observer); upstream repo is private, so the runner authenticates with the GH_TOKEN secret |
| wf-observer-bin | Read-only Warframe process observer with an Iroh endpoint (prebuilt release) | x86_64 | on signal | No schedule — built on a signal from upstream's CI (see dgit-listener), with push/workflow_dispatch as manual fallbacks |
| lnctl-bin | LightNode command-line interface | x86_64 | daily | Does not exist on the AUR |
| mutagen-bin | Code synchronization tool for remote development | x86_64, aarch64, armv7h, i386 | every 3 h | |
| onedrive-git | Free OneDrive client written in D — abraunegg's fork (latest git) | i686, x86_64, armv7h, aarch64 | every 30 min | |
| kwin-polonium-git | Tiling window manager for KWin 6 (latest master) |
x86_64, i686, aarch64, armv7h | every 30 min | AUR kwin-polonium only tracks tagged releases |
| orbolay-git | Quick, small, native Discord overlay alternative for modded clients | x86_64 | every 30 min | |
| lune-git | The CLI build tool for shelter, a Discord client mod | any | every 30 min | Does not exist on the AUR |
| positron-ide-bin | A next-generation data science IDE from Posit | x86_64, aarch64 | every 3 h | |
| visual-paradigm-community-bin | UML design application | x86_64 | every 12 h | |
| legcord-git | Legcord dev build using the system electron — lightweight Discord client mod | x86_64, aarch64 | every 3 h | |
| gns3-server | GNS3 network simulator, Server package | x86_64, aarch64 | every 3 h | Copy of the AUR package; follows pre-releases, in lockstep with the gns3-gui cask |
| nerd-fonts-inter | Inter font patched with the Nerd Fonts patcher | any | every 3 h | Fork of the AUR package; Inter's private use area alternates are unmapped before patching so the Nerd Fonts patcher no longer overwrites them (it broke tnum/ss07 substitutions, e.g. the Plasma clock's colon rendered as a globe). Tracks Inter releases, and Nerd Fonts releases within the current major; a new Nerd Fonts major only raises a workflow warning. |
"Auto-updated" reflects the schedule in .forgejo/workflows/; "manual" means the PKGBUILD is only updated by hand when needed; "on signal" means there's no schedule at all — the workflow only runs when dgit-listener dispatches it.
Runner Images
Images used by the CI runners (see runs-on: in .forgejo/workflows/):
| Runner | Image |
|---|---|
arch |
arch-docker |
Licensing
Verified against each project's actual license file/metadata upstream, not just the PKGBUILD's license= field (which in a couple of cases turned out to be wrong or imprecise).
| Package | License | Notes |
|---|---|---|
| upkg-git | MIT | Upstream Cargo.toml/LICENSE both say MIT; this PKGBUILD's license= field incorrectly says GPL-3.0-or-later |
| dgit-listener-git | MIT OR Apache-2.0 | Matches upstream Cargo.toml; repo ships separate LICENSE-MIT and LICENSE-APACHE files |
| domctl-git | MIT OR Apache-2.0 | Matches upstream Cargo.toml |
| wf-observer-git | MIT OR Apache-2.0 | Repo ships separate LICENSE-MIT and LICENSE-APACHE files |
| lnctl-bin | Proprietary | Vendor CLI (LightNode); no public license terms found for the tool itself |
| mutagen-bin | MIT, partially SSPL | Core is MIT, but official release builds (what this package ships) bundle SSPL-licensed code by default since v0.17 — SSPL is not an OSI-approved open-source license |
| onedrive-git | GPL-3.0 | Upstream doesn't state "or later" anywhere; this PKGBUILD's license= field says GPL-3.0-or-later, which is unconfirmed |
| kwin-polonium-git | MIT | Matches upstream package.json and license.txt |
| orbolay-git | GPL-3.0 | Plain GPLv3 LICENSE file; no "or later" grant found in the repo |
| lune-git | CC0-1.0 | Confirmed via this specific subpackage's own package.json (the parent shelter monorepo is CC0-1.0 too) |
| positron-ide-bin | Elastic License 2.0 | Source-available, not an OSI-approved open-source license — has usage restrictions |
| visual-paradigm-community-bin | Proprietary, free for non-commercial use only | EULA-bound freeware, not open source |
| legcord-git | OSL-3.0 | Confirmed via upstream package.json |
| gns3-server | GPL-3.0-or-later | Plain GPLv3 LICENSE, but source headers grant "or (at your option) any later version"; this PKGBUILD's license= field (carried over from the AUR) says GPL-3.0-only. The AUR packaging files themselves are 0BSD (see REUSE.toml) |
| nerd-fonts-inter | OFL-1.1 | Inter is SIL OFL 1.1 and the patched output stays under it; the PKGBUILD's license= field (custom:OFL) is carried over from the AUR |
Package Information
Naming follows a fixed scheme:
-git: tracks upstream on a timer and rebuilds on every new commit; pkgver encodes the commit count and short hash.-bin: the PKGBUILD's actual payload is a downloaded prebuilt binary/artifact, not something built from source.- no suffix: everything else (built from source, versioned by discrete upstream releases rather than every commit).
Adding the Repository
Setup and install instructions are per-package — click the package name in the table above to open its registry page for the exact paru/pacman configuration and install command.
Homebrew (macOS/Linux)
Some packages are additionally mirrored as Homebrew formulae in Formula/ and casks in Casks/, kept in sync by the same workflows that update the PKGBUILDs, so the two never drift apart. Names match the Arch package names.
| Homebrew package | Type | Notes |
|---|---|---|
upkg-git |
formula | Built from source with cargo |
domctl-git |
formula | Built from source with cargo; stable Rust is enough here, despite the PKGBUILD pinning nightly |
lune-git |
formula | Built with pnpm, run through the node formula |
positron-ide-bin |
cask | Positron.app; separate arm64 and x64 builds, checksums pinned from upstream's releases.json |
visual-paradigm-community-bin |
cask | Visual Paradigm.app; separate x86_64 and Apple Silicon builds, each with its own bundled JRE |
gns3-gui |
cask | GNS3.app; universal build. Always the same version as the gns3-server Arch package, since the GUI refuses to connect to a server of any other version. Conflicts with the official gns3 cask, which only tracks stable releases |
The remaining packages are Linux-only (.deb payloads, systemd-libs/GTK dependencies, .desktop files) and have no meaningful macOS equivalent, so they stay Arch-only.
brew trust https://git.denaerium.com/Denaerium/d-packages.git
brew tap Denaerium/d-packages https://git.denaerium.com/Denaerium/d-packages.git
brew install denaerium/d-packages/upkg-git
brew install --cask denaerium/d-packages/positron-ide-bin
Both the trust and the tap must name the clone URL, not Denaerium/d-packages. Homebrew (7.0+) treats a bare user/repository trust entry as referring to that tap on its default GitHub remote, so trusting the short name leaves a tap hosted here untrusted — brew tap then fails with a wall of Invalid formula (<os>) / Refusing to load formula ... from untrusted tap errors, ending in Cannot tap denaerium/d-packages: invalid syntax in tap!. Trusting the URL fixes it; the "invalid syntax" is misdirection, the formulae parse fine.
AI Disclosure
Parts of this repository and its documentation (including this README, such as the licensing table above) were assembled with the help of Anthropic's LLM models. That information may be incomplete, outdated, or simply wrong — do not rely on it. If correctness matters for your use case (licensing in particular), verify it yourself against the upstream project.