Custom Packages¶
Custom packages live in packages/ and are auto-discovered by nix-wire, exposed as self.packages.${system}.<name>. They're also re-exposed into pkgs via the overlay in overlays/packages.nix.
Available Packages¶
| Package | Platforms | Description |
|---|---|---|
| copy | unix | OSC52 clipboard utility (works over SSH + tmux) |
| aria2tui | unix | TUI frontend for aria2c |
| sklauncher | linux + darwin | Minecraft launcher (SKLauncher) |
| stremio-enhanced | darwin (aarch64) | Stremio with premium addons |
| airsync | darwin | Android-to-Mac file transfer |
| hammerspoon | darwin | macOS automation (Hammerspoon app) |
| skhd-zig | darwin | Zig port of skhd hotkey daemon |
| road-rage | all | Punky display font (used in hyprlock) |
Using Packages¶
# Run directly from the flake
nix run github:semi710/ndots#copy -- "hello"
# Or in your own flake
{
inputs.ndots.url = "github:semi710/ndots";
outputs = { self, nixpkgs, ndots, ... }: {
# Via overlay (recommended - gives pkgs.copy etc.)
nixpkgs.overlays = [ ndots.overlays.default ];
# Or directly
environment.systemPackages = [
ndots.packages.x86_64-linux.copy
];
};
}
copy¶
packages/copy.nix
A minimal shell script that copies stdin to the system clipboard via OSC52 escape sequences. Works over SSH and inside tmux.
How it works:
- Reads text from stdin
- Base64-encodes it
- If inside tmux: wraps in the
tmux;passthrough sequence - Otherwise: sends the raw OSC52 sequence
- The terminal emulator writes to the local clipboard (not the remote machine's)
Why this exists
Standard clipboard tools (xclip, pbcopy) don't work over SSH. OSC52 is a terminal protocol that tells the local terminal to copy to the local clipboard, even when you're on a remote machine. This is used throughout the shell config (zsh visual yank, tmux fzf-url, lazygit).
aria2tui¶
packages/aria2tui.nix
A Python TUI frontend for the aria2c download manager. Built from grimandgreedy/aria2tui.
- Includes a vendored
listpickdependency - Bundles the default config to
$out/share/aria2tui/
sklauncher¶
packages/sklauncher.nix
SKLauncher - a Minecraft launcher. Builds for both Linux and Darwin with platform-specific packaging.
Linux:
- Wrapped with
steam-run(for the Minecraft runtime) - Desktop entry + icon installed
- JDK 21 bundled
Darwin:
.appbundle with Info.plist- Icon converted PNG → ICNS via ImageMagick
- JDK 21 launcher script
Unfree license
SKLauncher is unfree. The package sets meta.license = lib.licenses.unfree.
stremio-enhanced¶
packages/stremio-enhanced.nix
Stremio Enhanced - Stremio with premium addons. macOS arm64 only (fetches a pre-built .zip).
airsync¶
packages/airsync.nix
AirSync - Android-to-Mac file transfer (KDE Connect alternative). macOS only, fetches a .dmg.
hammerspoon¶
packages/hammerspoon.nix
Hammerspoon - macOS desktop automation with Lua. Fetches the official release zip.
This packages just the .app bundle. The actual init.lua config is in modules/home/darwin/hammerspoon.nix.
skhd-zig¶
packages/skhd-zig.nix
A Zig port of skhd (simple hotkey daemon for macOS). Fully .skhdrc compatible. Fetches pre-built binaries.
Used by the yabai module instead of upstream skhd.
road-rage¶
packages/road-rage/default.nix
The Road Rage punky display font. Installs the .ttf to $out/share/fonts/.
Used by the hyprlock screen lock for the large clock display.