81 lines
1.8 KiB
Nix
Executable file
81 lines
1.8 KiB
Nix
Executable file
{
|
|
description = "Configuration for NAS Server";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
disko = {
|
|
url = "github:nix-community/disko";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
agenix = {
|
|
url = "github:ryantm/agenix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
...
|
|
} @ inputs: let
|
|
system = "x86_64-linux";
|
|
pkgs = import nixpkgs {inherit system;};
|
|
in {
|
|
formatter.${system} = pkgs.alejandra;
|
|
|
|
nixosConfigurations = {
|
|
server-vm = nixpkgs.lib.nixosSystem {
|
|
specialArgs = {inherit inputs;};
|
|
modules = [
|
|
inputs.disko.nixosModules.default
|
|
inputs.agenix.nixosModules.default
|
|
(import ./disko.nix {
|
|
lib = pkgs.lib;
|
|
swap-size = "16G";
|
|
root-disk = "/dev/vda";
|
|
raid-disks = [
|
|
"vdb"
|
|
"vdc"
|
|
"vdd"
|
|
];
|
|
})
|
|
inputs.home-manager.nixosModules.default
|
|
|
|
./vm-hardware-configuration.nix
|
|
./configuration.nix
|
|
];
|
|
};
|
|
|
|
server = nixpkgs.lib.nixosSystem {
|
|
specialArgs = {inherit inputs;};
|
|
modules = [
|
|
inputs.disko.nixosModules.default
|
|
inputs.agenix.nixosModules.default
|
|
(import ./disko.nix {
|
|
lib = pkgs.lib;
|
|
swap-size = "128G";
|
|
root-disk = "/dev/nvme0n1";
|
|
raid-disks = [
|
|
# "sda"
|
|
# "sdb"
|
|
# "sdc"
|
|
# "sdd"
|
|
];
|
|
})
|
|
inputs.home-manager.nixosModules.default
|
|
|
|
./hardware-configuration.nix
|
|
./configuration.nix
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|