81 lines
1.8 KiB
Markdown
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
|
||
|
```
|