🍴 Fork Notice: This is a fork of linuxmobile/kaku - an excellent NixOS configuration with Niri window manager. Massive kudos to @linuxmobile for the amazing foundation! This fork extends the original desktop-focused setup with comprehensive homelab infrastructure management.
- Window Manager • Niri🎨 Scrolleable WM!
- Shell • Nu 🐚 with starship Cross Shell Platform!
- Terminal • Ghostty 💻 A powerful Hyped term
- Panel • DMS Quickshell 🍧 The Best GOAT DMS-Quickshell :3!
- File Manager • Yazi 🔖 Rustacean File Manager!
- GUI Basic-IDE • Helix ✴️ Rustacean vim version!
- GTK Theme • GTK 🐾 My Fork of colloid
This fork extends the original kaku configuration with comprehensive homelab infrastructure:
- 5-node cluster: 2 masters + 3 workers with HA configuration
- Custom modules:
homelab.k3s-masterandhomelab.k3s-workerfor easy deployment - Network configuration: Static IPs, proper DNS, and TLS SAN certificates
- Jellyfin: Media server with hardware acceleration support
- *arr Suite: Sonarr, Radarr, Lidarr, Readarr, Bazarr for media management
- Jellyseerr: Media request management
- Prowlarr: Indexer management
- Tdarr: Media transcoding and optimization
- AdGuard Home: Network-wide ad blocking and DNS management
- Netdata: Real-time system monitoring and alerting
- NFS Server: Centralized storage sharing
- Nginx Proxy: Reverse proxy and load balancing
- Homepage: Unified dashboard for all services
- ZFS: Advanced storage management with snapshots
- Makefile: Streamlined NixOS operations for all hosts (
make switch HOST=k3s-master-01, etc.) - Enhanced profiles:
exodusprofile with homelab-specific packages - Monitoring scripts: System health and performance tracking
- Multi-host support: Easy management of all 7 system configurations
Request: NixOs
- Download ISO.
wget -O https://channels.nixos.org/nixos-24.05/latest-nixos-minimal-x86_64-linux.iso-
Boot Into the Installer.
-
Switch to Root:
sudo -i -
Partitions:
I prefer to use 1GB on the EFI partition. Specifically because the 'generations' list may become very long, and to avoid overloading the partition.
# Replace nvme with your disk partition
gdisk /dev/nvme0n1- `o` (create new partition table)
- `n` (add partition, 512M, type ef00 EFI)
- `n` (add partition, remaining space, type 8300 Linux)
`w` (write partition table and exit)
- Format Partitions:
mkfs.fat -F 32 -n EFI /dev/nvme0n1p1
mkfs.xfs -L NIXOS /dev/nvme0n1p2- Mount Partitions:
mount /dev/disk/by-label/NIXOS /mnt
mkdir -p /mnt/boot
mount /dev/disk/by-label/EFI /mnt/boot- Enable nixFlakes
nix-shell -p nixVersions.stable git- Clone this Fork
git clone --depth 1 https://github.com/dodwmd/nixos /mnt/etc/nixos- Generate your Own Nix Hardware Settings:
sudo nixos-generate-config --dir /mnt/etc/nixos/hosts/aesthetic
# Remove configuration.nix
rm -rf /mnt/etc/nixos/hosts/aesthetic/configuration.nix- Install Dotfiles Using Flake
# Move to folder
cd mnt/etc/nixos
# Install
nixos-install --flake .#aesthetic- Reboot
- Change Default password for User.
passwd YourUser- Install w/ Home-Manager the config
# For desktop/workstation use:
home-manager switch --flake 'github:dodwmd/nixos#exodus@exodus'
# For the original aesthetic profile:
home-manager switch --flake 'github:dodwmd/nixos#linudev@aesthetic'![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
If you're using this NixOS configuration flake locally, you can simplify the process of switching and managing your system using nh, a CLI helper for Nix Flakes.
To switch your system configuration, you can use the Makefile or nh:
# Using the Makefile (recommended):
make switch # Build and switch exodus (default)
make switch HOST=k3s-master-01 # Build and switch k3s-master-01
make build HOST=nexus # Build nexus without switching
make hosts # List all available hosts
# Using nh directly:
nh os switch .#exodus # Desktop/workstation
nh os switch .#k3s-master-01 # K3s master node
nh os switch .#k3s-worker-01 # K3s worker node
nh os switch .#nexus # Nexus hostFor home-manager configurations:
# For homelab desktop setup:
nh home switch .#exodus@exodusThis avoids needing to type out the full nixos-rebuild or home-manager commands manually and provides a cleaner workflow when iterating on your setup.
💡 Make sure
nhis installed in your system environment or user profile.
| Inspiration and Resources | ||||
|---|---|---|---|---|
| 🍴 | linuxmobile - Original kaku author | |||
| 1 | owl4ce | |||
| 2 | Ilham25 | |||
| 3 | Siduck | |||
| 4 | NvChad | |||
| 5 | Rxyhn | |||
| 6 | HeinzDev | |||
| 7 | fufexan | |||
| 8 | AmitGolden | |||
WIP
BACK TO TOP





