https://github.com/n3ddu8/nest
My Alpine based custom development environment
https://github.com/n3ddu8/nest
alpine alpine-linux alpine-linux-environment development-environment development-tools docker-container docker-file just linux
Last synced: about 2 months ago
JSON representation
My Alpine based custom development environment
- Host: GitHub
- URL: https://github.com/n3ddu8/nest
- Owner: n3ddu8
- License: mit
- Created: 2024-06-07T07:43:54.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-08-09T08:07:39.000Z (10 months ago)
- Last Synced: 2024-10-10T16:21:20.227Z (8 months ago)
- Topics: alpine, alpine-linux, alpine-linux-environment, development-environment, development-tools, docker-container, docker-file, just, linux
- Language: Just
- Homepage:
- Size: 214 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]
Table of Contents
## About The Project
Nest is my custom development environment, built on top of [Alpine Base](alpine-base), containing the tools I use regularly in my work as a Data Engineer or when working on my own open-source projects.
It's designed to be used in a variety of ways:
* In a new environment, using the Just command runner and the included `.justfile`.
* Using DevPod or Codespaces, by pointing at this repo.
* ~As the upstream for a new container, using the published package.~ *coming soon*### Why Alpine
Alpine is a minimalist distribution, the official Docker image is just 5MB in size making it the perfect base to build upon.
### Built With
* [Just](https://just.systems/)
* [Docker](https://www.docker.com/)
* [Devcontainer](https://code.visualstudio.com/docs/devcontainers/create-dev-container)### Packages
#### Upstream
The [Alpine Base](alpine-base) image contains some basic tooling:
* curl
* Python3
* Pip for Python3
* Microsoft ODBC driver 17 for working with SQL Server
* Misc packages required to work with:
* Sqlite
* MySQL
* MariaDB
* PostgreSQL
#### AdditionsAdditional packages added are:
* github-cli
* neovim
* npm
* openssh
* tmux
* zsh## Getting Started
### Using Just
The `.justfile` works in an Alpine Linux environment only.
#### Prerequisites
* just
* `apk add just`
* wget
* `apk add wget`#### Installation
```sh
wget https://raw.githubusercontent.com/n3ddu8/nest/main/.justfile
```#### Usage
```sh
just .
```### Using DevPod
#### Prerequisites
* Docker
* [Docker Installation Instructions](https://docs.docker.com/engine/install/)
* DevPod
* [DevPod Installation Instructions](https://devpod.sh/docs/getting-started/install)
* VSCode (optional)
* [Download VSCode](https://code.visualstudio.com/download)
* Install using your local
#### devpod-cli setupAdd Docker as a provider:
```sh
devpod provider add docker
```Run the following:
```sh
devpod up github.com/n3ddu8/nest --ide
```
replacing `` with one of:
* vscode
* openvscode (to launch in a browser)
* none#### DevPod (GUI) setup
Click on `Providers`, `+ Add` and choose `Docker`:
![]()
* Click on `Workspaces`, `+ Create`
* In the `Git Repo` box enter `github.com/n3ddu8/nest`
* Choose a `Default IDE` or leave as `None`
* Click `Create Workspace`
![]()
##### Installation
#### Usage
If using `--ide vscode` VS Code should now launch, similarly using `--ide openvscode` your browser should launch. As a NeoVim user neither of these options have been tested, but there shouldn't be any reason they don't work.
If using `--ide none`, you can access the container by running:
```sh
ssh nest.devpod
```## Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
That being said, this is my personalised development environment, and what works best for me will always being the primary factor in the decision to merge any changes.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request## License
Distributed under the MIT License. See `LICENSE.txt` for more information.
## Acknowledgments
* [Nest icons created by Freepik - Flaticon](https://www.flaticon.com/free-icons/nest)
[contributors-shield]: https://img.shields.io/github/contributors/n3ddu8/nest.svg?style=for-the-badge
[contributors-url]: https://github.com/n3ddu8/nest/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/n3ddu8/nest.svg?style=for-the-badge
[forks-url]: https://github.com/n3ddu8/nest/network/members
[stars-shield]: https://img.shields.io/github/stars/n3ddu8/nest.svg?style=for-the-badge
[stars-url]: https://github.com/n3ddu8/nest/stargazers
[issues-shield]: https://img.shields.io/github/issues/n3ddu8/nest.svg?style=for-the-badge
[issues-url]: https://github.com/n3ddu8/nest/issues
[license-shield]: https://img.shields.io/github/license/n3ddu8/nest.svg?style=for-the-badge
[license-url]: https://github.com/n3ddu8/nest/blob/master/LICENSE.txt
[alpine-base]: https://github.com/n3ddu8/alpine-base