--- 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 ```