feat: add xontribs, hyprspace, and gcc15-fixes overlay
ci/woodpecker/push/woodpecker Pipeline failed
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:
@@ -4,10 +4,36 @@ Personal Nix flake hub — custom packages and overlays
|
||||
|
||||
## 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
|
||||
|
||||
```bash
|
||||
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
|
||||
```
|
||||
|
||||
@@ -39,6 +39,8 @@ run(f"'{attic}' login ci {ATTIC_SERVER} '{ATTIC_TOKEN}'")
|
||||
|
||||
# Packages per arch
|
||||
packages = ["hello-world", "geesefs", "xonsh"]
|
||||
if ARCH == "x86_64-linux":
|
||||
packages += ["google-antigravity", "google-antigravity-no-fhs"]
|
||||
if ARCH == "s390x-linux":
|
||||
packages += ["attic-client"]
|
||||
|
||||
|
||||
Generated
+56
-1
@@ -1,5 +1,26 @@
|
||||
{
|
||||
"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": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
@@ -18,6 +39,24 @@
|
||||
"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": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs",
|
||||
@@ -104,7 +143,8 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"antigravity-nix": "antigravity-nix",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"fleet-pins": "fleet-pins",
|
||||
"hyprspace": "hyprspace",
|
||||
"nixpkgs": [
|
||||
@@ -127,6 +167,21 @@
|
||||
"repo": "default",
|
||||
"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",
|
||||
|
||||
@@ -12,6 +12,13 @@
|
||||
url = "github:KZDKM/Hyprspace/0467be86b18cfc324fab04afbd40fe9ef80f7fa9";
|
||||
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 =
|
||||
@@ -21,6 +28,7 @@
|
||||
fleet-pins,
|
||||
flake-utils,
|
||||
hyprspace,
|
||||
antigravity-nix,
|
||||
...
|
||||
}:
|
||||
let
|
||||
@@ -38,6 +46,10 @@
|
||||
mkPackages =
|
||||
pkgs:
|
||||
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 {
|
||||
inherit (pkgs) python3Packages fetchurl;
|
||||
};
|
||||
@@ -53,7 +65,15 @@
|
||||
}
|
||||
# Xontribs: pass into `programs.xonsh.extraPackages` or
|
||||
# `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
|
||||
# (consumer applies the Hyprland flake's overlay first). Kept out of
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user