{"id":34498859,"url":"https://github.com/artronics/devenv","last_synced_at":"2026-04-21T11:05:07.118Z","repository":{"id":181616372,"uuid":"666865743","full_name":"artronics/devenv","owner":"artronics","description":"A dockerized development environment","archived":false,"fork":false,"pushed_at":"2023-07-16T20:05:10.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-06T19:09:47.402Z","etag":null,"topics":["developer-tools","dotfiles"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/artronics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-07-15T21:02:37.000Z","updated_at":"2023-07-16T13:11:10.000Z","dependencies_parsed_at":"2023-07-16T14:26:58.741Z","dependency_job_id":"d3b056db-efc8-4739-9435-8444bf945376","html_url":"https://github.com/artronics/devenv","commit_stats":null,"previous_names":["artronics/devenv"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/artronics/devenv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artronics%2Fdevenv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artronics%2Fdevenv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artronics%2Fdevenv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artronics%2Fdevenv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artronics","download_url":"https://codeload.github.com/artronics/devenv/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artronics%2Fdevenv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27992992,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-23T02:00:07.087Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["developer-tools","dotfiles"],"created_at":"2025-12-24T01:57:01.914Z","updated_at":"2025-12-24T01:57:07.234Z","avatar_url":"https://github.com/artronics.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"### devenv\nA dockerized development environment with minimal configuration. It takes less than 8 minutes to build from scratch and\nit's ideal for either development or trying new configuration before committing it to your host machine.\n\n### Usage\nThe provided `Makefile` contains targets to build and run the container.\nYou first need to rename the provided `.env.sampe` i.e. `mv .env.sample .env` and fill in the values.\n\nRun `make build` to build the container. The image itself is an `ubuntu:latest` with some essential packages.\nRun `make run` to start the container. The container is bare minimum. Given that you are now inside the container, \nin order to install all the dependencies, `cd dotfiles`\nand run `make dotfiles`. On an M1 mac with decent internet speed, it takes less than 8 minutes to build everything.\n\nIf you exit the container, you can run it again, and you won't lose anything. However, it's better if you make \na snapshot of your image. To do this, run `make commit` from your host machine. This will create a new image with everything in the \ncontainer. The committed image will have a datetime tag like: `2023-07-15T214724`. This command also re-tag it as local, so \nthe next time you run `make run` this new image will be used.\n\n### Customisation\nI kept the configuration minimal. Everything is done via ansible. You can find all the configfiles in the `dotfiles/roles/dotfiles/files`\ndirectory. The `/home/\u003cusername\u003e` directory will be mounted to the container. So you can edit the configuration and run ansible\nplaybook. There is no need to build and rerun the container.\n\nIf you load the project in you IDE/editor make sure to mark `home` directory as excluded, otherwise your IDE tries to index\neverything, and possibly low memory errors.\n\n### Features\n * Programming Languages:\n   * **Python** 3.10 \u0026 3.11 (manged by [pyenv](https://github.com/pyenv/pyenv))\n   * **Node** 18 (managed by [n](https://github.com/tj/n))\n   * **Java** 17 \u0026 20 (managed by [jenv](https://github.com/jenv/jenv))\n   * **go** 1.20.6\n   * **Rust** (managed by [rustup](https://github.com/rust-lang/rustup))\n* Shell:\n  * zsh shell (using [oh-my-zsh](https://github.com/ohmyzsh/ohmyzsh))\n  * [tmux](https://github.com/tmux/tmux) \n    * build from source\n* Editors\n  * vim (Minimum configuration)\n  * neovim (Minimum configuration + [lazy](https://github.com/folke/lazy.nvim) plugin manager)\n    * build from source","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartronics%2Fdevenv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartronics%2Fdevenv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartronics%2Fdevenv/lists"}