nixfiles/hosts/nixos.nix
2022-12-04 16:10:00 +00:00

79 lines
2.2 KiB
Nix

{nixpkgs-unstable, ...} @ inputs: let
mkTree = inputs.tree-input.tree;
metaTree = mkTree ((import ../treeConfig.nix {}) // {inherit inputs;});
tree = metaTree.impure;
patchedInputs =
inputs
// {
# set these to the correct versions from inputs
nixpkgs = inputs.nixpkgs-unstable;
home-manager = inputs.home-manager-unstable;
};
defaultSpecialArgs = {
tree = metaTree.impure;
pureTree = metaTree.pure;
inputs = patchedInputs;
};
defaultModules = [
# NO_INLINE
tree.profiles.base
inputs.home-manager-unstable.nixosModules.home-manager
inputs.gitlab_artifacts_sync.nixosModule
inputs.nur.nixosModules.nur
tree.modules.nixos.rclone-serve
tree.modules.nixos.rclone-sync
tree.modules.nixos.secrets
];
nixosUnstableSystem = nixpkgs-unstable.lib.nixosSystem;
in {
tablet = nixosUnstableSystem {
specialArgs = defaultSpecialArgs;
system = "x86_64-linux";
modules = defaultModules ++ [./tablet/tablet.nix ./tablet/hardware.nix];
};
hetzner-vm = nixosUnstableSystem {
specialArgs = defaultSpecialArgs;
system = "x86_64-linux";
modules = defaultModules ++ [./hetzner-vm/hetzner-vm.nix];
};
storage = nixosUnstableSystem {
specialArgs = defaultSpecialArgs;
system = "x86_64-linux";
modules = defaultModules ++ [./storage/storage.nix];
};
vault = nixosUnstableSystem {
specialArgs = defaultSpecialArgs;
system = "x86_64-linux";
modules = defaultModules ++ [./vault/vault.nix];
};
buildbox = nixosUnstableSystem {
specialArgs = defaultSpecialArgs;
system = "x86_64-linux";
modules = defaultModules ++ [./buildbox/buildbox.nix];
};
# nix build .#nixosConfigurations.nixos-live-x86_64.config.system.build.isoImage
nixos-live-x86_64 = nixosUnstableSystem {
specialArgs = defaultSpecialArgs;
system = "x86_64-linux";
modules = defaultModules ++ [./nixos-live/nixos-live.nix];
};
# nix --no-sandbox build .#nixosConfigurations.raspberry.config.system.build.sdImage
raspberry = nixosUnstableSystem {
specialArgs = defaultSpecialArgs;
system = "aarch64-linux";
modules = defaultModules ++ [./raspberry/raspberry.nix];
};
}