280-day current streak·280-day longest streak
Tim Sutton Open Source GIS Developer | NixOS Enthusiast | Founder of Kartoza --- About Me I build open source geospatial solutions that create positive social impact. From disaster risk…
Tim Sutton
Open Source GIS Developer | NixOS Enthusiast | Founder of Kartoza



---
About Me
I build open source geospatial solutions that create positive social impact. From disaster risk reduction to biodiversity conservation, from universal electricity access to clean cooking technology - my work at Kartoza focuses on using GIS to improve lives.
Currently deep into NixOS - building reproducible development environments and exploring the beauty of declarative system configuration. I maintain my repos using tailor by @wimpysworld for consistent, well-structured project templates.
I am a long time QGIS contributor - in the early years of
the project I wrote a lot of code on the desktop application itself, these days
I focus more on the infrastructure used for the project, helping to maintain a
healthy community, working with the documentation team and imagining and
building out more features on our web infrastructure. I also serve as an
honorary QGIS PSC member since 2018 and was formerly the QGIS Chair.
I am also an OSGEO charter member and currently (2026)
serve as a director on the OSGEO Board.
I am also co-founder and director of Kartoza.com (South
Africa and Portugal) - a
company that specialises in providing solutions and services around open source
geospatial platforms.
When not coding, you'll find me on our small farm in Portugal or wandering the
streets of Lisbon.
---
Featured Projects
QGIS Ecosystem
Upstream QGIS projects I actively contribute to:
- Fork-QGIS - Core QGIS development
- Fork-QGIS-Documentation - Official docs
- Fork-QGIS-Enhancement-Proposals - QEPs
- Fork-QGIS-Hugo - New QGIS.org website
- QGISAnimationWorkbench - Create animations from QGIS projects
- Fork-CPLUS-QGIS-Plugin - Conservation land use planning (Conservation International)
- Fork-Geo3e-QGIS-Plugin - Employment opportunities spatial analysis (World Bank)
- Fork-Trends-Earth-QGIS-Plugin - Land degradation monitoring
- Fork-InaSAFE - Disaster impact estimation
- Fork-GeoSight-OS - UNICEF GeoSight
NixOS & Infrastructure
My current passion:
- tuinix - Pure terminal Linux on NixOS with ZFS
- nix-vim - Neovim config based on NVF
- zfs-backup - Beautiful TUI for ZFS backups
IoT & Hardware
Farm automation and embedded:
- ESP32-Farm-Project - IoT farm management with MQTT
- kartoza-world-osm-tegola-map - Global vector tiles
Fun Go Projects
Terminal apps and games built with Go:
- go-fireworks - Terminal fireworks with particle physics
- macaco - MoCaCo: Vim motion training game
- baboon - Terminal typing practice with ASCII art
- cheetah - RSVP speed reading (1000+ WPM)
- kartoza-screencaster - Screencast recording tool
- go-timesheets-go - Timesheet management
- gatus-monitor - Service monitoring dashboard
---
Tech Stack & Badges
Profile Stats
!GitHub followers
!GitHub User's stars
!https://api.github.com/users/timlinux&query=$.public_repos&style=for-the-badge&logo=github&label=Repos&color=blue" rel="noopener nofollow" target="_blank">GitHub repos
!https://api.github.com/users/timlinux&query=$.public_gists&style=for-the-badge&logo=github&label=Gists&color=purple" rel="noopener nofollow" target="_blank">GitHub gists
Repository Health
<!-- REPO-HEALTH-BADGES:START -->
*Health badges will appear here after the first workflow run*
<!-- REPO-HEALTH-BADGES:END -->
Languages
!Python
!Go
!Nix
!Shell
!JavaScript
!TypeScript
!C
!C++
!Rust
!Lua
GIS & Geospatial
!QGIS
!PostGIS
!GeoServer
!OpenLayers
!Leaflet
!MapLibre
!GDAL
Infrastructure & DevOps
!NixOS
!Docker
!Kubernetes
!PostgreSQL
!GitHub Actions
!Neovim
!ZFS
Frameworks & Tools
Preferred Licenses
!GPL-3.0
!AGPL-3.0
!MIT
!Apache-2.0
!CC-BY-SA
Organizations



