aboutsummaryrefslogtreecommitdiff
path: root/blog/posts
diff options
context:
space:
mode:
Diffstat (limited to 'blog/posts')
-rw-r--r--blog/posts/2026-03-05-how-i-use-nixos.md23
-rw-r--r--blog/posts/2026-03-05-why-i-use-nixos.md10
2 files changed, 33 insertions, 0 deletions
diff --git a/blog/posts/2026-03-05-how-i-use-nixos.md b/blog/posts/2026-03-05-how-i-use-nixos.md
new file mode 100644
index 0000000..38e057f
--- /dev/null
+++ b/blog/posts/2026-03-05-how-i-use-nixos.md
@@ -0,0 +1,23 @@
+# How I Actually Use NixOS
+
+After a year of daily driving NixOS, I finally have a setup that just works. Fast, stable, reproducible, and exactly the way I want it.
+
+Everything is declarative. Every package, service, and dotfile is defined in code. Reinstalling my system, moving to a new machine, or testing something experimental is now painless. I don’t need scripts, I don’t forget tweaks, and I can roll back anything that goes wrong.
+
+I structure my system in layers:
+
+1. **System Configuration** – All the core system settings live in `configuration.nix`. Bootloader, networking, users, graphics, services, and packages. If I enable a new service, it’s declared here, and `nixos-rebuild switch` applies it safely.
+
+2. **Environment-Specific System** – I have separate configs for different environments, like i3wm or Hyprland. These import additional modules for X11 or Wayland, keyboard layouts, window managers, and display settings. Switching environments is just commenting/uncommenting a line in `configuration.nix`.
+
+3. **Home-Manager Configuration** – My personal settings, shell configs, editors, and fonts live in `mun.nix`. Everything I want in my environment is defined and version-controlled. Clone it to a new machine, run a rebuild, and I’m back to my workflow.
+
+4. **Environment-Specific Home Config** – For Hyprland or i3wm, I have orchestrators that import all related modules like dunst notifications, kitty terminal, polybar, neovim, picom, rofi, and custom scripts. Each visual rice, like my "chernobyl" setup, is fully modular. Switching or adding rices is trivial.
+
+The magic is in Nix’s atomic generations. Every change can be applied safely, and rolling back is a single command. No more hours spent fixing a broken system or chasing dependencies.
+
+Development environments are reproducible too. Each project has its own isolated shell defined in `shell.nix`. Jump between projects without conflicts. No pollution, no surprises.
+
+Even after a year, I’m still learning. I break things, experiment, and tweak my setup. But NixOS doesn’t punish me. Every change is auditable, reversible, and tracked in Git. The system finally feels *mine*—exactly how I imagine it: fast, clean, and under control.
+
+If you wish to take a loot at my dots yourself you can find them [here in this Gitlab repo](https://gitlab.com/natasha-linux/nixos/dots)
diff --git a/blog/posts/2026-03-05-why-i-use-nixos.md b/blog/posts/2026-03-05-why-i-use-nixos.md
new file mode 100644
index 0000000..3b70f79
--- /dev/null
+++ b/blog/posts/2026-03-05-why-i-use-nixos.md
@@ -0,0 +1,10 @@
+# Why do I use NixOS?
+I've been daily driving Linux for aboutt 3 maybe 4 years. In that time I've done my fair share of distro hopping. Starting out with [Fedora](https://fedoraproject.org/), then switching to [Arch](archlinux.org) where I've stayed for a pretty long time. Most of my linux journey actually.
+
+It was lightweight, it was fast and it was exactly what I wanted because I made it. It even forced me to learn a lot about GNU/Linux and operating systems in general. I loved it. But I was prone to tinkering. Slowly, the system became more and more bloated with tiny little leftovers from my experiments which, as they piled up led to dependency hell and pretty bad instability.
+
+Another thing that I missed, was reproducibility. If I reinstall my OS, or switch computers anything. I'd have to spend hours reconfiguring everything. I tried writing ash scripts to help with this but that never worked out.
+
+But recently I've heard of NixOS. Described as the *secret final boss of Linux* with a learning curve steeper than Arch. But the things it promised. All of the benefits of the DIY of Arch without any of the downsides. Perfect reproducibility, no dependency hell (NixOS can have multiple versions of the same package at the same time.) stability rivaling that of Debian. Automatic generations and easy rollbacks when something does break. It was truly the promised land.
+
+I'll write about my configuration and how I actually use NixOS next time since its a giant thing that took me a year of dailying to figure out.