Files
worblehat/flake.nix

77 lines
1.7 KiB
Nix

{
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
outputs = { self, nixpkgs }: let
systems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
forAllSystems = f: nixpkgs.lib.genAttrs systems (system: let
pkgs = nixpkgs.legacyPackages.${system};
in f system pkgs);
inherit (nixpkgs) lib;
deps = ppkgs: with ppkgs; [
alembic
beautifulsoup4
click
flask
(flask-admin.override {
wtf-peewee = wtf-peewee.overrideAttrs (_: {
doCheck = false;
doInstallCheck = false;
});
})
flask-sqlalchemy
isbnlib
psycopg2-binary
python-dotenv
requests
sqlalchemy
];
in {
apps = forAllSystems (system: pkgs: let
mkApp = package: {
type = "app";
program = lib.getExe package;
};
in {
default = mkApp self.packages.${system}.default;
});
devShells = forAllSystems (_: pkgs: {
default = pkgs.mkShell {
packages = with pkgs; [
uv
ruff
sqlite-interactive
(python3.withPackages deps)
];
};
});
overlays.default = final: prev: self.packages.${final.system};
packages = forAllSystems (system: pkgs: {
default = self.packages.${system}.worblehat;
worblehat = with pkgs.python3Packages; buildPythonPackage {
pname = "worblehat";
version = "0.1.0";
src = ./.;
format = "pyproject";
build-system = [ hatchling ];
dependencies = deps pkgs.python3Packages;
meta.mainProgram = "worblehat";
};
});
};
}