every.channel: sanitized baseline

This commit is contained in:
every.channel 2026-02-15 16:17:27 -05:00
commit 897e556bea
No known key found for this signature in database
258 changed files with 74298 additions and 0 deletions

87
flake.nix Normal file
View file

@ -0,0 +1,87 @@
{
description = "every.channel development environment";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
rust-overlay.url = "github:oxalica/rust-overlay";
};
outputs = { self, nixpkgs, flake-utils, rust-overlay }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [ (import rust-overlay) ];
};
rust = pkgs.rust-bin.stable.latest.default.override {
targets = [ "wasm32-unknown-unknown" ];
};
webkitgtk =
if pkgs ? webkitgtk_4_1 then pkgs.webkitgtk_4_1
else if pkgs ? webkitgtk_4_0 then pkgs.webkitgtk_4_0
else throw "nixpkgs is missing webkitgtk_4_1/webkitgtk_4_0 (required for tauri on Linux)";
linuxTauriDeps = with pkgs; [
gtk3
webkitgtk
librsvg
libappindicator
libsoup_3
glib
pango
gdk-pixbuf
];
in
{
devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [
rust
cargo
cargo-tauri
cargo-llvm-cov
llvmPackages.llvm
clang
pkg-config
openssl
ffmpeg
nodejs_22
nodePackages.wrangler
uv
git
just
cargo-watch
wasm-bindgen-cli
trunk
] ++ lib.optionals stdenv.isLinux linuxTauriDeps;
shellHook = ''
export FFMPEG_INCLUDE_DIR=${pkgs.ffmpeg.dev}/include
export FFMPEG_LIB_DIR=${pkgs.ffmpeg.lib}/lib
export LLVM_COV=${pkgs.llvmPackages.llvm}/bin/llvm-cov
export LLVM_PROFDATA=${pkgs.llvmPackages.llvm}/bin/llvm-profdata
'';
};
# Minimal shell for headless publishers/relays (e.g. remote boxes).
# Avoid pulling in node/wrangler/trunk/tauri deps.
devShells.rust = pkgs.mkShell {
buildInputs = with pkgs; [
rust
cargo
llvmPackages.llvm
clang
pkg-config
openssl
ffmpeg
git
];
shellHook = ''
export FFMPEG_INCLUDE_DIR=${pkgs.ffmpeg.dev}/include
export FFMPEG_LIB_DIR=${pkgs.ffmpeg.lib}/lib
export LLVM_COV=${pkgs.llvmPackages.llvm}/bin/llvm-cov
export LLVM_PROFDATA=${pkgs.llvmPackages.llvm}/bin/llvm-profdata
'';
};
});
}