Personal NixOS system configuration using Nix flakes for declarative system and user environment management.
- x1carbon - ThinkPad X1 Carbon laptop configuration
- nixos - NixOS-WSL setup for Windows Subsystem for Linux
- Home Manager - User environment and application management
- Stylix - System-wide theming
- Agenix - Encrypted secrets management
- Custom Neovim - Personal Neovim configuration
- Development Shells - Ready-to-use environments for various languages
- Desktop Environment - Sway compositor with Waybar and supporting tools
- Flake Templates - Reusable project templates with development tooling
home/
- User environment configurations (applications, desktop settings)hosts/
- Host-specific system configurationsnixos/
- System-level NixOS modulesshells/
- Development environment shells (Python, Rust, Deno, etc.)secrets/
- Encrypted secrets for API keys and credentialstemplates/
- Flake templates for new projects
Build and switch to a configuration:
sudo nixos-rebuild switch --flake .#<hostname>
Enter a development shell:
nix develop .#<shell-name>
Initialize a new project with the default template:
nix flake init -t github:hasundue/dotnix
The default template includes:
- Multi-platform Nix flake setup
- Treefmt for automatic code formatting
- Git pre-commit hooks
- Development shell with common tools