मी माझा स्वतःचा ब्लॉग सुरू केला आहे — मुख्यत्वे #NixOS अधिक चांगल्या प्रकारे समजून घेण्यासाठी. आश्चर्याची गोष्ट म्हणजे, हे सर्व खूप सोप्या पद्धतीने झाले.

WriteFreely यासाठी खरोखरच उत्तम आहे: मिनिमलिस्टिक, जलद सेटअप आणि कोणत्याही अनावश्यक गोष्टींशिवाय. काम सुरू करण्यासाठी आणि सोबतच काहीतरी नवीन शिकण्यासाठी हे अगदी योग्य आहे. याचे कॉन्फिगरेशन अतिशय सुटसुटीत आहे. काही ऑप्शन्स सेट केले, डिरेक्टरी तयार केली, रिव्हर्स प्रॉक्सी जोडली — आणि झाले!

यासाठी माझे सध्याचे NixOS कॉन्फिगरेशन असे दिसते:

{ 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}
    }
  '';
}

बस, इतकेच होते. NixOS अशा सेवा व्यवस्थित कॉन्फिगर करणे आणि त्या रिप्रोड्युसिबल (reproducible) ठेवणे खरोखर सोपे करते.