| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- {
- description = "Econom_app NixOS module";
- inputs = {
- nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
- };
- outputs = { self, nixpkgs }:
- let
- pkgs = nixpkgs.legacyPackages."x86_64-linux";
- in
- {
- packages."x86_64-linux" = rec {
- econom-app = pkgs.buildNpmPackage {
- pname = "econom-app";
- version = "1.0.0";
- src = ./.;
- npmDepsHash = "sha256-HzJV9bXwgn9WE9llPHLnYLNUIL6PDeoOh+K+RJ6Dd9s=";
- installPhase = ''
- mkdir -p $out;
- mv dist $out;
- '';
- };
- default = econom-app;
- };
- nixosModules.econom-app = { config, lib, pkgs, ... }:
- with lib;
- let cfg = config.services.econom-app;
- in {
- options.services.econom-app = {
- enable = mkEnableOption "Deploy the econom-app service";
- domain = mkOption {
- type = types.str;
- default = "localhost";
- description = "Dommain name to serve econom-app on.";
- };
- };
- config = mkIf cfg.enable {
- services.nginx.virtualHosts.${cfg.domain} = {
- root = "${self.packages.econom-app}/dist";
- locations."/" = {
- index = "index.html";
- tryFiles = "$uri $uri/ /index.html";
- };
- };
- };
- };
- };
- }
|