diff --git a/CHANGELOG.md b/CHANGELOG.md index 5025e80..88b54dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,17 +1,17 @@ # Changelog -## [0.1.0](https://github.com/ttybitnik/mkdevenv/compare/v0.1.0...v0.1.0) (2025-01-11) +## [0.1.0](https://github.com/ttybitnik/mkdev/compare/v0.1.0...v0.1.0) (2025-01-11) ### Features -* **ansible:** add fedora boilerplates ([0a75bcb](https://github.com/ttybitnik/mkdevenv/commit/0a75bcbe55fa54fde94f80cdb23e59d4aa20a53a)) -* **bash:** add community boilerplates ([ee75f39](https://github.com/ttybitnik/mkdevenv/commit/ee75f3911d1253bfedd55e65a6602d0d6134a511)) -* **bash:** add fedora boilerplates ([5dc2bd5](https://github.com/ttybitnik/mkdevenv/commit/5dc2bd534bde403f62366919c55d11955946fe87)) -* **c:** add fedora boilerplates ([c85d227](https://github.com/ttybitnik/mkdevenv/commit/c85d227a12e7bf6c359a5b7853d0f7814667efe8)) -* **go:** add community boilerplates ([7cd37c8](https://github.com/ttybitnik/mkdevenv/commit/7cd37c8ff1c05a8765acb3c65be65b57e4a0dd82)) -* **go:** add fedora boilerplates ([790e329](https://github.com/ttybitnik/mkdevenv/commit/790e329ad58aa5dc161cbb16f993136947d39070)) -* **guile:** add fedora boilerplates ([e42f5c6](https://github.com/ttybitnik/mkdevenv/commit/e42f5c62a176e7db1efe23abc79c4f96e8319c73)) -* **lua:** add fedora boilerplates ([70354f5](https://github.com/ttybitnik/mkdevenv/commit/70354f50740d3b90fd613aab338d7beaae3289d1)) -* **omni:** add fedora boilerplates ([e994862](https://github.com/ttybitnik/mkdevenv/commit/e994862a7741b249e8e57af1ec679b5c3419d909)) -* **project:** initial commit ([e1a9ccf](https://github.com/ttybitnik/mkdevenv/commit/e1a9ccf828850bf66aa8f9e71c2ed07e77b714f8)) +* **ansible:** add fedora boilerplates ([0a75bcb](https://github.com/ttybitnik/mkdev/commit/0a75bcbe55fa54fde94f80cdb23e59d4aa20a53a)) +* **bash:** add community boilerplates ([ee75f39](https://github.com/ttybitnik/mkdev/commit/ee75f3911d1253bfedd55e65a6602d0d6134a511)) +* **bash:** add fedora boilerplates ([5dc2bd5](https://github.com/ttybitnik/mkdev/commit/5dc2bd534bde403f62366919c55d11955946fe87)) +* **c:** add fedora boilerplates ([c85d227](https://github.com/ttybitnik/mkdev/commit/c85d227a12e7bf6c359a5b7853d0f7814667efe8)) +* **go:** add community boilerplates ([7cd37c8](https://github.com/ttybitnik/mkdev/commit/7cd37c8ff1c05a8765acb3c65be65b57e4a0dd82)) +* **go:** add fedora boilerplates ([790e329](https://github.com/ttybitnik/mkdev/commit/790e329ad58aa5dc161cbb16f993136947d39070)) +* **guile:** add fedora boilerplates ([e42f5c6](https://github.com/ttybitnik/mkdev/commit/e42f5c62a176e7db1efe23abc79c4f96e8319c73)) +* **lua:** add fedora boilerplates ([70354f5](https://github.com/ttybitnik/mkdev/commit/70354f50740d3b90fd613aab338d7beaae3289d1)) +* **omni:** add fedora boilerplates ([e994862](https://github.com/ttybitnik/mkdev/commit/e994862a7741b249e8e57af1ec679b5c3419d909)) +* **project:** initial commit ([e1a9ccf](https://github.com/ttybitnik/mkdev/commit/e1a9ccf828850bf66aa8f9e71c2ed07e77b714f8)) diff --git a/Devenv.mk b/Dev.mk similarity index 65% rename from Devenv.mk rename to Dev.mk index 704e062..a5aa095 100644 --- a/Devenv.mk +++ b/Dev.mk @@ -1,5 +1,5 @@ -# MKDEVENV 0.1.0 (x-release-please-version) -# See for more information. +# MKDEV 0.1.0 (x-release-please-version) +# See for more information. PROJECT_NAME = changeme CONTAINER_ENGINE = changeme @@ -7,15 +7,15 @@ CONTAINER_ENGINE = changeme __USER = $(or $(USER),$(shell whoami)) # Host targets/commands -.PHONY: devenv start stop clean serestore +.PHONY: dev start stop clean serestore -devenv: +dev: $(info Building development container image...) $(CONTAINER_ENGINE) build \ --build-arg USERNAME=$(__USER) \ - -f .mkdevenv/Containerfile \ - -t localhost/mkdevenv/$(PROJECT_NAME) \ + -f .mkdev/Containerfile \ + -t localhost/mkdev/$(PROJECT_NAME) \ . start: @@ -23,24 +23,24 @@ start: $(CONTAINER_ENGINE) run -it -d --replace \ $(if $(filter podman,$(CONTAINER_ENGINE)),--userns=keep-id) \ - --name mkdevenv-$(PROJECT_NAME) \ + --name mkdev-$(PROJECT_NAME) \ --volume .:/home/$(__USER)/workspace:Z \ - localhost/mkdevenv/$(PROJECT_NAME):latest + localhost/mkdev/$(PROJECT_NAME):latest - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml up -d + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml up -d stop: $(info Stopping development container...) - $(CONTAINER_ENGINE) stop mkdevenv-$(PROJECT_NAME) + $(CONTAINER_ENGINE) stop mkdev-$(PROJECT_NAME) - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml down + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml down clean: distclean $(info Removing development container and image...) - -$(CONTAINER_ENGINE) rm mkdevenv-$(PROJECT_NAME) - -$(CONTAINER_ENGINE) image rm localhost/mkdevenv/$(PROJECT_NAME) + -$(CONTAINER_ENGINE) rm mkdev-$(PROJECT_NAME) + -$(CONTAINER_ENGINE) image rm localhost/mkdev/$(PROJECT_NAME) @# $(CONTAINER_ENGINE) image prune diff --git a/Omni.mk b/Omni.mk index 49f772b..8a8df0e 100644 --- a/Omni.mk +++ b/Omni.mk @@ -1,5 +1,5 @@ -# MKDEVENV 0.1.0 (x-release-please-version) -# See for more information. +# MKDEV 0.1.0 (x-release-please-version) +# See for more information. OMNI_NAME = changeme CONTAINER_ENGINE = changeme @@ -8,15 +8,15 @@ __USER = $(or $(USER),$(shell whoami)) __AFFIX = omni-$(OMNI_NAME) # Host targets/commands -.PHONY: devenv start stop clean serestore +.PHONY: dev start stop clean serestore -devenv: +dev: $(info Building development container image...) $(CONTAINER_ENGINE) build \ --build-arg USERNAME=$(__USER) \ - -f .mkdevenv/Containerfile \ - -t localhost/mkdevenv/$(__AFFIX) \ + -f .mkdev/Containerfile \ + -t localhost/mkdev/$(__AFFIX) \ . start: @@ -24,26 +24,26 @@ start: $(CONTAINER_ENGINE) run -it -d --replace \ $(if $(filter podman,$(CONTAINER_ENGINE)),--userns=keep-id) \ - --name mkdevenv-$(__AFFIX) \ + --name mkdev-$(__AFFIX) \ --volume .:/home/$(__USER)/workspace:Z \ - --volume mkdevenv-$(__AFFIX)-cache:/home/$(__USER)/.local \ - localhost/mkdevenv/$(__AFFIX):latest + --volume mkdev-$(__AFFIX)-cache:/home/$(__USER)/.local \ + localhost/mkdev/$(__AFFIX):latest - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml up -d + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml up -d stop: $(info Stopping development container...) - $(CONTAINER_ENGINE) stop mkdevenv-$(__AFFIX) + $(CONTAINER_ENGINE) stop mkdev-$(__AFFIX) - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml down + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml down clean: distclean $(info Removing development container and image...) - -$(CONTAINER_ENGINE) rm mkdevenv-$(__AFFIX) - -$(CONTAINER_ENGINE) image rm localhost/mkdevenv/$(__AFFIX) - -$(CONTAINER_ENGINE) volume rm mkdevenv-$(__AFFIX)-cache + -$(CONTAINER_ENGINE) rm mkdev-$(__AFFIX) + -$(CONTAINER_ENGINE) image rm localhost/mkdev/$(__AFFIX) + -$(CONTAINER_ENGINE) volume rm mkdev-$(__AFFIX)-cache @# $(CONTAINER_ENGINE) image prune diff --git a/README.md b/README.md index 74f4274..34556f2 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ -# mkdevenv: consistent, isolated development +# mkdev: consistent, isolated development -**mkdevenv** is a personal collection of OCI-compliant container image boilerplates for managing isolated development environments using GNU Make. +**mkdev** is a personal collection of OCI-compliant container image boilerplates for managing isolated development environments using GNU Make. It enables a **consistent**, **open**, and **extensible** workflow by using `Containerfile` and `Makefile` as the standard points of entry. Dependencies and tools are packaged in a custom container, providing isolation and replicability of the development environment while still integrating with the `$EDITOR` on the host system. > "Don't let the development dependency hell mess with your files and processes. Containerize the development environment!" > — [Tower Guardian](https://imgflip.com/i/9gc41r), in a new take. -[![release](https://img.shields.io/github/v/release/ttybitnik/mkdevenv)](https://github.com/ttybitnik/mkdevenv/releases/latest) -[![ci/cd](https://github.com/ttybitnik/mkdevenv/actions/workflows/cicd.yaml/badge.svg)](https://github.com/ttybitnik/mkdevenv/actions/workflows/cicd.yaml) +[![release](https://img.shields.io/github/v/release/ttybitnik/mkdev)](https://github.com/ttybitnik/mkdev/releases/latest) +[![ci/cd](https://github.com/ttybitnik/mkdev/actions/workflows/cicd.yaml/badge.svg)](https://github.com/ttybitnik/mkdev/actions/workflows/cicd.yaml) [![conventional commits](https://img.shields.io/badge/conventional%20commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white)](https://conventionalcommits.org) **Example of resources on host system**: @@ -43,15 +43,15 @@ It enables a **consistent**, **open**, and **extensible** workflow by using `Con ### Setup -1. **Create a `.mkdevenv` directory** at the root of the project or environment. Only files within this path will be shared with the container. -1. **Copy the appropriate files from the [boilerplates](boilerplates/) directory** into the `.mkdevenv` directory—for example, the [ansible-fedora](boilerplates/ansible/fedora) development environment. Clone the **mkdevenv** repository to streamline this process. -1. **Move the `Makefile`** from the `.mkdevenv` directory to the root of the project or environment. +1. **Create a `.mkdev` directory** at the root of the project or environment. Only files within this path will be shared with the container. +1. **Copy the appropriate files from the [boilerplates](boilerplates/) directory** into the `.mkdev` directory—for example, the [ansible-fedora](boilerplates/ansible/fedora) development environment. Clone the **mkdev** repository to streamline this process. +1. **Move the `Makefile`** from the `.mkdev` directory to the root of the project or environment. 1. **Edit the `Makefile`** and adjust variables with `changeme` values. These variables are used for naming, managing, and running the container. #### Per-project example ``` project/ -├── .mkdevenv/ +├── .mkdev/ │ ├── Containerfile │ ├── README.md │ ├── dnf.txt @@ -62,7 +62,7 @@ project/ #### Multi-project (omni) example ``` repositories/ -├── .mkdevenv/ +├── .mkdev/ │ ├── Containerfile │ ├── README.md │ ├── apt.txt @@ -78,10 +78,10 @@ repositories/ #### Default commands on host system -- **`make devenv`**: Build the container image defined in `.mkdevenv/Containerfile`. -- **`make start`**: Start the mkdevenv container, passing the current working directory as a bind mount. -- **`make stop`**: Stop the mkdevenv container. -- **`make clean`**: Remove the mkdevenv container and its artifacts. Executes the `distclean` target first. +- **`make devenv`**: Build the container image defined in `.mkdev/Containerfile`. +- **`make start`**: Start the mkdev container, passing the current working directory as a bind mount. +- **`make stop`**: Stop the mkdev container. +- **`make clean`**: Remove the mkdev container and its artifacts. Executes the `distclean` target first. - **`make serestore`**: Restore project files context on SELinux host systems. #### Custom commands inside the container @@ -140,17 +140,17 @@ In worst-case scenarios, SSH protocol can also be used. ## Contributing -In case of unexpected behavior, please open a [bug report](https://github.com/ttybitnik/mkdevenv/issues/new?assignees=&labels=bug&projects=&template=bug_report.md&title=). +In case of unexpected behavior, please open a [bug report](https://github.com/ttybitnik/mkdev/issues/new?assignees=&labels=bug&projects=&template=bug_report.md&title=). For matters requiring privacy, such as security-related reports or patches, check the [security policy](SECURITY.md). -To contribute to **mkdevenv** boilerplates, see the [project guidelines](boilerplates/README.md). +To contribute to **mkdev** boilerplates, see the [project guidelines](boilerplates/README.md). ### Mailing list [Email workflow](https://git-send-email.io/) is also available. -Feel free to send patches, questions, or discussions related to **mkdevenv** to the [~ttybitnik/general mailing list](https://lists.sr.ht/~ttybitnik/general). +Feel free to send patches, questions, or discussions related to **mkdev** to the [~ttybitnik/general mailing list](https://lists.sr.ht/~ttybitnik/general). ## License @@ -158,4 +158,4 @@ This project is licensed under the GNU General Public License v3.0 (GPL-3.0), ** Be aware that the resulting container images may include other software subject to additional licenses, such as the base operating system, shells, and any direct or indirect dependencies of the software being contained. As with any built container image, it is the user's responsibility to ensure their use of the image complies with all relevant licenses for the software contained within. -The source code for this project is available at . +The source code for this project is available at . diff --git a/boilerplates/README.md b/boilerplates/README.md index 361335b..280f7bf 100644 --- a/boilerplates/README.md +++ b/boilerplates/README.md @@ -9,7 +9,7 @@ ## Containerfile -- **`ARG`**: Build-time argument for specifying the `USERNAME` (default value: `mkdevenv`). +- **`ARG`**: Build-time argument for specifying the `USERNAME` (default value: `mkdev`). - **`LABEL`**: Metadata instruction including `name`, `summary`, and `usage` information. - **`RUN`**: Commands for setting up the environment, including installing the **packages files**, removing cache files, and creating the non-root user. - **`WORKDIR`**: Path to the project files inside the container `/home/$USERNAME/workspace`. @@ -32,12 +32,12 @@ - **`PROJECT_NAME`**: Suffix for container and image names, restricted to letters, numbers, underscores, dots, and hyphens `[a-zA-Z0-9][a-zA-Z0-9_.-]*` (default value: `changeme`). - **`CONTAINER_ENGINE`**: Command for running the container engine, such as `podman` or `docker` (default value: `changeme`). -- Development image names with complete address format, including `localhost`, and `mkdevenv` as the namespace (e.g., `localhost/mkdevenv/$(PROJECT_NAME)`). -- Development container names prefixed with `mkdevenv-` to avoid conflicts (e.g., `mkdevenv-$(PROJECT_NAME)`). +- Development image names with complete address format, including `localhost`, and `mkdev` as the namespace (e.g., `localhost/mkdev/$(PROJECT_NAME)`). +- Development container names prefixed with `mkdev-` to avoid conflicts (e.g., `mkdev-$(PROJECT_NAME)`). ### Host targets/commands -- **`devenv`**: Target for building the development container image. +- **`dev`**: Target for building the development container image. - **`start`**: Target for starting the container. - **`stop`**: Target for stopping the container. - **`clean`**: Target for removing the container and image. @@ -59,11 +59,11 @@ - Table describing the packages installed through **packages files** for each package manager. - Basic three-steps instructions with a link for further details: ```text -1. Create a `.mkdevenv` directory at the root of the project. -2. Copy the boilerplate files into the `.mkdevenv` directory. +1. Create a `.mkdev` directory at the root of the project. +2. Copy the boilerplate files into the `.mkdev` directory. 3. Move the `Makefile` to the root of the project. -*For more information, see .* +*For more information, see .* ``` ## Complete example @@ -77,7 +77,7 @@ For a complete example, refer to any of the existing boilerplate files, such as To ensure your changes follow the guidelines, run `./linter.sh`. -The files `./Devenv.mk` (per-project) and `./Omni.mk` (multi-project) are the source of truth for each approach. Changes to these files, up to the `# Container targets/commands` section, can be propagated to the boilerplates by running `./update-makefiles.sh`. +The files `./Dev.mk` (per-project) and `./Omni.mk` (multi-project) are the source of truth for each approach. Changes to these files, up to the `# Container targets/commands` section, can be propagated to the boilerplates by running `./update-makefiles.sh`. To streamline this process in one step, run: diff --git a/boilerplates/ansible/fedora/Containerfile b/boilerplates/ansible/fedora/Containerfile index 3b19a93..97f92ba 100644 --- a/boilerplates/ansible/fedora/Containerfile +++ b/boilerplates/ansible/fedora/Containerfile @@ -1,13 +1,13 @@ -# MKDEVENV 0.1.0 (x-release-please-version) +# MKDEV 0.1.0 (x-release-please-version) FROM docker.io/fedora:latest -ARG USERNAME=mkdevenv +ARG USERNAME=mkdev -LABEL mkdevenv.name="ansible-fedora" \ - mkdevenv.summary="Image with general tools for developing Ansible-related projects" \ - mkdevenv.usage="For more information, see " +LABEL mkdev.name="ansible-fedora" \ + mkdev.summary="Image with general tools for developing Ansible-related projects" \ + mkdev.usage="For more information, see " -COPY .mkdevenv/*.txt /tmp/ +COPY .mkdev/*.txt /tmp/ RUN dnf update -y && xargs -n 1 dnf install -y < /tmp/dnf.txt && dnf clean all \ && adduser $USERNAME \ diff --git a/boilerplates/ansible/fedora/Makefile b/boilerplates/ansible/fedora/Makefile index 7e5321f..ed2c4b8 100644 --- a/boilerplates/ansible/fedora/Makefile +++ b/boilerplates/ansible/fedora/Makefile @@ -1,5 +1,5 @@ -# MKDEVENV 0.1.0 (x-release-please-version) -# See for more information. +# MKDEV 0.1.0 (x-release-please-version) +# See for more information. PROJECT_NAME = changeme CONTAINER_ENGINE = changeme @@ -7,15 +7,15 @@ CONTAINER_ENGINE = changeme __USER = $(or $(USER),$(shell whoami)) # Host targets/commands -.PHONY: devenv start stop clean serestore +.PHONY: dev start stop clean serestore -devenv: +dev: $(info Building development container image...) $(CONTAINER_ENGINE) build \ --build-arg USERNAME=$(__USER) \ - -f .mkdevenv/Containerfile \ - -t localhost/mkdevenv/$(PROJECT_NAME) \ + -f .mkdev/Containerfile \ + -t localhost/mkdev/$(PROJECT_NAME) \ . start: @@ -23,24 +23,24 @@ start: $(CONTAINER_ENGINE) run -it -d --replace \ $(if $(filter podman,$(CONTAINER_ENGINE)),--userns=keep-id) \ - --name mkdevenv-$(PROJECT_NAME) \ + --name mkdev-$(PROJECT_NAME) \ --volume .:/home/$(__USER)/workspace:Z \ - localhost/mkdevenv/$(PROJECT_NAME):latest + localhost/mkdev/$(PROJECT_NAME):latest - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml up -d + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml up -d stop: $(info Stopping development container...) - $(CONTAINER_ENGINE) stop mkdevenv-$(PROJECT_NAME) + $(CONTAINER_ENGINE) stop mkdev-$(PROJECT_NAME) - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml down + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml down clean: distclean $(info Removing development container and image...) - -$(CONTAINER_ENGINE) rm mkdevenv-$(PROJECT_NAME) - -$(CONTAINER_ENGINE) image rm localhost/mkdevenv/$(PROJECT_NAME) + -$(CONTAINER_ENGINE) rm mkdev-$(PROJECT_NAME) + -$(CONTAINER_ENGINE) image rm localhost/mkdev/$(PROJECT_NAME) @# $(CONTAINER_ENGINE) image prune diff --git a/boilerplates/ansible/fedora/README.md b/boilerplates/ansible/fedora/README.md index 6249b1f..8114db7 100644 --- a/boilerplates/ansible/fedora/README.md +++ b/boilerplates/ansible/fedora/README.md @@ -10,8 +10,8 @@ | python3-pip | | | | ansible-core | | | -1. Create a `.mkdevenv` directory at the root of the project. -2. Copy all the boilerplate files into the `.mkdevenv` directory. +1. Create a `.mkdev` directory at the root of the project. +2. Copy all the boilerplate files into the `.mkdev` directory. 3. Move the `Makefile` to the root of the project. -*For more information, see .* +*For more information, see .* diff --git a/boilerplates/bash/community/Containerfile b/boilerplates/bash/community/Containerfile index a1e0d5f..756e147 100644 --- a/boilerplates/bash/community/Containerfile +++ b/boilerplates/bash/community/Containerfile @@ -1,13 +1,13 @@ -# MKDEVENV 0.1.0 (x-release-please-version) +# MKDEV 0.1.0 (x-release-please-version) FROM docker.io/bash:latest -ARG USERNAME=mkdevenv +ARG USERNAME=mkdev -LABEL mkdevenv.name="bash-community" \ - mkdevenv.summary="Image with general tools for developing Bash-related projects" \ - mkdevenv.usage="For more information, see " +LABEL mkdev.name="bash-community" \ + mkdev.summary="Image with general tools for developing Bash-related projects" \ + mkdev.usage="For more information, see " -COPY .mkdevenv/*.txt /tmp/ +COPY .mkdev/*.txt /tmp/ RUN xargs -n 1 apk add --no-cache < /tmp/apk.txt \ && adduser -D $USERNAME \ diff --git a/boilerplates/bash/community/Makefile b/boilerplates/bash/community/Makefile index cd84f45..fd98610 100644 --- a/boilerplates/bash/community/Makefile +++ b/boilerplates/bash/community/Makefile @@ -1,5 +1,5 @@ -# MKDEVENV 0.1.0 (x-release-please-version) -# See for more information. +# MKDEV 0.1.0 (x-release-please-version) +# See for more information. PROJECT_NAME = changeme CONTAINER_ENGINE = changeme @@ -7,15 +7,15 @@ CONTAINER_ENGINE = changeme __USER = $(or $(USER),$(shell whoami)) # Host targets/commands -.PHONY: devenv start stop clean serestore +.PHONY: dev start stop clean serestore -devenv: +dev: $(info Building development container image...) $(CONTAINER_ENGINE) build \ --build-arg USERNAME=$(__USER) \ - -f .mkdevenv/Containerfile \ - -t localhost/mkdevenv/$(PROJECT_NAME) \ + -f .mkdev/Containerfile \ + -t localhost/mkdev/$(PROJECT_NAME) \ . start: @@ -23,24 +23,24 @@ start: $(CONTAINER_ENGINE) run -it -d --replace \ $(if $(filter podman,$(CONTAINER_ENGINE)),--userns=keep-id) \ - --name mkdevenv-$(PROJECT_NAME) \ + --name mkdev-$(PROJECT_NAME) \ --volume .:/home/$(__USER)/workspace:Z \ - localhost/mkdevenv/$(PROJECT_NAME):latest + localhost/mkdev/$(PROJECT_NAME):latest - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml up -d + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml up -d stop: $(info Stopping development container...) - $(CONTAINER_ENGINE) stop mkdevenv-$(PROJECT_NAME) + $(CONTAINER_ENGINE) stop mkdev-$(PROJECT_NAME) - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml down + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml down clean: distclean $(info Removing development container and image...) - -$(CONTAINER_ENGINE) rm mkdevenv-$(PROJECT_NAME) - -$(CONTAINER_ENGINE) image rm localhost/mkdevenv/$(PROJECT_NAME) + -$(CONTAINER_ENGINE) rm mkdev-$(PROJECT_NAME) + -$(CONTAINER_ENGINE) image rm localhost/mkdev/$(PROJECT_NAME) @# $(CONTAINER_ENGINE) image prune diff --git a/boilerplates/bash/community/README.md b/boilerplates/bash/community/README.md index d9b6f17..6a3d0a7 100644 --- a/boilerplates/bash/community/README.md +++ b/boilerplates/bash/community/README.md @@ -9,8 +9,8 @@ | shfmt | | | npm | | -1. Create a `.mkdevenv` directory at the root of the project. -2. Copy all the boilerplate files into the `.mkdevenv` directory. +1. Create a `.mkdev` directory at the root of the project. +2. Copy all the boilerplate files into the `.mkdev` directory. 3. Move the `Makefile` to the root of the project. -*For more information, see .* +*For more information, see .* diff --git a/boilerplates/bash/fedora/Containerfile b/boilerplates/bash/fedora/Containerfile index 00454be..f826397 100644 --- a/boilerplates/bash/fedora/Containerfile +++ b/boilerplates/bash/fedora/Containerfile @@ -1,13 +1,13 @@ -# MKDEVENV 0.1.0 (x-release-please-version) +# MKDEV 0.1.0 (x-release-please-version) FROM docker.io/fedora:latest -ARG USERNAME=mkdevenv +ARG USERNAME=mkdev -LABEL mkdevenv.name="fedora-bash" \ - mkdevenv.summary="Image with general tools for developing Bash-related projects" \ - mkdevenv.usage="For more information, see " +LABEL mkdev.name="fedora-bash" \ + mkdev.summary="Image with general tools for developing Bash-related projects" \ + mkdev.usage="For more information, see " -COPY .mkdevenv/*.txt /tmp/ +COPY .mkdev/*.txt /tmp/ RUN dnf update -y && xargs -n 1 dnf install -y < /tmp/dnf.txt && dnf clean all \ && adduser $USERNAME \ diff --git a/boilerplates/bash/fedora/Makefile b/boilerplates/bash/fedora/Makefile index cd84f45..fd98610 100644 --- a/boilerplates/bash/fedora/Makefile +++ b/boilerplates/bash/fedora/Makefile @@ -1,5 +1,5 @@ -# MKDEVENV 0.1.0 (x-release-please-version) -# See for more information. +# MKDEV 0.1.0 (x-release-please-version) +# See for more information. PROJECT_NAME = changeme CONTAINER_ENGINE = changeme @@ -7,15 +7,15 @@ CONTAINER_ENGINE = changeme __USER = $(or $(USER),$(shell whoami)) # Host targets/commands -.PHONY: devenv start stop clean serestore +.PHONY: dev start stop clean serestore -devenv: +dev: $(info Building development container image...) $(CONTAINER_ENGINE) build \ --build-arg USERNAME=$(__USER) \ - -f .mkdevenv/Containerfile \ - -t localhost/mkdevenv/$(PROJECT_NAME) \ + -f .mkdev/Containerfile \ + -t localhost/mkdev/$(PROJECT_NAME) \ . start: @@ -23,24 +23,24 @@ start: $(CONTAINER_ENGINE) run -it -d --replace \ $(if $(filter podman,$(CONTAINER_ENGINE)),--userns=keep-id) \ - --name mkdevenv-$(PROJECT_NAME) \ + --name mkdev-$(PROJECT_NAME) \ --volume .:/home/$(__USER)/workspace:Z \ - localhost/mkdevenv/$(PROJECT_NAME):latest + localhost/mkdev/$(PROJECT_NAME):latest - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml up -d + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml up -d stop: $(info Stopping development container...) - $(CONTAINER_ENGINE) stop mkdevenv-$(PROJECT_NAME) + $(CONTAINER_ENGINE) stop mkdev-$(PROJECT_NAME) - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml down + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml down clean: distclean $(info Removing development container and image...) - -$(CONTAINER_ENGINE) rm mkdevenv-$(PROJECT_NAME) - -$(CONTAINER_ENGINE) image rm localhost/mkdevenv/$(PROJECT_NAME) + -$(CONTAINER_ENGINE) rm mkdev-$(PROJECT_NAME) + -$(CONTAINER_ENGINE) image rm localhost/mkdev/$(PROJECT_NAME) @# $(CONTAINER_ENGINE) image prune diff --git a/boilerplates/bash/fedora/README.md b/boilerplates/bash/fedora/README.md index 0ff67b0..24cac4b 100644 --- a/boilerplates/bash/fedora/README.md +++ b/boilerplates/bash/fedora/README.md @@ -9,8 +9,8 @@ | shfmt | | | npm | | -1. Create a `.mkdevenv` directory at the root of the project. -2. Copy all the boilerplate files into the `.mkdevenv` directory. +1. Create a `.mkdev` directory at the root of the project. +2. Copy all the boilerplate files into the `.mkdev` directory. 3. Move the `Makefile` to the root of the project. -*For more information, see .* +*For more information, see .* diff --git a/boilerplates/c/fedora/Containerfile b/boilerplates/c/fedora/Containerfile index 5609422..0e9d40e 100644 --- a/boilerplates/c/fedora/Containerfile +++ b/boilerplates/c/fedora/Containerfile @@ -1,13 +1,13 @@ -# MKDEVENV 0.1.0 (x-release-please-version) +# MKDEV 0.1.0 (x-release-please-version) FROM docker.io/fedora:latest -ARG USERNAME=mkdevenv +ARG USERNAME=mkdev -LABEL mkdevenv.name="c-fedora" \ - mkdevenv.summary="Image with general tools for developing C-related projects" \ - mkdevenv.usage="For more information, see " +LABEL mkdev.name="c-fedora" \ + mkdev.summary="Image with general tools for developing C-related projects" \ + mkdev.usage="For more information, see " -COPY .mkdevenv/*.txt /tmp/ +COPY .mkdev/*.txt /tmp/ RUN dnf update -y && xargs -n 1 dnf install -y < /tmp/dnf.txt && dnf clean all \ && adduser $USERNAME \ diff --git a/boilerplates/c/fedora/Makefile b/boilerplates/c/fedora/Makefile index 62482f4..cdfc29d 100644 --- a/boilerplates/c/fedora/Makefile +++ b/boilerplates/c/fedora/Makefile @@ -1,5 +1,5 @@ -# MKDEVENV 0.1.0 (x-release-please-version) -# See for more information. +# MKDEV 0.1.0 (x-release-please-version) +# See for more information. PROJECT_NAME = changeme CONTAINER_ENGINE = changeme @@ -7,15 +7,15 @@ CONTAINER_ENGINE = changeme __USER = $(or $(USER),$(shell whoami)) # Host targets/commands -.PHONY: devenv start stop clean serestore +.PHONY: dev start stop clean serestore -devenv: +dev: $(info Building development container image...) $(CONTAINER_ENGINE) build \ --build-arg USERNAME=$(__USER) \ - -f .mkdevenv/Containerfile \ - -t localhost/mkdevenv/$(PROJECT_NAME) \ + -f .mkdev/Containerfile \ + -t localhost/mkdev/$(PROJECT_NAME) \ . start: @@ -23,24 +23,24 @@ start: $(CONTAINER_ENGINE) run -it -d --replace \ $(if $(filter podman,$(CONTAINER_ENGINE)),--userns=keep-id) \ - --name mkdevenv-$(PROJECT_NAME) \ + --name mkdev-$(PROJECT_NAME) \ --volume .:/home/$(__USER)/workspace:Z \ - localhost/mkdevenv/$(PROJECT_NAME):latest + localhost/mkdev/$(PROJECT_NAME):latest - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml up -d + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml up -d stop: $(info Stopping development container...) - $(CONTAINER_ENGINE) stop mkdevenv-$(PROJECT_NAME) + $(CONTAINER_ENGINE) stop mkdev-$(PROJECT_NAME) - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml down + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml down clean: distclean $(info Removing development container and image...) - -$(CONTAINER_ENGINE) rm mkdevenv-$(PROJECT_NAME) - -$(CONTAINER_ENGINE) image rm localhost/mkdevenv/$(PROJECT_NAME) + -$(CONTAINER_ENGINE) rm mkdev-$(PROJECT_NAME) + -$(CONTAINER_ENGINE) image rm localhost/mkdev/$(PROJECT_NAME) @# $(CONTAINER_ENGINE) image prune diff --git a/boilerplates/c/fedora/README.md b/boilerplates/c/fedora/README.md index 9128ef6..6c13e46 100644 --- a/boilerplates/c/fedora/README.md +++ b/boilerplates/c/fedora/README.md @@ -10,8 +10,8 @@ | clang-tools-extra | | gdb | -1. Create a `.mkdevenv` directory at the root of the project. -2. Copy all the boilerplate files into the `.mkdevenv` directory. +1. Create a `.mkdev` directory at the root of the project. +2. Copy all the boilerplate files into the `.mkdev` directory. 3. Move the `Makefile` to the root of the project. -*For more information, see .* +*For more information, see .* diff --git a/boilerplates/go/community/Containerfile b/boilerplates/go/community/Containerfile index 2aaac25..e9eb579 100644 --- a/boilerplates/go/community/Containerfile +++ b/boilerplates/go/community/Containerfile @@ -1,13 +1,13 @@ -# MKDEVENV 0.1.0 (x-release-please-version) +# MKDEV 0.1.0 (x-release-please-version) FROM docker.io/golang:latest -ARG USERNAME=mkdevenv +ARG USERNAME=mkdev -LABEL mkdevenv.name="go-community" \ - mkdevenv.summary="Image with general tools for developing Go-related projects" \ - mkdevenv.usage="For more information, see " +LABEL mkdev.name="go-community" \ + mkdev.summary="Image with general tools for developing Go-related projects" \ + mkdev.usage="For more information, see " -COPY .mkdevenv/*.txt /tmp/ +COPY .mkdev/*.txt /tmp/ RUN apt-get update && xargs -n 1 apt-get install -y < /tmp/apt.txt \ && apt-get clean \ diff --git a/boilerplates/go/community/Makefile b/boilerplates/go/community/Makefile index 38c61c2..cf95154 100644 --- a/boilerplates/go/community/Makefile +++ b/boilerplates/go/community/Makefile @@ -1,5 +1,5 @@ -# MKDEVENV 0.1.0 (x-release-please-version) -# See for more information. +# MKDEV 0.1.0 (x-release-please-version) +# See for more information. PROJECT_NAME = changeme CONTAINER_ENGINE = changeme @@ -7,15 +7,15 @@ CONTAINER_ENGINE = changeme __USER = $(or $(USER),$(shell whoami)) # Host targets/commands -.PHONY: devenv start stop clean serestore +.PHONY: dev start stop clean serestore -devenv: +dev: $(info Building development container image...) $(CONTAINER_ENGINE) build \ --build-arg USERNAME=$(__USER) \ - -f .mkdevenv/Containerfile \ - -t localhost/mkdevenv/$(PROJECT_NAME) \ + -f .mkdev/Containerfile \ + -t localhost/mkdev/$(PROJECT_NAME) \ . start: @@ -23,24 +23,24 @@ start: $(CONTAINER_ENGINE) run -it -d --replace \ $(if $(filter podman,$(CONTAINER_ENGINE)),--userns=keep-id) \ - --name mkdevenv-$(PROJECT_NAME) \ + --name mkdev-$(PROJECT_NAME) \ --volume .:/home/$(__USER)/workspace:Z \ - localhost/mkdevenv/$(PROJECT_NAME):latest + localhost/mkdev/$(PROJECT_NAME):latest - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml up -d + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml up -d stop: $(info Stopping development container...) - $(CONTAINER_ENGINE) stop mkdevenv-$(PROJECT_NAME) + $(CONTAINER_ENGINE) stop mkdev-$(PROJECT_NAME) - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml down + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml down clean: distclean $(info Removing development container and image...) - -$(CONTAINER_ENGINE) rm mkdevenv-$(PROJECT_NAME) - -$(CONTAINER_ENGINE) image rm localhost/mkdevenv/$(PROJECT_NAME) + -$(CONTAINER_ENGINE) rm mkdev-$(PROJECT_NAME) + -$(CONTAINER_ENGINE) image rm localhost/mkdev/$(PROJECT_NAME) @# $(CONTAINER_ENGINE) image prune diff --git a/boilerplates/go/community/README.md b/boilerplates/go/community/README.md index f016ec8..7b593bd 100644 --- a/boilerplates/go/community/README.md +++ b/boilerplates/go/community/README.md @@ -8,8 +8,8 @@ | golang | goreleaser | | | delve | -1. Create a `.mkdevenv` directory at the root of the project. -2. Copy all the boilerplate files into the `.mkdevenv` directory. +1. Create a `.mkdev` directory at the root of the project. +2. Copy all the boilerplate files into the `.mkdev` directory. 3. Move the `Makefile` to the root of the project. -*For more information, see .* +*For more information, see .* diff --git a/boilerplates/go/fedora/Containerfile b/boilerplates/go/fedora/Containerfile index 9318f62..41d7bf7 100644 --- a/boilerplates/go/fedora/Containerfile +++ b/boilerplates/go/fedora/Containerfile @@ -1,13 +1,13 @@ -# MKDEVENV 0.1.0 (x-release-please-version) +# MKDEV 0.1.0 (x-release-please-version) FROM docker.io/fedora:latest -ARG USERNAME=mkdevenv +ARG USERNAME=mkdev -LABEL mkdevenv.name="go-fedora" \ - mkdevenv.summary="Image with general tools for developing Go-related projects" \ - mkdevenv.usage="For more information, see " +LABEL mkdev.name="go-fedora" \ + mkdev.summary="Image with general tools for developing Go-related projects" \ + mkdev.usage="For more information, see " -COPY .mkdevenv/*.txt /tmp/ +COPY .mkdev/*.txt /tmp/ RUN dnf update -y && xargs -n 1 dnf install -y < /tmp/dnf.txt && dnf clean all \ && adduser $USERNAME \ diff --git a/boilerplates/go/fedora/Makefile b/boilerplates/go/fedora/Makefile index 38c61c2..cf95154 100644 --- a/boilerplates/go/fedora/Makefile +++ b/boilerplates/go/fedora/Makefile @@ -1,5 +1,5 @@ -# MKDEVENV 0.1.0 (x-release-please-version) -# See for more information. +# MKDEV 0.1.0 (x-release-please-version) +# See for more information. PROJECT_NAME = changeme CONTAINER_ENGINE = changeme @@ -7,15 +7,15 @@ CONTAINER_ENGINE = changeme __USER = $(or $(USER),$(shell whoami)) # Host targets/commands -.PHONY: devenv start stop clean serestore +.PHONY: dev start stop clean serestore -devenv: +dev: $(info Building development container image...) $(CONTAINER_ENGINE) build \ --build-arg USERNAME=$(__USER) \ - -f .mkdevenv/Containerfile \ - -t localhost/mkdevenv/$(PROJECT_NAME) \ + -f .mkdev/Containerfile \ + -t localhost/mkdev/$(PROJECT_NAME) \ . start: @@ -23,24 +23,24 @@ start: $(CONTAINER_ENGINE) run -it -d --replace \ $(if $(filter podman,$(CONTAINER_ENGINE)),--userns=keep-id) \ - --name mkdevenv-$(PROJECT_NAME) \ + --name mkdev-$(PROJECT_NAME) \ --volume .:/home/$(__USER)/workspace:Z \ - localhost/mkdevenv/$(PROJECT_NAME):latest + localhost/mkdev/$(PROJECT_NAME):latest - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml up -d + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml up -d stop: $(info Stopping development container...) - $(CONTAINER_ENGINE) stop mkdevenv-$(PROJECT_NAME) + $(CONTAINER_ENGINE) stop mkdev-$(PROJECT_NAME) - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml down + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml down clean: distclean $(info Removing development container and image...) - -$(CONTAINER_ENGINE) rm mkdevenv-$(PROJECT_NAME) - -$(CONTAINER_ENGINE) image rm localhost/mkdevenv/$(PROJECT_NAME) + -$(CONTAINER_ENGINE) rm mkdev-$(PROJECT_NAME) + -$(CONTAINER_ENGINE) image rm localhost/mkdev/$(PROJECT_NAME) @# $(CONTAINER_ENGINE) image prune diff --git a/boilerplates/go/fedora/README.md b/boilerplates/go/fedora/README.md index b92b022..5c1fcb5 100644 --- a/boilerplates/go/fedora/README.md +++ b/boilerplates/go/fedora/README.md @@ -8,8 +8,8 @@ | golang | goreleaser | | | delve | -1. Create a `.mkdevenv` directory at the root of the project. -2. Copy all the boilerplate files into the `.mkdevenv` directory. +1. Create a `.mkdev` directory at the root of the project. +2. Copy all the boilerplate files into the `.mkdev` directory. 3. Move the `Makefile` to the root of the project. -*For more information, see .* +*For more information, see .* diff --git a/boilerplates/guile/fedora/Containerfile b/boilerplates/guile/fedora/Containerfile index cc7fd1f..a4fbbe2 100644 --- a/boilerplates/guile/fedora/Containerfile +++ b/boilerplates/guile/fedora/Containerfile @@ -1,13 +1,13 @@ -# MKDEVENV 0.1.0 (x-release-please-version) +# MKDEV 0.1.0 (x-release-please-version) FROM docker.io/fedora:latest -ARG USERNAME=mkdevenv +ARG USERNAME=mkdev -LABEL mkdevenv.name="fedora-guile" \ - mkdevenv.summary="Image with general tools for developing Guile-related projects" \ - mkdevenv.usage="For more information, see " +LABEL mkdev.name="fedora-guile" \ + mkdev.summary="Image with general tools for developing Guile-related projects" \ + mkdev.usage="For more information, see " -COPY .mkdevenv/*.txt /tmp/ +COPY .mkdev/*.txt /tmp/ RUN dnf update -y && xargs -n 1 dnf install -y < /tmp/dnf.txt && dnf clean all \ && adduser $USERNAME \ diff --git a/boilerplates/guile/fedora/Makefile b/boilerplates/guile/fedora/Makefile index 704e062..a5aa095 100644 --- a/boilerplates/guile/fedora/Makefile +++ b/boilerplates/guile/fedora/Makefile @@ -1,5 +1,5 @@ -# MKDEVENV 0.1.0 (x-release-please-version) -# See for more information. +# MKDEV 0.1.0 (x-release-please-version) +# See for more information. PROJECT_NAME = changeme CONTAINER_ENGINE = changeme @@ -7,15 +7,15 @@ CONTAINER_ENGINE = changeme __USER = $(or $(USER),$(shell whoami)) # Host targets/commands -.PHONY: devenv start stop clean serestore +.PHONY: dev start stop clean serestore -devenv: +dev: $(info Building development container image...) $(CONTAINER_ENGINE) build \ --build-arg USERNAME=$(__USER) \ - -f .mkdevenv/Containerfile \ - -t localhost/mkdevenv/$(PROJECT_NAME) \ + -f .mkdev/Containerfile \ + -t localhost/mkdev/$(PROJECT_NAME) \ . start: @@ -23,24 +23,24 @@ start: $(CONTAINER_ENGINE) run -it -d --replace \ $(if $(filter podman,$(CONTAINER_ENGINE)),--userns=keep-id) \ - --name mkdevenv-$(PROJECT_NAME) \ + --name mkdev-$(PROJECT_NAME) \ --volume .:/home/$(__USER)/workspace:Z \ - localhost/mkdevenv/$(PROJECT_NAME):latest + localhost/mkdev/$(PROJECT_NAME):latest - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml up -d + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml up -d stop: $(info Stopping development container...) - $(CONTAINER_ENGINE) stop mkdevenv-$(PROJECT_NAME) + $(CONTAINER_ENGINE) stop mkdev-$(PROJECT_NAME) - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml down + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml down clean: distclean $(info Removing development container and image...) - -$(CONTAINER_ENGINE) rm mkdevenv-$(PROJECT_NAME) - -$(CONTAINER_ENGINE) image rm localhost/mkdevenv/$(PROJECT_NAME) + -$(CONTAINER_ENGINE) rm mkdev-$(PROJECT_NAME) + -$(CONTAINER_ENGINE) image rm localhost/mkdev/$(PROJECT_NAME) @# $(CONTAINER_ENGINE) image prune diff --git a/boilerplates/guile/fedora/README.md b/boilerplates/guile/fedora/README.md index f73138e..629245e 100644 --- a/boilerplates/guile/fedora/README.md +++ b/boilerplates/guile/fedora/README.md @@ -7,8 +7,8 @@ | ripgrep | | guile | -1. Create a `.mkdevenv` directory at the root of the project. -2. Copy all the boilerplate files into the `.mkdevenv` directory. +1. Create a `.mkdev` directory at the root of the project. +2. Copy all the boilerplate files into the `.mkdev` directory. 3. Move the `Makefile` to the root of the project. -*For more information, see .* +*For more information, see .* diff --git a/boilerplates/lua/fedora/Containerfile b/boilerplates/lua/fedora/Containerfile index 1bf485a..cf4c5fa 100644 --- a/boilerplates/lua/fedora/Containerfile +++ b/boilerplates/lua/fedora/Containerfile @@ -1,13 +1,13 @@ -# MKDEVENV 0.1.0 (x-release-please-version) +# MKDEV 0.1.0 (x-release-please-version) FROM docker.io/fedora:latest -ARG USERNAME=mkdevenv +ARG USERNAME=mkdev -LABEL mkdevenv.name="lua-fedora" \ - mkdevenv.summary="Image with general tools for developing Lua-related projects" \ - mkdevenv.usage="For more information, see " +LABEL mkdev.name="lua-fedora" \ + mkdev.summary="Image with general tools for developing Lua-related projects" \ + mkdev.usage="For more information, see " -COPY .mkdevenv/*.txt /tmp/ +COPY .mkdev/*.txt /tmp/ RUN dnf update -y && xargs -n 1 dnf install -y < /tmp/dnf.txt && dnf clean all \ && adduser $USERNAME \ diff --git a/boilerplates/lua/fedora/Makefile b/boilerplates/lua/fedora/Makefile index 704e062..a5aa095 100644 --- a/boilerplates/lua/fedora/Makefile +++ b/boilerplates/lua/fedora/Makefile @@ -1,5 +1,5 @@ -# MKDEVENV 0.1.0 (x-release-please-version) -# See for more information. +# MKDEV 0.1.0 (x-release-please-version) +# See for more information. PROJECT_NAME = changeme CONTAINER_ENGINE = changeme @@ -7,15 +7,15 @@ CONTAINER_ENGINE = changeme __USER = $(or $(USER),$(shell whoami)) # Host targets/commands -.PHONY: devenv start stop clean serestore +.PHONY: dev start stop clean serestore -devenv: +dev: $(info Building development container image...) $(CONTAINER_ENGINE) build \ --build-arg USERNAME=$(__USER) \ - -f .mkdevenv/Containerfile \ - -t localhost/mkdevenv/$(PROJECT_NAME) \ + -f .mkdev/Containerfile \ + -t localhost/mkdev/$(PROJECT_NAME) \ . start: @@ -23,24 +23,24 @@ start: $(CONTAINER_ENGINE) run -it -d --replace \ $(if $(filter podman,$(CONTAINER_ENGINE)),--userns=keep-id) \ - --name mkdevenv-$(PROJECT_NAME) \ + --name mkdev-$(PROJECT_NAME) \ --volume .:/home/$(__USER)/workspace:Z \ - localhost/mkdevenv/$(PROJECT_NAME):latest + localhost/mkdev/$(PROJECT_NAME):latest - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml up -d + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml up -d stop: $(info Stopping development container...) - $(CONTAINER_ENGINE) stop mkdevenv-$(PROJECT_NAME) + $(CONTAINER_ENGINE) stop mkdev-$(PROJECT_NAME) - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml down + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml down clean: distclean $(info Removing development container and image...) - -$(CONTAINER_ENGINE) rm mkdevenv-$(PROJECT_NAME) - -$(CONTAINER_ENGINE) image rm localhost/mkdevenv/$(PROJECT_NAME) + -$(CONTAINER_ENGINE) rm mkdev-$(PROJECT_NAME) + -$(CONTAINER_ENGINE) image rm localhost/mkdev/$(PROJECT_NAME) @# $(CONTAINER_ENGINE) image prune diff --git a/boilerplates/lua/fedora/README.md b/boilerplates/lua/fedora/README.md index e5e7fe2..d21dd58 100644 --- a/boilerplates/lua/fedora/README.md +++ b/boilerplates/lua/fedora/README.md @@ -9,8 +9,8 @@ | ripgrep | | | lua | | -1. Create a `.mkdevenv` directory at the root of the project. -2. Copy all the boilerplate files into the `.mkdevenv` directory. +1. Create a `.mkdev` directory at the root of the project. +2. Copy all the boilerplate files into the `.mkdev` directory. 3. Move the `Makefile` to the root of the project. -*For more information, see .* +*For more information, see .* diff --git a/boilerplates/omni/fedora/Containerfile b/boilerplates/omni/fedora/Containerfile index 8fc4ece..892349d 100644 --- a/boilerplates/omni/fedora/Containerfile +++ b/boilerplates/omni/fedora/Containerfile @@ -1,13 +1,13 @@ -# MKDEVENV 0.1.0 (x-release-please-version) +# MKDEV 0.1.0 (x-release-please-version) FROM docker.io/fedora:latest -ARG USERNAME=mkdevenv +ARG USERNAME=mkdev -LABEL mkdevenv.name="omni-fedora" \ - mkdevenv.summary="Image with general tools for developing multiple projects" \ - mkdevenv.usage="For more information, see " +LABEL mkdev.name="omni-fedora" \ + mkdev.summary="Image with general tools for developing multiple projects" \ + mkdev.usage="For more information, see " -COPY .mkdevenv/*.txt /tmp/ +COPY .mkdev/*.txt /tmp/ RUN dnf update -y && xargs -n 1 dnf install -y < /tmp/dnf.txt && dnf clean all \ && adduser $USERNAME \ diff --git a/boilerplates/omni/fedora/Makefile b/boilerplates/omni/fedora/Makefile index 00db8d6..1e4b896 100644 --- a/boilerplates/omni/fedora/Makefile +++ b/boilerplates/omni/fedora/Makefile @@ -1,5 +1,5 @@ -# MKDEVENV 0.1.0 (x-release-please-version) -# See for more information. +# MKDEV 0.1.0 (x-release-please-version) +# See for more information. OMNI_NAME = changeme CONTAINER_ENGINE = changeme @@ -8,15 +8,15 @@ __USER = $(or $(USER),$(shell whoami)) __AFFIX = omni-$(OMNI_NAME) # Host targets/commands -.PHONY: devenv start stop clean serestore +.PHONY: dev start stop clean serestore -devenv: +dev: $(info Building development container image...) $(CONTAINER_ENGINE) build \ --build-arg USERNAME=$(__USER) \ - -f .mkdevenv/Containerfile \ - -t localhost/mkdevenv/$(__AFFIX) \ + -f .mkdev/Containerfile \ + -t localhost/mkdev/$(__AFFIX) \ . start: @@ -24,26 +24,26 @@ start: $(CONTAINER_ENGINE) run -it -d --replace \ $(if $(filter podman,$(CONTAINER_ENGINE)),--userns=keep-id) \ - --name mkdevenv-$(__AFFIX) \ + --name mkdev-$(__AFFIX) \ --volume .:/home/$(__USER)/workspace:Z \ - --volume mkdevenv-$(__AFFIX)-cache:/home/$(__USER)/.local \ - localhost/mkdevenv/$(__AFFIX):latest + --volume mkdev-$(__AFFIX)-cache:/home/$(__USER)/.local \ + localhost/mkdev/$(__AFFIX):latest - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml up -d + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml up -d stop: $(info Stopping development container...) - $(CONTAINER_ENGINE) stop mkdevenv-$(__AFFIX) + $(CONTAINER_ENGINE) stop mkdev-$(__AFFIX) - @# $(CONTAINER_ENGINE) compose .mkdevenv/compose.yaml down + @# $(CONTAINER_ENGINE) compose .mkdev/compose.yaml down clean: distclean $(info Removing development container and image...) - -$(CONTAINER_ENGINE) rm mkdevenv-$(__AFFIX) - -$(CONTAINER_ENGINE) image rm localhost/mkdevenv/$(__AFFIX) - -$(CONTAINER_ENGINE) volume rm mkdevenv-$(__AFFIX)-cache + -$(CONTAINER_ENGINE) rm mkdev-$(__AFFIX) + -$(CONTAINER_ENGINE) image rm localhost/mkdev/$(__AFFIX) + -$(CONTAINER_ENGINE) volume rm mkdev-$(__AFFIX)-cache @# $(CONTAINER_ENGINE) image prune diff --git a/boilerplates/omni/fedora/README.md b/boilerplates/omni/fedora/README.md index b718d72..9d0b208 100644 --- a/boilerplates/omni/fedora/README.md +++ b/boilerplates/omni/fedora/README.md @@ -19,8 +19,8 @@ | clang-tools-extra | | | | | gdb | | | | -1. Create a `.mkdevenv` directory at the root of the project. -2. Copy all the boilerplate files into the `.mkdevenv` directory. +1. Create a `.mkdev` directory at the root of the project. +2. Copy all the boilerplate files into the `.mkdev` directory. 3. Move the `Makefile` to the root of the project. -*For more information, see .* +*For more information, see .* diff --git a/configs/hadolint.yaml b/configs/hadolint.yaml index 3159f0f..b97e3f9 100644 --- a/configs/hadolint.yaml +++ b/configs/hadolint.yaml @@ -5,9 +5,9 @@ ignored: - DL3059 # consecutive run (info) - DL3048 # label key (style) - bugged thus disabled label-schema: - mkdevenv.name: text - mkdevenv.summary: text - mkdevenv.usage: text + mkdev.name: text + mkdev.summary: text + mkdev.usage: text strict-labels: true trustedRegistries: - docker.io diff --git a/configs/release-please-config.json b/configs/release-please-config.json index 478dee7..545c0ce 100644 --- a/configs/release-please-config.json +++ b/configs/release-please-config.json @@ -73,7 +73,7 @@ ".": { "extra-files": [ "Omni.mk", - "Devenv.mk", + "Dev.mk", { "type": "generic", "path": "boilerplates/*/*/Makefile", diff --git a/linter.sh b/linter.sh index e98a0f7..d16364f 100755 --- a/linter.sh +++ b/linter.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# MKDEVENV - Boilerplates for isolated development environments +# MKDEV - Boilerplates for isolated development environments # Copyright (C) 2024 Vinícius Moraes # # This program is free software: you can redistribute it and/or modify @@ -41,7 +41,7 @@ makefiles_assert_sections() { sections=( ["Host"]="# Host targets/commands" ["Container"]="# Container targets/commands" - [".PHONY"]=".PHONY: devenv start stop clean serestore" + [".PHONY"]=".PHONY: dev start stop clean serestore" [".PHONY"]=".PHONY: lint test build run deploy debug distclean" ) @@ -60,7 +60,7 @@ makefiles_assert_infos() { local -A infos infos=( - ["devenv"]='$(info Building development container image...)' + ["dev"]='$(info Building development container image...)' ["start"]='$(info Starting development container...)' ["stop"]='$(info Stopping development container...)' ["clean"]='$(info Removing development container and image...)' @@ -89,7 +89,7 @@ makefiles_assert_targets() { local -A targets targets=( - ["devenv"]="devenv:" + ["dev"]="dev:" ["start"]="start:" ["stop"]="stop:" ["clean"]="clean: distclean" @@ -151,8 +151,8 @@ containerfiles_assert_instructions() { local -A instructions instructions=( - ["ARG"]="USERNAME=mkdevenv" - ["LABEL"]="mkdevenv.name=" + ["ARG"]="USERNAME=mkdev" + ["LABEL"]="mkdev.name=" ["WORKDIR"]='/home/$USERNAME/workspace' ["USER"]='$USERNAME' ["CMD"]='["/bin/bash", "-l"]' @@ -208,7 +208,7 @@ for mk in ./*.mk; do makefiles_assert_infos "$mk" makefiles_assert_targets "$mk" - if [[ "$mk" == "./Devenv.mk" ]]; then + if [[ "$mk" == "./Dev.mk" ]]; then makefiles_assert_variables "$mk" "project" elif [[ "$mk" == "./Omni.mk" ]]; then makefiles_assert_variables "$mk" "omni" diff --git a/update-makefiles.sh b/update-makefiles.sh index 2cb1ba4..f1399d3 100755 --- a/update-makefiles.sh +++ b/update-makefiles.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# MKDEVENV - Boilerplates for isolated development environments +# MKDEV - Boilerplates for isolated development environments # Copyright (C) 2024 Vinícius Moraes # # This program is free software: you can redistribute it and/or modify @@ -27,7 +27,7 @@ update_makefiles() { stop_pattern="# Container targets\/commands" content=$(awk "NR == 1 {next} /$stop_pattern/ {print; exit} 1" "$1") - if [[ "$1" == "Devenv.mk" ]]; then + if [[ "$1" == "Dev.mk" ]]; then for mk in ./boilerplates/!(*omni)/*/Makefile; do existing_1stline=$(head -1 "$mk") existing_content=$(awk "/$stop_pattern/ {rest=1; next} rest" "$mk") @@ -59,7 +59,7 @@ ci_output() { fi } -source_of_truh="Devenv.mk" +source_of_truh="Dev.mk" update_makefiles "$source_of_truh" source_of_truh="Omni.mk"