Add daily email for 2024-11-27
Nix as an operating system
This commit is contained in:
parent
b6557d4ece
commit
0834587ee9
33
source/_daily_emails/2024-11-27.md
Normal file
33
source/_daily_emails/2024-11-27.md
Normal file
|
@ -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
|
|
@ -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('-') -%}
|
||||
|
|
Loading…
Reference in a new issue