Files
2026-08-07 09:54:27 -06:00

60 lines
1.4 KiB
Nix

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
clj-nix.url = "github:jlesquembre/clj-nix";
sydpkgs = {
url = "git+https://git.deertopia.net/msyds/sydpkgs";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, clj-nix, ... }@inputs:
let
supportedSystems = [
"aarch64-darwin"
"aarch64-linux"
"x86_64-darwin"
"x86_64-linux"
];
each-system = f: nixpkgs.lib.genAttrs supportedSystems (system: f rec {
pkgs = import nixpkgs {
inherit system;
overlays = [
clj-nix.overlays.default
];
};
inherit (pkgs) lib;
inherit system;
});
in {
# Exposed as a REPL convenience.
_pkgs = each-system ({ pkgs, ... }: pkgs);
packages = each-system ({ pkgs, ... }: {
default = pkgs.callPackage ./default.nix {};
db = pkgs.callPackage ./db {};
});
devShells = each-system ({ pkgs, system, ... }: {
default = pkgs.mkShell {
inputsFrom = [ self.packages.${system}.db ];
DATABASE_URL = "words.db";
packages = with pkgs; [
zprint
clojure
babashka
python3
(sqlite.override { interactive = true; })
python314Packages.wiktextract
sqlite-web
jq
rust-analyzer
diesel-cli
cargo-flamegraph
];
};
});
};
}