Declarative Configuration and Scripting: The Dynamic Duo for a Dazzling Workspace
6/6/2023
The world of the digital workspace can be a wild, woolly wilderness, but fear not, brave explorer.
Declarative configuration and scripting (I use the dotfiles approach) are here to light your way, bringing order from chaos, create clarity from confusion.
Why does this dynamic duo matter, you ask? Allow me to illustrate.
A Little Look-Back
Back in the beginning, I handcrafted my digital environments.
Like an artisan, I set up each piece, each tool, each setting with "my own two hands" (well, fingers mostly). It was a badge of honor but also, often, a beastly bother.
Enter: declarative configuration and scripting!
Delving into Declarative
In the simplest of terms, declarative configuration is like the recipe for your workspace.
It specifies what the end result should look like, not how to achieve it.
Imagine you're baking a cake.
Instead of wading waist-deep into the weedy wilderness of "whisk this, whip that, bake at this temperature," you just declare, "I want a three-tiered chocolate cake with raspberry filling." The system takes it from there.
Saluting Scripting
On the other side, we have scripting. This is a sequence of commands, executed by the system.
It's like your personal assistant, performing tasks you'd otherwise have to do manually.
Continuing the cake metaphor, scripting would be the process of telling your automatic kitchen machine exactly what to do.
You're saying, "First, mix the flour and cocoa. Then, add the eggs and sugar. Finally, bake at 350 degrees."
Declarative and Scripting: Better Together
When combined, declarative configuration and scripting present a compelling case for workspace setup.
The former states what you want, the latter defines how to get it.
It's a harmony of high-level visions and hands-on practicalities.
Real-Life Renditions
Software development is an area where this partnership truly shines.
Setting up development environments, deploying applications, managing infrastructure - these areas all benefit from declarative configuration and scripting.
In such a setting, you might declare the specifications for an application environment (operating system, libraries, tools), and then use scripting to execute those specifications, setting up the environment with minimal manual intervention.
There are a lot of great tools for this, such as Docker, NixOS, Salt, Ansible and hand-rolled configurations.
To Conclude
Declarative configuration and scripting are like the peanut butter and jelly of the tech world. Individually, they're great. Together, they're a delightful duo that can make setting up your workspace a breeze.
So, take a leap of faith. Embrace the dynamic duo. Your workspace will thank you.
Further Fodder
Ready to explore further? Here are some resources:
This Article is Still in Progress
This post is a work in progress and not yet complete. If you're interested in reading the full article, let me know!
Want to Read It? Your interest helps me prioritize which articles to finish first. Click below to tell me you want to read this article when it's complete.