Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ComputerSetupCmd = &cobra.Command{ Use: "computer-setup", Aliases: []string{ "computersetup", "cs", "setup", }, Short: "Configure host to developer preferences (cross platform)", Run: func(cmd *cobra.Command, args []string) { usrHomeDir, err := homedir.Dir() if err != nil { log.Fatal("Error getting user home directory") } err = computerSetup.DirectoryForSourceCode(usrHomeDir) if err != nil { log.Fatal("Error creating src directory") } log.Println("$HOME/src is available") err = computerSetup.DirectoryForUserBin(usrHomeDir) if err != nil { log.Fatal("Error creating src directory") } log.Println("$HOME/bin is available") tokenProvider := externalapi.GithubAuthTokenProvider{} githubClientProvider := externalapi.GithubClientProvider{} dotfiles, err := externalapi.GetMyDotfiles(&tokenProvider, &githubClientProvider) if err != nil { log.Fatalf("Error getting dotfiles %v", err) } token, err := tokenProvider.GetAuthToken() if err != nil { log.Fatalf("Error getting github auth token %v", err) } ghClient, err := githubClientProvider.GetGithubClient(token) if err != nil { log.Fatalf("Error getting github client %v", err) } user, _, err := ghClient.Users.Get(context.TODO(), "") if err != nil { log.Fatalf("Error getting github user %v", err) } gitProvider := externalcmd.GitClientProvider{} auth := &http.BasicAuth{ Username: *user.Login, Password: token, } for _, repo := range dotfiles { _, innerErr := externalcmd.CloneGithubRepo(path.Join(usrHomeDir, "src"), &gitProvider, &repo, auth) if innerErr != nil { log.Fatalf("Error cloning repo %v", innerErr) } } }, }
ComputerSetupCmd defines the root of computer setup
View Source
var StatusCmd = &cobra.Command{ Use: "status", Short: "Checks the status of the machine for expected setup", Run: func(cmd *cobra.Command, args []string) { usrHomeDir, err := homedir.Dir() if err != nil { log.Fatal("Error getting user home directory") } output := bytes.NewBufferString("") output.WriteString("System Info\n") output.WriteString("-----\n") err = status.SystemInfo(output) output.WriteString("\n") directoriesToCheck := []string{"src", "bin"} output.WriteString("Directory Expectations\n") output.WriteString("-----\n") for _, dir := range directoriesToCheck { _ = status.CheckForDirectory(output, usrHomeDir, dir) } output.WriteString("\n") output.WriteString("Package Manager\n") output.WriteString("-----\n") err = status.PackageManager(output) output.WriteString("\n") fmt.Print(output) }, }
StatusCmd represents status command
Functions ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.