1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
# Installation
- [#535 - Fix up README](https://github.com/taffybar/taffybar/issues/535)
## Distribution Packaging
Several Linux distributions package Taffybar:
- [NixOS (nixpkgs)](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/window-managers/taffybar/default.nix)
- [Arch Linux [extra]](https://archlinux.org/packages/extra/x86_64/taffybar/)
- [Debian (main)](https://packages.debian.org/unstable/taffybar)
- [Ubuntu (universe)](https://packages.ubuntu.com/taffybar)
Of these, only the NixOS distribution is officially supported by the
maintainers. Using any of the others would be pretty similar to using
a bare Cabal installation of Taffybar.
### NixOS Package
If you wish to use the NixOS package, make sure that you are using
the top-level [`pkgs.taffybar`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/window-managers/taffybar/default.nix)
and not simply `pkgs.haskellPackages.taffybar`.
The top-level package (`pkgs.taffybar`) provides an environment for
Dyre containing `ghc` and libraries for compiling the configuration.
If you need to add additional Haskell dependencies, then override the
`packages` parameter. For example:
```nix
pkgs.taffybar.override {
packages = hp: [ hp.xmonad-contrib hp.dbus ];
}
```
It is also possible to use Taffybar on NixOS without using this
module, for example by using `pkgs.haskellPackages.taffybar` as a
library in another package (see [Configuration (and compilation)](./config.md)).
### Debian/Ubuntu
On Debian/Ubuntu the `taffybar` package contains the executable
only. Install the `libghc-taffybar-dev` package to get the
`System.Taffybar` Haskell library.
The development package `libghc-taffybar-dev` should also pull in the
GHC compiler and other system dependencies such as the `libgtk-3-dev`
package. Therefore it is useful to have, even if you intend to install
Taffybar from source and not use distribution binaries.
# Installation from source
## Prerequisites
If not using a distribution package of Taffybar which handles getting
all the necessary development libraries for you, then you will need to
install all of Taffybar's non-Haskell dependencies manually.
### System Dependencies
Start by making sure you have installed everything that is needed for [haskell-gi](https://github.com/haskell-gi/haskell-gi). Taffybar also needs the
equivalent of [`libdbusmenu-gtk3-dev`](https://packages.debian.org/sid/libdbusmenu-gtk3-dev) and [`libgirepository1.0-dev`](https://packages.debian.org/sid/libgirepository-1.0-dev) on Debian.
You can also get some idea of what the necessary dependencies are by looking at
the `nix` section of the [`stack.yaml`](https://github.com/taffybar/taffybar/blob/master/stack.yaml) file in the Taffybar repository.
### Haskell Compiler
For the greatest chance of success, use one of the GHC versions listed in [`taffybar.cabal` (tested-with)](https://github.com/taffybar/taffybar/blob/master/taffybar.cabal). Currently, GHC 9.6 is a good choice.
## Cabal
Once the prerequisites are in place, Cabal installation is a simple matter of installing [Taffybar from Hackage](https://hackage.haskell.org/package/taffybar):
```
cabal install taffybar
```
|