1
 
 

cross-posted from: https://lemmy.ml/post/51712940

lambdock is a lightweight, hyper-hackable desktop dock for Wayland compositors that bridges a high-performance C graphics engine with an embedded GNU Guile Scheme runtime.

Repository: https://codeberg.org/jjba23/lambdock

License: GPLv3+

Whether you are looking for a smooth macOS-style dock, a minimal launcher, or a Lisp-powered desktop widget bar, lambdock was built to offer extreme flexibility without bloating system resources and remaining flexible but easy to use, with good defaults.

Why would you consider lambdock? Modern Stack & Ultra-Low Footprint: Built on GTK4 and gtk4-layer-shell in C for minimal resource usage, rich graphics and animations (opt-in) with smooth cubic-eased auto-hiding.

Embedded Guile Scheme Engine: Declarative Lisp configuration (~/.config/lambdock/settings*.scm). Easily construct custom app launchers, separators, or dynamic polling widgets (RAM, CPU load/temp, Battery, Clock) using standard Scheme procedures and macros.

Live Interactive REPL & Hot-Reloading: Connect straight into the running dock over a Unix domain socket (/tmp/lambdock-repl.sock) via Emacs/Geiser or socat or whatever you like. Hot-reload configuration files and GTK CSS overrides on the fly via GFileMonitor or the (reload-dock!) REPL hook without dropping Wayland frames or UI thread freezes.

Dynamic Wayland Window Tracking: Uses zwlr_foreign_toplevel_manager_v1 for running app indicators, active window titles, and interactive popover HUDs to focus or close specific instances.

Opt-In Fisheye Magnification: Includes a native, fluid cosine-bell curve hover magnification effect (macOS-style) that can be toggled on or off per item or globally.

Multi-Dock & Multi-Monitor Support: Run independent dock instances across screen edges or monitors simply by dropping additional settings-*.scm files into your config directory.

Built-in Themes & CSS Overrides: Ships with presets (Vanilla, Snow Leopard, Solarized, Unity, Nature) and supports full user CSS customization via ~/.config/lambdock/styles.css.

lambdock works seamlessly across all wlr-layer-shell and foreign-toplevel compliant compositors: Sway, Hyprland, Niri, River, Wayfire, COSMIC, and KDE Plasma (Wayland).

(Note: GNOME/Mutter is currently not supported as GNOME does not implement the layer-shell protocol).


Installation & Packaging (a bit WIP)

lambdock provides multiple ways to build and install across distros:

GNU Guix: Packaged via guix.scm and available in channels.

openSUSE: Packaged as an RPM on openSUSE OBS.

Nix / NixOS: Ships with flake.nix / package.nix (and a PR has been submitted upstream to nixpkgs).

Debian / Ubuntu: Debian packaging helpers included (debuild).

Podman / Docker: Containers are available and also pre-built ones on DockerHub

Build System: Builds cleanly with Meson (meson setup build && ninja -C build).

Since this is my first GTK4 project, all feedback, suggestions, bug reports, and contributions are very welcome!

2
Hall (gitlab.com)
 
 

Hall is a command-line project manager for projects written in GNU guile. It is also a set of libraries for interacting with Guile projects.

3
 
 

GGG (Guile Glyph Generator) v0.4.6

Now also packaged via Podman/Docker, and a new version is in a PR to Guix, containing many improvements, specially to CLI experience and flexibility, as well as a cleaner badge definition DSL

https://codeberg.org/jjba23/ggg

Through SVG generation from Lisp (Guile Scheme) we leverage a beautiful DSL (Domain-Specific Language) and apply some mathematical knowledge to build pixel perfect badges.

The SVG (Scalable Vector Graphics) can then be easily converted without quality loss to any desired format. Create your badges programatically with a polished aesthetic!

4
 
 

Maak: The infinitely extensible command runner, control plane and project automator à la Make (written in Guile Scheme - Lisp)

https://codeberg.org/jjba23/maak

Free yourself of repetitive, lacking, weird and arcane Makefile. After some weeks working on this project, I am upstreaming it to Guix so soon you all can enjoy.

https://codeberg.org/guix/guix/pulls/2132

Also, see here an advanced example of a Maak file: https://codeberg.org/jjba23/sss/src/branch/trunk/maak.scm

With the full power of Scheme (Guile) directly in your command runner/control plane, easily define functions, data, lists, loop through them, macros, etc.

Maak has as core mission being your control center or command plane, and act as a command runner, not necessarily a build system, so it avoids much of Make's complexity. No need for .PHONY recipes here.

Maak replaces the arcane syntax of Make with the power and elegance of a full-featured programming language: GNU Guile Scheme λ.

Instead of learning a limited DSL, you can leverage your existing Lisp skills to define tasks, manage data, and automate your workflows with ease. Define functions, manipulate lists, use conditional, create macros—the entire language is at your disposal.

You can also easily call external shell commands and integrate with your existing scripts and tools.

5
 
 

cross-posted from: https://lemmy.ml/post/34572963

SSS (Supreme Sexp System) releases a polished v3.3.22 after 9 months of continuous development ✨

https://codeberg.org/jjba23/sss

  • #dracula palette has been added as shown in the #screenshot
  • experimental help center 🧪 for SSS, tailor made #gtk4 #rust application
  • many improvements and quality of life added to this #gnu #linux quasi - #distro on top of #guix
  • much more ...

SSS is a #rice 🖥️ 🍙 worthy of #unixporn and uses #guile #scheme #emacs #hyprland and more

6
7
 
 

cross-posted from: https://lemmy.ml/post/33466232

Introducing Veritas v0.0.20: my new Lisp-powered (Guile Scheme) testing framework!

https://codeberg.org/jjba23/veritas

Born from my engineering experience and frustrations, I aim for incredible expressiveness. It is currently super early stages, also eager for other people to pitch in ideas before fully stabilizing the API. I also want to add many more capabilities for integration tests, containers and more.

veritas aims to be a simple and lightweight testing framework written in Scheme. Its main purpose is to help developers verify that their code behaves as expected. It achieves this by providing a clear structure for writing tests and producing easy-to-read feedback in various formats.

The framework is built around the concepts of "suites," which group related "tests," and "assertions," which perform the actual checks. I'd encourage you to peruse the test/ folder of this project to see real examples of how to use veritas.

The power of veritas lies in its simplicity, expressive embedded domain-specific language (EDSL), and some clever features that promote robust testing practices and correctness, like order randomization and concurrent testing.

8
 
 

I wrote a short blog post with my thoughts and experience on using Lisps and Scheme. Maybe you like it .

https://jointhefreeworld.org/blog/articles/lisps/scheme-and-lisps-are-great-for-production/index.html

It covers #scheme (a minimalistic #lisp) and implicitly #emacs and my text editor (which i use to make and publish the website too with #orgmode). #guix is also a great killer app for #guile

9
 
 

cross-posted from: https://lemmy.ml/post/32190347

With the idea of promoting the usage of Guix and of my favourite programming language Guile Scheme, I created a small project which is still in early stages, but I think with some more love and effort can be quite something.

https://jointhefreeworld.org/guile-show-hub/

The Guile ShowHub! Promoting all Guile projects out there! By reading from foss Guix project source code we can tap into a plethora of information, and leverage the homoiconicity of Lisp to directly analyze the source code and extract info.