Emma

Data

My name is Emma. I am 21 years old. I live in Hesse, Germany I have German and French nationalities I use they/them as pronouns

Links

in-a-dil-emma

Who I am

  • I manage the entire home infrastructure myself
  • I like sandbox games, platformers, racing games and rhythm games!
  • My favourite platformer game is Celeste
  • I do a lot of silly stuff online
  • I enjoy writing code as a hobby
  • I do dual studies
  • I work at an airport
  • I like light-hearted jokes
  • I try to stay positive

My english will suck and you will hear the thickest german accent on earth ;)

Another thing: I am obsessed with everything NixOS and Websites

Skills

C#
01/01/2020 – 14/10/2025
HTML
01/06/2020 – 14/10/2025
CSS
01/06/2020 – 14/10/2025
Linux
01/06/2020 – 14/10/2025
BASH
01/06/2020 – 14/10/2025
JS
01/09/2020 – 14/10/2025
Neovim
01/01/2021 – 14/10/2025
TS
01/03/2021 – 14/10/2025
SCSS
01/03/2021 – 01/12/2023
Svelte
01/09/2021 – 14/10/2025
ASP.NET
01/09/2021 – 01/06/2023
Svelte Kit
01/12/2021 – 14/10/2025
C++
01/01/2022 – 01/01/2023
Zig
01/03/2022 – 01/06/2023
Tailwind CSS
01/06/2022 – 14/10/2025
Nix / NixOS
01/09/2022 – 14/10/2025
Haskell
01/09/2022 – 01/01/2023

Projects

Declarative Flatpaks Nix

This module manages your installed flatpak packages.

Flatpak is an universal packaging format independent of Nix. Currently there is no official way to let Nix declaratively manage system and user flatpak installations. This module aims to bridge the gap and provide options to manage flatpaks in a declarative way.


Libvirt management module for NixOS and Home-Manager Nix

A NixOS/Home-Manager module to manage domains, networks and pools for libvirt. Effectively an ongoing rewrite of NixVirt.

I tried refactoring NixVirt (the module this one is inspired by) to allow non-flake usage — and failed.


NixOS FHS Nix

Module which bootstraps another distro on top of the root directory to provide compatibility for unpatched binaries.

Due to the unique filesystem layout of NixOS, foreign binaries can't run. This has to do with /lib not existing. This module was designed to "fix" this issue by downloading a distro and placing it's files in the appropriate places. This has been obsoleted by nix-ld.



FileFinderGit deleted C#

Program I made to sort media files by date

ImageManipulation deleted C#

Quirky effects for images

Frutti deleted C#

A simple CLI music player

AppimageUpdater deleted C#

Add self-update support to your AppImage. Supports .NET only

OpenTkPain deleted C#

A primitive and incomplete game engine

Mate deleted C#

A funny Discord bot. Features an integrated CLI.


Backdoor script deleted Bash

This script can be used to create a maintenance backdoor Linux systems. Has legitimate uses when sshd is not available. Not recommended, though.

Bash debugging and stacktrace scripts Bash

A collection of scripts for bash that launch a debugger-like interface or show a pretty stacktrace of the current call stack.


Bash rootkit deleted Bash

A simple rootkit written in bash. It hijacks the $PATH and starts pretending to be sudo. When the user runs the fake sudo the script will escalate privileges and hijack the init system binary.


A basic Brainfuck interpreter deleted C++

An interpreter for the esoteric programming language Brainfuck, with some extra bells and whistles added.


Not tar deleted C++ and C#

A very simple archive format, implemented in both C# and C++.

My backstory

Where it started

When I was in 7th grade my brother introduced me to python. I hacked together some GUI apps and never touched Python again (he even installed Anaconda for me...)
In 7th grade I had an internship at a small software company. There I was confronted with Dataflex, the "loveliest" language.
I had a lot of fun there and learned a very useful skill, debugging (yay!)
An employee there also told me to try out Scratch. I was sceptical at first, and I ended up creating a lot of projects (and had a lot of fun of course!)
To this day I think of the internship and of the people that supported me on my journey. I am extremely grateful for the support I've been recieving from my family and friends (both IRL and online)

In 2019 I decided to pick up C#, went to learn Unity to ditch it in 2020.
My father had a lot of unsorted images of his brother on his harddrives so I proposed that I would write a small app which would collect and sort said images (a big project for me at the time).
And thus my first project, FileFinderGit was born!
I learned how to use libraries and rapidly learned C# while rewriting said app.

In Q1 2020 I also fully switched to Linux and ditched Windows (losing some savegames in the process, RIP)
At one point I have gotten so proficient with C# that I decided to try out other languages.
This language was C++
I worked on my own little game engine.

Getting into sysadmin

In November 2021 I repurposed my grandmas' old PC into a small server. Both my brother and I are running our projects on it and we're also playing on our little Minecraft server.
NixOS was supposed to be installed on that server, however the setup process didn't go as planned (I now know where it went wrong).
My grandmas' PC runs Debian right now.
I switched my main PC from Arch Linux to Bedrock Linux and two months later to NixOS.
NixOS is a Linux distro that allows me to reproduce my exact system I have on any machine. Only using one config file, "configuration.nix".
There still are some hiccups here and there and the unique filesystem layout makes running applications a nightmare.
Luckly the nixpkgs repository is huge and there's a program called "distrobox", which allows me to install Arch Linux in a container and then cleanly integrate it with my host.
So far so good.
My home server had some issues regarding networking. To this day my best theory is that Debian's DHCP setup is very finicky.
I use Uberspace to host projects and I'm not dissatisfied, but I'd prefer if I could host my projects locally (without a massive power bill).
In November 2023 I migrated all my E-Mails to uberspace.

Homepage shenanigans

I began work on this (new) homepage.
The design is very simple and elegant.
Recently I've been working on it a lot to make sure the code doesn't become an unmaintainable mess.

Addendum

In Q2 2020 my father's brother died to cancer.
I unfortunately never got to meet him much.
May my father's brother rest in piece. I wish his family the best.
In 2022 my grandpa lost his life to Parkinson's. He was a very kind person.
He was a tinkerer at heart and unfortunately had to put his hobbies aside because of the disease. We tried easing his life as muc has we could.
Then, one day, he went to sleep and never woke up again.
Rest in peace grandpa. We will still love you.