Introduction
Install
Install using Go (recommended)
go install github.com/conneroisu/gohard
Install from source
git clone https://github.com/conneroisu/gohard.git
cd gohard
go build
Install from binary
Download the latest binary from the releases page.
Nix/NixOS
Flake:
{
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
flake-utils.inputs.systems.follows = "systems";
inputs.gohard.url = "github:conneroisu/gohard";
inputs.gohard.inputs.nixpkgs.follows = "nixpkgs";
outputs = { self, gohard, nixpkgs, flake-utils, ... }:
{
flake-utils.lib.eachSystem [
"x86_64-linux"
"i686-linux"
"x86_64-darwin"
"aarch64-linux"
"aarch64-darwin"
] (system: let
pkgs = import nixpkgs { inherit system; };
in
{
# OR for a shell
devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [
inputs.gohard.packages."${system}".gohard
];
};
});
}
Install from Homebrew
brew tap conneroisu/gohard
brew install gohard
Install from Snap
snap install gohard
Install from Docker
docker pull conneroisu/gohard
Basic usage
Overriding
VHS Video Demos
Interactive terminal recordings showcasing gohard's capabilities, built with VHS.nix.
Available Demos
Main Demos
Demo | Purpose | Size | Build Command |
---|---|---|---|
Quick | Social media, overview | 1000×600 | nix build .#vhs-gohard-quick |
Comprehensive | Documentation | 1200×800 | nix build .#vhs-gohard-comprehensive |
Tutorial | Step-by-step learning | 1400×900 | nix build .#vhs-gohard-tutorial |
Presentation | Conference talks | 1920×1080 | nix build .#vhs-gohard-presentation |
Command-Specific Demos
Help Commands
nix build .#vhs-help-demo
- General help overviewnix build .#vhs-help-fmt
- Format command helpnix build .#vhs-help-lint
- Lint command helpnix build .#vhs-help-lsp
- LSP command help
Format Commands
nix build .#vhs-fmt-file
- Single file formattingnix build .#vhs-fmt-dir
- Directory formattingnix build .#vhs-fmt-recur
- Recursive formattingnix build .#vhs-fmt-stdin
- Stdin formatting
Lint Commands
nix build .#vhs-lint-file
- Single file lintingnix build .#vhs-lint-dir
- Directory lintingnix build .#vhs-lint-recur
- Recursive linting
Quick Start
# Build the quick demo
nix build .#vhs-gohard-quick
# View the generated GIF
ls -la result/
# Shows: gohard-quick-demo.gif
Demo Content
Each demo showcases:
- Project initialization with
gohard init
- VHDL formatting with
gohard fmt
- Code linting with
gohard lint
- LSP server setup for editors
Sample Demo GIFs
Help Commands
Format Commands
Lint Commands
Build Notes
- Time: Demos take 2-5 minutes to build (executing real commands)
- Platform: Best on Linux with graphics support
- Caching: Results cached in Nix store
Usage
Generated GIFs can be:
- Embedded in documentation
- Shared on social media
- Used in presentations
- Added to README files
For detailed technical information, see VHS_DEMOS.md.