os/overlays/default.nix

62 lines
1.9 KiB
Nix

{
self,
inputs,
...
}: {
flake = {
nixosModules = rec {
overlays = ({ ... }: {
nixpkgs.overlays = [
inputs.deno2nix.overlays.default
inputs.nixd.overlays.default
(final: prev: let
unstable = import inputs.nixpkgs-unstable { system = prev.system; };
master = import inputs.nixpkgs-master { system = prev.system; };
in {
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)
(final: prev: {
b12f-io = prev.stdenv.mkDerivation {
name = "b12f.io";
inherit (prev.sources.b12f-io-nvfetcher) version src;
installPhase = ''
mkdir -p $out
cp -r * $out/
cp -r fonts cows.jpg fonts.css index.html bbeu-public.key $out/
'';
};
})
];
});
};
};
}