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

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