From 0834587ee99907a7131b8847915d398b5179fc20 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 1 Dec 2024 01:09:49 +0000 Subject: [PATCH] Add daily email for 2024-11-27 Nix as an operating system --- source/_daily_emails/2024-11-27.md | 33 ++++++++++++++++++++++++++++++ source/rss/daily.xml.twig | 4 +++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 source/_daily_emails/2024-11-27.md diff --git a/source/_daily_emails/2024-11-27.md b/source/_daily_emails/2024-11-27.md new file mode 100644 index 00000000..1d027bae --- /dev/null +++ b/source/_daily_emails/2024-11-27.md @@ -0,0 +1,33 @@ +--- +title: Nix as an operating system +date: 2024-11-27 +permalink: daily/2024/11/27/nix-as-an-operating-system +tags: + - software-development + - linux + - nix + - nixos +cta: ~ +snippet: | + If you like the declarative approach to installing and configuring packages with Nix, you do the same with your entire operating system with NixOS. +--- + +Yesterday, [I showed some of the Nix programming language][0] and how to use it to perform tasks such as installing and configuring packages. + +I like this declarative approach as you know everything installed on your system and its configuration. + +[There are no random or leftover packages or configuration files][1]. + +The Nix package manager can be installed on Linux or macOS, but you can also use Nix to configure your whole operating system in a declarative way thanks to NixOS. + +As well as installing and configuring packages, you can define your firmware version, boot loader, disk partitioning, user accounts and more. + +I used to do this type of automation with Ansible but switched to NixOS soon after trying Nix on another Linux distribution. + +If I need to work on a different laptop, like when mine recently died, I can apply the same configuration and get all the same programs and configurations as before. + +If you want to see my current NixOS setup, you can [see it on my GitHub][2]. + +[0]: {{site.url}}/daily/2024/11/26/the-nix-language +[1]: {{site.url}}/daily/2024/11/23/no-more-random-packages +[2]: https://github.com/opdavies/dotfiles diff --git a/source/rss/daily.xml.twig b/source/rss/daily.xml.twig index 10b117fd..f8d9c3db 100644 --- a/source/rss/daily.xml.twig +++ b/source/rss/daily.xml.twig @@ -17,7 +17,9 @@ use: {% for email in data.daily_emails[:1] %} {% set tags = [] %} {%- for tag in ['dev']|merge(email.tags|default([])) -%} - {% if tag == "tailwind-css" %} + {% if tag == "nixos" %} + {% set tag = "NixOS" %} + {% elseif tag == "tailwind-css" %} {% set tag = "TailwindCSS" %} {% endif %} {% set words = tag|split('-') -%}