github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/INSTALL.md (about)

     1  <h1>Install Murex</h1>
     2  
     3  <h2>Table of Contents</h2>
     4  
     5  <div id="toc">
     6  
     7  - [Installing From A Package Manager](#installing-from-a-package-manager)
     8    - [ArchLinux](#archlinux)
     9    - [FreeBSD Ports](#freebsd-ports)
    10    - [Homebrew](#homebrew)
    11    - [MacPorts](#macports)
    12  - [Pre-Compiled Binaries (HTTPS download)](#pre-compiled-binaries-https-download)
    13  - [Compiling From Source](#compiling-from-source)
    14    - [Prerequisites](#prerequisites)
    15    - [Compiling](#compiling)
    16  - [External Dependencies (Optional)](#external-dependencies-optional)
    17  - [Recommended Terminal Typeface](#recommended-terminal-typeface)
    18  
    19  </div>
    20  
    21  ## Supported Platforms
    22  
    23  Linux, BSD and macOS are fully supported, with other platforms considered
    24  experimental and/or having known limitations.
    25  
    26  Windows is a supported platform however Murex doesn't aim to replace coreutils.
    27  So, depending on your required use case, you may need additional 3rd party
    28  software to provide those utilities.
    29  
    30  There is a more detailed breakdown of known compatibility issues in the
    31  [docs/supported platforms](docs/supported-platforms.md) document.
    32  
    33  ## Installing From A Package Manager
    34  
    35  > This is the recommended way to install Murex because you can then stay
    36  > updated with future releases.
    37  
    38  [![Packaging status](https://repology.org/badge/vertical-allrepos/murex.svg)](https://repology.org/project/murex/versions)
    39  
    40  ### ArchLinux
    41  
    42  From AUR: [https://aur.archlinux.org/packages/murex](https://aur.archlinux.org/packages/murex)
    43  
    44  ```bash
    45  wget -O PKGBUILD 'https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=murex'
    46  makepkg --syncdeps --install 
    47  ```
    48  
    49  ### FreeBSD Ports
    50  
    51  ```bash
    52  pkg install murex
    53  ```
    54  
    55  ### Homebrew
    56  
    57  ```bash
    58  brew install murex
    59  ```
    60  
    61  ### MacPorts
    62  
    63  ```bash
    64  port install murex
    65  ```
    66  
    67  ## Pre-Compiled Binaries (HTTPS download)
    68  
    69  [![Version](version.svg)](DOWNLOAD.md)
    70  [![Build Murex Downloads](https://github.com/lmorg/murex/actions/workflows/murex-downloads.yaml/badge.svg)](https://github.com/lmorg/murex/actions/workflows/murex-downloads.yaml)
    71  
    72  If you wish to download a pre-compiled binary then head to the [DOWNLOAD](DOWNLOAD.md)
    73  page to select your platform.
    74  
    75  
    76  
    77  ## Compiling From Source
    78  
    79  [![Test Clean Install](https://github.com/lmorg/murex/actions/workflows/clean-build.yaml/badge.svg)](https://github.com/lmorg/murex/actions/workflows/clean-build.yaml)
    80  
    81  Murex is designed to be as easy to compile as possible. However if you do not
    82  have any prior experience with compiling software from source then the
    83  recommended approach for installing Murex is either via a package manager (if
    84  your platform is already supported) or downloading one of our pre-compiled
    85  binaries.
    86  
    87  ### Prerequisites
    88  
    89  You will need `go` (Golang) compiler, and `git` installed.
    90  
    91  > Go 1.20 or higher is required.
    92  
    93  These should be easy to install on most operating systems however Windows is a
    94  lot more tricky with regards to `gcc`. Please check with your operating systems
    95  package manager first but see further reading below if you get stuck.
    96  
    97  **Further Reading:**
    98  
    99  * [How to install Go](https://golang.org/doc/install)
   100  * [How to install git](https://github.com/git-guides/install-git)
   101  
   102  ### Compiling
   103  
   104  Installation from source is as simple as the following one liner:
   105  
   106  ```bash
   107  GOBIN="$(pwd)" go install -v github.com/lmorg/murex@latest
   108  ```
   109  
   110  However you can change the `GOBIN` value to point to any writable location you
   111  wish.
   112  
   113  ## External Dependencies (Optional)
   114  
   115  Some of Murex's extended features will have additional external dependencies.
   116  
   117  * `aspell`: This is used for spellchecking. Murex will automatically enable or
   118    disable spellchecking based on whether `aspell` can be found in your `$PATH`.
   119    [http://aspell.net](http://aspell.net)
   120  
   121  * `git`: This is used by Murex's package manager, `murex-package`.
   122    [How to install git](https://github.com/git-guides/install-git)
   123  
   124  ## Recommended Terminal Typeface
   125  
   126  This is obviously just a subjective matter and everyone will have their own
   127  personal preference. However if I was asked what my preference was then that
   128  would be [Hasklig](https://github.com/i-tu/Hasklig). It's a clean typeface
   129  based off Source Code Pro but with a few added ligatures - albeit subtle ones
   130  designed to make Haskell more readable. Those ligatures also suite Murex
   131  pretty well. So the overall experience is a clean and readable terminal.
   132  
   133  ## See Also
   134  
   135  * [Compatibility Commitment](/compatibility.md):
   136    Hack confidence in our backwards compatibility 
   137  * [Download](/DOWNLOAD.md):
   138    Murex download links
   139  * [Supported Platforms](docs//supported-platforms.md):
   140    Operating systems and CPU architectures supported by Murex
   141  
   142  <hr/>
   143  
   144  This document was generated from [gen/root/INSTALL_doc.yaml](https://github.com/lmorg/murex/blob/master/gen/root/INSTALL_doc.yaml).