diff --git a/.github/workflows/debug.yml b/.github/workflows/debug.yml new file mode 100644 index 0000000..649c255 --- /dev/null +++ b/.github/workflows/debug.yml @@ -0,0 +1,11 @@ +on: + pull_request: + push: +jobs: + lints: + name: Build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: DeterminateSystems/nix-installer-action@main + - run: nix-shell -p nix-info --run "nix-info -m" diff --git a/.gitignore b/.gitignore index d53e06f..1be2cbd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ .direnv/ result +/.quarto/ +_site/ diff --git a/_quarto.yml b/_quarto.yml new file mode 100644 index 0000000..1206970 --- /dev/null +++ b/_quarto.yml @@ -0,0 +1,13 @@ +project: + type: website +website: + title: "nullkomma" + description: "Opinionated 🤓, batteries-included 🔋, extra-DRY 🤌 Nix boilerplate." + navbar: + left: + - href: index.qmd + text: Home +format: + html: + theme: pulse + toc: true diff --git a/flake.nix b/flake.nix index f88949e..0e37f48 100644 --- a/flake.nix +++ b/flake.nix @@ -56,10 +56,31 @@ pkgs.git pkgs.gnumake pkgs.nixd + pkgs.quartoMinimal self'.formatter # keep-sorted end ]; }; + packages = { + docs = pkgs.stdenv.mkDerivation { + name = "nullkomma-docs"; + src = ./.; + nativeBuildInputs = [ + pkgs.writableTmpDirAsHomeHook + ]; + buildInputs = [ + pkgs.quartoMinimal + pkgs.which + ]; + buildPhase = '' + make render + ''; + installPhase = '' + mkdir $out + mv _site $out + ''; + }; + }; treefmt = { programs = { # keep-sorted start diff --git a/index.qmd b/index.qmd new file mode 100644 index 0000000..4b68473 --- /dev/null +++ b/index.qmd @@ -0,0 +1 @@ +{{< include README.md >}} diff --git a/make/main.mk b/make/main.mk index a840b74..3626321 100644 --- a/make/main.mk +++ b/make/main.mk @@ -5,7 +5,7 @@ .DEFAULT_GOAL := help ## Run all targets -all: check-flake +all: check-flake render all-check: check-nix diff --git a/make/quarto.mk b/make/quarto.mk new file mode 100644 index 0000000..e81d401 --- /dev/null +++ b/make/quarto.mk @@ -0,0 +1,4 @@ +.PHONY: render + +render: + quarto render