Compare commits

..

1 Commits

Author SHA1 Message Date
mrtz db55c69d52 Initial Packages 2026-05-31 21:15:28 +02:00
13 changed files with 11 additions and 213 deletions
-3
View File
@@ -1,3 +0,0 @@
# shellcheck shell=bash
dotenv_if_exists
use nix
-31
View File
@@ -1,31 +0,0 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/github-workflow.json
name: Cache
on:
push:
branches: [main]
workflow_dispatch:
jobs:
build-and-push:
runs-on: nix
steps:
- uses: actions/checkout@v6
- name: Write niks3 auth token
run: |
umask 077
printf '%s' "${{ secrets.NIKS3_AUTH_TOKEN }}" > "$RUNNER_TEMP/niks3-auth-token"
- name: Build all packages
run: |
nix-build --no-out-link | tee "$RUNNER_TEMP/built-paths"
- name: Push to niks3 cache
env:
NIKS3_SERVER_URL: https://cache.ekman.oceanbox.io
NIKS3_AUTH_TOKEN_FILE: ${{ runner.temp }}/niks3-auth-token
run: |
niks3="$(nix --extra-experimental-features 'nix-command flakes' \
build --no-link --print-out-paths 'github:Mic92/niks3/v1.6.1#niks3')/bin/niks3"
xargs -r "$niks3" push < "$RUNNER_TEMP/built-paths"
-10
View File
@@ -1,10 +0,0 @@
# ---> Nix
# Ignore build outputs from performing a nix-build or `nix build` command
result
result-*
# Ignore automatically generated direnv output
.direnv
.env
niks3-token
-98
View File
@@ -1,98 +0,0 @@
# Oceanbox Nixpkgs
`obx-pkgs` is the shared Oceanbox Nix overlay. It collects packages that we use
across projects but that are either not in nixpkgs, are stuck on an outdated
version, or need internal patches. Each project that consumes the overlay gets
the same versions, the same fixes, and a single place to update them.
## Usage
### As an overlay on nixpkgs (recommended)
With `npins`:
```nix
{
sources ? import ./npins,
pkgs ? import sources.nixpkgs {
overlays = [ (import "${sources.obx-pkgs}/overlay.nix") ];
},
}:
# pkgs.arcosparse, pkgs.openzl, pkgs.sphinx-shibuya-theme, ... are now available
```
With `flakes`:
```nix
{
inputs.obx-pkgs.url = "git+https://git.oceanbox.io/oceanbox/obx-pkgs";
outputs = { nixpkgs, obx-pkgs, ... }: {
legacyPackages.x86_64-linux = import nixpkgs {
system = "x86_64-linux";
overlays = [ obx-pkgs.overlays.default ];
};
};
}
```
### As a standalone package set
```nix
let
obx = import sources.obx-pkgs { };
in
[ obx.copernicusmarine obx.sz3 ]
```
Useful when you want one of our packages without modifying the rest
of nixpkgs.
## Adding a package
```text
by-name/
<package-name>/
default.nix
```
`default.nix` is a regular `callPackage` function, the same shape you would
write for nixpkgs:
```nix
{ stdenv, fetchFromGitHub, ... }:
stdenv.mkDerivation { ... }
```
Cross-references between our own packages work via the standard argument syntax
name the dependency in the argument list (e.g. `arcosparse`) and the overlay's
`self.callPackage` injects it.
Once the directory exists it is picked up automatically
## Development
```text
nix-shell
```
drops you into a shell with `npins`, `nix-init`, `nix-update`, and a
pre-configured `treefmt`.
Format the tree:
```text
treefmt
```
Update a pin:
```text
npins update nixpkgs
```
Bump a package version:
```text
nix-update -f . <package-name>
```
-7
View File
@@ -1,7 +0,0 @@
{ buildDotnetGlobalTool }:
buildDotnetGlobalTool {
pname = "fable";
version = "4.24.0";
nugetHash = "sha256-ERewWqfEyyZKpHFFALpMGJT0fDWywBYY5buU/wTZZTg=";
meta.mainProgram = "fable";
}
-7
View File
@@ -1,7 +0,0 @@
{ buildDotnetGlobalTool }:
buildDotnetGlobalTool {
pname = "fable";
version = "4.29.0";
nugetHash = "sha256-Eed1bb9heteWOWmv6NnXPzXbf3t218K/eHufwgtRuzI=";
meta.mainProgram = "fable";
}
@@ -1,7 +0,0 @@
{ buildDotnetGlobalTool }:
buildDotnetGlobalTool {
pname = "fsharp-analyzers";
version = "0.35.0";
nugetHash = "sha256-GxQR3Fq28cb+akNbzRTav9nhMtayN/0g2d1G6Ml+ck4=";
meta.mainProgram = "fsharp-analyzers";
}
@@ -46,7 +46,5 @@ python3Packages.buildPythonPackage {
"test_repo_shallow"
"test_repo_shallow_without_warning"
"test_exclude_patterns_deps_dates" # broken at this rev: exclude pattern on deps doesn't fall back correctly
];
}
+8 -7
View File
@@ -24,13 +24,14 @@ stdenv.mkDerivation {
pkg-config
];
buildInputs = [
zstd
gsl
]
++ lib.optionals stdenv.cc.isClang [
llvmPackages.openmp
];
buildInputs =
[
zstd
gsl
]
++ lib.optionals stdenv.cc.isClang [
llvmPackages.openmp
];
cmakeFlags = [
"-DBUILD_SHARED_LIBS=ON"
+1 -1
View File
@@ -18,7 +18,7 @@ let
mkPackages =
fun: dir:
map (name: {
builtins.map (name: {
inherit name;
value = fun (dir + "/${name}") { };
}) (listDirs dir);
-13
View File
@@ -5,19 +5,6 @@
"name": "nixos-unstable",
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre1004030.64c08a7ca051/nixexprs.tar.xz",
"hash": "sha256-NpH8iEQ5JHv/BtUuzTEXUMDxPLetCDzIv4OxL8H7Kps="
},
"treefmt-nix": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "numtide",
"repo": "treefmt-nix"
},
"branch": "main",
"submodules": false,
"revision": "db947814a175b7ca6ded66e21383d938df01c227",
"url": "https://github.com/numtide/treefmt-nix/archive/db947814a175b7ca6ded66e21383d938df01c227.tar.gz",
"hash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM="
}
},
"version": 7
+2 -5
View File
@@ -2,15 +2,12 @@
sources ? import ./npins,
pkgs ? import sources.nixpkgs { },
}:
let
treefmt = pkgs.callPackage ./tools/treefmt.nix { inherit sources; };
in
pkgs.mkShellNoCC {
packages = [
pkgs.npins
pkgs.niks3
pkgs.nix-init
pkgs.nixfmt-rfc-style
pkgs.nix-update
treefmt
];
}
-22
View File
@@ -1,22 +0,0 @@
{ pkgs, sources, ... }:
let
treefmt-nix = import sources.treefmt-nix;
in
treefmt-nix.mkWrapper pkgs {
projectRootFile = ".git/config";
programs = {
nixfmt.enable = true;
deadnix.enable = true;
statix = {
enable = true;
disabled-lints = [
"manual_inherit_from"
"repeated_keys"
];
};
shellcheck.enable = true;
};
settings.global.excludes = [
"npins/default.nix"
];
}