From 84f6db9d7b5070c2101cd0fb3971471df70e13f9 Mon Sep 17 00:00:00 2001 From: "user@node5.net" Date: Thu, 18 Jun 2026 22:41:33 +0200 Subject: nixify running needs databse, this is handled separately --- flake.nix | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 flake.nix (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..d197227 --- /dev/null +++ b/flake.nix @@ -0,0 +1,52 @@ +{ + description = "A basic flake using pyproject.toml project metadata"; + + inputs = { + pyproject-nix = { + url = "github:nix-community/pyproject.nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = { nixpkgs, pyproject-nix, ... }: + let + inherit (nixpkgs) lib; + + project = pyproject-nix.lib.project.loadPyproject { + # Read & unmarshal pyproject.toml relative to this project root. + # projectRoot is also used to set `src` for renderers such as buildPythonPackage. + projectRoot = ./.; + }; + + # This example is only using x86_64-linux + pkgs = nixpkgs.legacyPackages.x86_64-linux; + + python = pkgs.python3; + + # Returns an attribute set that can be passed to `buildPythonPackage`. + attrs = project.renderers.buildPythonPackage { inherit python; }; + + pkg = python.pkgs.buildPythonPackage (attrs // { + meta = { + description = "Webinterface for map.node5.net"; + homepage = "https://map.node5.net/"; + changelog = "https://git.node5.net/map.node5.net/log/"; + mainProgram = "node5-map"; + }; + propagatedBuildInputs = (attrs.propagatedBuildInputs or []) ++ [ pkgs.git ]; # Make git binary available + postInstall = '' + echo $src + echo $out + cp -r $src/src/static/ $out/${python.sitePackages} + cp -r $src/src/templates/ $out/${python.sitePackages} + ''; + }); + + # Add missing templates and static content, that wasn't auto discovered by the python build process + in + { + packages.x86_64-linux.default = pkg; + pythonPath = "${python.pkgs.makePythonPath attrs.dependencies}:${pkg}/${python.sitePackages}"; + }; +} + -- cgit v1.2.3