{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.05"; nixos-unstable.url = "github:NixOS/nixpkgs/master"; home-manager = { url = "github:rycee/home-manager/release-22.05"; inputs.nixpkgs.follows = "nixpkgs"; }; vim-extra-plugins.url = "github:m15a/nixpkgs-vim-extra-plugins"; }; outputs = inputs@{ self, nixpkgs, nixos-unstable, home-manager, vim-extra-plugins }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; config.allowUnfree = true; overlays = [ (final: prev: { inherit unstable; }) vim-extra-plugins.overlays.default ]; }; 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"; users = [ ]; }; }; }; }