diff --git a/machines/deneb/configuration.nix b/machines/deneb/configuration.nix index 9bf9ec2..5b3c951 100644 --- a/machines/deneb/configuration.nix +++ b/machines/deneb/configuration.nix @@ -25,6 +25,7 @@ in inputs.self.overlays.frappixLibsOverlay inputs.self.overlays.frappixPythonOverlay inputs.self.overlays.frappixToolsOverlay + inputs.self.overlays.frappixAppsOverlay ]; fonts.packages = [ pkgs.tlwg ]; @@ -59,6 +60,7 @@ in pkgs.frappix.hrms pkgs.frappix.crm pkgs.frappix.posprinter + pkgs.frappix.default_thai_company ]; sites = { "${sitename}" = { @@ -69,6 +71,7 @@ in "hrms" "crm" "posprinter" + "default_thai_company" ]; }; }; diff --git a/overlays/default.nix b/overlays/default.nix index 3a00279..62e5196 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -7,5 +7,6 @@ frappixLibsOverlay = inputs.frappix.libsOverlay.x86_64-linux; frappixPythonOverlay = inputs.frappix.pythonOverlay.x86_64-linux; frappixToolsOverlay = inputs.frappix.toolsOverlay.x86_64-linux; + frappixAppsOverlay = import ../pkgs/frappix/overlay.nix; }; } diff --git a/pkgs/frappix/default-thai-company.nix b/pkgs/frappix/default-thai-company.nix new file mode 100644 index 0000000..a8c3435 --- /dev/null +++ b/pkgs/frappix/default-thai-company.nix @@ -0,0 +1,35 @@ +{ + buildPythonPackage, + pythonRelaxDepsHook, + flit-core, + mkAssets, + fetchFromGitea, +}: +let + version = "0.0.1"; + src = fetchFromGitea { + domain = "git.b4l.co.th"; + owner = "newedge"; + repo = "default_thai_company"; + rev = "caad6e77da35c9359b0dbd75ff0f39bb01891caf"; + sha256 = "sha256-LH7E1EkecNPrhfQWSlWzPHHuJLM6SReCAifcFPDr61o="; + }; +in +buildPythonPackage (finalAttrs: { + # pname doubles as the frappe app name (services.frappe reads app.pname) + pname = "default_thai_company"; + inherit version; + + pyproject = true; + + src = mkAssets { + inherit (finalAttrs) pname version; + inherit src; + yarnHash = "sha256-oZgyP0hTU9bxszOVg3Bmiu6yos2d2Inc1Do8To4z8GQ="; + }; + + nativeBuildInputs = [ + pythonRelaxDepsHook + flit-core + ]; +}) diff --git a/pkgs/frappix/overlay.nix b/pkgs/frappix/overlay.nix new file mode 100644 index 0000000..0ade3c6 --- /dev/null +++ b/pkgs/frappix/overlay.nix @@ -0,0 +1,9 @@ +# Extends the frappix app scope with in-house frappe apps. +# Must be applied after frappixFrappeOverlay (needs prev.frappix). +final: prev: { + frappix = prev.frappix.overrideScope ( + ffinal: _fprev: { + default_thai_company = ffinal.callPackage ./default-thai-company.nix { }; + } + ); +}