Skip to content
View Lehmanator's full-sized avatar

Block or report Lehmanator

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Lehmanator/README.md

👋 Hi, I'm Sam Lehman

headshot

I'm a software developer, tinkerer, and perpetual student.

  • 😄 Pronouns: he/him
  • ⚡ Fun fact: this README is a work-in-progress, and I've probably forgotten to update it.

👀 Interests

  • Nix & NixOS
  • GNOME
  • Mobile Linux
  • Kubernetes & all things self-hosting
  • Shell environments
  • Home automation
  • Microcontrollers
  • Security & Privacy

Stuff I Use

  • Operating system: NixOS
  • Editor: Helix & Neovim
  • Shell: Nushell & Zsh
  • Desktop Environment: GNOME, Hyprland

Skills, Technologies, & whatnot

✨ Things I know

I've messed around and gotten my feet wet with dozens of technologies, frameworks, languages, tools, etc. For the sake of brevity, I will only list the ones I am willing to call myself proficient with.

Web Development

  • Semantics: HTML, Markdown
  • Design: CSS / Sass / SCSS / Bootstrap
  • Frontend: React.js
  • Backend: Node.js, Django
  • Packaging: Webpack, Babel

DevOps

  • Containers: Dockerfiles, Docker/Podman CLI, container registries, etc.
  • Container Orchestration: Kubernetes, Helm, Docker-compose
  • CI / CD: GitHub Actions, GitHub Pages, Nix, Hercules-CI
  • Environment configuration: Ansible, Nix, NixOS, asdf, devcontainers
  • Cloud Environments: Microsoft Azure, Google Cloud, AWS

Languages

  • Functional Programming: Nix
  • General Purpose: Python, Java
  • Shell Scripting: Bash, Zsh, PowerShell, Nushell
  • Systems Programming: C, Rust
  • Web Development: Javascript, Typescript

Platforms

  • Linux FHS / POSIX API
  • GNOME / freedesktop technologies
  • systemd

Misc Stuff

My last professional role was as a system administrator, so I have lots of experience configuring, deploying, & managing user workstations, developer environments, enterprise networks, & production servers running both Microsoft Windows & Linux.

Technologies:

  • Routing: DNS resolvers, DNS records & nameservers, Multicast DNS, DHCP, VLANs, Wireguard tunnels, Tailscale mesh networks

  • Authentication: LDAP, Active Directory, OAuth2, OIDC, Kerberos, sssd

  • Remote management: SSH, RDP, VNC

  • Cryptographic protocols: TLS, SSH, GPG, age, PKCS#11, Certificate Authorities, LUKS, TOTP

  • TODO: Split "Cryptographic protocols" into symmetric/asymmetric cryptography, communication/data encryption, some other categorization?

  • TODO: Split "Routing"

  • TODO: Split "Authentication" into "Authentication/Authorization"?

  • TODO: Browser-related security stuff like CORS, HSTS

  • TODO: DNS verity stuff like DNSSEC, DMARC, DKIM, SPF

🌱 Currently Learning

  • Rustlang
  • Yew
  • GTK Development
  • Flatpak & XDG Portals

Things I want to learn in the future

  • ActivityPub
  • Expand my Tensorflow skillset
  • Linux kernel development
  • Zsh plugin development
  • Nushell
  • Tailwind CSS

📫 Get in touch

Developer Accounts

Social

Chat

Homepage

  • Website: samlehman.dev Note: Currently under major reconstruction

Forewarning

Note: Many of these accounts will probably change in the near future as I migrate to self-hosted infrastructure on my own domains.

I am currently bootstrapping a bare-metal Kubernetes cluster using NixOS & kubenix.

Once my cluster is battle-ready, I will spin up servers for:

  • Mastodon
  • Matrix
  • Git forge (probably Forgejo, maybe GitLab)
  • Probably a lot more I'm forgetting about

then migrate my accounts there. If you hit a dead link, remind me to update them by opening an issue here.

To-Do

  • Test links
  • See above

Additions

  • Add personal projects list
  • Add contributor projects list
  • Add public keys?
  • Add resume link
  • Add some personal info not about tech
  • Add inline images for certain technologies?
  • Add links for certain technologies?
  • Add emojis to make usage parallel. (or remove them altogether)
  • Add links to request access to email / phone number?
  • Add list of services I self-host?
  • Add donation links?

Organization

  • Major re-org (how much info should I put here?)
  • Determine overall structure, sections, etc.
  • Determine scheme for bulleting items.
  • Determine scheme for categorizing nested lists.
  • Remove disclaimers, etc.

Pinned Loading

  1. nix-configs nix-configs Public

    Personal Nix / NixOS configs

    Nix 14

  2. resume.nix resume.nix Public

    Reproducible personal résumé built & deployed using Nix & jsonresume

    Nix 2

  3. clan-config clan-config Public

    Personal Nix configs for clan.lol

    Nix 1