An open API service indexing awesome lists of open source software.

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

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]





Logo

nest


My Alpine based custom development environment.




Report Bug
·
Request Feature


Table of Contents



  1. About The Project



  2. Getting Started


  3. Contributing

  4. License

  5. Acknowledgments

## 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.

(back to top)

### Built With

* [Just](https://just.systems/)
* [Docker](https://www.docker.com/)
* [Devcontainer](https://code.visualstudio.com/docs/devcontainers/create-dev-container)

(back to top)

### 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

#### Additions

Additional packages added are:
* github-cli
* neovim
* npm
* openssh
* tmux
* zsh

(back to top)

## 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 .
```

(back to top)

### 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 setup

Add 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`:


Add Provider

* 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`


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
```

(back to top)

## 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

(back to top)

## License

Distributed under the MIT License. See `LICENSE.txt` for more information.

(back to top)

## Acknowledgments

* [Nest icons created by Freepik - Flaticon](https://www.flaticon.com/free-icons/nest)

(back to top)

[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