# Emacs + Org Mode + Ox-Hugo + Nix = Reproducible Site

**URL:** <https://forum.systemcrafters.net/t/emacs-org-mode-ox-hugo-nix-reproducible-site/945>\
**Category:** Emacs\
**Created:** [August 26, 2024, 3:39am UTC](https://forum.systemcrafters.net/t/emacs-org-mode-ox-hugo-nix-reproducible-site/945 "2024-08-26T03:39:58Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![shom](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/shom/32/291_2.png) [@shom](https://forum.systemcrafters.net/u/shom)\
**Post date:** [August 26, 2024, 3:39am UTC](https://forum.systemcrafters.net/t/emacs-org-mode-ox-hugo-nix-reproducible-site/945/1 "2024-08-26T03:39:58Z")

</div>

I’ve been a happy user of Emacs + Org Mode + [Ox-Hugo](https://ox-hugo.scripter.co/) for a while. I deploy with [Sourcehut Pages](https://srht.site/) using a [Nix Flake](https://nixos.wiki/wiki/flakes) for automated builds. It’s very reliable, but I took a circuitous path and my site source isn’t a great starter example.

So I created a Starter Site template for anyone in the Emacs ecosystem looking for a hassle-free site/blog. Write in org mode, magit commit & push, and you’re live!

Checkout the demo site:  
[shom.srht.site/](https://shom.srht.site/) (or [repo](https://git.sr.ht/~shom/ox-hugo-nix)).

If you have been thinking about joining the System Crafters webring but didn’t have a site, now it should be pretty easy and I’m happy to help you integrate [Craftering](https://codeberg.org/SystemCrafters/craftering) (powered by [Ringfairy](https://github.com/k3rs3d/ringfairy)).

---

<div class="post-metadata">

**Author:** ![paulwicking](https://avatars.discourse-cdn.com/v4/letter/p/aca169/32.png) [@paulwicking](https://forum.systemcrafters.net/u/paulwicking)\
**Post date:** [August 27, 2024, 6:11pm UTC](https://forum.systemcrafters.net/t/emacs-org-mode-ox-hugo-nix-reproducible-site/945/2 "2024-08-27T18:11:42Z")

</div>

Thanks, @shom, this is really neat. I’ve been thinking about rebooting my blog on and off for… a long time 😃 Maybe this is step one.

---

<div class="post-metadata">

**Author:** ![shom](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/shom/32/291_2.png) [@shom](https://forum.systemcrafters.net/u/shom)\
**Post date:** [August 29, 2024, 2:53am UTC](https://forum.systemcrafters.net/t/emacs-org-mode-ox-hugo-nix-reproducible-site/945/3 "2024-08-29T02:53:11Z")

</div>

Yes!! Reboot that blog, share stuff, make the web more human, I love it. I hope this helps, even if it just inspires. I was motivated to make this when @BigEatie was considering an Emacs drive blogging workflow. So we’re all just encouraging each other to craft more!

---

<div class="post-metadata">

**Author:** ![BigEatie](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/bigeatie/32/247_2.png) [@BigEatie](https://forum.systemcrafters.net/u/BigEatie)\
**Post date:** [August 29, 2024, 5:10pm UTC](https://forum.systemcrafters.net/t/emacs-org-mode-ox-hugo-nix-reproducible-site/945/4 "2024-08-29T17:10:49Z")

</div>

> [@shom](#):
>
> when @BigEatie was considering

Not when I was looking to create an Emacs driven blogging workflow, I am presently working on it! I’m just working on finishing up my first post, and I’ll make the blog live after that! I’ve been looking at your stuff for ideas and guides on how to make my own, and I’ll especially be looking at the build script you’ve got.

---

<div class="post-metadata">

**Author:** ![Quijote\_Libre](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/quijote_libre/32/596_2.png) [@Quijote\_Libre](https://forum.systemcrafters.net/u/Quijote_Libre)\
**Post date:** [August 30, 2024, 12:03pm UTC](https://forum.systemcrafters.net/t/emacs-org-mode-ox-hugo-nix-reproducible-site/945/5 "2024-08-30T12:03:36Z")

</div>

Thanks for inspiring, helping and encouraging 😀.

I notice some things about your website:

1. why use toml instead of yaml?
2. Why are you using a single .org file? Wouldn’t using one per entry be more streamlined?

Thanks again

---

<div class="post-metadata">

**Author:** ![shom](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/shom/32/291_2.png) [@shom](https://forum.systemcrafters.net/u/shom)\
**Post date:** [September 14, 2024, 6:40pm UTC](https://forum.systemcrafters.net/t/emacs-org-mode-ox-hugo-nix-reproducible-site/945/6 "2024-09-14T18:40:14Z")

</div>

Hey @Quijote_Libre sorry for the late reply. Turns out I have to type and then actually send and not just leave it as a draft 🤦🏽‍♂

1. I’m using toml because Hugo has moved from yaml to toml but yaml is still supported.
2. I’m not sure if one vs. many files is more or less streamlined. I use one file because that’s how I started because I didn’t want to deal with making new files from templates. No specific reason.

---

<div class="post-metadata">

**Author:** ![tusharhero](https://avatars.discourse-cdn.com/v4/letter/t/e99b99/32.png) [@tusharhero](https://forum.systemcrafters.net/u/tusharhero)\
**Post date:** [April 24, 2025, 2:12am UTC](https://forum.systemcrafters.net/t/emacs-org-mode-ox-hugo-nix-reproducible-site/945/7 "2025-04-24T02:12:50Z")

</div>

My scripts are currently very adhoc, thank you for this example.

---

<div class="post-metadata">

**Author:** ![shom](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/shom/32/291_2.png) [@shom](https://forum.systemcrafters.net/u/shom)\
**Post date:** [April 24, 2025, 3:53am UTC](https://forum.systemcrafters.net/t/emacs-org-mode-ox-hugo-nix-reproducible-site/945/8 "2025-04-24T03:53:59Z")

</div>

Cheers! Would love to know how you get along with it and if there are things that can be improved or clarified.
