You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Updates packages within your project to the latest available version.
4
+
5
+
## Synopsis
6
+
7
+
If you provide this command with a list of packages, it will update those packages to the latest available version based on the version tag provided.
8
+
9
+
For example: if your project has `[email protected]` in your package list, running `devbox update` will update your project to the latest patch version of `python 3.11`.
10
+
11
+
If no packages are provided, this command will update all the versioned packages in your project to the latest acceptable version.
12
+
13
+
```bash
14
+
devbox update [pkg]... [flags]
15
+
```
16
+
17
+
18
+
## Options
19
+
20
+
<!-- Markdown Table of Options -->
21
+
| Option | Description |
22
+
| --- | --- |
23
+
|`-c, --config`| Path to devbox config file. |
24
+
|`-h, --help`| help for shell |
25
+
|`-q, --quiet`| Quiet mode: Suppresses logs. |
26
+
27
+
## SEE ALSO
28
+
29
+
*[devbox](./devbox.md) - Instant, easy, predictable shells and containers
Copy file name to clipboardExpand all lines: docs/app/docs/configuration.md
+43-10Lines changed: 43 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,7 @@ Your devbox configuration is stored in a `devbox.json` file, located in your pro
13
13
"init_hook": "...",
14
14
"scripts": {}
15
15
},
16
+
"include": [],
16
17
"nixpkgs": {
17
18
"commit": "..."
18
19
}
@@ -25,17 +26,33 @@ This is a list of Nix packages that should be installed in your Devbox shell and
25
26
26
27
You can add packages to your devbox.json using `devbox add <package_name>`, and remove them using `devbox rm <package_name>`
27
28
29
+
#### Pinning a Specific Version of a Package
30
+
31
+
You can pin a specific version of a package by adding a `@` followed by the version number to the end of the package name. For example, to pin the `go` package to version `1.19`, you can run `devbox add [email protected]`, or add `[email protected]` to the packages list in your `devbox.json`:
Where possible, pinned packages follow semver. For example, if you pin `python@3`, it will install the latest version of `python` with major version `3`.
42
+
43
+
To see a list of packages and their available versions, you can run `devbox search <pkg>`.
44
+
28
45
#### Adding Packages from Flakes
29
46
30
47
You can add packages from flakes by adding a reference to the flake in the `packages` list in your `devbox.json`. We currently support installing Flakes from Github and local paths.
31
48
32
49
```json
33
50
{
34
51
"packages": [
35
-
// Add the default package from a github repository
52
+
// Add the default package from a github repository
36
53
"github:numtide/flake-utils",
37
54
// Install a specific attribute or package from a Github hosted flake
38
-
"github:nix-community/fenix#stable.toolchain",
55
+
"github:nix-community/fenix#stable.toolchain",
39
56
// Install a package from a specific channel of Nixpkgs
40
57
"github:nixos/nixpkgs/21.05#hello",
41
58
// Install a package form a specific commit of Nixpkgs
@@ -63,7 +80,7 @@ For example, you could set variable `$FOO` to `bar` by adding the following to y
63
80
}
64
81
```
65
82
66
-
Currently, you can only set values using string literals, `$PWD`, and `$PATH`. Any other values with environment variables will not be expanded when starting your shell.
83
+
Currently, you can only set values using string literals, `$PWD`, and `$PATH`. Any other values with environment variables will not be expanded when starting your shell.
67
84
68
85
69
86
### Shell
@@ -72,9 +89,9 @@ The Shell object defines init hooks and scripts that can be run with your shell.
72
89
73
90
#### Init Hook
74
91
75
-
The init hook is used to run shell commands before the shell finishes setting up. This hook runs after any other `~/.*rc` scripts, allowing you to override environment variables or further customize the shell.
92
+
The init hook is used to run shell commands before the shell finishes setting up. This hook runs after any other `~/.*rc` scripts, allowing you to override environment variables or further customize the shell.
76
93
77
-
The init hook will run every time a new shell is started using `devbox shell` or `devbox run`, and is best used for setting up environment variables, aliases, or other quick setup steps needed to configure your environment. For longer running tasks, you should consider using a Script.
94
+
The init hook will run every time a new shell is started using `devbox shell` or `devbox run`, and is best used for setting up environment variables, aliases, or other quick setup steps needed to configure your environment. For longer running tasks, you should consider using a Script.
78
95
79
96
This is an example `devbox.json` that customizes the prompt and prints a welcome message:
80
97
@@ -115,7 +132,7 @@ Scripts can be defined by giving a name, and one or more commands. Single comman
115
132
}
116
133
```
117
134
118
-
To run multiple commands in a single script, you can pass them as an array:
135
+
To run multiple commands in a single script, you can pass them as an array:
119
136
120
137
```json
121
138
{
@@ -130,14 +147,27 @@ To run multiple commands in a single script, you can pass them as an array:
130
147
}
131
148
```
132
149
133
-
### Nixpkgs
150
+
### Includes
134
151
135
-
The Nixpkg object is used to optionally configure which version of the Nixpkgs repository you want Devbox to use for installing packages. It currently takes a single field, `commit`, which takes a commit hash for the specific revision of Nixpkgs you want to use.
152
+
Includes can be used to explicitly add extra configuration or plugins to your Devbox project. Currently this only supports adding our [built-in plugins](guides/plugins.md)to your project.
136
153
137
-
If a Nixpkg commit is not set, Devbox will automatically add a default commit hash to your `devbox.json`. To upgrade your packages to the latest available versions in the future, you can replace the default hash with the latest nixpkgs-unstable hash from https://status.nixos.org
154
+
You should use this section to activate plugins when you install a package from a [Flake](guides/using_flakes.md) that uses a plugin. To ensure that a plugin is activated for your project, add it to the `includes` section of your `devbox.json`. For example, to explicitly activate the PHP plugin, you can add the following to your `devbox.json`:
138
155
139
-
To learn more, consult our guide on [setting the Nixpkg commit hash](guides/pinning_packages.md).
156
+
```json
157
+
{
158
+
"includes": [
159
+
"plugin:php-config"
160
+
]
161
+
}
162
+
```
140
163
164
+
### Nixpkgs
165
+
166
+
The Nixpkg object is used to optionally configure which version of the Nixpkgs repository you want Devbox to use as the default for installing packages. It currently takes a single field, `commit`, which takes a commit hash for the specific revision of Nixpkgs you want to use.
167
+
168
+
If a Nixpkg commit is not set, Devbox will automatically add a default commit hash to your `devbox.json`. To upgrade your packages to the latest available versions in the future, you can replace the default hash with the latest nixpkgs-unstable hash from https://status.nixos.org.
169
+
170
+
To learn more, consult our guide on [setting the Nixpkg commit hash](guides/pinning_packages.md).
141
171
142
172
### Example: A Rust Devbox
143
173
@@ -150,6 +180,9 @@ An example of a devbox configuration for a Rust project called `hello_world` mig
Copy file name to clipboardExpand all lines: docs/app/docs/contributor-quickstart.md
+9-7Lines changed: 9 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ sidebar_position: 3
4
4
---
5
5
## Background
6
6
7
-
Devbox is a command-line tool that lets you easily create reproducible, reliable dev environments. You start by defining the list of packages required by your development environment, and devbox uses that definition to create an isolated environment just for your application. Developers can start a dev environment for their project by running `devbox shell`.
7
+
Devbox is a command-line tool that lets you easily create reproducible, reliable dev environments. You start by defining the list of packages required by your development environment, and devbox uses that definition to create an isolated environment just for your application. Developers can start a dev environment for their project by running `devbox shell`.
8
8
9
9
To learn more about how Devbox works, you can read our [introduction](index.md)
10
10
@@ -23,7 +23,7 @@ Devbox requires the [Nix Package Manager](https://nixos.org/download.html). If N
23
23
24
24
## Start your development shell
25
25
26
-
1. Open a terminal in the project. The project should contain a `devbox.json` that specifies how to create your development environment
26
+
1. Open a terminal in the project. The project should contain a `devbox.json` that specifies how to create your development environment
27
27
28
28
1. Start a devbox shell for your project:
29
29
@@ -40,24 +40,26 @@ Devbox requires the [Nix Package Manager](https://nixos.org/download.html). If N
40
40
```
41
41
42
42
:::info
43
-
The first time you run `devbox shell` may take a while to complete due to Devbox downloading prerequisites and package catalogs required by Nix. This delay is a one-time cost, and future invocations and package additions should resolve much faster.
43
+
The first time you run `devbox shell` may take a while to complete due to Devbox downloading prerequisites and package catalogs required by Nix. This delay is a one-time cost, and future invocations and package additions should resolve much faster.
44
44
:::
45
45
46
46
1. Use the packages provided in your development environment
47
47
48
-
The packages listed in your project's `devbox.json` should now be available for you to use. For example, if the project's `devbox.json` contains `python310`, you should now have `python`in your path:
48
+
The packages listed in your project's `devbox.json` should now be available for you to use. For example, if the project's `devbox.json` contains `[email protected]`, you should now have `python`in your path:
49
49
50
50
```bash
51
-
python --version
51
+
$ python --version
52
+
Python 3.10.9
52
53
```
53
-
The above should return 3.10
54
54
55
55
1. Your host environment's packages and tools are also available, including environment variables and config settings.
56
56
57
57
```bash
58
58
git config --get user.name
59
59
```
60
60
61
+
1. You can search for additional packages using `devbox search <pkg>`. You can then add them to your Devbox shell by running `devbox add [pkgs]`
62
+
61
63
1. To exit the Devbox shell and return to your regular shell:
62
64
63
65
```bash
@@ -78,4 +80,4 @@ Devbox requires the [Nix Package Manager](https://nixos.org/download.html). If N
78
80
79
81
### Get Involved
80
82
* **[Join our Discord Community](https://discord.gg/jetpack-io):** Chat with the development team and our growing community of Devbox users.
81
-
* **[Visit us on Github](https://github.com/jetpack-io/devbox):** File issues and provide feedback, or even open a PR to contribute to Devbox or our Docs.
83
+
* **[Visit us on Github](https://github.com/jetpack-io/devbox):** File issues and provide feedback, or even open a PR to contribute to Devbox or our Docs.
Copy file name to clipboardExpand all lines: docs/app/docs/devbox_cloud/beta_faq.md
+13-11Lines changed: 13 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,29 +5,31 @@ sidebar_position: 4
5
5
6
6
### What do I need to use Devbox Cloud?
7
7
8
-
To use Devbox Cloud from your Browser, you will need a Github Account.
8
+
To use Devbox Cloud from your Browser, you will need a Github Account.
9
9
10
-
To use Devbox Cloud from your CLI, you will need:
10
+
To use Devbox Cloud from your CLI, you will need:
11
11
12
12
* A Github account with linked SSH keys
13
-
* Devbox 0.3.0 or later
13
+
* Devbox 0.3.0 or later
14
14
15
15
### Does my project need to use Devbox to use Devbox Cloud?
16
16
17
17
While you can open any Github Repo in a Devbox Cloud Shell, you will need a `devbox.json` to install packages or configure the environment. You can create a `devbox.json` in your shell by running `devbox init`
18
18
19
19
### Can I use my own IDE or editor with Devbox Cloud?
20
20
21
-
Yes! You can use your own tools when you start Devbox Cloud from the terminal. See our [Getting Started Guide](getting_started.md) for more details
21
+
Devbox.sh provides a Cloud IDE that you can use to edit your projects in the browser, but you can also open your project in your local VSCode Editor by clicking the open in desktop button.
22
+
23
+
You can also use your own tools when you start Devbox Cloud from the terminal or SSH. See our [Getting Started Guide](getting_started.mdx) for more details.
22
24
23
25
### Do I have to pay to use Devbox Cloud during the Open Beta?
24
26
25
-
Devbox Cloud is free to use during the Open Beta period, subject to the restrictions listed below. We expect to continue offering a free tier for personal use after the Open Beta period, but we will offer Paid Plans that provide more resources, concurrency, and persistence.
27
+
Devbox Cloud is free to use during the Open Beta period, subject to the restrictions listed below. We expect to continue offering a free tier for personal use after the Open Beta period, but we will offer Paid Plans that provide more resources, projects, and persistence.
26
28
27
29
### What are the resource limits for Devbox Cloud VMs
28
30
29
-
***CPU**: 1 Core, shared
30
-
***RAM**: 1 GB
31
+
***CPU**: 4 Cores
32
+
***RAM**: 8 GB
31
33
***SSD**: 8 GB
32
34
33
35
If you need additional resources for your project, please reach out to us for **[Early Access](https://jetpack-io.typeform.com/devbox-cloud)**
@@ -38,18 +40,18 @@ Future releases will add more flexibility and features as part of our paid plans
38
40
39
41
### What OS does Devbox Cloud use?
40
42
41
-
Alpine Linux 3.17.1, running on a x86-64 platform
43
+
Debian Linux, running on a x86-64 platform
42
44
43
45
### How many VM's can I run concurrently?
44
46
45
-
You can have up to 3 concurrent VMs per Github Account.
47
+
You can have up to 5 concurrent projects per Github Account.
46
48
47
49
### How long will my Devbox Cloud Shell stay alive for?
48
50
49
-
VMs will stay alive for up to 5 minutes after a user disconnects. After that point, the VM and all data will be deleted.
51
+
VMs will stay alive for up to 8 hours after going idle. After that point, the VM and all data will be deleted.
50
52
51
53
### Where will Devbox run my VM?
52
54
53
-
Devbox VMs are run as Fly Machines in local Data Centers. To minimize latency, Devbox Cloud will attempt to create a Fly Machine as close to your current location as possible.
55
+
Devbox VMs are run as Fly Machines in local Data Centers. To minimize latency, Devbox Cloud will attempt to create a Fly Machine as close to your current location as possible.
0 commit comments