---
GitHub Stats
---
Dynamic Metrics
<!-- Generated by lowlighter/metrics - updates automatically -->
---
Fun Facts
Retired unicyclist | Amateur sheep farmer | Portuguese language learner
---
Made with love by Kartoza
-
QGISAnimationWorkbench
A plugin that allows you to create animations from your QGIS project.
Python ★ 27 1d agoExplain → -
kartoza-world-osm-tegola-map
A global map vector tiles project using OSM data
Makefile ★ 18 1mo agoExplain → -
linfiniti-sphinx-theme
A theme for the sphinx documentation system based on bootstrap
JavaScript ★ 18 14y agoExplain → -
fabgis ▣
Fabric scripts for busy FOSGGIS professionals
Python ★ 14 5mo agoExplain → -
fossgis-edu
Training materials for FOSSGIS
Python ★ 7 14y agoExplain → -
Fork-QGIS ⑂
QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS)
C++ ★ 6 2y agoExplain → -
RasterProcessing
Tools for processing raster data
Python ★ 4 14y agoExplain → -
Marloth ▣
No description.
C ★ 3 8y agoExplain → -
QGIS-Freestyle ▣
QGIS Open Day Freestyle Sessions
★ 3 5mo agoExplain → -
tuinix
A pure terminal-based Linux experience built on NixOS with ZFS encryption
Go ★ 2 27d agoExplain → -
Field-Mapping-with-QGIS
A book I am writing on field mapping using INPUT and QFIELD
Nix ★ 2 1mo agoExplain → -
python-qt4-qgis-inasafe-talk ▣
This is the code and accompanying slides for a talk I gave to the Jakarta python users group, June 2013
Python ★ 2 13y agoExplain → -
pi_cam ▣
A raspberry pi camera project
JavaScript ★ 2 12y agoExplain → -
docker-kivy ▣
Docker container for compiling Kivy applications
Shell ★ 2 11y agoExplain → -
minidetector
A fork of http://code.google.com/p/minidetector/ with pip packaging stuff added
Python ★ 2 14y agoExplain → -
nix-vim ⑂
Tims neovim package forked from SchroVimger, based on NVF
Nix ★ 1 20d agoExplain → -
zfs-backup
Beautiful TUI for managing ZFS backups with Bubble Tea
Go ★ 1 1mo agoExplain → -
HelloWorldTest ▣
Temp repo for testing plugins
★ 1 3y agoExplain → -
docker-projects ▣
Docker files and configurations that let you set up various types of docker instance.
Shell ★ 1 12y agoExplain → -
docker-training ▣
Docker training 25 April 2018
Shell ★ 1 8y agoExplain → -
VectorTransparency
A plugin for QGIS to set transparency of all symbols in a layer in one go
Python ★ 1 14y agoExplain → -
qgis-wcape-project
A demonstrator project for QGIS for the Western Cape, South Africa
★ 1 14y agoExplain → -
safix
A little programme to fix SA CDSM Aerial Imagery (thanks to Frank Warmerdam)
C ★ 1 15y agoExplain → -
sandbox
sandbox
★ 1Explain → -
zapilates
Zapilates — Hugo static site for zapilates.com (Pilates with Marcelle Volckaert)
SCSS ★ 0 3d agoExplain → -
qgis-studio-themes ⑂
No description.
Python ★ 0 28d agoExplain → -
qgis-dev-env
Isolated NixOS + Neovim developer environment overlay for QGIS core development. Made with love by Kartoza.
Shell ★ 0 1mo agoExplain → -
Fork-QGIS-Planet-Plugin ⑂
Browse, filter, preview and download Planet Inc imagery in QGIS.
Python ★ 0 1mo agoExplain → -
z80
Noodling around with z80 emulators and assembler
Lua ★ 0 1mo agoExplain → -
awesome-split-keyboards ⑂
A collection of ergonomic split keyboards ⌨
★ 0 2y agoExplain → -
nixos-pentest-tools
NixOS flake and gum-driven menu for an opinionated pentesting toolkit
Shell ★ 0 2mo agoExplain → -
baboon
Terminal typing practice app with ASCII art display
HTML ★ 0 2mo agoExplain → -
OSGEO-Hugo
Experimental R&D prototype for OSGeo website - This is NOT the official site
HTML ★ 0 1mo agoExplain → -
go-fireworks
Terminal fireworks show using Go, tcell, and particle physics
Go ★ 0 1mo agoExplain → -
PropertyForSale
Premium property sales web application with immersive 3D experiences, interactive maps, and comprehensive analytics
TypeScript ★ 0 1mo agoExplain → -
cheetah
🐆 RSVP Speed Reading Application - Read documents at 1000+ WPM
Go ★ 0 3mo agoExplain → -
blockfont
Unicode block letter rendering for terminal applications
Go ★ 0 1mo agoExplain → -
glove80-keymap
No description.
C ★ 0 4mo agoExplain → -
glove80-zmk-config ⑂
No description.
★ 0 11mo agoExplain → -
LearningGo
A comprehensive Go learning environment with Nix, Neovim integration, and pre-commit hooks
Nix ★ 0 4mo agoExplain → -
elephantic
MCP server for counting GeoJSON points by country using Natural Earth boundaries
Go ★ 0 5mo agoExplain → -
timlinux
No description.
Nix ★ 0 4mo agoExplain → -
Fork-InaSAFE ⑂
InaSAFE - QGIS plugin for estimating impact from natural disasters
Python ★ 0 5y agoExplain → -
Fork-GeoRepo-OS ⑂
GeoRepo Open Source
Python ★ 0 2y agoExplain → -
Fork-CPLUS-QGIS-Plugin ⑂
QGIS plugin for using CPLUS framework in effective land-use planning
★ 0 1y agoExplain → -
Fork-QGIS-Enhancement-Proposals ⑂
QEP's (QGIS Enhancement Proposals) are used in the process of creating and discussing new enhancements for QGiS
★ 0 1y agoExplain → -
Fork-QGIS-Documentation ⑂
No description.
Python ★ 0 4mo agoExplain → -
Fork-Geo3e-QGIS-Plugin ⑂
Gender Enabling Environments Spatial Tool (GEEST)
Python ★ 0 1y agoExplain → -
Fork-QGIS-Hugo ⑂
Hugo static website for the new QGIS.org
Sass ★ 0 22d agoExplain → -
Fork-Trends-Earth-QGIS-Plugin ⑂
trends.earth - measure land change
Python ★ 0 1y agoExplain → -
Fork-Nixpkgs ⑂
Nix Packages collection
Nix ★ 0 10mo agoExplain → -
Fork-QGIS-GeoNode-Plugin ⑂
A QGIS plugin that provides integration with GeoNode
★ 0 8mo agoExplain → -
Fork-GeoSight-OS ⑂
GeoSight Open Source
★ 0 5mo agoExplain → -
wolfgang ▣
R&D Repo for Wolfgang
Jupyter Notebook ★ 0 5mo agoExplain → -
stock-tracker ▣
A python gtk app to analyse stocks, written by ChatGPT
Python ★ 0 5mo agoExplain → -
school ▣
Study notes for portuguese school
Nix ★ 0 5mo agoExplain → -
PythonInternPlayground ▣
No description.
Nix ★ 0 5mo agoExplain → -
ogc-compliance-testing ▣
Nix shell environment for QGIS OGC Compliance testing
Nix ★ 0 5mo agoExplain → -
nix-package-template ▣
Template package layout for nixos packages
Shell ★ 0 5mo agoExplain → -
nix-flakes ▣
Flakes for NixOS
Nix ★ 0 5mo agoExplain → -
nix-docker-builder ▣
Test project to build a docker image the nix way
Nix ★ 0 5mo agoExplain → -
k8-hello-world ▣
Simple example of how to setup up rootless podman on nix running minicube
Nix ★ 0 5mo agoExplain → -
jupyter-wallpaper-animator ▣
A jupyter notebook that will extract roads from an image and animate a car across the road network
Jupyter Notebook ★ 0 5mo agoExplain → -
gnome-path-printer ▣
Simple Rust app to print your gnome user data path
Nix ★ 0 5mo agoExplain → -
ci-cplus-scoping ▣
Scoping project planning for conservation international CPLUS
Nix ★ 0 5mo agoExplain → -
ESP32-Farm-Project-Library
A library of utilities to accompany my ESP32-Farm-Project sketches
C ★ 0 1mo agoExplain → -
biodiversity
New BIMS website based on Hugo
HTML ★ 0 1mo agoExplain → -
timlinux-twitter-archive
Archival copy of my twitter account before I closed it
JavaScript ★ 0 1mo agoExplain → -
ESP32-Farm-Project
IoT project using ESP32, MQTT for managing my farm water and other systems.
C++ ★ 0 1mo agoExplain → -
hetzner-management
Tools for managing processes on hetzner (e.g. mbtiles creation)
Python ★ 0 1mo agoExplain → -
geest2-prototyping
No description.
Python ★ 0 1mo agoExplain → -
actions-sandbox
Sanbox for testing out github action ideas
Nix ★ 0 1mo agoExplain → -
planet-test-builds
A QGIS plugin repository with test plugin builds. Not for production use.
Nix ★ 0 1mo agoExplain → -
python-profiling-demo
Demo python project providing some hints on how to profile a python application
Python ★ 0 1mo agoExplain → -
zfs-maintenance
ZFS maintenance and monitoring tools
Go ★ 0 5mo agoExplain → -
nixos-utils
Bash script that provides a user friendly interface for various nixos management tasks
Lua ★ 0 1mo agoExplain → -
macaco
MoCaCo - Motion Capture Combatant: A vim motion training game
Go ★ 0 4mo agoExplain → -
little-boxes-go
A competitive star-collecting game for two players - Physics-driven arcade game with beautiful braille terminal graphics
Go ★ 0 4mo agoExplain → -
osgeo-inject
Lightweight affiliate badge system for OSGeo community projects
Shell ★ 0 3mo agoExplain → -
maze
A 3D first-person braille maze adventure game for the terminal
Go ★ 0 4mo agoExplain → -
sansa-python-training ▣
Sample code for SANSA python training course
Python ★ 0 12y agoExplain → -
sansa-django-training ▣
Training for SANSA in Django
Python ★ 0 12y agoExplain → -
qgis-issues-test ▣
Test repo for seeing if redmine issue migration works
★ 0 13y agoExplain → -
photo-sorter ▣
A simple tool to recursively sort your photos by their EXIF creation time and date
Python ★ 0 13y agoExplain → -
inasafe-idea ▣
Check out as .idea and place in your inasafe dir
★ 0 13y agoExplain → -
inasafe-git-training ▣
Sandbox repo for inasafe training
★ 0 13y agoExplain → -
fabgis_tutorial ▣
Simple tutorial project for fabgis
★ 0 5mo agoExplain → -
sansa-maps ▣
SANSA Cartography
★ 0 12y agoExplain → -
richard-pycharm ▣
Temp repo for showing Richard pycharm
Python ★ 0 12y agoExplain → -
pi_car ▣
A little python script I am knocking up to control a car with motors and relays using piface
Python ★ 0 12y agoExplain → -
impact_function_registry ▣
Simple mockup showing a possible alternative implementation path for InaSAFE impact functions
Python ★ 0 12y agoExplain → -
django_user_map ▣
Django app for creating a user map
Python ★ 0 12y agoExplain → -
docker-tutorial ▣
A sandbox docker app for tutorial purposes
Shell ★ 0 12y agoExplain → -
docker-qgis-jenkins ▣
A docker container set up to run jenkins with QGIS available for plugins testing against
★ 0 12y agoExplain → -
docker-hello-world ▣
No description.
Shell ★ 0 12y agoExplain → -
docker-cccs-core ▣
Docker environment for CCCS-Core
Shell ★ 0 11y agoExplain → -
docker-carto-generator ▣
A docker recipe for building https://github.com/rundel/carto-generator
Shell ★ 0 12y agoExplain → -
python-training-dar ▣
Training notes on python in Dar es Salaam
★ 0 11y agoExplain → -
inasafe-test-plugins ▣
A test repository for QGIS plugins based on development work in InaSAFE.
XSLT ★ 0 11y agoExplain → -
markdown-sphinx-sandbox ▣
No description.
★ 0 10y agoExplain → -
gitsandbox ▣
A little sandbox for showing how git works
★ 0 10y agoExplain → -
zapilates.com ▣
Web site for zapilates.com
HTML ★ 0 9y agoExplain → -
test-repo ▣
No description.
★ 0 6y agoExplain → -
civitas-asset-management ▣
CAM is a GIS-integrated asset management application developed to address the unique needs of Canada’s small communities.
JavaScript ★ 0 5mo agoExplain → -
SphinxTutorial
No description.
★ 0 13y agoExplain → -
webgithub
Test repo for playing with geospatial github
★ 0 13y agoExplain →
No repos match these filters.