Skip to content

Instantly share code, notes, and snippets.

@reckenrode
Last active September 8, 2024 18:45
Show Gist options
  • Save reckenrode/58933e82c687d8026fe19630c0ed699f to your computer and use it in GitHub Desktop.
Save reckenrode/58933e82c687d8026fe19630c0ed699f to your computer and use it in GitHub Desktop.
Current Darwin test flake
{
outputs =
{ self, nixpkgs }:
let
inherit (nixpkgs) lib;
forEachSystem = lib.genAttrs [
"aarch64-darwin"
"x86_64-darwin"
];
mkTest =
pkgs:
pkgs.runCommand "stdenv_build-test" { } (
let
stages = [
lib.flatten
(lib.concatMapStrings (
pkg:
if pkg == pkgs.nix-info-tested then
"ln -s '${pkg}' \"$out/nix-info-tested\"\n"
else
"ln -s '${pkg}' \"$out/${pkg.name}\"\n"
))
];
in
''
mkdir -p "$out"
''
+ lib.flip lib.pipe stages (
with pkgs;
[
# libc++abi issues
ast-grep
bazel_7
bfc
bpf-linker
cbfmt
crystal
difftastic
done
dump_syms
espanso
flow
frawk
harmonia
kanata
lapce
lean4
libserdes
lua-language-server
neovide
nickel
nix-du
opam
open-watcom-v2
ouch
pjsip
postgresql15Packages.postgis
qdrant
rust-code-analysis
symbolicator
tectonic
topiary
unar
usql
# Darwin blockers
cabal2nix
cachix
emacs
ghc
gimp
git
go
inkscape
mariadb
nix-info-tested
nix-info
nix
nixpkgs-review
openssh
openssl
pandoc
postgresql
python3
qemu_kvm
ruby
rustc
stdenv
# self.checks.${system}.tarball
transmission_3-gtk
transmission_4-gtk
vim
# darwin.ICU testing FIXME
dotnetCorePackages.dotnet_8.sdk
# cctools issues
netbsd.compat
# Static builds
pkgsStatic.libarchive
pkgsStatic.libgit2
pkgsStatic.nixVersions.latest
# CF hook remove test cases
antlr4
bacula
binocle
cataclysm-dda
elf2uf2-rs
fontconfig
freshfetch
genpass
git-trim
ldid
libaribcaption
libimobiledevice
libproxy
libremidi
libsForQt5.qtkeychain
lighthouse
nushell
onefetch
pdisk
pkgsCross.muslpi.aws-sdk-cpp
python3Packages.adblock
python3Packages.awscrt
python3Packages.macfsevents
python3Packages.psutil
python3Packages.thinc
python3Packages.uamqp
qt5.qtwebview
quakespasm
racket
sapling
teleport
turbo
wasmer
wrangler_1
youtube-tui
# Rust SDK challenges
wezterm
]
# Qt 5
++ (with qt5; [
qt3d
qtbase
qtcharts
qtconnectivity
qtdatavis3d
qtdeclarative
qtdoc
qtgamepad
qtgraphicaleffects
qtimageformats
qtlocation
qtlottie
qtmacextras
qtmultimedia
qtnetworkauth
qtpim
qtpositioning
qtpurchasing
qtquick3d
qtquickcontrols
qtquickcontrols2
qtremoteobjects
qtscript
qtscxml
qtsensors
qtserialbus
qtserialport
qtspeech
qtsvg
qtsystems
qttools
qttranslations
qtvirtualkeyboard
qtwebchannel
qtwebglplugin
qtwebsockets
# qtwebkit
qtwebview
qtwebengine
qtxmlpatterns
])
# Qt 6
++ (with qt6; [
qt3d
qt5compat
qtbase
qtcharts
qtconnectivity
qtdatavis3d
qtdeclarative
qtdoc
qtgraphs
qtgrpc
qthttpserver
qtimageformats
qtlanguageserver
qtlocation
qtlottie
qtmqtt
qtmultimedia
qtnetworkauth
qtpositioning
qtquick3d
qtquick3dphysics
qtquickeffectmaker
qtquicktimeline
qtremoteobjects
qtscxml
qtsensors
qtserialbus
qtserialport
qtshadertools
qtspeech
qtsvg
qttools
qttranslations
qtvirtualkeyboard
qtwebchannel
qtwebsockets
qtwebview
])
++ lib.optionals (pkgs.system == "x86_64-darwin") [
jellyfin-media-player
wine64Packages.unstable
wineWow64Packages.unstable
pkgsCross.aarch64-darwin.hello
pkgsCross.aarch64-darwin.nixVersions.latest
]
++ lib.optionals (pkgs.system == "aarch64-darwin") [
pkgsCross.x86_64-darwin.hello
pkgsCross.x86_64-darwin.nixVersions.latest
]
)
);
in
{
checks = forEachSystem (
system:
let
jobs = import (nixpkgs + /pkgs/top-level/release.nix) { };
in
{
tarball = jobs.tarball;
}
);
packages = forEachSystem (system: {
default = mkTest nixpkgs.legacyPackages.${system};
});
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment