wallbash_720p.mp4
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:
hydenix
andhydenix.hm
(home-manager) options for easy configuration- Themes are fetched at build-time, for faster setup
Why Nix?:
- Reproducible environment
- Easy to manage packages, dependencies, and configurations
- changes in configuration can be rolled back easily
- home-manager for managing dotfiles
Important
Experience in functional programming is recommended. If you are new to Nix, please refer to the Nix Resources. Feel free to ask questions in discussions or discord.
-
minimal install of NixOS, follow instructions on NixOS ISO
-
experimental features enabled:
# Add to /etc/nixos/configuration.nix nix.settings.experimental-features = [ "nix-command" "flakes" ]; # then rebuild your system sudo nixos-rebuild switch
-
git (
nix-shell -p git
)
Caution
Templated flake is designed for a minimal install of NixOS.
- in a new directory,
nix flake init -t github:richen604/hydenix
- edit
configuration.nix
with your preferences for hydenix- options needing to be changed are marked with
! EDIT
- (optional) in your template flake folder, review both
./configuration.nix
and./modules/hm/default.nix
for more options
- options needing to be changed are marked with
- run
sudo nixos-generate-config --show-hardware-config > hardware-configuration.nix
git init && git add .
(flakes have to be managed via git)- run any of the packages in your new
flake.nix
- for rebuild, use
sudo nixos-rebuild switch --flake .
- for rebuild, use
- DON'T FORGET: change your password for all users with
passwd
from initialPassword set inconfiguration.nix
NOTE: After launching hydenix, you can run hyde-shell reload
to generate cache for remaining themes if you want.
If your system supports it, the NixOS VM is a great way to try out hydenix without installing it. If you encounter issues running the VM, refer to the virtio guide
# run the flake remotely
nix run github:richen604/hydenix
note: any changes require the vm to be rebuilt. run
rm hydenix.qcow2
to remove the old one.
Hydenix can be upgraded, downgraded, or version locked easy. in your template flake folder, update hydenix to main using
nix flake update hydenix
or define a specific version in your flake.nix
template
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
hydenix = {
# Available inputs:
# Main: github:richen604/hydenix
# Dev: github:richen604/hydenix/dev
# Commit: github:richen604/hydenix/<commit-hash>
# Version: github:richen604/hydenix/v1.0.0
url = "github:richen604/hydenix";
};
};
run nix flake update hydenix
again to load the update, then rebuild your system to apply the changes
graph TD
A[v2.3.1] --> B[MAJOR]
A --> C[MINOR]
A --> D[PATCH]
B --> E[Breaking Changes<br>Review Release Notes for API Changes]
C --> F[New Features<br>Safe to Update]
D --> G[Bug Fixes<br>Safe to Update]
style A fill:#c79bf0,stroke:#ebbcba,stroke-width:2px,color:#000
style B fill:#ebbcba,stroke:#c79bf0,stroke-width:2px,color:#000
style C fill:#ebbcba,stroke:#c79bf0,stroke-width:2px,color:#000
style D fill:#ebbcba,stroke:#c79bf0,stroke-width:2px,color:#000
style E fill:#f6f6f6,stroke:#c79bf0,stroke-width:2px,color:#000
style F fill:#f6f6f6,stroke:#c79bf0,stroke-width:2px,color:#000
style G fill:#f6f6f6,stroke:#c79bf0,stroke-width:2px,color:#000
- Always review release notes for major updates (API changes)
- Update to minor versions for new features
- Keep up with patches for stability