I'm raf, more commonly known as NotAShelf on various parts of the world wide web. I am a sailor, sailmaker, political scientist and an academic. FOSS contributor and digital artist when stars align.
Ever since my introduction to the world of FOSS and Linux in late 2010s, I have been very passionate about operating systems, open-source software and system administration. I am also interested in the role of information system and data integrity/privacy within the policymaking process in contemporary politics, which I have decided to base my PhD thesis on.
Most of my code here are solutions to small itches, or my answers to different curiosities. Exploring solutions to known pain points in software and home-made CLI applications to manage different components of my setup are some of my pastime activities. Reliable and scalable systems are also within my interest. I work with and contribute to @NixOS in my free time to help me towards this goal. Take a look at the projects section below for a somewhat curated list of what I'm currently working on
There are many means to my ends; I work with any and all languages or tools that I find interesting. My experience and knowledge (both in very heavy quotes) span over multiple languages, tools and frameworks, however, my primary focus remains as C and Rust (or sometimes Go) for building reliable backend applications alongside some Typescript for frontend. I also rely on Nix infrastructure, deployments and distributing software. See below for a list of languages and tools that I work, or have worked with before.
I also take part of the Hyprland community, playing an active role in community management and acting as a supporting developer for Nix. Do feel free to contact me for either of those matters.
- π Programming since 2018
- β΅ Professional Sailor
- π« Part-time Political Scientist and lecturer, forever student
- π₯οΈ NixOS / Hyprland / Neovim
- π§ Despite its shortcomings, Go is my go-to language (pun fully intended)
- π Frontend via React/NextJS used to be my primary stack, now I focus on backend applications, applications security and system administration.
- βοΈ NixOS remains my favorite Linux distro for both personal and enterprise use. I manage my own fleet of servers and virtual machines powered by it.
- π« Contact me by email via
raf [at] notashelf [dot] dev
or on Discord, by sending a friend request to@notashelf
I'm also available on Matrix, though downtimes may occur on my homeserver... - π² Fun fact: I have entered the world of Linux, programming and OSS through a lengthy misadventure back in 2018 that involved a Linux VPS, a large-scale Minecraft server and an imminent crisis. I have been passionate about Linux and programming ever since.
I have many projects, usually fruits of my most recent obsession. Almost all of them are bootstrapped with Nix, but languages vary. Note that I am currently in the process of moving beloved projects out of Github. You will not be affected by this, but let me know if you are.
Nix | Go, Rust, Python, JavaScript, TypeScript |
---|---|
β’ nvf - a highly extensible and distro agnostic configuration framework for Neovim using Nix β’ Nyx - the first child of Chaos and also an alias for my configuration for the ultimate declarative Linux distro, NixOS! β’ Nyxpkgs - collection of packages not found in Nixpkgs β’ Hjem - streamlined and modern home-management solution with Nix β’ MicrOS - Experimental operating system based on Nixpkgs module system, bringing Runit to NixOS β’ Basix - Purely functional collection of Base16/Base24 themes to be used with Nix β’ ndg - alternative documentation generation for any Nix based module system β’ Schizofox - privacy and security oriented Firefox configuration for Home-manager β’ Wallpkgs - easy-to-install wallpapers collections, designed to install with Nix β’ Nixpkgs - Nix Packages collection and NixOS |
β’ CatApi - minimal API for serving pictures of your cats. Features a convenient frontend β’ Hyprkeys - powerful and easy to use keyboard utility designed for my favorite Wayland Compositor, Hyprland β’ nff - experimental nftables configuration beautifier in Python β’ batmon - dead simple battery monitor in Go, with the ability to emit events on change β’ Goblin - termbin-inspired paste service to replace Fiche, written in Go β’ Nutils - an external utility crate for the Nix package manager β’ Tailray - rust implementation of Tailscale systray β’ Microfetch - Microscopic fetch tool in Rust, for NixOS systems β’ SSA - Simple, streamlined and pretty aggregator for systemd-analyze security β’ mrc - Minimalistic yet complete API wrapper and remote controller for MPV, the video player |
...and some projects I take part in co-maintainin. For more projects, active or inactive, visit the repositories page.
Want to talk to me? Ask me a question? Call me a nerd personally? Sure! Feel free to contact me from one of the links below. I am available most of the time, but I sometimes take some time to reply. Prefer Matrix if you use it!
Below is a poorly updated chart of my languages. Some of them are exluded, for reasons unknown... In addition to what's already here, I also work with R, Ruby, Kotlin and copious amounts of Typescript code that I have never uploaded to Github.
I like chess, but I'm not particularly good at it... Here is an ASCII tracker of my 100 previous chess.com rapid games.
βοΈ | Chess.com Rapid Rating Chart
Chart last updated - 2025-02-11