Skip to content

richen604/hydenix

Repository files navigation

// design by t2

NixOS Unstable Release Last Commit

Nix Flake Check



wallbash_720p.mp4


NixOS

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:

  • hydenix and hydenix.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.


Requirements

  • 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)


Documentation

Installation Options


Caution

Templated flake is designed for a minimal install of NixOS.

1. Template the Hydenix Flake

  1. in a new directory, nix flake init -t github:richen604/hydenix
  2. 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
  3. run sudo nixos-generate-config --show-hardware-config > hardware-configuration.nix
  4. git init && git add . (flakes have to be managed via git)
  5. run any of the packages in your new flake.nix
    • for rebuild, use sudo nixos-rebuild switch --flake .
  6. DON'T FORGET: change your password for all users with passwd from initialPassword set in configuration.nix

NOTE: After launching hydenix, you can run hyde-shell reload to generate cache for remaining themes if you want.

2. Trying Out Hydenix with a VM

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.

Upgrading

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

When to Upgrade

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
Loading
  • Always review release notes for major updates (API changes)
  • Update to minor versions for new features
  • Keep up with patches for stability