RSSAmplifier

Blog

Futurile

futurile.netRSS feed ↗71 posts

Latest posts

Using the substitute* procedure to alter Guix package source files

Altering source files using the substitute procedure to search and replace text

NeoMutt: filtering email with Sieve

Using Mailutil's Sieve to filter email

NeoMutt: Automating new email with Goimapnotify

Using Goimapnotify for new email automation

NeoMutt: mirrored local IMAP with mbsync

Multiple Accounts and colours in Neomutt

NeoMutt: Multiple accounts and themes

Multiple accounts, colours and maildir in Neomutt

NeoMutt: using IMAP and SMTP

Using IMAP in Neomutt and options for sending email using SMTP

NeoMutt: introduction to CLI email

Introduction to using Neomutt. Emailing like it's 1995 in 2025!

A side of Guile: Regular expressions in Guile Scheme (Groups and escaping)

Part 3 of an introduction to regular expressions in Guile Scheme: anchors, grouping and backslash escaping

A side of Guile: Regular expressions in Guile Scheme (Quantifiers)

Part 2 of regular expressions in Guile Scheme: quantifiers, interval expressions and greedy matching

A side of Guile: Regular expressions in Guile Scheme

Part 1 of an introduction to regular expressions in Guile Scheme: metacharacters and character sets

Guix package structure: build system phases and modify-phases

Guix package structure: build phases and using modify-phases

A side of Guile: Functions in Guile and Guix

Introducing functions and modules in Guile Scheme and Guix

Guix package structure: build-system overview and build arguments

Guix package structure: build-system overview build arguments

Guix package structure: inputs, native-inputs and propagated inputs

Guix package structure: inputs, native-inputs and propagated-inputs

Guix package structure: overview and source/origin inputs

Guix package structure: overview and source/origin inputs

Modifying Guix packages using inheritance

Modifications to guix packages using inheritance

Advanced package transformations in manifests and Derivations introduction

Using with-git package transformations and Derivations introduction

Package transformations in manifests

Modifying applications using manifests and package transformations

Modifying Guix packages using package transformations

Creating package variants using just the command line tools

A side of Guile: The Guile REPL and investigating Guix packages

Introduction to the Guile REPL and querying Guix package information

Guix package rebuilds

An introduction to Guix packaging - rebuilding Guix packages

Guix time travelling tricks

Guix time-travel tricks: install any version of a Guix package

Time travelling dev environments in Guix

Guix time-travel to guarantee reproducible dev environments

Speeding up Guix with a local caching substitution server

Using Guix publish to run a local caching substitution server.

Reproducible dev environments using Guix

Making development reproducible, easy and fun with Guix

Guix shell for virtual environments and containers

Using Guix shell to create isolated environments and containers

Layering Guix Profiles

Layering Guix profiles and activating them at login.

Automating and managing multiple Guix profiles

Automating and managing multiple Guix profiles.

Guix Profiles to logically separate packages

Guix profiles to logically separate package sets

Using manifests to maintain our Guix applications

Installing applications in Guix with manifests

Installing Chrome and other proprietary apps on Guix

Using channels to find more apps on Guix - including proprietary ones from the nonguix channel

Guix common workflows and concepts

Common workflows when using the Guix package manager

Automating Blog posts with Git

Automated deployment of new blog posts using a git hook

Git patches by email

Using a patch workflow

Guix package management on Ubuntu

Guix package management as an alternative to using Snap or Flatpak packages

Migrating to Vim Plug

Migrating to Vim Plug from NeoBundle

Specter a Clojure library for nested data manipulation

Specter makes it simple to manipulate nested data in Clojure

Weechat even more configuration

More Weechat configuration for Slack and IRC

Weechat for Slack

Configuring Weechat for Slack with wee-slack

Weechat configuration

Configuring Weechat for IRC and Slack

Weechat for Slack and IRC

Getting started with Weechat for IRC and Slack

Clojure testing with clojure test and expectations

Unit testing Clojure with clojure.test and expectations

Clojure observability and debugging tools

Observability and debugging tools in Clojure

2020 Leiningen developer experience and REPL tools

Setting up Clojure's Leiningen developer experience and REPL tools

2020 Clojure Development with Lein and Rebel-Readline

Development environment for Clojure with Lein and Rebel Readline

Using Python from Clojure (libpython-clj)

Using Python libraries from Clojure using libpython-clj

Transparently editing encrypting files with GnuPG and Vim

Editing encrypted files with Vim and GnuPG

Hibernation and delayed hibernation for Ubuntu 16.04 LTS

Mixing suspend and hibernate in 16.04

The state of open source in 2016

Reviewing the state of open source in 2016 as preparation for OSCON

XTerm colour set-up and Molokai theme

XTerm 256 colour set-up, colour themes and a Molokai terminal theme.