நான் எனது சொந்த வலைப்பதிவை (Blog) நிறுவியுள்ளேன் — முக்கியமாக #NixOS பற்றி நன்றாகத் தெரிந்துகொள்வதற்காக. ஆச்சரியப்படும் விதமாக, இது மிகவும் எளிதாக முடிந்தது.

இதற்கு WriteFreely மிகவும் பொருத்தமானது: எளிமையானது, விரைவாக அமைக்கக்கூடியது மற்றும் தேவையற்ற சுமை இல்லாதது. எளிய முறையில் தொடங்கி, அதே நேரத்தில் புதிய விஷயங்களைக் கற்றுக்கொள்ள இது சிறந்தது. இதன் கட்டமைப்பு (Configuration) மிகவும் தெளிவாக உள்ளது. சில விருப்பங்களை அமைத்து, கோப்பகத்தைத் (Directory) தயார் செய்து, ஒரு Reverse Proxy-ஐ இணைத்தால் போதும் — வேலை முடிந்தது.

இதற்கான எனது தற்போதைய NixOS கட்டமைப்பு (Configuration) இதோ:

{ config, pkgs, ... }:

{
  services.writefreely = {
    enable = true;
    host = "blog.burningboard.org"; 
    settings = {
      server = {
        port = 8080;
        min_log_level = "debug";
      };
      app = {
        host = "https://blog.burningboard.org";
        single_user = true;
        landing = "/read";
        wf_modesty = true;
        federation = true;
        public_stats = true;
        theme = "write";
      };
    };
    stateDir = "/opt/writefreely";
  };

  # Fix für die ActivityPub-Schlüsselgenerierung: Föderation erfordert openssl
  systemd.services.writefreely.path = [ pkgs.openssl ];

  # Automatisches Erstellen des Datenverzeichnisses mit den korrekten Berechtigungen
  systemd.tmpfiles.rules = [
    "d /opt/writefreely 0700 writefreely writefreely -"
  ];

  services.caddy.virtualHosts."blog.burningboard.org".extraConfig = ''
    reverse_proxy 127.0.0.1:8080 {
      header_up Host {host}
      header_up X-Real-IP {remote_host}
      header_up X-Forwarded-For {remote_host}
      header_up X-Forwarded-Proto {scheme}
    }
  '';
}

அவ்வளவுதான். இத்தகைய சேவைகளைச் சுத்தமாக வடிவமைக்கவும், மீண்டும் உருவாக்கக்கூடிய வகையில் (reproducible) வைத்திருக்கவும் NixOS மிகவும் எளிதாக்குகிறது.