My personal NixOS system configurations using Flakes, featuring Hyprland desktop environment, home-manager, and various self-hosted services.
| Host | Purpose | Description |
|---|---|---|
odin |
Workstation | Primary desktop workstation |
thor |
Laptop | Framework laptop |
frigg |
Homelab | K3s server node |
- Hyprland - A dynamic tiling Wayland compositor
- Home Manager - User environment configuration
- Agenix - Secrets management
- Custom EWW Bar - Stylish system bar with system controls
- K3s - Lightweight Kubernetes for self-hosting
Currently moving over from a docker-compose deployment to K3S.
The following services are self-hosted on the K3s cluster:
| Service | Description |
|---|---|
cert-manager |
Certificate management for Kubernetes. Automates the management and issuance of TLS certificates |
glance |
Homelab dashboard - A clean and modern interface to monitor services |
longhorn |
Cloud native distributed block storage for Kubernetes |
metallb |
Load-balancer implementation for bare metal Kubernetes clusters |
pihole |
Network-wide ad blocking and local DNS management |
prometheus |
Monitoring and alerting toolkit for Kubernetes clusters |
traefik |
Modern HTTP reverse proxy and load balancer for microservices |
.
├── flake.nix # Flake configuration
├── hosts/ # Host-specific configurations
│ ├── odin/ # Desktop configuration
│ ├── thor/ # Laptop configuration
│ └── frigg/ # Server configuration
├── home/ # Home-manager configurations
│ └── common/ # Shared home configurations
├── secrets/ # Agenix encrypted secrets
└── argocd/ # K3S argocd deployment yaml files- Clone the repo
nix-shell -p git
git clone git@github.com:member87/nixos.git
cd nixos
- Run installation script
./install.sh {host} {user}