Skip to main content
  1. ZaneyOS Documentation/
  2. ZaneyOS 2.3 Documentation/

My NixOS Configuration: ZaneyOS Explained

5 mins· 0 · 0 · ·
Zaney
Docs NixOS ZaneyOS
Table of Contents
ZaneyOS 2.3 Docs - This article is part of a series.
Part 1: This Article

👋 Preface #

I have been using Linux for a long time and think I kept coming back to Arch because of its ease to troubleshoot and wide (and up-to-date) package availability. NixOS has all of that and more!

I am able to have the system build a lock file, using flakes, and this file tracks the specific version of everything installed for my system. So this means you can actually tell how long it has been since I have ran an update based on how old the last edit was to the flake.lock file on Gitlab! This feature means you won’t encounter an issue with my flake because a new update broke a package on the unstable branch. Since when you installed you got the exact version of everything that I am running.

NixOS has a very different approach to how it operates compared to most other distributions. Essentially you use the Nix language to build out your systems configuration thats defined in specific .nix files, in the case of Flakes in a Git repository. This process is remarkably similar to building a binary.

Because all of your programs are installed, services started, and options configured inside of Nix files this means NixOS is a declarative system. You declare the things you want to persist and be configured into the system instead of imperative meaning running a command to set persistent settings when needed.

💎 The Goal #

To have a easy to replicate system with all of the advanced tooling and theming that I think is awesome.

I want people to have a NixOS system that shows a lot if not all that can be done with Nix, that’s well organized, documented, and a great foundation to build off of.

Tyler Kelley / ZaneyOS 🟰 Best ❄️ NixOS Configs

My main NixOS configuration. Features include a polished Hyprland environment with optional animated borders. Keyboard shortcut menu pop-down available in the top bar and so much more!

145
79

🤔 How Does It Work? #

Many of the things you might want to do such as changing graphics drivers are easily done with profiles that I made. So when installing you just tell the install script what kind of graphics setup you have and it will ensure you have the drivers you need. A few things like Git username and email setup, changing the terminal, even setting 24 hour clock can be done by changing a simple variable in the variables.nix file inside the hosts/<your-hostname> folder.

ZaneyOS Options File Example

When you run the rebuild switch command with the flake argument and give it the ZaneyOS folder, it sources the flake.nix file that sources the profile that you selected and then your host specific files.

The hardware.nix is automatically generated with all the things you need for your specific computers hardware (other than the drivers for graphics).

📂 What Is Home Manager? #

Within the context of NixOS I did a good job of explaining that here on my YouTube channel:

🌟 Features #

⌚ Polished Hyprland Experience #

Enjoy the ability to have gorgeous animated borders around your windows, or if that may be to distracting for you simply disable it. Hyprland makes having incredible animations, transparency, blur, and so much more effortless.

ZaneyOS Desktop Example

🖌️ One Color Scheme To Rule Them All #

Using Stylix I am able to let you set an image inside the stylix section in modules/core/stylix.nix and a color scheme is generated based off that image unless you specify one like I am. When you rebuild this will change all of the programs on the system to match.

⌨️ Easy To Understand Key-binds #

Hyprland Keybindings Menu

All of the key-binds are meant to make sense and be easy to remember. You can easily change them inside the modules/home/hyprland/config.nix file if you want.

🖥️ Multi Host & User Configuration #

  • You can define separate settings for different host machines and users!
  • Easily specify extra packages in the hosts/<your-hostname>/host-packages.nix file.
  • Easy to understand file structure where each host just has its generated hardware.nix and other host specific files in a folder with the hostname as its title.

🏆 Handcrafted Text Editing Experience #

I am so happy with my Neovim configuration I am pretty confident that it can improve just about anyones efficiency in editing text.

Neovim Never Looked So Good

🔍 Searching Through Files Should Be Simple! #

If you are working on a project you don’t need to leave your text editor to load up a new file or search in your file browser. You can quickly press Space, then l, then g in normal mode to bring up a menu like so:

Live Grep Demo

This menu lets you search through all of the files inside of wherever you launched Neovim / Neovide for whatever you type. This searches for text inside files, not the files name.

If you want to search for all files containing something in the name you can press Space, then f, then f in normal mode to search for any file containing what you type.

📖 The Wiki #

This is the first page of the ZaneyOS 2.3 documentation. You should be able to now see all the pages of the documentation and search for anything you need to. I hope this serves as a much better place to host the documentation for all of you!

🧐 Conclusion #

I hope you will agree with Sheldon below.

Please come over to my Discord and join the community helping each other and trying to make NixOS a truly great place to be.

ZaneyOS 2.3 Docs - This article is part of a series.
Part 1: This Article

Related

My NixOS Configuration: ZaneyOS Explained
5 mins· 0 · 0
Zaney
Docs NixOS ZaneyOS
Frequently Asked Questions
8 mins· 0 · 0
Zaney
Docs NixOS ZaneyOS
How The Config Files Work
2 mins· 0 · 0
Zaney
Docs NixOS ZaneyOS
How To Install ZaneyOS
2 mins· 0 · 0
Zaney
Docs NixOS ZaneyOS
How To Theme & Use ZaneyOS
3 mins· 0 · 0
Zaney
Docs NixOS ZaneyOS
ZaneyOS 2.2 Documentation
9 mins· 0 · 0
Zaney
Docs NixOS ZaneyOS