Skip to content
Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

53 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

// design by t2


wallbash_720p.mp4


   

Hydenix

Hydenix is a Nix & home-manager configuration for HyDE. The nix ecosystem brings a reproducable environment to the HyDE experience; allowing for build-time configuration options, easy updates, and more.

Features:

  • Includes HyDE-cli by default
  • NixOS VM that can be run with any supported distro
  • Themes are fetched at build-time, for faster setup
  • Includes beta cross-distro support using home-manager, more on that here.

Why Nix?:

  • Reproducible environment
  • Easy to manage packages, dependencies, and configurations
  • changes in configuration can be rolled back easily
  • home-manager for managing dotfiles

Note

If you are new to Nix, please refer to the Nix Resources.


Limitations

  • Some Hyde-cli commands are not supported yet
    • Hyde theme import I've had this fail off and on, working on a fix
    • Hyde restore/backup/control while these commands will work, hydenix makes edits to hyde files by default. currently not recommended
    • Hyde override changing the user dir conflics with home-manager, rebuilds won't run as expected
    • Hyde sddm sddm is not supported yet
    • Hyde inject not supported
  • Any other issues that don't match base HyDE config, see Troubleshooting & Issues

Requirements


Installation Options

1. Running as a VM

If your system supports it, the NixOS VM is the quickest way to get up and running. If you have issues running the VM, see the virtio faq

# run the flake remotely
nix run github:richen604/hydenix

# or clone the repo
git clone https://github.com/richen604/hydenix.git && cd hydenix
nix run .

note: any changes require the vm to be rebuilt. run rm hydenix.qcow2 to remove the old one.


Caution

Installation options below are designed for a minimal install of NixOS.

2. Clone the repo

  1. clone this repository:

    git clone https://github.com/richen604/hydenix.git && cd hydenix
  2. edit config.nix and hosts/nixos/home.nix with your preferences

customizations outside of config.nix & hydenix in home.nix will have limited support

  1. generate hardware configuration:

    sudo nixos-generate-config --show-hardware-config > ./hosts/nixos/hardware-configuration.nix
  2. run the flake:

    sudo nixos-rebuild switch --flake .#hydenix

3. (BETA) Cross-distro VMs

Currently Arch & Fedora VMs are supported Same VM requirements as VM virtio guide

nix run github:richen604/hydenix/#build-fedora-vm # or #build-arch-vm

# after the vm is built, run the flake from the vm
nix run github:richen604/hydenix/#run-fedora-vm # or #run-arch-vm

Themes

All our official themes are stored in a separate repository, allowing users to install them using themepatcher. For more information, visit prasanthrangan/hyde-themes.

Catppuccin-Latte Catppuccin-Mocha Decay-Green Edge-Runner Frosted-Glass Graphite-Mono Gruvbox-Retro Material-Sakura Nordic-Blue RosΓ©-Pine Synth-Wave Tokyo-Night

Tip

Everyone, including you can create, maintain, and share additional themes, all of which can be installed using themepatcher! To create your own custom theme, please refer to the theming wiki. If you wish to have your hyde theme showcased, or you want to find some non-official themes, visit kRHYME7/hyde-gallery!

Styles

Theme Select
Wallpaper SelectLauncher Select
Wallbash ModesNotification Action
Rofi Launcher
Wlogout Menu
Game Launcher

Keybindings

Keys Action
Super + Q
Alt + F4
Close focused window
Super + Del Kill Hyprland session
Super + W Toggle the window between focus and float
Super + G Toggle the window between focus and group
Super + slash Launch keybinds hint
Alt + Enter Toggle the window between focus and fullscreen
Super + L Launch lock screen
Super + Shift + F Toggle pin on focused window
Super + Backspace Launch logout menu
Ctrl + Esc Toggle waybar
Super + T Launch terminal emulator (kitty)
Super + E Launch file manager (dolphin)
Super + C Launch text editor (vscode)
Super + F Launch web browser (firefox)
Ctrl + Shift + Esc Launch system monitor (htop/btop or fallback to top)
Super + A Launch application launcher (rofi)
Super + Tab Launch window switcher (rofi)
Super + Shift + E Launch file explorer (rofi)
F10 Toggle audio mute
F11 Decrease volume
F12 Increase volume
Super + P Partial screenshot capture
Super + Ctrl + P Partial screenshot capture (frozen screen)
Super + Alt + P Monitor screenshot capture
PrtScn All monitors screenshot capture
Super + Alt + G Disable hypr effects for gamemode
Super + Alt + →← Cycle wallpaper
Super + Alt + ↑↓ Cycle waybar mode
Super + Shift + R Launch wallbash mode select menu (rofi)
Super + Shift + T Launch theme select menu (rofi)
Super + Shift + A Launch style select menu (rofi)
Super + Shift + W Launch wallpaper select menu (rofi)
Super + V Launch clipboard (rofi)
Super + K Switch keyboard layout
Super + ←→↑↓ Move window focus
Alt + Tab Change window focus
Super + [0-9] Switch workspaces
Super + Ctrl + ←→ Switch workspaces to a relative workspace
Super + Ctrl + ↓ Move to the first empty workspace
Super + Shift + ←→↑↓ Resize windows
Super + Shift + [0-9] Move focused window to a relative workspace
Super + Shift + Ctrl + ←→↑↓ Move focused window (tiled/floating) around the current workspace
Super + MouseScroll Scroll through existing workspaces
Super + LeftClick
Super + Z
Move focused window
Super + RightClick
Super + X
Resize focused window
Super + Alt + S Move/Switch to special workspace (scratchpad)
Super + S Toggle to special workspace
Super + J Toggle focused window split
Super + Alt + [0-9] Move focused window to a workspace silently
Super + Ctrl + H Move between grouped windows backward
Super + Ctrl + L Move between grouped windows forward

