From 8ca5d072550a368ca2417ff0cb8db2a42ea461e7 Mon Sep 17 00:00:00 2001 From: omentic Date: Wed, 1 May 2024 23:29:54 +0000 Subject: deploy: 12eec890240a05d1e090114f7f4fdd7c1ee8ff88 --- 24.03.1/install.html | 493 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 493 insertions(+) create mode 100644 24.03.1/install.html (limited to '24.03.1/install.html') diff --git a/24.03.1/install.html b/24.03.1/install.html new file mode 100644 index 00000000..2c6f3b2e --- /dev/null +++ b/24.03.1/install.html @@ -0,0 +1,493 @@ + + + + + + Installation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Installing Helix

+ + + +

To install Helix, follow the instructions specific to your operating system. +Note that:

+
    +
  • +

    To get the latest nightly version of Helix, you need to +build from source.

    +
  • +
  • +

    To take full advantage of Helix, install the language servers for your +preferred programming languages. See the +wiki +for instructions.

    +
  • +
+

Pre-built binaries

+

Download pre-built binaries from the +GitHub Releases page. Add the binary to your system's $PATH to use it from the command +line.

+

Linux, macOS, Windows and OpenBSD packaging status

+

Packaging status

+

Linux

+

The following third party repositories are available:

+

Ubuntu

+

Add the PPA for Helix:

+
sudo add-apt-repository ppa:maveonair/helix-editor
+sudo apt update
+sudo apt install helix
+
+

Fedora/RHEL

+
sudo dnf install helix
+
+

Arch Linux extra

+

Releases are available in the extra repository:

+
sudo pacman -S helix
+
+
+

💡 When installed from the extra repository, run Helix with helix instead of hx.

+

For example:

+
helix --health
+
+

to check health

+
+

Additionally, a helix-git package is available +in the AUR, which builds the master branch.

+

NixOS

+

Helix is available in nixpkgs through the helix attribute, +the unstable channel usually carries the latest release.

+

Helix is also available as a flake in the project +root. Use nix develop to spin up a reproducible development shell. Outputs are +cached for each push to master using Cachix. The +flake is configured to automatically make use of this cache assuming the user +accepts the new settings on first use.

+

If you are using a version of Nix without flakes enabled, +install Cachix CLI and use +cachix use helix to configure Nix to use cached outputs when possible.

+

Flatpak

+

Helix is available on Flathub:

+
flatpak install flathub com.helix_editor.Helix
+flatpak run com.helix_editor.Helix
+
+

Snap

+

Helix is available on Snapcraft and can be installed with:

+
snap install --classic helix
+
+

This will install Helix as both /snap/bin/helix and /snap/bin/hx, so make sure /snap/bin is in your PATH.

+

AppImage

+

Install Helix using the Linux AppImage format. +Download the official Helix AppImage from the latest releases page.

+
chmod +x helix-*.AppImage # change permission for executable mode
+./helix-*.AppImage # run helix
+
+

macOS

+

Homebrew Core

+
brew install helix
+
+

MacPorts

+
port install helix
+
+

Windows

+

Install on Windows using Winget, Scoop, Chocolatey +or MSYS2.

+

Winget

+

Windows Package Manager winget command-line tool is by default available on Windows 11 and modern versions of Windows 10 as a part of the App Installer. +You can get App Installer from the Microsoft Store. If it's already installed, make sure it is updated with the latest version.

+
winget install Helix.Helix
+
+

Scoop

+
scoop install helix
+
+

Chocolatey

+
choco install helix
+
+

MSYS2

+

For 64-bit Windows 8.1 or above:

+
pacman -S mingw-w64-ucrt-x86_64-helix
+
+

Building from source

+

Requirements:

+

Clone the Helix GitHub repository into a directory of your choice. The +examples in this documentation assume installation into either ~/src/ on +Linux and macOS, or %userprofile%\src\ on Windows.

+ +

If you are using the musl-libc standard library instead of glibc the following environment variable must be set during the build to ensure tree-sitter grammars can be loaded correctly:

+
RUSTFLAGS="-C target-feature=-crt-static"
+
+
    +
  1. +

    Clone the repository:

    +
    git clone https://github.com/helix-editor/helix
    +cd helix
    +
    +
  2. +
  3. +

    Compile from source:

    +
    cargo install --path helix-term --locked
    +
    +

    This command will create the hx executable and construct the tree-sitter +grammars in the local runtime folder.

    +
  4. +
