oliverdavies.uk/content/node.a96b6197-2490-4e22-8705-d372ee76664b.yml

73 lines
4.4 KiB
YAML

uuid:
- value: a96b6197-2490-4e22-8705-d372ee76664b
langcode:
- value: en
type:
- target_id: daily_email
target_type: node_type
target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7
revision_timestamp:
- value: '2025-05-11T09:00:46+00:00'
revision_uid:
- target_type: user
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
revision_log: { }
status:
- value: true
uid:
- target_type: user
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
title:
- value: |
Automating all the things
created:
- value: '2023-03-14T00:00:00+00:00'
changed:
- value: '2025-05-11T09:00:46+00:00'
promote:
- value: false
sticky:
- value: false
default_langcode:
- value: true
revision_translation_affected:
- value: true
path:
- alias: /daily/2023/03/14/automating-all-the-things
langcode: en
body:
- value: |
<p>As a solo Developer and Consultant, I rely a lot on automation to get my tasks done.</p>
<p>I use tools like <a href="/daily/2023/03/09/in-what-language-should-i-write-my-automation">Pulumi, Ansible and Terraform</a> to automate creating and configuring infrastructure - recently creating new client GitHub repositories using a standard configuration with Pulumi.</p>
<p>I use Nix and Home Manager to automate my local development environment, install packages I need and create files like <code>.gitconfig</code> for my needs. These are reusable and stored in my <a href="https://github.com/opdavies/dotfiles">dotfiles</a> repository.</p>
<p>For projects, I use tools like Docker, Docker Compose and Nix flakes for consistency.</p>
<p><a href="/daily/2023/03/04/why-i-built-a-tool-to-generate-configuration-files">I wrote a tool for generating configuration files for each project</a> - reducing the time it takes me to set up, configure and maintain standard files for tools like Docker and Docker Compose that I always use. If I need to add a new feature or fix a bug in a configuration file, I can do that in my templated version and re-generate each project's files rather than making the same change manually.</p>
<p>Today, I wrote a script that loops over all projects where I commit those files to GitHub, clones a fresh version of it, re-generates the files and pushes any new files or changes back to the repository. This means that any changes will be automatically applied and all of my projects will remain in sync.</p>
<p>Automating all of these things reduces the time that I need to spend on them - allowing me to focus on delivering value and solving problems for my clients.</p>
format: full_html
processed: |
<p>As a solo Developer and Consultant, I rely a lot on automation to get my tasks done.</p>
<p>I use tools like <a href="http://default/daily/2023/03/09/in-what-language-should-i-write-my-automation">Pulumi, Ansible and Terraform</a> to automate creating and configuring infrastructure - recently creating new client GitHub repositories using a standard configuration with Pulumi.</p>
<p>I use Nix and Home Manager to automate my local development environment, install packages I need and create files like <code>.gitconfig</code> for my needs. These are reusable and stored in my <a href="https://github.com/opdavies/dotfiles">dotfiles</a> repository.</p>
<p>For projects, I use tools like Docker, Docker Compose and Nix flakes for consistency.</p>
<p><a href="http://default/daily/2023/03/04/why-i-built-a-tool-to-generate-configuration-files">I wrote a tool for generating configuration files for each project</a> - reducing the time it takes me to set up, configure and maintain standard files for tools like Docker and Docker Compose that I always use. If I need to add a new feature or fix a bug in a configuration file, I can do that in my templated version and re-generate each project's files rather than making the same change manually.</p>
<p>Today, I wrote a script that loops over all projects where I commit those files to GitHub, clones a fresh version of it, re-generates the files and pushes any new files or changes back to the repository. This means that any changes will be automatically applied and all of my projects will remain in sync.</p>
<p>Automating all of these things reduces the time that I need to spend on them - allowing me to focus on delivering value and solving problems for my clients.</p>
summary: null
field_daily_email_cta: { }