{ 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) ]; }); }; }; }