+
+

💡 If you do not want to fetch or build grammars, set an environment variable HELIX_DISABLE_AUTO_GRAMMAR_BUILD

+
+
+

💡 Tree-sitter grammars can be fetched and compiled if not pre-packaged. Fetch +grammars with hx --grammar fetch and compile them with +hx --grammar build. This will install them in +the runtime directory within the user's helix config directory (more +details below).

+
+

Configuring Helix's runtime files

+

Linux and macOS

+

The runtime directory is one below the Helix source, so either export a +HELIX_RUNTIME environment variable to point to that directory and add it to +your ~/.bashrc or equivalent:

+
export HELIX_RUNTIME=~/src/helix/runtime
+
+

Or, create a symbolic link:

+
ln -Ts $PWD/runtime ~/.config/helix/runtime
+
+

If the above command fails to create a symbolic link because the file exists either move ~/.config/helix/runtime to a new location or delete it, then run the symlink command above again.

+

Windows

+

Either set the HELIX_RUNTIME environment variable to point to the runtime files using the Windows setting (search for +Edit environment variables for your account) or use the setx command in +Cmd:

+
setx HELIX_RUNTIME "%userprofile%\source\repos\helix\runtime"
+
+
+

💡 %userprofile% resolves to your user directory like +C:\Users\Your-Name\ for example.

+
+

Or, create a symlink in %appdata%\helix\ that links to the source code directory:

+
+ + +
MethodCommand
PowerShellNew-Item -ItemType Junction -Target "runtime" -Path "$Env:AppData\helix\runtime"
Cmdcd %appdata%\helix
mklink /D runtime "%userprofile%\src\helix\runtime"
+
+
+

💡 On Windows, creating a symbolic link may require running PowerShell or +Cmd as an administrator.

+
+

Multiple runtime directories

+

When Helix finds multiple runtime directories it will search through them for files in the +following order:

+
    +
  1. runtime/ sibling directory to $CARGO_MANIFEST_DIR directory (this is intended for +developing and testing helix only).
  2. +
  3. runtime/ subdirectory of OS-dependent helix user config directory.
  4. +
  5. $HELIX_RUNTIME
  6. +
  7. Distribution-specific fallback directory (set at compile time—not run time— +with the HELIX_DEFAULT_RUNTIME environment variable)
  8. +
  9. runtime/ subdirectory of path to Helix executable.
  10. +
+

This order also sets the priority for selecting which file will be used if multiple runtime +directories have files with the same name.

+

Note to packagers

+

If you are making a package of Helix for end users, to provide a good out of +the box experience, you should set the HELIX_DEFAULT_RUNTIME environment +variable at build time (before invoking cargo build) to a directory which +will store the final runtime files after installation. For example, say you want +to package the runtime into /usr/lib/helix/runtime. The rough steps a build +script could follow are:

+
    +
  1. export HELIX_DEFAULT_RUNTIME=/usr/lib/helix/runtime
  2. +
  3. cargo build --profile opt --locked --path helix-term
  4. +
  5. cp -r runtime $BUILD_DIR/usr/lib/helix/
  6. +
  7. cp target/opt/hx $BUILD_DIR/usr/bin/hx
  8. +
+

This way the resulting hx binary will always look for its runtime directory in +/usr/lib/helix/runtime if the user has no custom runtime in ~/.config/helix +or HELIX_RUNTIME.

+

Validating the installation

+

To make sure everything is set up as expected you should run the Helix health +check:

+
hx --health
+
+

For more information on the health check results refer to +Health check.

+

Configure the desktop shortcut

+

If your desktop environment supports the +XDG desktop menu +you can configure Helix to show up in the application menu by copying the +provided .desktop and icon files to their correct folders:

+
cp contrib/Helix.desktop ~/.local/share/applications
+cp contrib/helix.png ~/.icons # or ~/.local/share/icons
+
+

To use another terminal than the system default, you can modify the .desktop +file. For example, to use kitty:

+
sed -i "s|Exec=hx %F|Exec=kitty hx %F|g" ~/.local/share/applications/Helix.desktop
+sed -i "s|Terminal=true|Terminal=false|g" ~/.local/share/applications/Helix.desktop
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + -- cgit v1.2.3-70-g09d2