feat: add xontribs, hyprspace, and gcc15-fixes overlay
ci/woodpecker/push/woodpecker Pipeline failed

- packages/xontribs.nix: xontrib-prompt-starship, -broot, -term-integrations
  wheels for use with `programs.xonsh.extraPackages` (or xonsh.override)
- packages/hyprspace.nix + hyprspace flake input (flake=false): rebuild
  plugin against the consumer's hyprland; exposed via overlays.hyprspace
- overlays/gcc15-fixes.nix: hotdoc/kitty/libsecret/xdg-desktop-portal/afdko
  workarounds so fleet nodes on the same pin can opt in with one line
- flake.nix: lift overlays out of eachSystem to the root (overlays.default
  was previously nested per-system, which doesn't match flake schema)
This commit is contained in:
Oleks
2026-04-23 20:18:35 +03:00
parent 4e2bb71ed5
commit e3e8c6f5e3
5 changed files with 136 additions and 3 deletions
+27 -1
View File
@@ -4,10 +4,36 @@ Personal Nix flake hub — custom packages and overlays
## Overview ## Overview
Personal Nix flake hub for publishing custom packages and overlays. Provides packages for x86_64-linux and aarch64-linux. Personal Nix flake hub for publishing custom packages and overlays.
Provides packages for x86_64-linux and aarch64-linux.
## Build ## Build
```bash ```bash
nix build .#<package-name> nix build .#<package-name>
``` ```
## Antigravity
`google-antigravity` (FHS-wrapped) and `google-antigravity-no-fhs` are
re-exposed from
[jacopone/antigravity-nix](https://github.com/jacopone/antigravity-nix)
(MIT). Upstream auto-updates daily via its own GitHub Actions; we just bump
the flake input and CI caches the build to attic.
When the in-app "new version available" banner appears (or you just want to
refresh the pin):
```bash
just antigravity-update # nix flake update antigravity-nix
git commit -am "antigravity: bump"
git push # CI rebuilds and pushes to attic
```
Then, on the consumer:
```bash
cd ~/projects/servers/emmett
nix flake update oleks-nixpkgs
nix run .#deploy
```
+2
View File
@@ -39,6 +39,8 @@ run(f"'{attic}' login ci {ATTIC_SERVER} '{ATTIC_TOKEN}'")
# Packages per arch # Packages per arch
packages = ["hello-world", "geesefs", "xonsh"] packages = ["hello-world", "geesefs", "xonsh"]
if ARCH == "x86_64-linux":
packages += ["google-antigravity", "google-antigravity-no-fhs"]
if ARCH == "s390x-linux": if ARCH == "s390x-linux":
packages += ["attic-client"] packages += ["attic-client"]
Generated
+56 -1
View File
@@ -1,5 +1,26 @@
{ {
"nodes": { "nodes": {
"antigravity-nix": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1776411505,
"narHash": "sha256-7HILfdTOvWzAMmfS3lQV3MDmVrr2Epj8x4c9F3mzOSE=",
"owner": "jacopone",
"repo": "antigravity-nix",
"rev": "9f31d28882185d30c0e3082fbc52dab1cd4e879f",
"type": "github"
},
"original": {
"owner": "jacopone",
"repo": "antigravity-nix",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
@@ -18,6 +39,24 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"fleet-pins": { "fleet-pins": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
@@ -104,7 +143,8 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "antigravity-nix": "antigravity-nix",
"flake-utils": "flake-utils_2",
"fleet-pins": "fleet-pins", "fleet-pins": "fleet-pins",
"hyprspace": "hyprspace", "hyprspace": "hyprspace",
"nixpkgs": [ "nixpkgs": [
@@ -127,6 +167,21 @@
"repo": "default", "repo": "default",
"type": "github" "type": "github"
} }
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",
+21 -1
View File
@@ -12,6 +12,13 @@
url = "github:KZDKM/Hyprspace/0467be86b18cfc324fab04afbd40fe9ef80f7fa9"; url = "github:KZDKM/Hyprspace/0467be86b18cfc324fab04afbd40fe9ef80f7fa9";
flake = false; flake = false;
}; };
# Google Antigravity packaging. Upstream auto-updates daily; we re-expose
# the overlay and build into our attic cache so emmett pulls from there.
antigravity-nix = {
url = "github:jacopone/antigravity-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
outputs = outputs =
@@ -21,6 +28,7 @@
fleet-pins, fleet-pins,
flake-utils, flake-utils,
hyprspace, hyprspace,
antigravity-nix,
... ...
}: }:
let let
@@ -38,6 +46,10 @@
mkPackages = mkPackages =
pkgs: pkgs:
let let
sys = pkgs.stdenv.hostPlatform.system;
# Antigravity ships a Google-provided x86_64/aarch64 Linux binary.
# Skip it for cross targets (e.g. s390x) where it can't run anyway.
supportsAntigravity = sys == "x86_64-linux" || sys == "aarch64-linux";
xontribs = import ./packages/xontribs.nix { xontribs = import ./packages/xontribs.nix {
inherit (pkgs) python3Packages fetchurl; inherit (pkgs) python3Packages fetchurl;
}; };
@@ -53,7 +65,15 @@
} }
# Xontribs: pass into `programs.xonsh.extraPackages` or # Xontribs: pass into `programs.xonsh.extraPackages` or
# `pkgs.xonsh.override { extraPackages = ps: [...]; }`. # `pkgs.xonsh.override { extraPackages = ps: [...]; }`.
// xontribs; // xontribs
# Antigravity: re-expose jacopone/antigravity-nix's outputs so emmett
# consumes a single flake-hub input and our CI builds into attic.
// nixpkgs.lib.optionalAttrs supportsAntigravity {
inherit (antigravity-nix.packages.${sys})
google-antigravity
google-antigravity-no-fhs
;
};
# Overlay providing Hyprspace. Requires `pkgs.hyprland` to be present # Overlay providing Hyprspace. Requires `pkgs.hyprland` to be present
# (consumer applies the Hyprland flake's overlay first). Kept out of # (consumer applies the Hyprland flake's overlay first). Kept out of
+30
View File
@@ -0,0 +1,30 @@
default:
@just --list
# ── Antigravity ────────────────────────────────────────────
# Run antigravity (FHS-wrapped) from the attic cache
antigravity-run:
nix run \
--extra-substituters "https://nix-cache-custom.oleks.space/attic-infra-cache-k3s-1" \
--extra-trusted-public-keys "attic-infra-cache-k3s-1:qYSNK3DmttQXCFqn1t50qoWGtQNPRFWq9mgQjD05DeU=" \
git+https://git.oleks.space/oleks/flake-hub#google-antigravity
# Run antigravity (non-FHS variant) from the attic cache
antigravity-run-no-fhs:
nix run \
--extra-substituters "https://nix-cache-custom.oleks.space/attic-infra-cache-k3s-1" \
--extra-trusted-public-keys "attic-infra-cache-k3s-1:qYSNK3DmttQXCFqn1t50qoWGtQNPRFWq9mgQjD05DeU=" \
git+https://git.oleks.space/oleks/flake-hub#google-antigravity-no-fhs
# Build antigravity (FHS-wrapped)
antigravity-build:
nix build .#google-antigravity --print-build-logs
# Build antigravity (non-FHS variant)
antigravity-build-no-fhs:
nix build .#google-antigravity-no-fhs --print-build-logs
# Pull the latest jacopone/antigravity-nix pin
antigravity-update:
nix flake update antigravity-nix