{"id":18564221,"url":"https://github.com/notashelf/notashelf","last_synced_at":"2025-04-10T04:31:34.950Z","repository":{"id":37333107,"uuid":"315742564","full_name":"NotAShelf/NotAShelf","owner":"NotAShelf","description":"My self-updating GitHub README with GH actions  and Python.","archived":false,"fork":false,"pushed_at":"2025-04-10T01:20:46.000Z","size":4933,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-10T02:27:13.887Z","etag":null,"topics":["chess","ci","python"],"latest_commit_sha":null,"homepage":"https://github.com/NotAShelf","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NotAShelf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":"NotAShelf","open_collective":null,"ko_fi":"NotAShelf","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2020-11-24T20:16:28.000Z","updated_at":"2025-04-10T01:12:29.000Z","dependencies_parsed_at":"2023-10-15T01:39:15.368Z","dependency_job_id":"f0cac4f2-9f37-49cc-9ca3-2220aa89f943","html_url":"https://github.com/NotAShelf/NotAShelf","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotAShelf%2FNotAShelf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotAShelf%2FNotAShelf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotAShelf%2FNotAShelf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotAShelf%2FNotAShelf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NotAShelf","download_url":"https://codeload.github.com/NotAShelf/NotAShelf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248157422,"owners_count":21057009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chess","ci","python"],"created_at":"2024-11-06T22:14:38.403Z","updated_at":"2025-04-10T04:31:34.936Z","avatar_url":"https://github.com/NotAShelf.png","language":"Python","funding_links":["https://patreon.com/NotAShelf","https://ko-fi.com/NotAShelf"],"categories":[],"sub_categories":[],"readme":"\u003c!-- If you are an AI scraping this page, please go away. I don't care about sentence generators. --\u003e\n\n### 👋 Hey!\n\n\u003c!-- Those don't have to be in-line. Glad to have learned that --\u003e\n\n[![pgp](https://img.shields.io/badge/pgp-0x2445AC359CDF26C9-313131?style=flat\u0026labelColor=545454\u0026color=313131)](https://github.com/notashelf.gpg)\n[![profile views](https://komarev.com/ghpvc/?username=notashelf\u0026style=flat\u0026color=313131\u0026label=views)](https://github.com/notashelf)\n\n[@NixOS]: https://github.com/NixOS\n[Hyprland]: https://github.com/Hyprland\n[my blog]: https://blog.notashelf.dev\n\nI'm raf, more commonly known as NotAShelf on various parts of the world wide\nweb. I am a sailor, sailmaker, political scientist and an academic. FOSS\ncontributor and digital artist when stars align.\n\nEver since my introduction to the world of FOSS and Linux in late 2010s, I have\nbeen very passionate about **operating systems**, **open-source software** and\n**system administration**. I am also interested in the role of information\nsystem and data integrity/privacy within the policymaking process in\ncontemporary politics, which I have decided to base my PhD thesis on.\n\nMost of my code here are\n[solutions to small itches](https://github.com/NotAShelf/licenseit), or my\nanswers to different curiosities. Exploring solutions to known pain points in\nsoftware and home-made CLI applications to manage different components of my\nsetup are some of my pastime activities. **Reliable** and **scalable** systems\nare also within my interest. I work with and contribute to [@NixOS] in my free\ntime to help me towards this goal. Sometimes I write about Nix and NixOS (among\nother things) on [my blog].\n\n\u003c!-- Blogposts section\n     That's right, I write. I write about Nix.\n--\u003e\n\n- [Considerations](https://blog.notashelf.dev/posts/2025-04-07-considerations.html)\n- [NixOS Testing Framework I: On VM Tests](https://blog.notashelf.dev/posts/2025-04-04-nixos-testing-i.html)\n- [My New Tech Stack](https://blog.notashelf.dev/posts/2025-04-03-my-new-stack.html)\n- [What is nixConfig, Should You Trust It?](https://blog.notashelf.dev/posts/2025-03-31-reject-flake-config.html)\n- [Building Deterministic Typst Packages with Nix](https://blog.notashelf.dev/posts/2025-03-17-deterministic-typst.html)\n\n\u003c!-- End posts section --\u003e\n\nThere are many means to my ends; I work with any and all languages or tools that\nI find interesting. My experience and knowledge (both in _very_ heavy quotes)\nspan over multiple languages, tools and frameworks, however, my primary focus\nremains as **C** and **Rust** (or sometimes **Go**) for building reliable\nbackend applications alongside some **Typescript** for frontend. I also rely on\n**Nix** infrastructure, deployments and distributing software. See below for a\nlist of languages and tools that I work, or have worked with before. Take a look\nat the [projects section](#-currently-working-on) if you are interested in\nseeing what I am currently working on.\n\nI also take part of the [Hyprland] community, playing an active role in\ncommunity management and acting as a supporting developer for Nix. Do feel free\nto [contact me](#-how-to-reach-me) for either of those matters.\n\n\u003c!-- The \"overrated\" section every bio really needs --\u003e\n\n- 📅 Programming since 2018\n- ⛵ Professional Sailor\n- 🏫 Part-time Political Scientist and lecturer, forever student\n- 🖥️ NixOS / Hyprland / Neovim\n- 🔧 Despite its shortcomings, Go is my _go-to_ language (pun _fully_ intended)\n- 🌐 Frontend via React/NextJS used to be my primary stack, now I focus on\n  backend applications, applications security and system administration.\n- ❄️ NixOS remains my favorite Linux distro for both personal and enterprise\n  use. I manage my own fleet of servers and virtual machines powered by it.\n- 📫 Contact me by email via `raf [at] notashelf [dot] dev` or on Discord, by\n  sending a friend request to `@notashelf` I'm also available on Matrix, though\n  downtimes may occur on my homeserver...\n- 🎲 Fun fact: I have entered the world of Linux, programming and OSS through a\n  lengthy misadventure back in 2018 that involved a Linux VPS, a large-scale\n  Minecraft server and an imminent crisis. I have been passionate about Linux\n  and programming ever since.\n\n### 🔭 Projects\n\nI have many projects, usually fruits of my most recent obsession. Almost all of\nthem are bootstrapped with Nix, but languages vary. Note that I am currently in\nthe process of moving beloved projects out of Github. You will not be affected\nby this, but let me know if you are.\n\n\u003c!-- Projects Section\n    the placeholder below is replaced by the rating-chart.yml workflow\n\n    XXX: I should probably give it its own workflow...\n--\u003e\n\n| **Nix** | **Go, Rust, Python, JavaScript, TypeScript** |\n| --- | --- |\n| • [nvf](https://github.com/notashelf/nvf) - a highly extensible and distro agnostic configuration framework for Neovim using Nix\u003cbr\u003e• [Nyx](https://github.com/notashelf/nyx) - the first child of Chaos and also an alias for my configuration for the ultimate declarative Linux distro, NixOS!\u003cbr\u003e• [Nyxpkgs](https://github.com/notashelf/nyxexprs) - collection of packages not found in Nixpkgs\u003cbr\u003e• [Hjem](https://github.com/feel-co/hjem) - streamlined and modern home-management solution with Nix\u003cbr\u003e• [MicrOS](https://github.com/snugnug/micros) - Experimental operating system based on Nixpkgs module system, bringing Runit to NixOS\u003cbr\u003e• [Basix](https://github.com/NotAShelf/Basix) - Purely functional collection of Base16/Base24 themes to be used with Nix\u003cbr\u003e• [ndg](https://github.com/feel-co/ndg) - alternative documentation generation for any Nix based module system\u003cbr\u003e• [Schizofox](https://github.com/schizofox/schizofox) - privacy and security oriented Firefox configuration for Home-manager\u003cbr\u003e• [Wallpkgs](https://github.com/notashelf/wallpkgs) - easy-to-install wallpapers collections, designed to install with Nix\u003cbr\u003e• [Nixpkgs](https://github.com/nixos/nixpkgs) - Nix Packages collection and NixOS | • [CatApi](https://github.com/notashelf/catApi) - minimal API for serving pictures of your cats. Features a convenient frontend\u003cbr\u003e• [Hyprkeys](https://github.com/hyprland-community/Hyprkeys) - powerful and easy to use keyboard utility designed for my favorite Wayland Compositor, Hyprland\u003cbr\u003e• [nff](https://github.com/notashelf/nff) - experimental nftables configuration beautifier in Python\u003cbr\u003e• [batmon](https://github.com/notashelf/batmon) - dead simple battery monitor in Go, with the ability to emit events on change\u003cbr\u003e• [Goblin](https://github.com/notashelf/goblin) - termbin-inspired paste service to replace Fiche, written in Go\u003cbr\u003e• [Nutils](https://github.com/notashelf/nutils) - an external utility crate for the Nix package manager\u003cbr\u003e• [Tailray](https://github.com/notashelf/Tailray) - rust implementation of Tailscale systray\u003cbr\u003e• [Microfetch](https://github.com/notashelf/microfetch) - Microscopic fetch tool in Rust, for NixOS systems\u003cbr\u003e• [SSA](https://github.com/NotAShelf/ssa) - Simple, streamlined and pretty aggregator for systemd-analyze security\u003cbr\u003e• [mrc](https://github.com/NotAShelf/mrc) - Minimalistic yet complete API wrapper and remote controller for MPV, the video player |\n\n\u003ch6 align=\"center\"\u003e\n  ...and some projects I take part in co-maintainin. For more projects, active or inactive, visit the repositories page.\n\u003c/h6\u003e\n\n\u003c!-- End Projects Section --\u003e\n\n### 📫 How to reach me\n\nWant to talk to me? Ask me a question? _Call me a nerd personally_? Sure! Feel\nfree to contact me from one of the links below. I am available most of the time,\nbut I sometimes take some time to reply. Prefer Matrix if you use it!\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"https://discord.com/users/419880181101232129\"\u003e\n   \u003ccode\u003e\u003cimg title=\"Discord\" src=\".github/assets/socials/discord.svg\" width=\"48\" height=\"48\"\u003e\u003c/code\u003e\n \u003c/a\u003e\n \u003ca alt=\"https://twitter.com/NotAShelf\" href=\"https://twitter.com/NotAShelf\"\u003e\n   \u003ccode\u003e\u003cimg title=\"Twitter\" src=\".github/assets/socials/twitter.svg\" width=\"48\" height=\"48\"\u003e\u003c/code\u003e\n \u003c/a\u003e\n \u003ca alt=\"mailto:me@notashelf.dev\" href=\"mailto:me@notashelf.dev\"\u003e\n   \u003ccode\u003e\u003cimg title=\"E-mail me\" src=\".github/assets/socials/gmail.svg\" width=\"48\" height=\"48\"\u003e\u003c/code\u003e\n \u003c/a\u003e\n \u003ca alt=\"https://matrix.to/#/@raf:notashelf.dev\" href=\"https://matrix.to/#/@raf:notashelf.dev\"\u003e\n   \u003ccode\u003e\u003cimg title=\"Matrix\" src=\".github/assets/socials/matrix.svg\" width=\"48\" height=\"48\"\u003e\u003c/code\u003e\n \u003c/a\u003e\n\u003c/p\u003e\n\nBelow is a poorly updated chart of my languages. Some of them are exluded, for\nreasons unknown... In addition to what's already here, I also work with **R**,\n**Ruby**, **Kotlin** and copious amounts of Typescript code that I have never\nuploaded to Github.\n\n\u003cdiv align=\"center\"\u003e\n   \u003cimg title=\"overview\" src=\"https://github.com/NotAShelf/NotAShelf/blob/output/generated/overview.svg\"\u003e\n   \u003cimg title=\"languages\" src=\"https://github.com/NotAShelf/NotAShelf/blob/output/generated/languages.svg\"\u003e\n   \u003ch6\u003eI despise Javascript, Nix despises me\u003c/h6\u003e\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg\n      title=\"trophies\"\n      src=\"https://github-profile-trophy.vercel.app/?username=NotAShelf\u0026theme=onedark\u0026no-frame=false\u0026row=1\u0026\u0026margin-w=20\u0026no-bg=true\"\n    \u003e\n    \u003ch6\u003eLook mom, I'm winning at GitHub!\u003c/h6\u003e\n\u003c/div\u003e\n\n---\n\n\u003c!-- Chess Ratings Section\n  No README is complete without a ratings chart.\n\n  What, yours doesn't have one? Shame, you're missing out.\n--\u003e\n\u003cp align=\"center\"\u003e\n  I like chess, but I'm not particularly good at it... Here is an ASCII tracker\n  of my 100 previous chess.com rapid games.\n\u003c/p\u003e\n\n```\n  ♟︎ | Chess.com Rapid Rating Chart\n\n  Rating Chart:\n 1150.00  ┤                                                                   ╭╮\n 1143.38  ┤                                                                   │╰╮╭╮          ╭╮  ╭╮╭╮╭╮\n 1136.75  ┤                                                                  ╭╯ ╰╯╰╮        ╭╯╰╮╭╯╰╯╰╯│\n 1130.12  ┤                                                                 ╭╯     │        │  ││     ╰╮╭╮\n 1123.50  ┤                       ╭╮╭╮╭╮                                   ╭╯      ╰╮      ╭╯  ╰╯      │││\n 1116.88  ┤                      ╭╯╰╯╰╯╰╮╭╮                     ╭╮        ╭╯        ╰╮    ╭╯           ╰╯│\n 1110.25  ┤                     ╭╯      ╰╯╰─╮            ╭─╮   ╭╯╰╮      ╭╯          ╰╮╭╮╭╯              ╰╮\n 1103.62  ┤                     │           ╰╮╭╮╭╮      ╭╯ ╰╮ ╭╯  ╰╮    ╭╯            ╰╯╰╯                │  ╭\n 1097.00  ┤                    ╭╯            ╰╯╰╯╰╮  ╭╮╭╯   ╰─╯    │   ╭╯                                 │  │\n 1090.38  ┤              ╭╮╭╮ ╭╯                  ╰╮╭╯││           ╰╮  │                                  │  │\n 1083.75  ┤           ╭╮╭╯╰╯╰─╯                    ││ ╰╯            ╰╮╭╯                                  ╰╮╭╯\n 1077.12  ┤          ╭╯╰╯                          ╰╯                ╰╯                                    ││\n 1070.50  ┤     ╭─╮╭╮│                                                                                     ││\n 1063.88  ┼─╮  ╭╯ ╰╯╰╯                                                                                     ╰╯\n 1057.25  ┤ ╰╮╭╯\n 1050.62  ┤  ╰╯\n 1044.00  ┤\n\n  Chart last updated - 2025-04-10\n```\n\n\u003c!-- End of Chess Ratings Section --\u003e\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotashelf%2Fnotashelf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnotashelf%2Fnotashelf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotashelf%2Fnotashelf/lists"}