diff --git a/dotfiles/config/taffybar/base.nix b/dotfiles/config/taffybar/base.nix new file mode 100644 index 00000000..73bebeac --- /dev/null +++ b/dotfiles/config/taffybar/base.nix @@ -0,0 +1,19 @@ +(import ./taffybar/nixpkgs.nix) { + overlays = [ + (import ./taffybar/overlay.nix) + (import ../xmonad/overlay.nix) + (_: super: { + haskellPackages = super.haskellPackages.override (old: { + overrides = super.lib.composeExtensions (old.overrides or (_: _: {})) (self: _: { + imalison-taffybar = + self.callCabal2nix "imalison-taffybar" + ( + super.lib.sourceByRegex ./. + ["taffybar.hs" "imalison-taffybar.cabal"] + ) + { }; + }); + }); + }) + ]; +} diff --git a/dotfiles/config/taffybar/default.nix b/dotfiles/config/taffybar/default.nix index 47cd42ca..922dacbd 100644 --- a/dotfiles/config/taffybar/default.nix +++ b/dotfiles/config/taffybar/default.nix @@ -1,6 +1 @@ -let - pkgs = (import ./taffybar/nixpkgs.nix) { overlays = [ - (import ./taffybar/overlay.nix) (import ../xmonad/overlay.nix) - ]; }; - source = pkgs.lib.sourceByRegex ./. ["taffybar.hs" "imalison-taffybar.cabal"]; -in pkgs.haskellPackages.callCabal2nix "imalison-taffybar" source { } +(import ./base.nix).haskellPackages.imalison-taffybar diff --git a/dotfiles/config/taffybar/shell.nix b/dotfiles/config/taffybar/shell.nix index 2c511610..b2269493 100644 --- a/dotfiles/config/taffybar/shell.nix +++ b/dotfiles/config/taffybar/shell.nix @@ -1,7 +1,7 @@ let - pkgs = (import ./taffybar/nixpkgs.nix) { overlays = [ - (import ./taffybar/overlay.nix) (import ../xmonad/overlay.nix) - ]; }; - source = pkgs.lib.sourceByRegex ./. ["taffybar.hs" "imalison-taffybar.cabal"]; - imalison-taffybar = pkgs.haskellPackages.callCabal2nix "imalison-taffybar" source { }; -in pkgs.haskellPackages.shellFor { packages = _: [imalison-taffybar pkgs.haskellPackages.taffybar]; } + pkgs = (import ./base.nix); +in pkgs.haskellPackages.shellFor { + packages = _: [ + pkgs.haskellPackages.imalison-taffybar pkgs.haskellPackages.taffybar + ]; +}