Deephack's Hyperland config based on omarchy-nix from Henry Sipp and in turn of course inspired by Omarchy.
1# Hyperdeepnix
2
3
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.