4o1x5.dev/content/post/guides/nix/setting-up-a-hugo-site-using-nix/index.hu.md
2024-04-28 11:42:37 +02:00

1.8 KiB

title description date image categories tags draft
Egy SSG telepítése NixOs-en A Hugo segítségével egy statikus oldalt tudunk létrehozni amit a későbbiekben Nginx-el tudunk a világhálóra szolgálni 2024-04-24 00:00:00+0000 daniele-levis-pelusi-YKsqkazGaOw-unsplash.jpg
Nix
Útmutató
Nix
Nginx
Rövid
Hugo
false

Bevezető

Az interneten keresgélve nem találtam nekem megfelelő útmotatót arra hogy hogyan lehet egy Hugo weboldalat NixOs-en felrakni ezért írtam rá egy rövid építőt. Gondoltam gyors belefoglalom egy rövid blog-ba hátha valaki hasznosnak találja majd.

Deriváció a hugo oldalnak

# /weboldal/default.nix
{ pkgs }:

pkgs.stdenv.mkDerivation rec {
  name = "weboldal";
  version = "0.1.0";
  src = /home/user/website;

  buildInputs = with pkgs; [ hugo ];
  dontConfigure = true;

  buildPhase = ''
    cp -r $src/* .
    ${pkgs.hugo}/bin/hugo
  '';

  installPhase = ''
    mkdir -p $out
    cp -r public/* $out/
  '';
}

Nginx definiálása

# /szolgaltatosk/nginx.nix
{...}: {
  services.nginx = {
    enable = true;
    virtualHosts = {
      "weboldal.hu" = {
        forceSSL = true;
        enableACME = true;

        locations."/" = {
          # A relatív helye a weboldal derivációjának a jelenlegi fájlhoz képest
          root = pkgs.callPackage ../weboldal/default.nix { };
        };
        # beállítás hogy hugonak a 404ét kapjuk az nginx helyett
        extraConfig = ''
          error_page 404 /404.html;
        '';
      };
    };
  };
  }

Újraépítés

Miután beimportáltad az nginx fájlt aflake.nix vagy a configuration.nix-be újjáépítheted az operációs rendszert és már futni is fog a weboldal

sudo nixos-rebuild switch