uuid: - value: e7cc391d-fde3-4db8-9f1b-5a4b460cca29 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:04+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: 'Nix as an operating system' created: - value: '2024-11-27T00:00:00+00:00' changed: - value: '2025-05-11T09:00:04+00:00' promote: - value: false sticky: - value: false default_langcode: - value: true revision_translation_affected: - value: true path: - alias: /daily/2024/11/27/nix-as-an-operating-system langcode: en body: - value: |

Yesterday, I showed some of the Nix programming language 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.

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.

format: full_html processed: |

Yesterday, I showed some of the Nix programming language 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.

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.

summary: null field_daily_email_cta: { }