Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions cmd/vm.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ func newVmManager(trellis *trellis.Trellis, ui cli.Ui) (manager vm.Manager, err
switch trellis.CliConfig.Vm.Manager {
case "auto":
switch runtime.GOOS {
case "darwin":
case "darwin", "linux":
return lima.NewManager(trellis, ui)
default:
return nil, fmt.Errorf("No VM managers are supported on %s yet.", runtime.GOOS)
Expand All @@ -25,7 +25,6 @@ func newVmManager(trellis *trellis.Trellis, ui cli.Ui) (manager vm.Manager, err
case "mock":
return vm.NewMockManager(trellis, ui)
}

return nil, fmt.Errorf("VM manager not found")
}

Expand Down
25 changes: 17 additions & 8 deletions pkg/lima/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"fmt"
"os"
"path/filepath"
"runtime"
"strings"

"github.com/fatih/color"
Expand Down Expand Up @@ -310,17 +311,25 @@ func getMacOSVersion() (string, error) {
}

func ensureRequirements() error {
macOSVersion, err := getMacOSVersion()
if err != nil {
return ErrUnsupportedOS
}
// macOS specific version checking
if runtime.GOOS == "darwin" {
macOSVersion, err := getMacOSVersion()
if err != nil {
return ErrUnsupportedOS
}

if version.Compare(macOSVersion, RequiredMacOSVersion, "<") {
return fmt.Errorf("%w", ErrUnsupportedOS)
if version.Compare(macOSVersion, RequiredMacOSVersion, "<") {
return fmt.Errorf("%w", ErrUnsupportedOS)
}
}

if err = Installed(); err != nil {
return fmt.Errorf("%s\nInstall or upgrade Lima to continue:\n\n brew install lima\n\nSee https://github.com/lima-vm/lima#getting-started for manual installation options.", err.Error())
if err := Installed(); err != nil {
installMsg := "Install or upgrade Lima to continue:\n\n"
if runtime.GOOS == "darwin" {
installMsg += " brew install lima\n\n"
}
installMsg += "See https://github.com/lima-vm/lima#getting-started for installation options."
return fmt.Errorf("%s\n%s", err.Error(), installMsg)
}

return nil
Expand Down
Loading