Table of Contents
“The mystery of life isn't a problem to solve, but a reality to experience.”
- Frank Herbert, 'Dune'
Welcome, to the home page of Marko Štajgár
Programming and computers
For a long time now, I have been dabbling mainly in linux and systems programming. Most of my projects are unfortunately outdated, abandoned, or unfinished, so I will not be putting them here, but I hope that in time this place will not be as empty as it is now.
When I was in high school, I loved building robots, that is how I got into linux (through Jetson nano, Raspberry Pi…). Unfortunately, I do not possess any software that I wrote from that era, simply because I haven’t discovered git until later in my high school years. But Fusion 360 was even then cloud-based, so if anybody is interested in some of my old robots that I have planned and built, let me know :)
My git hosts
- My personal Gitlab: https://gitlab.com/MarkoStajgar
- This is my main host for all my works, if I made it, you can find it there.
- My personal Codeberg: https://codeberg.org/MarkoStajgar
- I am not sure if I will be maintaining my codeberg, it is a great open-source service, and I hope that someday it will be in a better shape and more widespread, but as of today, gitlab is just too powerfull.
- My personal Github: https://github.com/MarkoStajgar
- Maybe a strong opinion, but among other things, I consider Microsoft to be extremely unreliable, and the software that they produced in at least the past 10 years is beyond terrible and barely usable, so I simply still have my github in case I need it for something, but I’m not maintaining it anymore after some bad experiences.
- Also, I really hate Microsoft.
Me and linux
Through out the years, I have tried Ubuntu, Fedora Workstation, Fedora Sway Atomic and Debian but always came back to Arch. Then I met Ajilemondrop, who introduced me to the nix-ecosystem, and I fell in love with it. But even though I love the concept of declaratively managing my OS in a haskell-like functional language, the fact that I’m locked into using systemd on my desktop machines prevents me from being completely satisfied and curing my distro-hopping.
So I looked further, tried guix, but it didn’t really feel as smooth as nix, and then I discovered voidlinux. The thought of giving a BSD system as a daily driver a chance was always at the back of my mind, but I never felt the need to do so because I never found another practical reason than extending my OS knowledge with another interesting ecosystem.
But void manages to successfully be the right mix of BSD and linux, as a wise man once said, “It’s not based on Arch or Debian, it’s just based” – Mental Outlaw. So for the time being, the dream of having runnit natively supported on nixos lives on, and until then I will be having fun with musl and xbps.
My addiction for ThinkPads and old hardware
I love ThinkPads, my good friend, and I have around 50 of them combined (although my share is only a fraction of that number).
For education or some practical purposes, they can be and are very useful (example: Kubernetes, Distributed computing). I simply enjoy building cool stuff from utter garbage.
My personal Thinkpad collection that I use somewhat regularly:
Thinkpad Model | OS | |
---|---|---|
x230 | void | My emotional support machine, it is fully modded, 1vyrained, corebooted, small, and compact. With musl and runnit and a little bit of system hacking it operates and runs smoother than most modern computers |
t480 | nixos | Serves me more like a desktop. With the docking station it is almost perfect |
t440 | mint | Was gifted to my girlfriend, now in service as a glorified browser opener |
t420 | arch | Was my main workstation for quite some time. I really like that keyboard |
IBM R60e | freeBSD | This one serves more as a collectible, but i still love it and use it to have occasional fun with freeBSD |
My current setup on my main workstation
All of my configuration files (if they exist) are accessible through my gitlab.
Subject | Object | My configuration files |
---|---|---|
Primary desktop linux distro of choice | void | |
Secondary desktop linux distro of choice | nixos | https://gitlab.com/MarkoStajgar/nix-config |
Android distro of choice | Lineage | |
Wayland compositor | sway | https://gitlab.com/MarkoStajgar/sway |
Notification daemon | mako | https://gitlab.com/MarkoStajgar/mako |
Shell | zsh | Configuration in my home-manager modules |
Terminal Emulator | alacritty | https://gitlab.com/MarkoStajgar/alacritty |
App-lanucher | wofi | https://gitlab.com/MarkoStajgar/wofi |
Status bar | waybar | https://gitlab.com/MarkoStajgar/waybar |
Primary code/text editor | Doom Emacs | https://gitlab.com/MarkoStajgar/doom |
Secondary code/text editor | neovim | Configured through nixvim in my home-manager modules |
Notes | Emacs org-mode & org-agenda | https://gitlab.com/MarkoStajgar/doom |
Calendar | Emacs calendar | https://gitlab.com/MarkoStajgar/doom |
File manager | Ranger & Emacs dired | https://gitlab.com/MarkoStajgar/doom |
Services that I use and can recommend
VPN provider: https://mullvad.net/en
- Open source
- I can confidently call them the most trustworthy and one of the few “true” VPN’s on the market
- Very straightforward usage
- 10% discount if you pay in crypto
Mail provider: https://www.proton.me/
- Open source
- To my knowledge aside from self-hosting you cannot do much better than proton. But please keep in mind that even being Swiss and out of the 14-eyes does not save you from Europol
- I found them to be the most reliable in terms of mail delivery
- I like the configurability
- Privacy focused
- Proton Bridge is awesome
My projects
In this section you will find a list of my projects that i deemed somewhat finished enough to share with you.
Every project sub-page includes a project overview with a description, installation guide and the corresponding user, developer documentation (if it exists), the code will still be hosted outside of this website on my external git hosts, although im looking into cgit, and future possible self-hosting as an experiment.
Project sub-page | Source code | Description |
---|---|---|
libcgraph | https://gitlab.com/MarkoStajgar/cgraph/ | cgraph is a C library designed for work related to graphs. It aims to provide an optimized and fast API to manage graph-related data structures and for the use of graph related algorithms. |