{ description = "Flake to handle all my infrastructure"; inputs = { nixpkgs.url = "github:NixOs/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; # follow defined nixpkgs to prevent version mismatch inputs.nixpkgs.follows = "nixpkgs"; }; friendlyelecCM3588 = { url = "github:YayaADev/nixos-friendlyelec-cm3588"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-flatpak.url = "github:gmodena/nix-flatpak"; }; outputs = {self, nixpkgs, home-manager, ... }@inputs: let lib = nixpkgs.lib; in { nixosConfigurations = { nix-desk = lib.nixosSystem { system = "x86_64-linux"; specialArgs = inputs; modules = [ ./devices/desk.nix ./hardware/nvidia.nix ./hardware/scanner.nix ./configuration.nix ./plasma.nix ./software/default-graphical.nix ./network-shares.nix ./backup-target.nix ./users/shatteredmint.nix ./qemu-bridges.nix ]; }; nix-conv = lib.nixosSystem { system = "x86_64-linux"; specialArgs = inputs; modules = [ ./devices/conv.nix ./configuration.nix ./plasma.nix ./software/default-graphical.nix ./users/shatteredmint.nix ./network-shares.nix ]; }; nix-nas = lib.nixosSystem { system = "aarch64-linux"; specialArgs = inputs; modules = [ inputs.friendlyelecCM3588.nixosModules.cm3588 # board + kernel support ./devices/nas.nix ./configuration.nix ./users/shatteredmint.nix ]; }; }; }; }