Deephack's Hyperland config based on omarchy-nix from Henry Sipp and in turn of course inspired by Omarchy.
at main 167 lines 5.3 kB view raw view rendered
1# Hyperdeepnix 2 3![Hyperdeepnix Logo](logo.png) 4 5Originally 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. 6 7I've deviated a bit from both projects mostly in order to fit my needs and preferences. 8 9## Components 10 11Hyperdeepnix is composed from various pieces of software including the following. 12 13- Hyperland as the window manager. 14- Hyprpaper as the wallpaper manager. 15- Hyprlock as the lock screen. 16- Waybar as the status bar. 17- Wofi as the launcher. 18- Wob as the OSD. 19- Mako as the notification system. 20- Clipse is the clipboard manager. 21- Impala is the wifi manager. 22- BlueTUI is the bluetooth manager. 23- Wiremix is the audio manager. 24- Jocalsend is the file transfer manager. 25 26Additionally I am launching Hyprland via the Universal Wayland Session Manager (UWSM) 27 28 29## Quick Start 30 31To 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. 32 33 34Once ready, add this flake to your system configuration, you'll also need [home-manager](https://github.com/nix-community/home-manager) as well: 35 36```nix 37{ 38 inputs = { 39 nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; 40 hyperdeepnix = { 41 url = "https://tangled.org/deephackontech.bsky.social/hyperdeepnix"; 42 inputs.nixpkgs.follows = "nixpkgs"; 43 inputs.home-manager.follows = "home-manager"; 44 }; 45 home-manager = { 46 url = "github:nix-community/home-manager"; 47 inputs.nixpkgs.follows = "nixpkgs"; 48 }; 49 }; 50 51 outputs = { nixpkgs, hyperdeepnix, home-manager, ... }: { 52 nixosConfigurations.your-hostname = nixpkgs.lib.nixosSystem { 53 modules = [ 54 hyperdeepnix.nixosModules.default 55 home-manager.nixosModules.home-manager #Add this import 56 { 57 # Configure hyperdeepnix 58 hyperdeepnix = { 59 full_name = "Your Name"; 60 email_address = "your.email@example.com"; 61 theme = "tokyo-night"; 62 }; 63 64 home-manager = { 65 users.your-username = { 66 imports = [ hyperdeepnix.homeManagerModules.default ]; # And this one 67 }; 68 }; 69 } 70 ]; 71 }; 72 }; 73} 74``` 75 76## Configuration Options 77 78The following configuration options are available under `hyperdeepnix` (as defined in `config.nix`). 79 80| Option | Type | Default | Description | 81| --- | --- | --- | --- | 82| `full_name` | string | required | Main user's full name | 83| `email_address` | string | required | Main user's email address | 84| `theme` | string | `tokyo-night` | Theme to use for hyperdeepnix configuration | 85| `theme_overrides.wallpaper_path` | path or null | `null` | Path to the wallpaper image to extract colors from | 86| `primary_font` | string | `Liberation Sans 11` | — | 87| `monitors` | list of strings | `[]` | — | 88| `quick_app_bindings` | list of strings | (provided) | A list of single keystroke key bindings to launch common apps | 89| `exclude_packages` | list of packages | `[]` | Packages to exclude from the default system packages | 90| `terminal` | string | required | Terminal invocation to use | 91| `editor` | string | required | Editor invocation to use | 92| `browser` | string | `firefox` | Browser invocation to use | 93| `kb_layout` | string | required | Keyboard layout in Hyprland | 94| `window_rules` | list of strings | `[]` | A list of window rules to apply to windows | 95| `pyprland_config` | string | `null` | Content for the pyprland configuration file | 96 97Example: 98 99```nix 100{ 101 hyperdeepnix = { 102 full_name = "Your Name"; 103 email_address = "your.email@example.com"; 104 terminal = "kitty"; 105 editor = "code"; 106 kb_layout = "us"; 107 108 theme = "tokyo-night"; 109 # theme_overrides.wallpaper_path = ./path/to/wallpaper.png; 110 }; 111} 112``` 113 114 115 116### Themes 117 118Hyperdeepnix includes several predefined themes: 119- `tokyo-night` (default) 120- `kanagawa` 121- `everforest` 122- `catppuccin` 123- `nord` 124- `gruvbox` 125- `gruvbox-light` 126 127You can also generate themes from wallpaper images using: 128- `generated_light` - generates a light color scheme from wallpaper 129- `generated_dark` - generates a dark color scheme from wallpaper 130 131Generated themes require a wallpaper path to be specified: 132 133```nix 134{ 135 hyperdeepnix = { 136 theme = "generated_dark"; # or "generated_light" 137 theme_overrides = { 138 wallpaper_path = ./path/to/your/wallpaper.png; 139 }; 140 }; 141} 142``` 143 144#### Wallpaper Overrides 145 146Any 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: 147 148```nix 149{ 150 hyperdeepnix = { 151 theme = "tokyo-night"; # or any other predefined theme 152 theme_overrides = { 153 wallpaper_path = ./path/to/your/wallpaper.png; 154 }; 155 }; 156} 157``` 158 159Generated themes automatically extract colors from the wallpaper and create a matching color scheme for all Hyperdeepnix applications (terminal, editor, launcher, etc.). 160 161## Contributing 162 163Contributions are welcome! Please fork and make a PR at https://tangled.org/deephackontech.bsky.social/hyperdeepnix 164 165## License 166 167This project is released under the MIT License.