snowfield/lib/default.nix
2021-12-29 16:41:31 +01:00

40 lines
976 B
Nix

inputs: final: prev:
with builtins; with inputs;
let
overlay-unstable = final: prev: {
unstable = nixpkgs-unstable.legacyPackages.x86_64-linux;
};
in
{
mkMachine = host: host-config: modules: nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit inputs;
};
modules = builtins.attrValues modules ++ [
../base.nix
sops-nix.nixosModules.sops
host-config
home-manager.nixosModules.home-manager
{
home-manager.useUserPackages = true;
nixpkgs.overlays = [
inputs.neovim-nightly-overlay.overlay
overlay-unstable
(final: prev:
{
tinystatus = prev.pkgs.callPackage ../packages/tinystatus {};
mosh = prev.pkgs.callPackage ../packages/mosh {};
})
];
}
];
};
importConfig = with builtins; path: (mapAttrs (name: value: import (path + "/${name}/default.nix")) (readDir path));
}