snowfield/utils.nix
2021-12-26 21:07:40 +01:00

38 lines
999 B
Nix

{ nixpkgs, home-manager, sops-nix, nixpkgs-unstable, inputs }:
with builtins;
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));
}