summaryrefslogtreecommitdiff
path: root/accounts/gkleen@sif/xmobar/shell.nix
blob: 16beb322d47f210899839b124021fa41dd8d008b (plain)
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
{ nixpkgs ? import ./nixpkgs.nix {} }:

let
  inherit (nixpkgs {}) pkgs;
  haskellPackages = import ./stackage.nix { inherit nixpkgs; };

  drv = haskellPackages.callPackage ./xmobar-yggdrasil.nix {};
  override = oldAttrs: {
    nativeBuildInputs = oldAttrs.nativeBuildInputs ++ (with pkgs; []) ++ (with haskellPackages; [ stack cabal-install cabal2nix ]);
    shellHook = ''
      export PROMPT_INFO="${oldAttrs.name}"

      if [ -n "$ZSH_VERSION" ]; then
        autoload -U +X compinit && compinit
        autoload -U +X bashcompinit && bashcompinit
      fi
      eval "$(stack --bash-completion-script stack)"

      ${oldAttrs.shellHook}
    '';
  };

  dummy = pkgs.stdenv.mkDerivation {
    name = "interactive-xmobar-environment";
    shellHook = "";
  };
in pkgs.lib.overrideDerivation dummy override
  #pkgs.lib.overrideDerivation drv.env override