let nixpkgs-tar = builtins.fetchTarball (import ./nixpkgs.nix); nixpkgs = import "${nixpkgs-tar}" {}; nixos = import "${nixpkgs-tar}/nixos"; # TODO(bsima): buildNixOS should be split into multiple functions that each # return one thing, instead of a single function that returns multiple things buildNixOS = opts: let full = (nixos opts); in { system = full.system; vm = full.vm; }; in { com.simatime = import ./com/simatime.nix { inherit buildNixOS; }; com.influencedbybooks = buildNixOS { system = "x86_64-linux"; configuration = { imports = [ ./com/influencedbybooks/service.nix # common infra ./com/simatime/users.nix ./com/simatime/packages.nix ]; nixpkgs.config.allowUnfree = true; services.openssh = { enable = true; passwordAuthentication = false; }; security.sudo.wheelNeedsPassword = true; boot.cleanTmpDir = true; }; }