Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include Homebrew in universal image #903

Open
texastoland opened this issue Dec 28, 2023 · 2 comments
Open

Include Homebrew in universal image #903

texastoland opened this issue Dec 28, 2023 · 2 comments

Comments

@texastoland
Copy link

texastoland commented Dec 28, 2023

I imagine there's a reason this wasn't done already. I thought it's worth opening an issue for others searching too. My use case is replicating my Mac config in Codespaces. I want a few CLIs available everywhere like lazygit. It can be installed with conda-forge but that isn't true for everything. Default Apt sources simply don't include many modern utilities.

Related: microsoft/vscode-dev-containers#357

@eljog
Copy link
Member

eljog commented Jan 4, 2024

As discussed on the issue you linked here microsoft/vscode-dev-containers#357 (comment) the growing size of the universal image is one thing that holds us conservative when adding new packages.

Have you considered installing Homebrew as a feature inside your devcontainers json. Looks like there are community provided devcontainer-features available for Homebrew. See https://containers.dev/features

@texastoland
Copy link
Author

texastoland commented Jan 4, 2024

My use case (and the general use case for Codespaces) is reproducing my dev environment from dotfiles in every image (using brew bundle).

Considerations

  1. No other package manager on the image hosts popular modern utilities (Nushell for example) nor (especially) cross-platform
  2. Add Homebrew to the default Codespaces image microsoft/vscode-dev-containers#357 (comment) mentions a "lite" installation which has since become the default by replacing shallow cloning with GitHub API calls (even less disk space)
  3. brew could be a shell function that installs on first use (exactly how Homebrew subcommands work)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants