Skip to content

dodwmd/nixos

 
 

Repository files navigation

awesome-rice-badge

革 | kaku - Homelab Edition

🍴 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.

PLEASE RESPECT THE CREDITS IF YOU USE SOMETHING FROM MY DESKTOP/SETUP.


SETUPGUIDESKEYBINDSGALLERY


  • Window ManagerNiri🎨 Scrolleable WM!
  • ShellNu 🐚 with starship Cross Shell Platform!
  • TerminalGhostty 💻 A powerful Hyped term
  • PanelDMS Quickshell 🍧 The Best GOAT DMS-Quickshell :3!
  • File ManagerYazi 🔖 Rustacean File Manager!
  • GUI Basic-IDEHelix ✴️ Rustacean vim version!
  • GTK ThemeGTK 🐾 My Fork of colloid

HOMELAB ADDITIONS

This fork extends the original kaku configuration with comprehensive homelab infrastructure:

🚀 Kubernetes Cluster (K3s)

  • 5-node cluster: 2 masters + 3 workers with HA configuration
  • Custom modules: homelab.k3s-master and homelab.k3s-worker for easy deployment
  • Network configuration: Static IPs, proper DNS, and TLS SAN certificates

🎬 Media & Entertainment Stack

  • 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

🛠️ Infrastructure Services

  • 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

🔧 Development & Management

  • Makefile: Streamlined NixOS operations for all hosts (make switch HOST=k3s-master-01, etc.)
  • Enhanced profiles: exodus profile with homelab-specific packages
  • Monitoring scripts: System health and performance tracking
  • Multi-host support: Easy management of all 7 system configurations

INSTALLATION (NixOS)

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:

DON'T FORGET IT

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

🐙 Remember Default User & password are: nixos

  • 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'

🌸 SCREENSHOTS

🌻 TODO LIST

🧩 ADDITIONAL TIPS

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 host

For home-manager configurations:

# For homelab desktop setup:
nh home switch .#exodus@exodus

This 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 nh is installed in your system environment or user profile.

🍀 KEY BINDINGS

💐 ACKNOWLEDGEMENTS

Inspiration and Resources
🍴 linuxmobile - Original kaku author
1 owl4ce
2 Ilham25
3 Siduck
4 NvChad
5 Rxyhn
6 HeinzDev
7 fufexan
8 AmitGolden

🌳 CONTRIBUTING

WIP

🎃 SECURITY POLICY

BACK TO TOP

About

Forked kaku

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Nix 95.8%
  • Makefile 2.1%
  • QML 1.3%
  • Other 0.8%