# Hyperdeepnix ![Hyperdeepnix Logo](logo.png) Originally based on Henry Sipp's Omarchy project, check out his repo at [henrysipp/omarchy](https://github.com/henrysipp/omarchy). In turn both Hyperdeepnix and Omarchy-nix are based on and inspired by [DHH's Omarchy](https://github.com/basecamp/omarchy) project. I've deviated a bit from both projects mostly in order to fit my needs and preferences. ## Components Hyperdeepnix is composed from various pieces of software including the following. - Hyperland as the window manager. - Hyprpaper as the wallpaper manager. - Hyprlock as the lock screen. - Waybar as the status bar. - Wofi as the launcher. - Wob as the OSD. - Mako as the notification system. - Clipse is the clipboard manager. - Impala is the wifi manager. - BlueTUI is the bluetooth manager. - Wiremix is the audio manager. - Jocalsend is the file transfer manager. Additionally I am launching Hyprland via the Universal Wayland Session Manager (UWSM) ## Quick Start To get started you'll first need to set up a fresh [NixOS](https://nixos.org/) install. Just download and create a bootable USB and you should be good to go. Once ready, add this flake to your system configuration, you'll also need [home-manager](https://github.com/nix-community/home-manager) as well: ```nix { inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; hyperdeepnix = { url = "https://tangled.org/deephackontech.bsky.social/hyperdeepnix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.follows = "home-manager"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { nixpkgs, hyperdeepnix, home-manager, ... }: { nixosConfigurations.your-hostname = nixpkgs.lib.nixosSystem { modules = [ hyperdeepnix.nixosModules.default home-manager.nixosModules.home-manager #Add this import { # Configure hyperdeepnix hyperdeepnix = { full_name = "Your Name"; email_address = "your.email@example.com"; theme = "tokyo-night"; }; home-manager = { users.your-username = { imports = [ hyperdeepnix.homeManagerModules.default ]; # And this one }; }; } ]; }; }; } ``` ## Configuration Options The following configuration options are available under `hyperdeepnix` (as defined in `config.nix`). | Option | Type | Default | Description | | --- | --- | --- | --- | | `full_name` | string | required | Main user's full name | | `email_address` | string | required | Main user's email address | | `theme` | string | `tokyo-night` | Theme to use for hyperdeepnix configuration | | `theme_overrides.wallpaper_path` | path or null | `null` | Path to the wallpaper image to extract colors from | | `primary_font` | string | `Liberation Sans 11` | — | | `monitors` | list of strings | `[]` | — | | `quick_app_bindings` | list of strings | (provided) | A list of single keystroke key bindings to launch common apps | | `exclude_packages` | list of packages | `[]` | Packages to exclude from the default system packages | | `terminal` | string | required | Terminal invocation to use | | `editor` | string | required | Editor invocation to use | | `browser` | string | `firefox` | Browser invocation to use | | `kb_layout` | string | required | Keyboard layout in Hyprland | | `window_rules` | list of strings | `[]` | A list of window rules to apply to windows | | `pyprland_config` | string | `null` | Content for the pyprland configuration file | Example: ```nix { hyperdeepnix = { full_name = "Your Name"; email_address = "your.email@example.com"; terminal = "kitty"; editor = "code"; kb_layout = "us"; theme = "tokyo-night"; # theme_overrides.wallpaper_path = ./path/to/wallpaper.png; }; } ``` ### Themes Hyperdeepnix includes several predefined themes: - `tokyo-night` (default) - `kanagawa` - `everforest` - `catppuccin` - `nord` - `gruvbox` - `gruvbox-light` You can also generate themes from wallpaper images using: - `generated_light` - generates a light color scheme from wallpaper - `generated_dark` - generates a dark color scheme from wallpaper Generated themes require a wallpaper path to be specified: ```nix { hyperdeepnix = { theme = "generated_dark"; # or "generated_light" theme_overrides = { wallpaper_path = ./path/to/your/wallpaper.png; }; }; } ``` #### Wallpaper Overrides Any theme can be customized with a custom wallpaper by specifying `wallpaper_path` in theme_overrides. For predefined themes, this will only change the wallpaper but keep the original color scheme: ```nix { hyperdeepnix = { theme = "tokyo-night"; # or any other predefined theme theme_overrides = { wallpaper_path = ./path/to/your/wallpaper.png; }; }; } ``` Generated themes automatically extract colors from the wallpaper and create a matching color scheme for all Hyperdeepnix applications (terminal, editor, launcher, etc.). ## Contributing Contributions are welcome! Please fork and make a PR at https://tangled.org/deephackontech.bsky.social/hyperdeepnix ## License This project is released under the MIT License.