About

1. Contact

Mail contact@nachteule.org
Matrix @nachteule:matrix.nachteule.org
GitHub link to profile

2. My Setup

These are some of my current software choices for daily usage.

2.1. Operating System

I have been settling on NixOS for a while now. While the difficulty curve is steep, the advantages using it have been proven to be really valuable for me. As many others, it has inspired me to maintain a tmpfs based root, so that I can keep most of my application configurations static and reproducible. Over time, I have switched most of my infrastructure to NixOS and enjoy it a lot, even if it means having to avoid some pitfalls.

2.2. Window Manager

Currently using the i3 tiling window manager. While I have been using KDE in the past, and even experimenting with its tiling features, it just did not feel as stable as I would have liked it to. Maybe I will try out other tilers at some point, but I am not missing anything right now. Luckily if I switch to Wayland, sway can replace i3 just fine.

2.3. Text Editor

Emacs. Never thought I would end there, but it really is that good. Have been a long time JetBrains user (IntelliJ, CLion, PyCharm, WebStorm), however my hardware increasingly started to struggle with basic text editing tasks and opening projects took really long. After even its user interface got replaced with a new one, I finally decided to switch to a another solution. Currently Spacemacs, but I heard Doom can also be really great. Evil mode for the Vim bindings, of course.

On the terminal, depending on the job, I am using Vim/NeoVim. Vim is a no-brainer for any remote administrative work as it is almost always readily available. However you can also run Emacs in text mode, including all of its applications.

alias g='emacsclient -nw -e "(progn (magit-status) (delete-other-windows))"'

2.4. Shell

Currently using Alacritty, Fish, Starship, Tmux. It looks the way I want it to, has Vim keybindings on the prompt, and stacks nicely when layered over multiple SSH sessions. Usually I am enabling X11 forwarding for shared clipboards on trusted remote connections.

2.5. Web Browser

Firefox. It provides much more sane configuration than many other popular browsers, but I still wish some things were different. I used to host my own firefox-syncstorage-rs instance, but now manage all settings using Nix.

2.5.1. Extensions

2.6. Mail Provider

After having a few of my mail accounts disabled because of inactivity and because of privacy issues with others, I am now hosting my own mail service. It used to be docker-mailserver, but is now nixos-mailserver due to easier administration.

2.7. Note Taking System

I am using org-roam (org-mode) for basically everything. It turned out to be very comfortable and quick to navigate, as I set it up to open with a global hotkey within a fraction of a second using emacsclient on all my systems. Synchronizing parts of it with my mobile phone allows me to use Orgzly Revived, to take quick notes on the go, and to have an agenda widget on my home screen showing all my tasks and appointments. I have been trying out Obsidian for a while but found it not as comfortable for my workflow, however I usually recommend it for anybody looking for a note taking solution and not wanting to dive into Emacs.

2.8. Music Player

Music Player Daemon running in a satellite setup, controlled via ncmpcpp. I am serving my music files using WebDAV within my private network, as it has been the most reliable setup based on my testing. I really enjoy the remote control abilities and automatic resuming of music playback on system boot. It also serves as a private web radio station.

2.9. Keyboard

Currently using a 3D printed split keyboard using a Redox PCB. After using a Pok3r for many years, I wanted more control over my keys by using a custom QMK build. For the switches, after much testing over the years, I have settled for Kailh Box Navy.

3. Technology

Here is some of the technology I have been using in the past.

3.1. Main Languages

These are the languages I have been using for quite some time.

  • C/C++
  • Python
  • Java
  • Lua
  • SQL
  • JavaScript/HTML/CSS

3.2. Side Languages

Other languages I have experience with using.

  • Rust
  • PHP
  • Lisp
  • Assembler
  • Bash
  • Dart
  • C#
  • VB.NET

3.3. Main Frameworks

This is a collection of libraries and frameworks I am proficient in.

  • Android
  • Flutter
  • React
  • Next.js
  • CMake
  • Bottle
  • Flask
  • MySQL
  • SQLite
  • SQLAlchemy
  • FastNoise
  • RapidJSON
  • LibGDX
  • SDL
  • ImGui
  • OpenGL

3.4. Side Frameworks

Here are some other frameworks I have experience with.

  • RapidXML
  • NumPy
  • Matplotlib
  • TKinter
  • Pillow
  • PyGame
  • PostgreSQL
  • Win32 API
  • WinForms
  • MicroPython
  • XNA
  • Boost

3.5. GNU/Linux Distributions

These are the distributions I have been using and deploying to various systems.

  • NixOS
  • Arch Linux
  • Manjaro
  • Debian
  • Ubuntu
  • Gentoo
  • openSUSE

3.6. Embedded Systems and Micro Controllers

  • Arduino
  • Raspberry Pi
  • ESP8266/NodeMCU
  • RP2040/Pico

3.7. Tools

Here are various applications I have experience working with.

  • Emacs
  • Vi/Vim/NeoVim
  • JetBrains (IntelliJ, CLion, PyCharm, WebStorm)
  • Visual Studio
  • LibreOffice
  • Paint.NET
  • Gimp
  • Blender
  • Aseprite

4. Background

I have studied theoretical computer science ("Informatik") at my local university, but after obtaining my Bachelor's Degree, I have shifted my attention towards more practical things like founding Games2Beat, developing Beats of Betrayal, freelancing, and maintaining some side projects.

5. About this Website

The content of this site is written in org-mode and exported to HTML using Emacs. I wanted to keep it as simple as possible, generated static content without any client scripts.

6. Cookie Policy

There are no cookies served on this site, so your browser will stay hungry.