cmc/cleberg.net

My personal web garden & blog.

clone: git clone https://gitbay.org/cmc/cleberg.net.git

80bc8747e9d8e47aeceab2a02c4510b35c408d7d

unsigned

author: Christian Cleberg <hello@cleberg.net> · 2025-04-02T03:01:32Z

migrate back to cleberg.net
 README.org                                         | 10 ++---
 build.sh                                           |  2 +-
 content/blog/2021-04-23-php-comment-system.org     |  2 +-
 content/blog/2022-02-10-njalla-dns-api.org         |  4 +-
 content/blog/2022-02-16-debian-and-nginx.org       |  4 +-
 content/blog/2022-02-17-exiftool.org               |  2 +-
 content/blog/2022-03-24-server-hardening.org       |  4 +-
 content/blog/2022-06-01-ditching-cloudflare.org    |  2 +-
 .../blog/2022-11-29-nginx-referrer-ban-list.org    |  4 +-
 .../blog/2023-01-05-mass-unlike-tumblr-posts.org   |  4 +-
 content/blog/2023-06-30-self-hosting-voyager.org   |  2 +-
 content/blog/2023-10-04-digital-minimalism.org     |  2 +-
 .../2023-10-17-self-hosting-anonymousoverflow.org  |  4 +-
 content/blog/2024-03-13-doom-emacs.org             | 10 ++---
 content/blog/2024-03-29-org-blog.org               | 12 +++---
 .../blog/2024-04-08-docker-local-web-server.org    | 12 +++---
 content/blog/2024-04-18-mu4e.org                   |  6 +--
 content/blog/2024-08-11-org-mode-features.org      | 16 ++++----
 .../blog/2024-12-27-self-hosting-the-lounge.org    |  2 +-
 content/blog/2025-02-24-email-migration.org        |  2 +-
 content/blog/2025-03-11-new-domain.org             |  8 ++--
 content/index.org                                  |  2 +-
 content/now/index.org                              |  4 +-
 content/salary/index.org                           |  2 +-
 content/services/index.org                         | 46 +++++++++++-----------
 content/wiki/ios.org                               |  2 +-
 content/wiki/macos.org                             |  2 +-
 publish.el                                         |  6 +--
 theme/static/.well-known/security.txt              |  6 +--
 theme/templates/base.html                          |  2 +-
 theme/templates/feed.xml                           |  6 +--
 theme/templates/index.html                         | 16 ++++----
 theme/templates/post.html                          |  2 +-
 utils/hooks/post-push                              |  2 +-
 utils/nginx-dev.conf                               |  6 +--
 utils/salary_visualization.py                      |  2 +-
 36 files changed, 110 insertions(+), 110 deletions(-)

diff --git a/README.org b/README.org
index 63d72a4..c3fc36f 100644
--- a/README.org
+++ b/README.org
@@ -1,8 +1,8 @@
 #+title: README
 
-* cmc.pub
+* cleberg.net
 
