| ▲ | sshine 5 hours ago |
| The number one power move I have is Nix integration. The availability of tooling, secrets, environment and the ability for the agent to modify its own environment is... well, I don't know how people live without it. I guess you guys still install things using commands and hope everything you need is present on the next machine? Developer machine, CI environment, deployment environment: They're all derived from a single source, and compiling and running always works on every machine. In Claude I use /branch and /rename a lot (context checkpoints, fork, go back) I use sandboxing almost exclusively: https://github.com/nix-tools/bubblebox -- it's a generalisation of Numtide's claudebox with a few fixes and some feature additions (more coming). This is best compared to always running your Claude in Docker containers, except there's no Docker runtime. Works fine in WSL and nix-darwin, too. |
|
| ▲ | aqme28 3 hours ago | parent | next [-] |
| I just gave mine its own VPS. Maybe more expensive than Nix but it was very easy |
| |
| ▲ | sshine 2 hours ago | parent [-] | | I also prefer giving it a VPS over a Docker container. On my own machine I just give it a Linux User Namespace, i.e. soft virtualisation via "bubblewrap." What Docker Compose and Linux User Namespaces provide that a VPS doesn't: You can easily mount extra directories from your developer host machine in read or read+write mode. With the VPS you (most likely) need it to clone all of your resources separately, which requires SSH keys, and now you're slowly building towards an independent agentic environment, which is definitely very nice, but time-consuming, compared to piggybacking on your developer environment. Definitely the direction I'm going. |
|
|
| ▲ | professor_v 3 hours ago | parent | prev | next [-] |
| I just use docker and I don't feel I'm missing anything? |
| |
| ▲ | fer an hour ago | parent | next [-] | | nix develop ensures your dev env is the same as your build/test/prod env. At least with Python everything is a flurry of requirements.txt, Python versions, poetry, pyproject.toml, perhaps automated with direnvs, a hefty Dockerfile/docker-compose, and perhaps conda (ugh) along the way; lots of moving parts. I have a project that's mostly Rust sprinkled with C++ libs and Python helpers and it's easier to manage than the average virtualenv. Everything builds with nix build, everything runs with nix run, profiler/debugger works, IDE detects everything on any of my computers, builds and links with CUDA on x86, aarch64, NixOS, MacOS, Ubuntu or Amazon Linux. nix build can even build a Docker image for the odd need of Docker, and I haven't tried but I'm convinced that if I import the flake on my nix-config it will be built into the SD card for my Raspberry Pi just fine. It's even replaced Ansible for me, colmena all the way. | |
| ▲ | sshine 2 hours ago | parent | prev [-] | | Docker's ability to mount host directories in the container is really nice. Maybe you have some premade tooling that helps provide persistency between container invocations. But by default, closing your agent container and opening it again just wipes everything you didn't host-mount. What I'm advocating is really just the same functionality without the Docker runtime, because Linux has namespaces. Feels more like you're on your host system with exactly the minor variations you specify. Making Docker feel like your host system is possible, but I just never felt at home. | | |
| ▲ | voqv 2 hours ago | parent [-] | | yeah, you can use rocker --home --user -- $CI_IMAGE |
|
|
|
| ▲ | oulipo2 4 hours ago | parent | prev [-] |
| For those who don't want the complexity of Nix, Mise is a good compromise |
| |
| ▲ | arcanemachiner 3 hours ago | parent | next [-] | | For those who don't know: Mise is a version manager (among other things), and is said to be an improvement over its predecessor, asdf: https://mise.en.dev https://asdf-vm.com | |
| ▲ | _kblcuk_ 3 hours ago | parent | prev [-] | | +100. I also dig fnox (encrypted-secrets-in-git) and hk (pre-hooks manager that is actually fast and stays out of the way) by the same author, pretty much default for any project I start nowadays. Though I also use nix to manage my machines :-D | | |
|