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

81 lines
1.8 KiB
Markdown

---
title: Egy SSG telepítése NixOs-en
description: 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
date: 2024-04-24 00:00:00+0000
image: daniele-levis-pelusi-YKsqkazGaOw-unsplash.jpg
categories:
- Nix
- Útmutató
tags:
- Nix
- Nginx
- Rövid
- Hugo
draft: 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
```nix
# /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
```nix
# /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 a`flake.nix` vagy a `configuration.nix`-be újjáépítheted az operációs rendszert és már futni is fog a weboldal
```bash
sudo nixos-rebuild switch
```