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