build: switch from devenv to nix flakes with uv2nix
All checks were successful
Continuous Integration / Build Package (push) Successful in 1m31s
Continuous Integration / Lint, Check & Test (push) Successful in 1m36s

- Replace devenv setup with pure nix flakes using uv2nix, pyproject-nix,
  pyproject-build-systems, and git-hooks.nix (adapted from hokusai)
- Add forgejo CI pipeline with lint/check/test and build jobs
- Wrap cv binary with LD_LIBRARY_PATH for weasyprint native dependencies
- Move basedpyright to dev dependency group, add pytest and ruff
- Fix package imports to use hatch source remapping (src/ layout)
- Update .envrc to use flake, expand .gitignore

BREAKING CHANGE: devenv is no longer used, run direnv allow to reload
This commit is contained in:
Konstantin Fickel 2026-03-05 21:25:55 +01:00
parent ae00071ecf
commit a1a8ddf893
Signed by: kfickel
GPG key ID: A793722F9933C1A5
11 changed files with 478 additions and 213 deletions

View file

@ -6,7 +6,6 @@ readme = "README.md"
license = "MIT"
requires-python = ">=3.13"
dependencies = [
"basedpyright>=1.38.2",
"jinja2>=3.1.6",
"markdown>=3.7",
"pydantic>=2.12.5",
@ -15,6 +14,13 @@ dependencies = [
"weasyprint>=68.1",
]
[dependency-groups]
dev = [
"basedpyright>=1.38.2",
"pytest>=9.0.2",
"ruff>=0.15.1",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
@ -22,5 +28,8 @@ build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["main.py", "src/cv_generator"]
[tool.hatch.build.targets.wheel.sources]
"src" = ""
[project.scripts]
cv = "main:app"