← Back to Awesome

Sections

Vala

GitHub repository ↗ synced 2026/8/9

Awesome Vala Awesome

A curated list of resources for Vala - A programming language using modern high level abstractions without imposing additional runtime requirements, by leaning on GLib and GObject.

Apps

Cryptography & Security

Integrity Check

Linux application written in Vala and GTK, designed to get the verification sum of a file (MD5, SHA1, SHA256) and compare to the sum of verification provided by the file creator.

Design Tools

Akira

Native Linux App for UI and UX Design built in Vala and GTK.

Birdfont

A font editor for creating fonts in TTF, EOT, SVG and BIRDFONT format.

Development Tools

GitG

A graphical user interface for [git](https://git-scm.com/).

Kangaroo

AI-powered SQL client and admin tool for popular databases.

VAMM (Vinari OS Apache & MariaDB Manager)

Manages LAMP services using a GTK 3 GUI.

Games

GameHub

A unified library for all your games.

High Score (GNOME Games)

Retro gaming application for the GNOME desktop.

Sage

A code breaking game made for elementary OS.

Warble

Native Linux word-guessing game built in Vala and Gtk for elementary OS.

Internet Browsers

Starfish

A Gemini browser for elementary OS.

Music

g4music

A beautiful, fast, fluent, light weight music player written in GTK4.

Personalization

Korembi

A beautiful and customizable wallpapers manager for Linux.

Productivity

Annotator

Annotate images for better communication.

Badger

Remind yourself to not sit and stare at the screen for too long.

Blackbox

A beautiful GTK 4 terminal.

Dino

A modern Jabber/XMPP Client using GTK+/Vala.

Flowtime

GTK4 Libadwaita Pomodoro Timer.

geary

Geary is an email application built around conversations, for the GNOME 3 desktop.

GNOME Calculator

The calculator app for the GNOME desktop.

graphui

Graph Visualization based on graphviz.

Ideogram

Emoji Picker app.

Minder

Mind-mapping application.

Notejot

Stupidly-simple notes app.

Notes-up

Markdown notes editor & manager.

Outliner

Write outlines easily.

Paper

Take notes in Markdown.

pdfpc

A GTK presenter application with multi-monitor support for PDF files.

Planify

Task manager with Todoist support designed for GNU/Linux.

Spice-up

Presentations App for the modern Linux Desktop.

TextShine

Convert and manipulate text.

TextSnatcher

Copy text from Images with ease.

System Tools

Connections

A remote desktop client for the GNOME desktop environment.

elementary OS App Center

Pay-what-you-can app store for elementary OS.

Man Helper

A lightweight GTK front-end for man pages.

Monitor

Manage processes and monitor system resources.

Peek

Simple animated GIF screen recorder with an easy to use interface.

SwayNotifiationCenter

A simple GTK based notification daemon for SwayWM.

Virtualization

GNOME Boxes

A simple GNOME 3 application to access virtual machines.

Weather

Meteo

GTK Weather app using the OpenWeatherMap API.

CLI Tools

EasyDocs

Quickly read developer documentation.

Spider

Quickly generate a HTML5 site structure.

Valdo

Create new Vala projects from templates.

Vamposer

Dependency manager for Vala projects inspired by Composer/Go modules and integrated with Meson subprojects.

Editor Plugins

Vala VSCode

A plugin for Visual Studio Code that enables basic autocompletion and syntax highlighting for Vala.

Vala-TMBundle

A TextMate bundle that provides Vala syntax highlighting, code completion, etc. Sublime Text 3 can also use this plugin.

language-vala-modern

Provides Vala language support in Atom. It's a fork of the unmaintained "language-vala package".

Vala Syntax 4 Sublime Text

A basic plugin for Sublime Text 3 that provides syntax highlighting.

Language Servers

vala-language-server

A language server that aims to provide code completion, formatting, syntax highlighting, and everything else according to the Language Server spec.

Libraries

Command-line

console-command

Library to route command-line arguments to a Command pattern object, current implementation covers extension by inheritance or using closures.

Concurrency

gpseq

A parallelism library for Vala and GObject.

Cryptography & Security

GnuTLS

A secure communications library implementing the SSL, TLS and DTLS protocols and technologies around them. It provides a simple API to access the secure communications protocols as well as APIs to parse and write X.509, PKCS #12, and other required structures.

Data Structures & Data Types

Graphene

A thin layer of types for graphic libraries. It provides common types needed to handle 3D transformations: points, triangles, rectangles, quads, quaternions, vectors, matrices, spheres, etc.

Libgee

A utility library providing GObject-based interfaces and classes for commonly used data structures (lists, maps, queues, trees, etc.).

Numeric-GLib

A collection of numeric data types for GLib (and Vala) via GCC extensions. It includes 128 bit integers & floats, complex types, vectorized operations, and decimal types.

United

A library for unit manipulation (like kilograms, meters, etc).

vul (Vala Utility Libraries)

A set of utility libraries for Vala that add: Text stream handling (input and output), JSON serialization and deserialization, and, Archive compression and extraction.

Databases

Almanna ORM

The Almanna ORM for Vala/GLib.

Graphics Libraries

Babl

A dynamic, any to any, pixel format translation library.

Cairo

A 2D graphics library with support for multiple output devices. This is pretty much the default library you get in Vala.

GEGL

A data flow based image processing framework, providing floating point processing and non-destructive image processing capabilities. Think of it as "Reactive Programming for Images".

GRX

A graphics library for simple graphics displays (think 1-bit displays or Adafruit's PiTFT displays). It also includes keyboard, mouse, joystick and touchscreen input support.

GSVG (GObject SVG Library)

GSVG is an effort to provide a GLib GObject implementation of W3C standard API.

live-chart

A real-time charting library for Vala and GTK3 based on Cairo.

SDL2

A cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL, Direct3D, and Vulkan. Bindings are included in Vala and will be available starting with Vala 0.52.

GUI Programming

GTK

The de facto library for GUI development in Vala. Bindings are included with the vala compiler.

IoC and Dependency Injection

Vadi

An IoC Container developed in order to facilitate the usage of dependency injection for Vala developers.

Multimedia Processing

GStreamer

A powerful framework for creating multimedia applications.

Numerical Computation

balistica

An open source ballistic simulation library. There's a complete calculator [here](https://github.com/fusilero/balistica).

vast

A project for generative modeling in Vala. Think of TensorFlow rewritten in Vala.

Templating

Compose

A functional templating library for Vala.

template-glib

A library for template expansion which supports calling into GObject Introspection from templates.

Text Processing

libcmark-vapi

Vala bindings for libcmark, the CommonMark parsing and rendering library in C.

Web Development

Ambition

A web framework written in Vala, with the MVC pattern in mind. Kinda unmaintained (someone could refactor it to use Valum under the hood, and maybe move it to Meson 😉).

Valum

A Web micro-framework entirely written in Vala.

XML & Data Serialization

GXML

A GObject API for manipulating XML and a Serializable framework from GObject to XML.

Json-GLib

Implements a full JSON parser and generator using GLib and GObject, and integrates JSON with GLib data types.

libyaml-glib

The GLib binding of libyaml, plus a GObject builder that understands YAML.