82 lines
3.8 KiB
YAML
82 lines
3.8 KiB
YAML
uuid:
|
|
- value: 2365767c-117e-42d3-8657-09bae7d223c2
|
|
langcode:
|
|
- value: en
|
|
type:
|
|
- target_id: daily_email
|
|
target_type: node_type
|
|
target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7
|
|
revision_timestamp:
|
|
- value: '2025-06-30T07:12:21+00:00'
|
|
revision_uid:
|
|
- target_type: user
|
|
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
|
|
revision_log: { }
|
|
status:
|
|
- value: true
|
|
uid:
|
|
- target_type: user
|
|
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
|
|
title:
|
|
- value: 'Ready to go devshells'
|
|
created:
|
|
- value: '2025-06-27T07:03:24+00:00'
|
|
changed:
|
|
- value: '2025-06-30T07:12:21+00:00'
|
|
promote:
|
|
- value: false
|
|
sticky:
|
|
- value: false
|
|
default_langcode:
|
|
- value: true
|
|
revision_translation_affected:
|
|
- value: true
|
|
path:
|
|
- alias: /daily/2025/06/27/ready-go-devshells
|
|
langcode: en
|
|
body:
|
|
- value: |-
|
|
When I'm quickly evaluating or contributing to an open source project, sometimes I don't need to create a complicated local environment.
|
|
|
|
Sometimes I just need PHP, nodejs or Tailwind CSS.
|
|
|
|
So, I've made some ready to go development shells that I can use.
|
|
|
|
Each devshell has extra packages installed, such as Composer and Phpactor for PHP, and the the Tailwind CSS language server and watchman for Tailwind CSS.
|
|
|
|
The code is in a [public Git repository][0], so I can run a simple one-line command to start the devshell:
|
|
|
|
```plain
|
|
nix develop git+https://code.oliverdavies.uk/opdavies/dev-shells#php82
|
|
```
|
|
|
|
If I need PHP and Tailwind CSS, I can run the same command again to create a sub-shell with both sets of packages.
|
|
|
|
I can also use direnv to achieve the same result by adding these lines to an .envrc file:
|
|
|
|
```bash
|
|
use flake git+https://code.oliverdavies.uk/opdavies/dev-shells#php74
|
|
use flake git+https://code.oliverdavies.uk/opdavies/dev-shells#tailwindcss
|
|
```
|
|
|
|
For long-term projects, I would create and commit a [specific flake.nix file][1] to the code repository so the environment is reproducible and the packages are locked, but this works when I just need something quickly.
|
|
|
|
[0]: https://code.oliverdavies.uk/opdavies/dev-shells
|
|
[1]: /daily/2025/06/26/project-specific-dependencies-nix-flakes
|
|
format: markdown
|
|
processed: |
|
|
<p>When I'm quickly evaluating or contributing to an open source project, sometimes I don't need to create a complicated local environment.</p>
|
|
<p>Sometimes I just need PHP, nodejs or Tailwind CSS.</p>
|
|
<p>So, I've made some ready to go development shells that I can use.</p>
|
|
<p>Each devshell has extra packages installed, such as Composer and Phpactor for PHP, and the the Tailwind CSS language server and watchman for Tailwind CSS.</p>
|
|
<p>The code is in a <a href="https://code.oliverdavies.uk/opdavies/dev-shells">public Git repository</a>, so I can run a simple one-line command to start the devshell:</p>
|
|
<pre><code>nix develop git+https://code.oliverdavies.uk/opdavies/dev-shells#php82
|
|
</code></pre><p>If I need PHP and Tailwind CSS, I can run the same command again to create a sub-shell with both sets of packages.</p>
|
|
<p>I can also use direnv to achieve the same result by adding these lines to an .envrc file:</p>
|
|
<pre><code>use flake git+https://code.oliverdavies.uk/opdavies/dev-shells#php74
|
|
use flake git+https://code.oliverdavies.uk/opdavies/dev-shells#tailwindcss
|
|
</code></pre><p>For long-term projects, I would create and commit a <a href="/daily/2025/06/26/project-specific-dependencies-nix-flakes">specific flake.nix file</a> to the code repository so the environment is reproducible and the packages are locked, but this works when I just need something quickly.</p>
|
|
summary: ''
|
|
field_daily_email_cta:
|
|
- target_type: node
|
|
target_uuid: c74de3cf-5362-4d08-935a-a9d0d22fcb94
|