jjba23

joined 1 year ago
 

als kruis­bericht geplaatst vanaf: https://lemmy.ml/post/38966704

A minimal, declarative setup for productive Rust hacking on Emacs + Guix

I noticed there was a blatant lack of resources and documentation on this particular setup. So I rolled up my sleeves and wrote this article, which hopefully you find useful.

https://jointhefreeworld.org/blog/articles/rust/simple-guix-emacs-rust-development-environment/index.html

See image here of my Emacs with rust-analyzer and clippy working: https://ibb.co/whxq8dX1

 

A minimal, declarative setup for productive Rust hacking on Emacs + Guix

I noticed there was a blatant lack of resources and documentation on this particular setup. So I rolled up my sleeves and wrote this article, which hopefully you find useful.

https://jointhefreeworld.org/blog/articles/rust/simple-guix-emacs-rust-development-environment/index.html

See image here of my Emacs with rust-analyzer and clippy working: https://ibb.co/whxq8dX1

 

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

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!

 

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

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!

[–] jjba23@lemmy.ml 1 points 11 months ago

Due to popular demand :) Maak is now also available as an experimental Docker container, from DockerHub (also compatible with Podman).

https://hub.docker.com/repository/docker/jjba23/maak/general

You can also build images of maak yourself, using guix pack. See the maak.scm file for more. To load these tarball images, you can do podman load < my.tar.gz

Then you can run Maak from the container, and bind your local filesystem to give access, for example:

docker container run -v /home/joe:/home/joe
docker.io/jjba23/maak:latest maak -f /home/joe/hacking/maak/maak.scm --list

[–] jjba23@lemmy.ml 1 points 11 months ago

Due to popular demand :) Maak is now also available as an experimental Docker container, from DockerHub (also compatible with Podman).

https://hub.docker.com/repository/docker/jjba23/maak/general

You can also build images of maak yourself, using guix pack. See the maak.scm file for more. To load these tarball images, you can do podman load < my.tar.gz

Then you can run Maak from the container, and bind your local filesystem to give access, for example:

docker container run -v /home/joe:/home/joe
docker.io/jjba23/maak:latest maak -f /home/joe/hacking/maak/maak.scm --list

[–] jjba23@lemmy.ml 1 points 11 months ago

Hey all I have an experimental Docker/Podman build here, which you can take for a spin, it works well for me, I don't have any macOS devices to test on yet though, LMK.

Docker tarball hosted on 2 sites: https://limewire.com/d/IHVnx#Pz9q6EwDwL https://filebin.net/gevqik62yzwfxa8u/maak-docker.tar.gz

Once you downloaded this tarball, you can import it with docker load < my.tar.gz

Installing via Guix will always remain more convenient and powerful but docker/podman will work for cross-platform pretty good. Say for example you have a maak file with a task serve, at /home/joe/hacking/hygguile/maak.scm , you could run it as so:

docker container run -v /home/joe:/home/joe localhost/maak:latest maak -f /home/joe/hacking/hygguile/maak.scm serve

[–] jjba23@lemmy.ml 1 points 11 months ago

Hey all I have an experimental Docker/Podman build here, which you can take for a spin, it works well for me, I don't have any macOS devices to test on yet though, LMK.

Docker tarball hosted on 2 sites: https://limewire.com/d/IHVnx#Pz9q6EwDwL https://filebin.net/gevqik62yzwfxa8u/maak-docker.tar.gz

Once you downloaded this tarball, you can import it with docker load < my.tar.gz

Installing via Guix will always remain more convenient and powerful but docker/podman will work for cross-platform pretty good. Say for example you have a maak file with a task serve, at /home/joe/hacking/hygguile/maak.scm , you could run it as so:

docker container run -v /home/joe:/home/joe localhost/maak:latest maak -f /home/joe/hacking/hygguile/maak.scm serve

[–] jjba23@lemmy.ml 1 points 11 months ago

Here how a CLI run looks like doing maak --list in a directory with a maak.scm file: https://removed/9wYTHBjQ

 

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

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.

 

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

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.

 

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.

[–] jjba23@lemmy.ml 1 points 1 year ago

thanks for your kind words❤️

[–] jjba23@lemmy.ml 1 points 1 year ago

thank you for your kind words ❤️ a lot of love and hours have gone into it

 

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

 

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

 

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

 

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

 

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

[–] jjba23@lemmy.ml 2 points 1 year ago* (last edited 1 year ago) (1 children)

By default it is, but there are many non-free channels you can use to add the OG Linux kernel to your Guix install as well as nonfree drivers. A famous one is nonguix, which i also use in my config. They also make custom ISOs with the Linux kernel, which helps some hardware indeed. So the libre only policy is a non issue if you read into it a little, but unfortunately most people stay at surface level

[–] jjba23@lemmy.ml 10 points 1 year ago* (last edited 1 year ago) (3 children)

With Guix you have reproducibility, freedom, good docs and peace of mind, also when configuring things more deeply. You also have a powerful programming language (Scheme / Lisp) with which to define your system config as well as your dotfiles. This is my insight after years of GNU/Linux usage. I run Guix on laptops, desktops and servers, and I never have configuration drift, as well as the benefit that I have a self documenting system.

https://codeberg.org/jjba23/sss

[–] jjba23@lemmy.ml 2 points 1 year ago

You might be interested in Emacs, it has (among many other things) artist-mode where you can draw with your cursor and obtain good ASCII art

[–] jjba23@lemmy.ml 3 points 1 year ago

I find it funny that you call Lisps and Emacs obsolete and dead, when they are more alive than ever. I agree with most of the article, but I think you ignore what makes these two great

[–] jjba23@lemmy.ml 3 points 1 year ago (1 children)

no question is a bad question friend! a lot of people like me, and other power users, have keyboard driven workflows in their computer, and as such find title bars and window buttons to be of little use, and not justifying the screen space they take. This is mostly a window manager (WM)/ desktop environment (DE) dependent thing, regardless of distro. this is specially true when you have a tiling WM, like Hyprland.

view more: next ›