diff --git a/overlays/default.nix b/overlays/default.nix index bfe3a22..d2f70d4 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -7,16 +7,36 @@ nixosModules = rec { overlays = ({ ... }: { nixpkgs.overlays = [ - (final: prev: { - nixd = inputs.nixpkgs-unstable.legacyPackages.${prev.system}.nixd; + (final: prev: let + unstable = import inputs.nixpkgs-unstable { system = prev.system; }; + master = import inputs.nixpkgs-master { system = prev.system; }; + scan2paperless = import inputs.scan2paperless { system = prev.system; }; + in { + nixd = unstable.nixd; - factorio-headless = inputs.nixpkgs-master.legacyPackages.${prev.system}.factorio-headless; - paperless-ngx = inputs.nixpkgs-master.legacyPackages.${prev.system}.paperless-ngx; - waybar = inputs.nixpkgs-master.legacyPackages.${prev.system}.waybar; + factorio-headless = master.factorio-headless; + paperless-ngx = master.paperless-ngx; + waybar = master.waybar; - scan2paperless = inputs.scan2paperless.legacyPackages.${prev.system}.scan2paperless; + scan2paperless = scan2paperless.scan2paperless; adlist = inputs.adblock-unbound.packages.${prev.system}; + + haskellPackages = + prev.haskellPackages.override + (old: { + overrides = prev.lib.composeExtensions (old.overrides or (_: _: {})) (hfinal: hprev: let + version = prev.lib.replaceChars ["."] [""] prev.ghc.version; + in { + # same for haskell packages, matching ghc versions + inherit + (unstable.haskell.packages."ghc${version}") + haskell-language-server + ; + }); + }); + + vimPlugins = prev.vimPlugins // {inherit (unstable.vimPlugins) nvim-lspconfig;}; }) (import ../pkgs) (import ./blesh.nix)