Featured image of post Egy SSG telepítése NixOs-en

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

# 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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# /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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# /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

1
sudo nixos-rebuild switch
Licensed under CC-BY-SA 4.0
Utolsó frissítés időpontja Apr 24, 2024 00:00 UTC
Hugo használatával készült
A Stack téma. Jimmy tervezte