os/overlays/default.nix

48 lines
1.4 KiB
Nix

{
self,
inputs,
...
}: {
flake = {
nixosModules = rec {
overlays = ({ ... }: {
nixpkgs.overlays = [
(final: prev: let
unstable = import inputs.nixpkgs-unstable { system = prev.system; };
master = import inputs.nixpkgs-master { system = prev.system; };
in {
nixd = unstable.nixd;
factorio-headless = master.factorio-headless;
paperless-ngx = master.paperless-ngx;
waybar = master.waybar;
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)
(import ./rnix-lsp.nix)
(import ./neovim-plugins.nix)
(import ./element-desktop.nix)
];
});
};
};
}