Skip to content

alysnnix/nalyx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

35 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Nalyx

Personal NixOS configuration with multi-host support: desktop, laptop, WSL, VM, and homelab.

Built with Flakes, Home-Manager, SOPS-nix, and a public/private split using composable flake modules.

Quick Start

switch          # auto-detects hostname and private repo
switch wsl      # specify a host

Architecture

nalyx/ (public)                     nalyx-private/ (optional flake)
β”œβ”€β”€ flake.nix                       β”œβ”€β”€ flake.nix (exports modules)
β”œβ”€β”€ vars.nix                        β”œβ”€β”€ nixos/ (SOPS, passwords, secrets)
β”œβ”€β”€ hosts/                          β”œβ”€β”€ home/ (MCPs, scripts, aliases)
β”‚   β”œβ”€β”€ desktop/                    └── secrets/secrets.yaml
β”‚   β”œβ”€β”€ laptop/
β”‚   β”œβ”€β”€ wsl/
β”‚   β”œβ”€β”€ vm/
β”‚   └── homelab/
β”œβ”€β”€ modules/ (core, desktop, drivers, services)
β”œβ”€β”€ home/features/ (cli, desktop, languages, programs)
└── ci/empty-private/ (CI placeholder)

The private repo is an optional flake that exports NixOS and Home-Manager modules. When present, they overlay config on top of public defaults. When absent, the system builds with safe defaults.

No public module references secrets, private URLs, or knows the private repo exists.

Hosts

Host Description Desktop Extras
desktop Main PC Hyprland / GNOME NVIDIA, Steam, gaming
laptop Notebook Hyprland / GNOME Intel
wsl WSL2 None Docker Desktop
vm Test VM Hyprland / GNOME Minimal
homelab Server None Tailscale, SSH, headless

Stack

Layer Technologies
System NixOS, Flakes, Home-Manager
Desktop Hyprland (Caelestia), GNOME
Secrets SOPS-nix, Age
Boot Lanzaboote (Secure Boot), systemd-boot
Shell Zsh, Oh-My-Zsh
Drivers NVIDIA, Intel

Setup

1. Clone

git clone https://github.com/alysnnix/nalyx.git ~/nalyx
cd ~/nalyx

2. Private repo (optional)

git clone git@github.com:alysnnix/nalyx-private.git .private/nalyx-private

3. Build

# First time (switch alias doesn't exist yet)
bash home/features/cli/zsh/scripts/update-sys.sh wsl

# After the first rebuild
switch wsl

Development

nix develop             # Enter dev shell (activates pre-commit hooks)
nix fmt                 # Format all Nix files
nix flake check --no-build  # Validate configurations

Pre-commit hooks: nixfmt, statix, deadnix

External Packages

Packages sourced from outside nixpkgs:

Package Source Description
Claude Code sadjow/claude-code-nix Nix package for Anthropic's Claude Code CLI

All other flake inputs (home-manager, sops-nix, lanzaboote, etc.) are tools from the NixOS ecosystem and don't package external software.

License

GPL-3.0

About

i use nix, btw πŸ€“β˜οΈ

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Contributors