My personal NixOS configuration across devices.
  • Nix 87.7%
  • Shell 9.1%
  • CSS 3.2%
Find a file
2026-05-06 11:53:07 +02:00
assets RM unused images 2026-04-17 15:07:44 +02:00
hosts Merge: modular restructure (experimental) to main 2026-04-20 13:06:27 +02:00
modules RM vanilla DC client 2026-05-06 11:53:07 +02:00
.directory Add Dolphin Folder config 2026-04-08 12:24:19 +02:00
changes.txt Implement git properly, fix rofi-power-menu 2026-01-26 20:08:38 +01:00
flake.lock Proper dolphin set-up + Home-Manager update 2026-02-25 15:44:47 +01:00
flake.nix Proper dolphin set-up + Home-Manager update 2026-02-25 15:44:47 +01:00
LICENSE Add license, prepare README for last update on GitHub. 2026-01-26 20:44:45 +01:00
README.md Update README.md 2026-02-13 12:31:54 +00:00

Shaydelity's NixOS Flake

Based on Zohiu's dotfiles: "A continuously changing comprehensive collection containing computer configs" Though less clean in my case, as of now.

Host Name Explanation:

  1. Shaydelith: Home PC
  2. Nyx: Framework Laptop
  3. Eclipse: MS Surface Pro 7 (Touch Screen dysfunctional)

Prerequisites

Setup

This flake sets up an entire system, including all the apps and devices I use. You will have to edit this quite a lot. Before starting, make sure that you understand the structure of this config and know how to edit it to your liking.

  1. Clone the repo
  2. Edit the flake.nix - make sure the install-dir is set to the directory you cloned the repo to
  3. Edit the hosts/ to your liking. The username, hostname and first-install-version are really important - make sure to also update the imports in flake.nix
  4. Replace the hardware.nix of your hosts/ with the generated /etc/nixos/hardware-configuration.nix of your system. If you skip this step, there will be issues.
  5. See Folder Structure
  6. Run sudo nixos-rebuild switch --flake <install-dir>#<hostname> (replace with your values)
  7. Reboot

Preview

Floating Windows One Window Tiked Windows

(miku is optional and in my config not entirely implemented, check out Zohiu's original)

Structure

Design Philosophy

These are not rules. They are just guidelines I try to respect to make my config more modular and easy to work with.

  • Everything is a module. Everything needed to make an app work and configure it should be in the same location. This allows hosts to selectively import apps.
  • Every module is imported at the root of the config. If you want to do something in home-manager, for example, you have to do it the long way. Look at a module in this repo if you want an example.
  • Overrides are preferred. If you need to change a setting in hyprland (like a window rule to make an app work), you should do this in the app's module instead of the hyprland module
  • Folder-level imports should always work. If anything is split into subdirectories, importing the root should import all modules contained inside. Every folder needs a default.nix.
  • Grouping should be small. If it makes sense to create a subdirectory, it should always be created. That way host imports can be really specific depending on their use-case.