-[[https://cmc.pub][cmc.pub]] is my personal webpage and blog. This website and blog utilize the
+[[https://cleberg.net][cleberg.net]] is my personal webpage and blog. This website and blog utilize the
 powerful Org-Mode publishing system, courtesy of the [[https://github.com/emacs-love/weblorg][weblorg]] Emacs package.
 
 ** Features & Configuration
@@ -19,8 +19,8 @@ a local copy of the repository. This can be accomplished by running the
 following commands within Emacs:
 
 #+begin_src sh
-git clone https://github.com/ccleberg/cmc.pub && \
-cd cmc.pub && \
+git clone https://github.com/ccleberg/cleberg.net && \
+cd cleberg.net && \
 emacs -nw
 #+end_src
 
@@ -70,7 +70,7 @@ To quickly create a new blog post within Emacs, follow these steps:
    the newly opened file.
 
 This streamlined process allows you to rapidly generate fresh content for
-cmc.pub, taking advantage of the existing template structure and formatting.
+cleberg.net, taking advantage of the existing template structure and formatting.
 
 ** Contributing & Tasks
 
diff --git a/build.sh b/build.sh
index 537954a..66887b3 100755
--- a/build.sh
+++ b/build.sh
@@ -34,7 +34,7 @@ if [[ "$answer" =~ ^[Yy]$ ]]; then
         emacs --script publish.el &>/dev/null
 
         # Deploy changes
-        rsync -r --delete-before .build/* $ubuntu_server:/var/www/cmc.pub/
+        rsync -r --delete-before .build/* $ubuntu_server:/var/www/cleberg.net/
     else
         echo "Environment: Development"
 
diff --git a/content/blog/2021-04-23-php-comment-system.org b/content/blog/2021-04-23-php-comment-system.org
index c2a5b6f..ac5b1dc 100644
--- a/content/blog/2021-04-23-php-comment-system.org
+++ b/content/blog/2021-04-23-php-comment-system.org
@@ -57,7 +57,7 @@ that future readers will be able to see the source data long after I'm
 gone, or the website has gone offline. However, I still haven't
 committed any images served on my blog to Git, as I'm not entirely sold
 on Git LFS yet - for now, images can be found at
-[[https://img.cmc.pub][img.cmc.pub]].
+[[https://img.cleberg.net][img.cleberg.net]].
 
 Saving my comments back to the Git repository ensures that another
 aspect of my site will degrade gracefully.
diff --git a/content/blog/2022-02-10-njalla-dns-api.org b/content/blog/2022-02-10-njalla-dns-api.org
index 71664dc..b68d5ac 100644
--- a/content/blog/2022-02-10-njalla-dns-api.org
+++ b/content/blog/2022-02-10-njalla-dns-api.org
@@ -6,9 +6,9 @@
 * Njalla's API
 
 As noted in my recent post about
-[[https://cmc.pub/blog/ditching-cloudflare/][switching to Njalla from
+[[https://cleberg.net/blog/ditching-cloudflare/][switching to Njalla from
 Cloudflare]], I was searching for a way to replace my very easy-to-use
-bash script to [[https://cmc.pub/blog/cloudflare-dns-api/][update Cloudflare's
+bash script to [[https://cleberg.net/blog/cloudflare-dns-api/][update Cloudflare's
 DNS via their API]].
 
 To reiterate what I said in those posts, this is a common necessity for
diff --git a/content/blog/2022-02-16-debian-and-nginx.org b/content/blog/2022-02-16-debian-and-nginx.org
index e74b4a5..5c611d4 100644
--- a/content/blog/2022-02-16-debian-and-nginx.org
+++ b/content/blog/2022-02-16-debian-and-nginx.org
@@ -18,7 +18,7 @@ alert: it feels identical to Ubuntu for my purposes.
 I did the normal things when first launching the VPS, such as adding a
 new user, locking down SSH, etc. If you want to see that level of
 detail, read my other post about
-[[https://cmc.pub/blog/how-to-set-up-a-vps-web-server/][How to Set
+[[https://cleberg.net/blog/how-to-set-up-a-vps-web-server/][How to Set
 Up a VPS Web Server]].
 
 All of this has been similar, apart from small things such as the
@@ -159,7 +159,7 @@ the Nginx docs to see what other fun things I can do with all of this.
 Finally, I set up the Agate software on this server again to host my
 Gemini server content, using Rust as I have before. You can read my
 other post for more information on installing Agate:
-[[https://cmc.pub/blog/hosting-a-gemini-server/][Hosting a Gemini
+[[https://cleberg.net/blog/hosting-a-gemini-server/][Hosting a Gemini
 Server]].
 
 All in all, Debian + Nginx is very slick and I prefer it over my old
diff --git a/content/blog/2022-02-17-exiftool.org b/content/blog/2022-02-17-exiftool.org
index c7cb790..3798ebb 100644
--- a/content/blog/2022-02-17-exiftool.org
+++ b/content/blog/2022-02-17-exiftool.org
@@ -45,7 +45,7 @@ distributions, but I really only care to test out this one package.
 ** Recursively Strip Data
 
 I actually use this tool extensively to strip any photos uploaded to the
-website that serves all the images for my blog (=img.cmc.pub=).
+website that serves all the images for my blog (=img.cleberg.net=).
 
 The following command is incredibly useful and can be modified to
 include any image extensions that =exiftool= supports:
diff --git a/content/blog/2022-03-24-server-hardening.org b/content/blog/2022-03-24-server-hardening.org
index 8704a27..7c9af8d 100644
--- a/content/blog/2022-03-24-server-hardening.org
+++ b/content/blog/2022-03-24-server-hardening.org
@@ -110,7 +110,7 @@ via your randomized port.
 
 ** =ufw=
 
-To see how to configure =ufw=, see my other post: [[https://cmc.pub/blog/ufw.html][Secure Your 
+To see how to configure =ufw=, see my other post: [[https://cleberg.net/blog/ufw.html][Secure Your 
 Network with the Uncomplicated Firewall]].
 
 The general notion with an on-device firewall is that you want to deny all
@@ -196,7 +196,7 @@ sudo ufw enable
 
    This process involves editing a couple files and installing an MFA package,
    so I will not include all the details in this post. To see how to configure
-   MFA for =ssh=, see my other post: [[https://cmc.pub/blog/ssh-mfa.html][Enabling MFA for 
+   MFA for =ssh=, see my other post: [[https://cleberg.net/blog/ssh-mfa.html][Enabling MFA for 
    SSH]].
 
 ** =fail2ban=
diff --git a/content/blog/2022-06-01-ditching-cloudflare.org b/content/blog/2022-06-01-ditching-cloudflare.org
index b7ba52d..4b18b91 100644
--- a/content/blog/2022-06-01-ditching-cloudflare.org
+++ b/content/blog/2022-06-01-ditching-cloudflare.org
@@ -77,7 +77,7 @@ the server hosting my various websites and apps.
 
 However, as I was moving away from Cloudflare, I was not able to find a
 suitable replacement that was both inexpensive and simple. So, I simply
-went back to hosting [[https://cmc.pub/blog/set-up-nginx-reverse-proxy/][my own
+went back to hosting [[https://cleberg.net/blog/set-up-nginx-reverse-proxy/][my own
 reverse proxy with Nginx]]. With the recent additions of Unifi hardware
 in my server/network rack, I am much more protected against spam and
 malicious attacks at the network edge than I was before I switched to
diff --git a/content/blog/2022-11-29-nginx-referrer-ban-list.org b/content/blog/2022-11-29-nginx-referrer-ban-list.org
index 27c39fb..698196a 100644
--- a/content/blog/2022-11-29-nginx-referrer-ban-list.org
+++ b/content/blog/2022-11-29-nginx-referrer-ban-list.org
@@ -101,7 +101,7 @@ In order to test the results, let's curl the contents of our site. To
 start, I'll curl the site normally:
 
 #+begin_src sh
-curl https://cmc.pub
+curl https://cleberg.net
 #+end_src
 
 The HTML contents of the page come back successfully:
@@ -113,7 +113,7 @@ The HTML contents of the page come back successfully:
 Next, let's include a banned referrer:
 
 #+begin_src sh
-curl --referer https://news.ycombinator.com https://cmc.pub
+curl --referer https://news.ycombinator.com https://cleberg.net
 #+end_src
 
 This time, I'm met with a 403 Forbidden response page. That means we are
diff --git a/content/blog/2023-01-05-mass-unlike-tumblr-posts.org b/content/blog/2023-01-05-mass-unlike-tumblr-posts.org
index d0f6cd2..e3811c6 100644
--- a/content/blog/2023-01-05-mass-unlike-tumblr-posts.org
+++ b/content/blog/2023-01-05-mass-unlike-tumblr-posts.org
@@ -56,7 +56,7 @@ and be sure you're on the "Console" tab. It should look something like
 this (this is in Firefox, Chromium should be similar):
 
 #+caption: Firefox Dev !Tools
-[[https:///img.cmc.pub/blog/20230105-mass-unlike-tumblr-posts/dev_console.png]]
+[[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/dev_console.png]]
 
 All you need to do is paste the following snippet into the dev console.
 This code will collect all unlike buttons (=elements=) and then click
@@ -88,7 +88,7 @@ the console, pressed Enter, and then the posts are automatically
 unliked.
 
 #+caption: Script !Results
-[[https:///img.cmc.pub/blog/20230105-mass-unlike-tumblr-posts/script_results.png]]
+[[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/script_results.png]]
 
 Thinking about this further, I would bet that this would be fairly
 simple to package into a browser add-on so that users could install the
diff --git a/content/blog/2023-06-30-self-hosting-voyager.org b/content/blog/2023-06-30-self-hosting-voyager.org
index 33baef9..7e66776 100644
--- a/content/blog/2023-06-30-self-hosting-voyager.org
+++ b/content/blog/2023-06-30-self-hosting-voyager.org
@@ -120,4 +120,4 @@ sudo systemctl restart nginx.service
 The site will now be available at the =server_name= you specified above!
 
 You can visit my instance at
-[[https://voyager.cmc.pub][voyager.cmc.pub]] for an example.
+[[https://voyager.cleberg.net][voyager.cleberg.net]] for an example.
diff --git a/content/blog/2023-10-04-digital-minimalism.org b/content/blog/2023-10-04-digital-minimalism.org
index ac4d4f5..798d3ff 100644
--- a/content/blog/2023-10-04-digital-minimalism.org
+++ b/content/blog/2023-10-04-digital-minimalism.org
@@ -3,7 +3,7 @@
 #+description: 
 #+slug: digital-minimalism
 
-I've written [[https://cmc.pub/wiki/#digital-garden][a note about minimalism]]
+I've written [[https://cleberg.net/wiki/#digital-garden][a note about minimalism]]
 before, but I wanted to dedicate some time to reflect on digital
 minimalism and how I've been able to minimize the impact of digital
 devices in my life.
diff --git a/content/blog/2023-10-17-self-hosting-anonymousoverflow.org b/content/blog/2023-10-17-self-hosting-anonymousoverflow.org
index 6479fbf..3b9068b 100644
--- a/content/blog/2023-10-17-self-hosting-anonymousoverflow.org
+++ b/content/blog/2023-10-17-self-hosting-anonymousoverflow.org
@@ -6,7 +6,7 @@
 * Overview
 
 I recently launched an instance of AnonymousOverflow at
-[[https://ao.cmc.pub][ao.cmc.pub]] and wanted to write a brief
+[[https://ao.cleberg.net][ao.cleberg.net]] and wanted to write a brief
 post on how easy it is to install with Docker Compose and Nginx.
 
 This guide uses Ubuntu server, Docker Compose, and Nginx as a reverse
@@ -128,4 +128,4 @@ sudo systemctl restart nginx.service
 #+end_src
 
 The website will now be available publicly. Visit
-[[https://ao.cmc.pub][my instance]] for an example.
+[[https://ao.cleberg.net][my instance]] for an example.
diff --git a/content/blog/2024-03-13-doom-emacs.org b/content/blog/2024-03-13-doom-emacs.org
index 2f2dc92..04e9989 100644
--- a/content/blog/2024-03-13-doom-emacs.org
+++ b/content/blog/2024-03-13-doom-emacs.org
@@ -269,10 +269,10 @@ list them all, so I will simply cover a few of the basic commands I use myself.
 
    (setq org-publish-project-alist
          `(("blog"
-            :base-directory "~/Source/cmc.pub/"
+            :base-directory "~/Source/cleberg.net/"
             :base-extension "org"
             :recursive t
-            :publishing-directory "~/Source/cmc.pub/public/"
+            :publishing-directory "~/Source/cleberg.net/public/"
             :publishing-function org-html-publish-to-html
             ;; HTML5
             :html-doctype "html5"
@@ -311,13 +311,13 @@ list them all, so I will simply cover a few of the basic commands I use myself.
            )
 
            ("static"
-            :base-directory "~/Source/cmc.pub/static/"
+            :base-directory "~/Source/cleberg.net/static/"
             :base-extension "css\\|txt\\|jpg\\|gif\\|png"
             :recursive t
-            :publishing-directory  "~/Source/cmc.pub/public/"
+            :publishing-directory  "~/Source/cleberg.net/public/"
             :publishing-function org-publish-attachment)
 
-           ("cmc.pub" :components ("blog" "static"))))
+           ("cleberg.net" :components ("blog" "static"))))
    #+end_src
 
 ** General Thoughts
diff --git a/content/blog/2024-03-29-org-blog.org b/content/blog/2024-03-29-org-blog.org
index 6173231..5ae1a2b 100644
--- a/content/blog/2024-03-29-org-blog.org
+++ b/content/blog/2024-03-29-org-blog.org
@@ -8,7 +8,7 @@ feed duplicated itself when I moved this blog over to org-mode last night.
 
 This post focuses specifically on the configuration and tools I use to blog from
 Emacs with Org-Mode and does not focus on Emacs or Org-Mode themselves. Refer to
-the post I wrote about [[https://cmc.pub/blog/doom-emacs-org-mode.html][Doom Emacs & Org-Mode]] for more information about my base
+the post I wrote about [[https://cleberg.net/blog/doom-emacs-org-mode.html][Doom Emacs & Org-Mode]] for more information about my base
 Emacs configuration.
 
 * Weblorg
@@ -60,7 +60,7 @@ Now that I've installed weblorg, I need to configure the project. I'll start by
 navigating to my site's source code and creating a =publish.el= file.
 
 #+begin_src sh
-cd ~/Source/cmc.pub && nano publish.el
+cd ~/Source/cleberg.net && nano publish.el
 #+end_src
 
 Since I'm using Doom, Emacs will not automatically load the packages I need
@@ -80,13 +80,13 @@ explicitly tell Emacs where Doom stores the =htmlize=, =weblorg=, and
 ;; To build with the custom URL below, call:
 ;;;; ENV=prod emacs --script publish.el
 (if (string= (getenv "ENV") "prod")
- (setq weblorg-default-url "https://cmc.pub"))
+ (setq weblorg-default-url "https://cleberg.net"))
 
 ;; site metadata
 (weblorg-site
  :theme nil
- :template-vars '(("site_name" . "cmc.pub")
-                  ("site_owner" . "hello@cmc.pub")
+ :template-vars '(("site_name" . "cleberg.net")
+                  ("site_owner" . "hello@cleberg.net")
                   ("site_description" . "Just a blip of ones and zeroes.")))
 
 ;; route for rendering the index page of the website
@@ -235,7 +235,7 @@ Within this script, I do the following:
 #+begin_src sh
 rm -rf .build/* && \
 ENV=prod emacs--script publish.el && \
-scp -r .build/* ubuntu:/var/www/cmc.pub/
+scp -r .build/* ubuntu:/var/www/cleberg.net/
 #+end_src
 
 *** Time to Build
diff --git a/content/blog/2024-04-08-docker-local-web-server.org b/content/blog/2024-04-08-docker-local-web-server.org
index ee8ea3a..b768c44 100644
--- a/content/blog/2024-04-08-docker-local-web-server.org
+++ b/content/blog/2024-04-08-docker-local-web-server.org
@@ -76,7 +76,7 @@ To see the updates, you can delete the previous container in the GUI or run
 =docker run= command below.
 
 #+begin_src sh
-docker run -it -d -p 8000:80 --name web -v ~/Source/cmc.pub/.build:/usr/share/nginx/html -v ~/Source/cmc.pub/nginx-config.conf:/etc/nginx/conf.d/default.conf nginx
+docker run -it -d -p 8000:80 --name web -v ~/Source/cleberg.net/.build:/usr/share/nginx/html -v ~/Source/cleberg.net/nginx-config.conf:/etc/nginx/conf.d/default.conf nginx
 #+end_src
 
 Here's an example of my development configuration file.
@@ -84,14 +84,14 @@ Here's an example of my development configuration file.
 #+begin_src conf
 # nginx-config.conf
 server {
-       server_name cmc.pub www.cmc.pub;
+       server_name cleberg.net www.cleberg.net;
 
        root /usr/share/nginx/html;
        index index.html;
        autoindex on;
 
-       access_log  /var/log/nginx/cmc.pub.access.log;
-       error_log  /var/log/nginx/cmc.pub.error.log;
+       access_log  /var/log/nginx/cleberg.net.access.log;
+       error_log  /var/log/nginx/cleberg.net.error.log;
 
        location / {
                 try_files $uri $uri/ =404;
@@ -109,7 +109,7 @@ server {
 I am currently blogging with [[https://emacs.love/weblorg/][weblorg]], which uses a custom =publish.el= file to
 build the static site. Within this file, I have configured my deployment process
 to check for the =ENV= variable in thesh and if it's set to =prod=, the script
-will set the base URLs to =https://cmc.pub=. If not, it sets the base URLs
+will set the base URLs to =https://cleberg.net=. If not, it sets the base URLs
 to =localhost:8000= (which matches the port used in the container above).
 
 Therefore, I have modified my =build.sh= script to build with =localhost= URLs
@@ -123,7 +123,7 @@ if [ "$ENV" == "prod" ]; then
     echo "Environment = Production"              && \
     rm -rf .build/*                              && \
     emacs --script publish.el                    && \
-    scp -r .build/* ubuntu:/var/www/cmc.pub/
+    scp -r .build/* ubuntu:/var/www/cleberg.net/
 else
     echo "Environment = Development"             && \
     rm -rf .build/*                              && \
diff --git a/content/blog/2024-04-18-mu4e.org b/content/blog/2024-04-18-mu4e.org
index 0f89ac3..40a34cc 100644
--- a/content/blog/2024-04-18-mu4e.org
+++ b/content/blog/2024-04-18-mu4e.org
@@ -159,9 +159,9 @@ auth on
 host smtp.startmail.com
 port 465
 protocol smtp
-from hello@cmc.pub
-user hello@cmc.pub
-passwordeval security find-generic-password -s startmail -a hello@cmc.pub -w
+from hello@cleberg.net
+user hello@cleberg.net
+passwordeval security find-generic-password -s startmail -a hello@cleberg.net -w
 tls on
 tls_starttls off
 
diff --git a/content/blog/2024-08-11-org-mode-features.org b/content/blog/2024-08-11-org-mode-features.org
index 94ba933..e089b51 100644
--- a/content/blog/2024-08-11-org-mode-features.org
+++ b/content/blog/2024-08-11-org-mode-features.org
@@ -7,7 +7,7 @@
 * Cycling (Folding)
 
 #+begin_quote
-[[https://github.com/ccleberg/cmc.pub/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L7][View this section]] in org-mode.
+[[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L7][View this section]] in org-mode.
 #+end_quote
 
 My absolute top-used feature is [[https://orgmode.org/manual/Global-and-local-cycling.html][global and local cycling]] and it's not even
@@ -55,7 +55,7 @@ at the top of the buffer:
 * TODO Lists
 
 #+begin_quote
-[[https://github.com/ccleberg/cmc.pub/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L55][View this section]] in org-mode.
+[[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L55][View this section]] in org-mode.
 #+end_quote
 
 Next up on in this post are [[https://orgmode.org/manual/TODO-Items.html][TODO Lists]]. Being able to combine note taking and
@@ -106,7 +106,7 @@ that variable to alert me of tasks with iOS native notifications.
 * Time Stamping
 
 #+begin_quote
-[[https://github.com/ccleberg/cmc.pub/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L106][View this section]] in org-mode.
+[[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L106][View this section]] in org-mode.
 #+end_quote
 
 Another great feature are the [[https://orgmode.org/manual/Dates-and-Times.html][dates and times]] functionalities within org-mode.
@@ -137,7 +137,7 @@ different options available when creating timestamps.
 * Tags
 
 #+begin_quote
-[[https://github.com/ccleberg/cmc.pub/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L137][View this section]] in org-mode.
+[[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L137][View this section]] in org-mode.
 #+end_quote
 
 Next up are [[https://orgmode.org/manual/Tags.html][Tags]], which provide a way to document contexts within and across
@@ -162,7 +162,7 @@ m= and search for a tag of your choosing.
 * Tables
 
 #+begin_quote
-[[https://github.com/ccleberg/cmc.pub/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L162][View this section]] in org-mode.
+[[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L162][View this section]] in org-mode.
 #+end_quote
 
 One of the most inconvenient parts of writing in Markdown was dealing with
@@ -232,7 +232,7 @@ on the second line.
 * Source Code Blocks
 
 #+begin_quote
-[[https://github.com/ccleberg/cmc.pub/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L232][View this section]] in org-mode.
+[[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L232][View this section]] in org-mode.
 #+end_quote
 
 ** Introduction to Source Code Blocks
@@ -302,7 +302,7 @@ results below the code block.
 * Exporting and Publishing
 
 #+begin_quote
-[[https://github.com/ccleberg/cmc.pub/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L302][View this section]] in org-mode.
+[[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L302][View this section]] in org-mode.
 #+end_quote
 
 I would be remiss if I did not mention the native [[https://orgmode.org/manual/Exporting.html][exporting and publishing]]
@@ -336,7 +336,7 @@ external [[https://orgmode.org/tools.html][tools]], including [[https://orgmode.
 * Agenda
 
 #+begin_quote
-[[https://github.com/ccleberg/cmc.pub/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L336][View this section]] in org-mode.
+[[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L336][View this section]] in org-mode.
 #+end_quote
 
 Last, but not least, are [[https://orgmode.org/manual/Agenda-Views.html][Agenda Views]]. With agenda views, you can easily view
diff --git a/content/blog/2024-12-27-self-hosting-the-lounge.org b/content/blog/2024-12-27-self-hosting-the-lounge.org
index 7bacbec..a88adf3 100644
--- a/content/blog/2024-12-27-self-hosting-the-lounge.org
+++ b/content/blog/2024-12-27-self-hosting-the-lounge.org
@@ -11,7 +11,7 @@ desirable features for a modern IRC client. The Lounge supports push
 notifications, link previews, file uploads, always connected, multi-user
 support, and is available as a PWA for mobile devices.
 
-I wanted to write this as I had written a post about [[https://cmc.pub/blog/self-hosting-convos.html][self-hosting Convos]] and
+I wanted to write this as I had written a post about [[https://cleberg.net/blog/self-hosting-convos.html][self-hosting Convos]] and
 have recently migrated over to The Lounge instead.
 
 If you'd like to try a demo first, head over to [[https://demo.thelounge.chat/][the official demo website]].
diff --git a/content/blog/2025-02-24-email-migration.org b/content/blog/2025-02-24-email-migration.org
index b2eb93f..b9cf3ff 100644
--- a/content/blog/2025-02-24-email-migration.org
+++ b/content/blog/2025-02-24-email-migration.org
@@ -48,7 +48,7 @@ This led to a dead end as my two methods failed:
 At this point, I decided to take a step back and use [[https://github.com/djcb/mu][mu]], a command-line utility
 that would index my files and sync back and forth with Migadu for me.
 
-Using my blog post, [[https://cmc.pub/blog/mu4e.html][Email in Doom Emacs with Mu4e on macOS]], (and skipping the
+Using my blog post, [[https://cleberg.net/blog/mu4e.html][Email in Doom Emacs with Mu4e on macOS]], (and skipping the
 mu4e parts) I was able to set up a minimal directory connected to my Migadu IMAP
 account. Using my terminal, I simply moved all of my messages into the =mu=
 directory and synchronized the account, and voila, my messages synchronized
diff --git a/content/blog/2025-03-11-new-domain.org b/content/blog/2025-03-11-new-domain.org
index 4c77575..36b9320 100644
--- a/content/blog/2025-03-11-new-domain.org
+++ b/content/blog/2025-03-11-new-domain.org
@@ -10,9 +10,9 @@ result:
 |----------+-------------------+---------------|
 | Category | Old               | Current       |
 |----------+-------------------+---------------|
-| Domain   | cleberg.net       | [[https://cmc.pub][cmc.pub]]       |
-| Email    | hello@cleberg.net | [[mailto:hello@cmc.pub][hello@cmc.pub]] |
-| GPG Key  | [[https://keys.openpgp.org/search?q=hello%40cleberg.net][hello@cleberg.net]] | [[https://keys.openpgp.org/search?q=hello%40cmc.pub][hello@cmc.pub]] |
+| Domain   | cleberg.net       | [[https://cleberg.net][cleberg.net]]       |
+| Email    | hello@cleberg.net | [[mailto:hello@cleberg.net][hello@cleberg.net]] |
+| GPG Key  | [[https://keys.openpgp.org/search?q=hello%40cleberg.net][hello@cleberg.net]] | [[https://keys.openpgp.org/search?q=hello%40cleberg.net][hello@cleberg.net]] |
 |----------+-------------------+---------------|
 
-/New services will continue to be updated on the [[https://cmc.pub/services/][services]] page./
+/New services will continue to be updated on the [[https://cleberg.net/services/][services]] page./
diff --git a/content/index.org b/content/index.org
index cf6e3dc..d94d79b 100644
--- a/content/index.org
+++ b/content/index.org
@@ -1,2 +1,2 @@
-#+title: cmc.pub
+#+title: cleberg.net
 #+description: Just a blip of ones and zeroes.
diff --git a/content/now/index.org b/content/now/index.org
index ae52f3c..9e76bb9 100644
--- a/content/now/index.org
+++ b/content/now/index.org
@@ -29,7 +29,7 @@ This is a [[https://nownownow.com/about][/now]] page.
 
 - Achieved my GitHub Foundations cert. Very easy.
 - Migrated back to [[https://github.com/ccleberg][GitHub]].
-- Migrated domain from =cleberg.net= to [[https://cmc.pub][cmc.pub]].
+- Migrated domain from =cleberg.net= to [[https://cleberg.net][cleberg.net]].
 - Deleted a bunch of accounts to reduce online footprint. Looking for more ways
   to reduce.
 
@@ -41,4 +41,4 @@ This is a [[https://nownownow.com/about][/now]] page.
 - Weather's warming up, so disc golf frequency is increasing.
 - Meeting new people at the Irish pub nearby.
 
-View the historical [[https://github.com/ccleberg/cmc.pub/commits/main/content/now/index.org][log of changes]] for this page.
+View the historical [[https://github.com/ccleberg/cleberg.net/commits/main/content/now/index.org][log of changes]] for this page.
diff --git a/content/salary/index.org b/content/salary/index.org
index a0da7c5..ab91ca9 100644
--- a/content/salary/index.org
+++ b/content/salary/index.org
@@ -46,7 +46,7 @@ raise while in the same role.
 | Teaching Assistant                             | University of Nebraska | Lincoln, NE    | 2017-08 | 2018-05 | $7/hour  |
 | Community Management Intern                    | Walgreens              | Lincoln, NE    | 2017-06 | 2018-02 | $14/hour |
 
-[[[https://cmc.pub/salary.csv][source data]]]
+[[[https://cleberg.net/salary.csv][source data]]]
 
 ** Salary Visualization
 :PROPERTIES:
diff --git a/content/services/index.org b/content/services/index.org
index 813b6de..2139578 100644
--- a/content/services/index.org
+++ b/content/services/index.org
@@ -5,32 +5,32 @@
 
 | Service           | Replaces         |
 |-------------------+------------------|
-| [[https://ao.cmc.pub/][AnonymousOverflow]] | StackOverflow    |
-| [[https://br.cmc.pub/][BiblioReads]]       | Goodreads        |
-| [[https://pin.cmc.pub/][Binternet]]         | Pinterest        |
-| [[https://bw.cmc.pub/][BreezeWiki]]        | Fandom           |
-| [[https://ld.cmc.pub][LibremDB]]          | IMDb             |
-| [[https://pb.cmc.pub][Priviblur]]         | Tumblr           |
-| [[https://rimgo.cmc.pub/][Rimgo]]             | Imgur            |
-| [[https://rd.cmc.pub/][Rural Dictionary]]  | Urban Dictionary |
-| [[https://art.cmc.pub/][SkunkyArt]]         | DeviantArt       |
-| [[https://small.cmc.pub][Small]]             | Medium           |
-| [[https://yt.cmc.pub/][Invidious]]         | YouTube          |
+| [[https://ao.cleberg.net/][AnonymousOverflow]] | StackOverflow    |
+| [[https://br.cleberg.net/][BiblioReads]]       | Goodreads        |
+| [[https://pin.cleberg.net/][Binternet]]         | Pinterest        |
+| [[https://bw.cleberg.net/][BreezeWiki]]        | Fandom           |
+| [[https://ld.cleberg.net][LibremDB]]          | IMDb             |
+| [[https://pb.cleberg.net][Priviblur]]         | Tumblr           |
+| [[https://rimgo.cleberg.net/][Rimgo]]             | Imgur            |
+| [[https://rd.cleberg.net/][Rural Dictionary]]  | Urban Dictionary |
+| [[https://art.cleberg.net/][SkunkyArt]]         | DeviantArt       |
+| [[https://small.cleberg.net][Small]]             | Medium           |
+| [[https://yt.cleberg.net/][Invidious]]         | YouTube          |
 
 * Other Services
 
 | Service        | Description                                      |
 |----------------+--------------------------------------------------|
-| [[https://cc.cmc.pub/][CyberChef]]      | The Cyber Swiss Army Knife                       |
-| [[https://files.cmc.pub/][FileArchive]]    | An interesting file archive                      |
-| [[https://paste.cmc.pub/][FlashPaper]]     | One-time encrypted password/secret sharing       |
-| [[https://hat.cmc.pub/][Hat.sh]]         | Simple, fast, secure client-side file encryption |
-| [[https://lt.cmc.pub][LibreTranslate]] | A translation engine                             |
-| [[https://office.cmc.pub/][Office]]         | The world's smallest office suite                |
-| [[https://org.cmc.pub/][Org-Live]]       | A basic org-mode editor for the web I built      |
-| [[https://pgp.cmc.pub/][PGP]]            | A simple and easy-to-use client-side PGP tool    |
-| [[https://search.cmc.pub/][SearXNG]]        | A privacy-respecting, open metasearch engine     |
-| [[https://send.cmc.pub/][Send]]           | Simple, private file sharing                     |
-| [[https://slash.cmc.pub/][Slash]]          | Bookmark and link sharing platform               |
+| [[https://cc.cleberg.net/][CyberChef]]      | The Cyber Swiss Army Knife                       |
+| [[https://files.cleberg.net/][FileArchive]]    | An interesting file archive                      |
+| [[https://paste.cleberg.net/][FlashPaper]]     | One-time encrypted password/secret sharing       |
+| [[https://hat.cleberg.net/][Hat.sh]]         | Simple, fast, secure client-side file encryption |
+| [[https://lt.cleberg.net][LibreTranslate]] | A translation engine                             |
+| [[https://office.cleberg.net/][Office]]         | The world's smallest office suite                |
+| [[https://org.cleberg.net/][Org-Live]]       | A basic org-mode editor for the web I built      |
+| [[https://pgp.cleberg.net/][PGP]]            | A simple and easy-to-use client-side PGP tool    |
+| [[https://search.cleberg.net/][SearXNG]]        | A privacy-respecting, open metasearch engine     |
+| [[https://send.cleberg.net/][Send]]           | Simple, private file sharing                     |
+| [[https://slash.cleberg.net/][Slash]]          | Bookmark and link sharing platform               |
 
-See the [[https://github.com/ccleberg/cmc.pub/commits/main/content/services/index.org][git log]] if you want to see a log of changes made to this page.
+See the [[https://github.com/ccleberg/cleberg.net/commits/main/content/services/index.org][git log]] if you want to see a log of changes made to this page.
diff --git a/content/wiki/ios.org b/content/wiki/ios.org
index f44fa66..fefde17 100644
--- a/content/wiki/ios.org
+++ b/content/wiki/ios.org
@@ -3,7 +3,7 @@
 
 Related:
 
-- [[https://cmc.pub/wiki/hardware.html][Hardware]]
+- [[https://cleberg.net/wiki/hardware.html][Hardware]]
 
 My primary mobile OS. Currently running iOS 17. This wiki page contains most of
 the apps I have used at one point or another across my different iPhones.
diff --git a/content/wiki/macos.org b/content/wiki/macos.org
index 28d8a96..566e68b 100644
--- a/content/wiki/macos.org
+++ b/content/wiki/macos.org
@@ -3,7 +3,7 @@
 
 Related:
 
-- [[https://cmc.pub/wiki/hardware/][Hardware]]
+- [[https://cleberg.net/wiki/hardware/][Hardware]]
 
 My primary OS. Currently running macOS Sonoma 14. This wiki page contains most
 of the apps I have used at one point or another across my different Macbooks.
diff --git a/publish.el b/publish.el
index 3acf5e7..3868f30 100644
--- a/publish.el
+++ b/publish.el
@@ -8,13 +8,13 @@
 
 ;; Set default URL for Weblorg
 (if (string= (getenv "ENV") "prod")
-    (setq weblorg-default-url "https://cmc.pub"))
+    (setq weblorg-default-url "https://cleberg.net"))
 
 ;; Define site configuration
 (weblorg-site
  :theme nil
-  :template-vars `(("site_name" . "cmc.pub")
-                  ("site_owner" . "Christian Cleberg <hello@cmc.pub>")
+  :template-vars `(("site_name" . "cleberg.net")
+                  ("site_owner" . "Christian Cleberg <hello@cleberg.net>")
                   ("site_description" . "Just a blip of ones and zeroes.")))
 
 ;; Define routes for rendering content
diff --git a/theme/static/.well-known/security.txt b/theme/static/.well-known/security.txt
index 514629f..1cd21c9 100644
--- a/theme/static/.well-known/security.txt
+++ b/theme/static/.well-known/security.txt
@@ -1,11 +1,11 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA512
 
-Contact: mailto:hello@cmc.pub
+Contact: mailto:hello@cleberg.net
 Expires: 2100-01-01T06:00:00.000Z
-Encryption: https://cmc.pub/gpg.txt
+Encryption: https://cleberg.net/gpg.txt
 Preferred-Languages: en
-Canonical: https://cmc.pub/.well-known/security.txt
+Canonical: https://cleberg.net/.well-known/security.txt
 -----BEGIN PGP SIGNATURE-----
 
 iHUEARYKAB0WIQTGhwCm+ktxg7bO5H3u3Jlc0U8ZPAUCZ9DLeQAKCRDu3Jlc0U8Z
diff --git a/theme/templates/base.html b/theme/templates/base.html
index b5f3b89..b77d638 100644
--- a/theme/templates/base.html
+++ b/theme/templates/base.html
@@ -34,7 +34,7 @@
         <p>Last build: &lt;{{ now() | strftime("%Y-%m-%d %a %H:%M:%S") }}&gt;</p>
 		<p>
             <a href="https://stats.uptimerobot.com/OwOWs7HU0z">Status</a> &middot;
-			<a href="https://github.com/ccleberg/cmc.pub" target="_blank"
+			<a href="https://github.com/ccleberg/cleberg.net" target="_blank"
 			rel="noopener">Source Code</a> &middot;
 			<a href="/feed.xml">RSS Feed</a> &middot;
             <a href="/.well-known/security.txt">security.txt</a>
diff --git a/theme/templates/feed.xml b/theme/templates/feed.xml
index 78796bd..7b23994 100644
--- a/theme/templates/feed.xml
+++ b/theme/templates/feed.xml
@@ -10,7 +10,7 @@
      xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
      xmlns:media="http://search.yahoo.com/mrss/">
   <channel>
-    <title>{{ site_name | default("cmc.pub") }}</title>
+    <title>{{ site_name | default("cleberg.net") }}</title>
     <atom:link
       href="{{ url_for("rss") }}"
       rel="self" type="application/rss+xml" />
@@ -20,13 +20,13 @@
     <pubDate>{{ posts | first | getattr("date") | strftime("%a, %d %b %Y %H:%M:%S %z") }}</pubDate>
     <lastBuildDate>{{ now() | strftime("%a, %d %b %Y %H:%M:%S %z") }}</lastBuildDate>
     <generator>{{ meta.generator }}</generator>
-    <webMaster>{{ site_owner | default("hello@cmc.pub") }}</webMaster>
+    <webMaster>{{ site_owner | default("hello@cleberg.net") }}</webMaster>
 
     {% for post in posts %}
     <item>
       <title>{{ post.title }}</title>
       <link>{{ url_for("blog", slug=post.slug) }}</link>
-      <author>{{ post.author|default("hello@cmc.pub") }}</author>
+      <author>{{ post.author|default("hello@cleberg.net") }}</author>
       <guid isPermaLink="false">{{ url_for("blog", slug=post.slug) }}</guid>
       <pubDate>{{ post.date|strftime("%a, %d %b %Y %H:%M:%S %z") }}</pubDate>
       <description><![CDATA[{{ post.html|safe }}]]></description>
diff --git a/theme/templates/index.html b/theme/templates/index.html
index 518c10e..d19ad77 100644
--- a/theme/templates/index.html
+++ b/theme/templates/index.html
@@ -1,9 +1,9 @@
 {% extends "base.html" %} {% block main %}
 <section>
-	<h1><i>~cmc.pub</i></h1>
+	<h1><i>~cleberg.net</i></h1>
 	<pre>pub   ed25519 2025-03-11 [SCA]
       <a href="/gpg.txt">C687 00A6 FA4B 7183 B6CE E47D EEDC 995C D14F 193C</a>
-uid           [ultimate] Christian Cleberg &lt;hello@cmc.pub&gt;
+uid           [ultimate] Christian Cleberg &lt;hello@cleberg.net&gt;
 sub   cv25519 2025-03-11 [E]</pre>
 </section>
 <section>
@@ -32,7 +32,7 @@ sub   cv25519 2025-03-11 [E]</pre>
 <section>
 	<h2>Everything Else</h2>
 	<ul>
-		<li><a href="https://cv.cmc.pub">Curriculum Vitae</a></li>
+		<li><a href="https://cv.cleberg.net">Curriculum Vitae</a></li>
 		<li><a href="/now/">Now</a></li>
 		<li><a href="/salary/">Salary</a></li>
 		<li><a href="/services/">Services</a></li>
@@ -43,9 +43,9 @@ sub   cv25519 2025-03-11 [E]</pre>
 <section>
 	<h2>Contact</h2>
 	<ul>
-		<li><a href="mailto:hello@cmc.pub">hello@cmc.pub</a> (<a href="https://cmc.pub/gpg.txt">GPG</a>)</li>
+		<li><a href="mailto:hello@cleberg.net">hello@cleberg.net</a> (<a href="https://cleberg.net/gpg.txt">GPG</a>)</li>
 		<li>cyb0rg on <a href="https://libera.chat/">libera.chat</a></li>
-		<li><a href="https://lemmy.cmc.pub/u/cmc">@cmc</a> on Lemmy</li>
+		<li><a href="https://lemmy.cleberg.net/u/cmc">@cmc</a> on Lemmy</li>
 		<li>@cmc.01 on <a href="https://signal.org/">Signal</a></li>
 		<li><a href="https://github.com/ccleberg">GitHub</a></li>
 	</ul>
@@ -55,9 +55,9 @@ sub   cv25519 2025-03-11 [E]</pre>
 	<div class="h-card">
 		<span class="p-name">Christian Cleberg</span>
 		<span class="p-nickname">cmc</span> (IRC)
-		<img class="u-photo" src="https://cmc.pub/favicon.png"/>
-		<a class="u-url u-uid" href="http://cmc.pub" rel="me">w</a>,
-		<a class="u-email" href="mailto:hello@cmc.pub">e</a>
+		<img class="u-photo" src="https://cleberg.net/favicon.png"/>
+		<a class="u-url u-uid" href="http://cleberg.net" rel="me">w</a>,
+		<a class="u-email" href="mailto:hello@cleberg.net">e</a>
 		<span class="p-locality">Omaha</span>,
 		<abbr class="p-region" title="Nebraska">NE</abbr>,
 		<div class="p-country-name">U.S.A</div>
diff --git a/theme/templates/post.html b/theme/templates/post.html
index 5ad5d04..ecd7afa 100644
--- a/theme/templates/post.html
+++ b/theme/templates/post.html
@@ -23,6 +23,6 @@
 		{% endif %}
 	</section>
 	<section>{{ post.html | safe }}</section>
-	<blockquote><a href="mailto:hello@cmc.pub">Reply via email</a></blockquote>
+	<blockquote><a href="mailto:hello@cleberg.net">Reply via email</a></blockquote>
 </article>
 {% endblock %}
diff --git a/utils/hooks/post-push b/utils/hooks/post-push
index f7ceff8..4193037 100644
--- a/utils/hooks/post-push
+++ b/utils/hooks/post-push
@@ -26,4 +26,4 @@ emacs --script publish.el &>/dev/null
 minify -o theme/static/styles.min.css theme/static/styles.css
 
 # Deploy changes
-rsync -r --delete-before .build/* $ubuntu_server:/var/www/cmc.pub/
+rsync -r --delete-before .build/* $ubuntu_server:/var/www/cleberg.net/
diff --git a/utils/nginx-dev.conf b/utils/nginx-dev.conf
index 2620df2..ed94af7 100644
--- a/utils/nginx-dev.conf
+++ b/utils/nginx-dev.conf
@@ -1,12 +1,12 @@
 server {
-	server_name cmc.pub www.cmc.pub;
+	server_name cleberg.net www.cleberg.net;
 
 	root /usr/share/nginx/html;
 	index index.html;
 	autoindex on;
 
-	access_log  /var/log/nginx/cmc.pub.access.log;
-	error_log  /var/log/nginx/cmc.pub.error.log;
+	access_log  /var/log/nginx/cleberg.net.access.log;
+	error_log  /var/log/nginx/cleberg.net.error.log;
 
 	location / {
 		try_files $uri $uri/ =404;
diff --git a/utils/salary_visualization.py b/utils/salary_visualization.py
index eb3434c..a34094b 100644
--- a/utils/salary_visualization.py
+++ b/utils/salary_visualization.py
@@ -13,7 +13,7 @@ import plotly.graph_objs as go
 locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
 
 # Read the CSV file
-df = pd_read_csv('~/git/cmc.pub/theme/static/salary.csv')
+df = pd_read_csv('~/git/cleberg.net/theme/static/salary.csv')
 
 def format_currency(value: float) -> str:
     """