2026-01-03 11:07:55 -06:00
2026-01-02 07:47:53 -06:00
2026-01-03 23:16:38 -06:00
2026-01-01 17:31:50 -06:00
2025-07-07 14:27:33 -05:00
2025-12-24 16:05:31 -06:00
2026-01-03 10:37:33 -06:00
2026-01-03 11:20:53 -06:00
2026-01-03 15:03:18 -06:00

HakaseOS

A modular, flake-based NixOS configuration for a single host (hakase). Heavily inspired by OmarchyOS.

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

🚧 TODO

  • LUKS designed

Screenshots

Display overview

Terminal windows Lockscreen Desktop Music Desktop with Hakase

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

sudo nixos-rebuild switch --flake ~/.config/nixos/#hakase

Or use the configured alias:

update

Manage Secrets

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

S
Description
A modular, flake-based NixOS configuration for hosts. Heavily inspired by OmarchyOS.
Readme 45 MiB
Languages
Nix 97.3%
Shell 2.7%