Hello Blog

Posted on May 5, 2026

Getting a blog

I’ve been contemplating setting up a blog for years now. Why? I don’t really know. Probably don’t have anything super duper interesting to share, and honestly probably no-one is going to read this; but I have felt a desire to write something for some time, just air out stupid opinions on various topics so that I may get them out of my head.

Bought this domain on a whim last year with no plans on what to do with it, except reroute my email which came in handy, so now I can host it here on cathex.is The name was created by grepping through a dictionary of english words ending in -is. I had done a similar thing with icelandic words with the -is postfix, which can be found here.

Testing blog stuff

Decided to try a Haskell based static site generator; mostly just for shits and giggles, but I have been attempting to learn Haskell again so why not. All the cool kids use Haskell right?

Had some build issues with stack due to “ghcversion.h” not found, this seems to have something to do with how stack was setup on my arch system, probably due to partial updates or somesuch. I seem to be able to run Hakyll with cabal with no issue though, but will have to look into the stack issue later.

So far the biggest blocker in getting the site up and running has been procrastination. I’ve yet to get it running on my host. The goal is to just push it to my repo at sr.ht and then use the sites feature to deploy it. Keyhan wrote a blog post on how to configure it that I am going to try to follow.

Docs

Hakyll docs seem pretty nice and clear. Still trying to figure out how to use the context stuff. I’d like to have a sitename variable to use in my templates, but it seems the context vars in Hakyll need to have the var supplied in the .md file?? Does the software not have any support for defaults?

Hmm.. Is there no way to just have a default author, do I need to write my name every time in every post? Well probably not going to have an author field anyways..

CSS fumbles

As of now I am still just using the default CSS that comes with Hakyll, bar some minor adjustments I’ve made to make it darker. The realization is coming to me that I am going to have to write some CSS, ugh. My aim for this site is to have the CSS be as simple and minimal as I can get away with.

I don’t really enjoy writing CSS (surprise), I find it to be slow and cumbersome grunt-work and I lose interest in it quickly. Last year I worked mostly in front-end dev stuff, CSS was easily the most tiresome part of the job.

Deployment

Deployed the site today…. it’s not ready and I hope no one has to look at it. This might push me to actually fix the CSS soon…. let’s hope..

Deployment went okay, initially I used the template from kvakil, updating vars as needed and figuring out what does what. In kvakil’s example the line

    acurl -f https://pages.sr.ht/publish/$site -Fcontent=@../site.tar.gz

Appears to be outdated; at some point hut, the build tool for pages.sr.ht, was not packaged for debian and the proposed solution was to use acurl, but upon the first build it appeared that acurl was not installed

Changing to hut required three commits to get it to work, first changing the deploy step to hut, then forgetting to actually install hut in the build, then realizing twice that the command was mangled and had to be fixed.

So after fussing about with .build.yml, having little experience with build files I arrived at this

    image: debian/stable
    oauth: pages.sr.ht/PAGES:RW
    packages:
    - libghc-hakyll-dev
    - hut
    environment:
      site: cathex.is
    tasks:
    - upload: |
        cd $site
        ghc --make site.hs
        sudo locale-gen "C.UTF-8"
        export LC_ALL=C.UTF-8
        ./site rebuild
        cd _site
        tar -cvz . > ../site.tar.gz
        hut pages publish -d $site ../site.tar.gz
    sources:
    - git@git.sr.ht:~keli/cathex.is

On my TODO list is checking whether or not alpine might be a more suitable distro than Debian; however I am not familiar with the Haskell packaging situation on alpine so I might be in for a headache. So much for choosing a more obscure language for blog software :)

Otherwise once this is setup deployment on sr.ht is easy-breezy, commit->push->check deployment