{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.05"; nixos-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; home-manager = { url = "github:rycee/home-manager/release-21.05"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs @ { self, nixpkgs, nixos-unstable, home-manager }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; config.allowUnfree = true; overlays = [ (final: prev: { inherit unstable; }) ]; }; unstable = import nixos-unstable { inherit system; config.allowUnfree = true; }; utils = import ./lib { inherit pkgs unstable nixpkgs nixos-unstable home-manager; }; inherit (utils) host; inherit (utils) user; in { nixosConfigurations = { architect = host.mkHost { name = "architect"; users = [ { user = "giulio"; roles = []; } ]; }; gAluminum = host.mkHost { name = "gAluminum"; users = [ { user = "giulio"; roles = [ "desktop" "ssh" "git" ]; } ]; roles = [ "gnome" ]; }; proxy = host.mkHost { name = "proxy"; }; }; }; }