TODO

  • sddm themes
  • revamp global config.nix to support home-manager options
  • add hyde.conf params to home-manager config
  • better home-manager module + install options
  • wallbash
    • spotify - via flatpak and spicetify
    • vesktop/webcord etc
    • cava
  • minimize all home.file calls for performance
  • Cross-distro support
    • Arch & Base HyDE VM for testing
    • Fedora
    • MacOS via nix-darwin and OSX-KVM

Future:

  • remove nixGL in support for system-manager and nix-system-graphics

Troubleshooting & Issues

  • if you encounter any issues, please check the nixos and home manager logs:
    journalctl -b
    journalctl --user -b
    sudo systemctl status home-manager-<hostname>.service
  • if running nixos on host, please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

FAQ

VM Virtio guide

Hyprland vm is not well supported. check out Hyprland - Running in a VM

Best bet is to have virtio, opengl, and VT-x support

Non-NixOS hosts should run with nixGL eg nixGL nix run .

CPU

  • Intel CPU with VT-x or AMD CPU with AMD-V
  • Virtualization enabled in BIOS/UEFI

GPU

  • NVIDIA: GTX 600+ series (proprietary drivers)
  • AMD: HD 7000+ series
  • Intel: HD 4000+ (Ivy Bridge)
  • OpenGL 3.3+ support required

Install Drivers

# Nvidia
sudo apt install nvidia-driver nvidia-utils     # Debian/Ubuntu
sudo pacman -S nvidia nvidia-utils              # Arch

# AMD
sudo apt install mesa-utils vulkan-tools        # Debian/Ubuntu
sudo pacman -S mesa lib32-mesa vulkan-radeon    # Arch

# Intel
sudo apt install mesa-utils intel-media-va-driver  # Debian/Ubuntu
sudo pacman -S mesa lib32-mesa intel-media-driver  # Arch

# KVM modprobe
modprobe kvm
modprobe kvm_intel # or kvm_amd

Add user to groups sudo usermod -a -G render,video,kvm,libvirt $USER

Verify Setup

# Verify KVM support
egrep -c '(vmx|svm)' /proc/cpuinfo    # Should return > 0
lsmod | grep kvm                       # Check KVM modules

# Host: Check OpenGL
glxinfo | grep "OpenGL"

Nix Resources

Tip

Nix is a powerful package manager and configuration system that can be overwhelming at first. Here are some resources to help you get started:

General Resources

Contributing

This project enforces Conventional Commits format for all commit messages. Each commit message must follow this structure:

type(optional-scope): subject

[optional body]

[optional footer(s)]

Where:

  • type must be one of:

    • feat: A new feature
    • fix: A bug fix
    • docs: Documentation changes
    • style: Code style changes (formatting, etc)
    • refactor: Code changes that neither fix bugs nor add features
    • perf: Performance improvements
    • test: Adding or modifying tests
    • chore: Maintenance tasks
  • scope is optional but if used:

    • must be lowercase
    • should be descriptive of the area of change
    • examples: vm, themes, home, cli, docs, etc.
  • subject must:

    • be lowercase
    • not end with a period
    • be descriptive

Examples:

  • feat(vm): add support for fedora vm configuration
  • fix: correct wallpaper path in material theme
  • docs: update installation instructions
  • chore: update dependencies

Pull Requests

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes using conventional commits
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Changelog

The changelog is automatically generated from commit messages. Clear, well-formatted commit messages ensure your changes are properly documented.

For more details, see the Conventional Commits specification.

About

a nixos implementation of hyprdots, a hyprland dotfiles configuration

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages