100 lines
2.9 KiB
Markdown
100 lines
2.9 KiB
Markdown
# HakaseOS
|
|
|
|
A modular, flake-based NixOS configuration for a single host (`hakase`). Heavily inspired by [OmarchyOS](https://omarchy.org/).
|
|
|
|
## Features
|
|
|
|
- **Hyprland** compositor with UWSM (systemd session management)
|
|
- **Matugen** for automatic system-wide theming from wallpaper colors
|
|
- **Multi-monitor support** for intuitive desktop management
|
|
- **Hardened Firefox** with custom bookmarks and new tab page
|
|
- **Vim keybindings** throughout the system
|
|
- **SOPS** for encrypted secrets management
|
|
- **CachyOS kernel** via chaotic-nyx for performance optimizations
|
|
|
|
## Screenshots
|
|
|
|

|
|
|
|

|
|

|
|

|
|

|
|
|
|
|
|
|
|
## Structure
|
|
|
|
```
|
|
.
|
|
├── flake.nix # Flake inputs and NixOS configuration
|
|
├── config.nix # Central configuration values
|
|
├── hosts/
|
|
│ └── hakase/ # Host-specific configuration
|
|
├── modules/
|
|
│ ├── nixos/ # System-level modules (boot, kernel, services)
|
|
│ └── home/ # Home Manager modules
|
|
├── apps/ # Per-application configurations
|
|
│ ├── hyprland/ # Hyprland window manager
|
|
│ ├── waybar/ # Status bar
|
|
│ ├── firefox/ # Browser configuration
|
|
│ ├── ghostty/ # Terminal emulator
|
|
│ ├── neovim/ # Editor (via nixovim flake)
|
|
│ ├── vicinae/ # Application launcher
|
|
│ └── ... # And many more
|
|
├── secrets/ # SOPS encrypted secrets
|
|
└── assets/ # Wallpapers and other assets
|
|
```
|
|
|
|
## Usage
|
|
|
|
### Rebuild System
|
|
|
|
```bash
|
|
sudo nixos-rebuild switch --flake ~/.config/nixos/#hakase
|
|
```
|
|
|
|
Or use the configured alias:
|
|
|
|
```bash
|
|
update
|
|
```
|
|
|
|
### Manage Secrets
|
|
|
|
```bash
|
|
# Edit secrets
|
|
nix-shell -p sops --run "sops secrets/secrets.yaml"
|
|
|
|
# Update keys
|
|
nix-shell -p sops --run "sops updatekeys secrets/secrets.yaml"
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Central configuration values are defined in `config.nix`:
|
|
|
|
- `myConfig.nixos` - System settings (username, hostname, timezone)
|
|
- `myConfig.git` - Git configuration
|
|
- `myConfig.terminal` - Default terminal and aliases
|
|
- `myConfig.hyprland` - Monitor configuration and wallpaper
|
|
- `myConfig.firefox` - Bookmarks and new tab settings
|
|
|
|
## Flake Inputs
|
|
|
|
| Input | Description |
|
|
|-------|-------------|
|
|
| nixpkgs | NixOS unstable |
|
|
| home-manager | User environment management |
|
|
| hyprland | Wayland compositor |
|
|
| chaotic | CachyOS kernel and packages |
|
|
| sops-nix | Secrets management |
|
|
| nixovim | Neovim configuration |
|
|
| matugen | System-wide theming |
|
|
| vicinae | Application launcher |
|
|
| textfox | Firefox CSS theme |
|
|
|
|
## License
|
|
|
|
Personal configuration - use at your own discretion.
|