taffybar alternatives and similar packages
Based on the "System" category.
Alternatively, view taffybar alternatives based on common mentions on social networks and blogs.
turtle9.9 4.4 taffybar VS turtleShell programming, Haskell style
bench9.9 0.0 taffybar VS benchCommand-line benchmark tool
xmobar9.9 8.7 taffybar VS xmobarA minimalistic status bar
optparse-applicative9.9 3.7 taffybar VS optparse-applicativeApplicative option parser
angel9.7 0.0 taffybar VS angelProcess Monitoring/Management, Like Daemontools
unix9.6 2.1 taffybar VS unixPOSIX functionality
date-cache9.6 0.0 taffybar VS date-cacheA fast logging system for Haskell
process9.6 3.4 taffybar VS processLibrary for dealing with system processes
nix-diff9.6 0.0 taffybar VS nix-diffExplain why two Nix derivations differ
nix-deploy9.5 0.0 taffybar VS nix-deployDeploy software or an entire NixOS system configuration to another NixOS system
hapistrano9.5 6.6 taffybar VS hapistranoDeploy tool for Haskell applications, like Capistrano for Rails
ghc-hotswap9.5 0.0 taffybar VS ghc-hotswapExample code for how we swap compiled code within a running Haskell process.
optparse-generic9.5 0.0 taffybar VS optparse-genericAuto-generate a command-line parser for your datatype
envy9.4 0.0 taffybar VS envy:angry: Environmentally friendly environment variables
directory9.3 2.1 taffybar VS directoryPlatform-independent library for basic file system operations
filepath9.2 6.6 taffybar VS filepathHaskell FilePath core library
pid19.2 0.0 taffybar VS pid1Do signal handling and orphan reaping for Unix PID1 init processes
typed-process9.2 4.5 taffybar VS typed-processAlternative API for processes, featuring more type safety
log9.0 2.6 taffybar VS logStructured logging solution.
clock9.0 0.0 taffybar VS clockHigh-resolution clock functions: monotonic, realtime, cputime.
openssh-github-keys9.0 0.0 taffybar VS openssh-github-keysControl SSH access to your servers via GitHub teams
clifm9.0 0.0 taffybar VS clifmCommand Line Interface File Manager
hail8.9 0.0 taffybar VS hailA service for pull-based continuous deployment based on hydra.
ekg-core8.9 0.0 taffybar VS ekg-coreLibrary for tracking system metrics
hnix-store-core8.9 3.4 taffybar VS hnix-store-coreHaskell implementation of the nix store API
monky8.8 0.0 taffybar VS monkyThe main repository for monky
atomic-write8.7 0.0 taffybar VS atomic-writeWrites files atomically in Haskell while preserving permissions
logsink8.7 0.0 taffybar VS logsinkA logging framework for Haskell
ekg-cloudwatch8.7 0.0 taffybar VS ekg-cloudwatchCloudWatch stats for ekg
hobbes8.7 0.0 taffybar VS hobbesA cross-platform file activity monitor
cef8.7 0.0 taffybar VS cefA Haskell library for CEF (Commont Event Format)
system-fileio8.6 0.0 taffybar VS system-fileioContains the system-filepath and system-fileio packages
unix-compat8.6 0.0 taffybar VS unix-compatHaskell portable POSIX-compatibility layer
apotiki8.6 0.0 taffybar VS apotikia faster debian repository
language-puppet8.5 0.0 taffybar VS language-puppetA library to work with Puppet manifests, test them and eventually replace everything ruby.
logger8.5 0.0 taffybar VS loggerFast & extensible logging framework for Haskell!
twitch8.4 0.0 taffybar VS twitchA high level file watcher DSL
ascii-progress8.4 0.0 taffybar VS ascii-progressA simple Haskell progress bar for the console. Heavily borrows from TJ Holowaychuk's Node.JS project
which8.4 0.0 taffybar VS whichDetermine the full path to an executable.
optparse-declarative8.4 0.0 taffybar VS optparse-declarativeDeclarative command-line option parser
executable-hash8.3 0.0 taffybar VS executable-hashProvides the SHA1 hash of the program executable
plugins8.3 0.0 taffybar VS pluginsDynamic linking and runtime evaluation of Haskell, and C, including dependency chasing and package resolution.
ekg-statsd8.3 0.0 taffybar VS ekg-statsdFlush system metrics to statsd
hinotify8.3 0.0 taffybar VS hinotifyHaskell binding to inotify
lxc8.2 0.0 taffybar VS lxcHigh level Haskell bindings to LXC (Linux containers).
halfs8.2 0.0 taffybar VS halfsThe Haskell File System: A file system implementation in Haskell
HFuse8.2 0.0 taffybar VS HFuseHaskell bindings for the FUSE library
hen8.2 0.0 taffybar VS henHaskell bindings to Xen hypervisor interface
directory-contents8.2 0.0 taffybar VS directory-contentsRecursively build a tree of directory contents, avoiding symlink cycles
nix-derivation8.1 0.0 taffybar VS nix-derivationParse and render *.drv files
ONLYOFFICE Docs — document collaboration in your environment
Do you think we are missing an alternative of taffybar or a related project?
Taffybar is a gtk+3 (through gi-gtk) based desktop information bar, intended primarily for use with XMonad, though it can also function alongside other EWMH compliant window managers. It is similar in spirit to xmobar, but it differs in that it gives up some simplicity for a reasonable helping of eye candy.
Taffybar's installation procedure varies depending on whether or not you intend
to setup a new haskell project and use
startTaffybar or use the
with a global haskell installation . It is important for you to read this
section so you can understand what all of that means before you decide how you
want to install taffybar.
Taffybar is a library
As with window managers like XMonad and dwm, taffybar is most appropriately described as a library that allows you to build an executable that is customized to your tastes. This means that taffybar must be installed alongside a haskell compiler (ghc) that can compile the user's configuration source file.
The taffybar binary and
Taffybar can be started from your configuration file in two different ways:
dyreTaffybar entry point to taffybar uses the dyre
library to automatically recompile your
taffybar configuration whenever it detects that it has changed. The binary that
is distributed with taffybar does nothing more than call this entry point. The
main downside of this approach is that it does not allow the user to use any
sort of project files for their configuration, and they must have any packages
that are necessary for compilation of their configuration available in their
global ghc environment.
startTaffybar entry point to taffybar simply starts taffybar with the
provided configuration. The user binary will not be automatically recompiled
when source files change. The advantage of using
startTaffybar directly is
that you can use that in the main function of a cabal project.
Several linux distributions package taffybar (nixos, arch/aur, debian). Of these, only the NixOS distribution is officially supported by the maintainers. Using any of the others should be pretty similar to using a bare cabal installation of taffybar.
If you wish to use the NixOS package for taffybar, make sure that you are using the module, and not simply the haskellPackage for taffybar. If you need to add additional haskell packages to the environment that compiles your taffybar.hs you will need to invoke that module and use the packages parameter to allow this.
It is also possible to run/use taffybar on NixOS without using this module by using a standalone haskell project for the taffybar configuration.
Using the overlay.nix when taffybar is broken in nixpkgs
The taffybar haskell package in nixpkgs has been broken in the unstable channel from time to time. This repository provides a nix overlay file which can be used to build taffybar with current versions of nixpkgs. See this comment for details on how to use the overlay.
Installation From Hackage/Source
If you are not using distribution packaging of taffybar or the nix package manager (it will handle getting all the necessary packages for you), you will need to install all of taffybar's non-haskell dependencies manually.
Start by making sure you have installed everything that is needed for haskell-gi. Taffybar also needs the
libgirepository1.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 file in the taffybar repository.
Cabal installation is a simple matter of installing taffybar from hackage:
cabal install taffybar
You do not need to do this if you are using the project approach with cabal.
The project approach
The project approach to installing/using taffybar involves maintaining a small
haskell project that produces the users taffybar binary. No matter which package
manager you choose to use you will need to make a .cabal file for this project.
It is recommended that you use this
as a template. In that example, the users configuration resides in the file
taffybar.hs in the same directory, but that can be changed as needed. As of
dyreTaffybar is incompatible with this approach because dyre simply
calls ghc directly.
cabal new-install to install the binary.
With stack, you will also need to maintain a stack.yaml file. Run
install to install the binary. See this
You will need to add default.nix file to your package. See this example
You may also need to use the overlay provided by this repository. See this comment for details.
The taffybar haskell package is currently broken in nixpkgs, because some of its dependencies are not compiling correctly/are not sufficiently new. The environment.nix file in this repository fixes these build issues with an overlay. The overlay.nix file extends the environment overlay so that it overrides the taffybar package's build description to build the nix taffybar package from the repository source directory. An example of how to set up nixpkgs to use the taffybar overlay can be found here.
Like xmobar and XMonad, taffybar is configured in haskell. Taffybar depends on
dyre to automatically detect changes to its configuration file
$XDG_CONFIG_HOME/taffybar/taffybar.hs) and recompile when appropriate.
For more details about how to configure taffybar, see the full documentation. You can find a list of available widgets here
For the time being, taffybar's frequently asked questions page lives in this github issue.
Taffybar desperately needs contributors. If you want to help, but don't know where to get started you can check out our "help wanted" and "easy" labels:
*Note that all licence references and agreements mentioned in the taffybar README section above are relevant to that project's source code only.