every.channel: sanitized baseline
This commit is contained in:
commit
897e556bea
258 changed files with 74298 additions and 0 deletions
87
flake.nix
Normal file
87
flake.nix
Normal 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
|
||||
'';
|
||||
};
|
||||
});
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue