Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/eFishery/dvt

Development Tools and Templates 🛠️ ⚙️ 🔭 ❄️⛷️
https://github.com/eFishery/dvt

devshell devx dx environment flake hacktoberfest nix pemerhati-lingkungan tools

Last synced: about 1 month ago
JSON representation

Development Tools and Templates 🛠️ ⚙️ 🔭 ❄️⛷️

Awesome Lists containing this project

README

        

DVT - Development Tools



Development Tools and Templates 🛠️ ⚙️ 🔭 ❄️⛷️


Overview
Usage
Contributions

[![Built with Nix](https://github.com/nix-community/builtwithnix.org/raw/master/badge.svg)](https://builtwithnix.org)

## Overview

[[Back to the Table of Contents] ↑](#toc)

```mermaid
graph LR
A[User] --> B
B[nix develop FLAKE_FILE] --> C{Dependencies is Ready}
C -- no --> D([Build or Copy from cache])
C -- yes --> E(/nix/store/HASH-deps)
D --> E
E --> F(Ready to Develop)
```

## Usage

[[Back to the Table of Contents] ↑](#toc)

In this section is require nix installed in your system, here steps to install:

> you can **SKIP** this section when nix has been installed in your system and go use as [development environment](#as-development-environment), [project development environment](#as-project-development-environment), or [create new project with available template](#as-project-boilerplate).

* Install nix in your system
* run command: `curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install`
* OR [Read Here for more details](https://zero-to-nix.com/start/install#up)

### Templates

> available templates or development environments.

| NAME | Lang/Framework/Tools |
| ------------- | ------------- |
| [node](./node) | `nodejs@v18`, `[email protected]`, `pnpm@7` |
| [node14](./node14) | `nodejs@v14`, `[email protected]`, `pnpm@5` |
| [go](./go) | `[email protected]`, `gotools`, `golangci-lint`, `go-swagger-0.3` |
| [react-native](./react-native) | [See Details](./react-native/flake.nix#L192-L212) |

* using as development environment: `nix develop "github:efishery/dvt?dir="`

### As Development Environment

* Select the _development environment_ by `` from [templates](#templates).
* and, Run command
```bash
nix develop "github:efishery/dvt?dir="
```
* example for _**node**_: `nix develop "github:efishery/dvt?dir=node"` with default shell is [Bash](https://www.gnu.org/software/bash/).
* `[email protected]` , `[email protected]`, and `[email protected]` will ready to use in your local $SHELL.

### As Project Development Environment

* Go to project directory.
* Select the _development environment_ by `` from [templates](#templates).
```bash
nix flake init -t github:efishery/dvt#
```
* example for _**node**_: `nix flake init -t github:efishery/dvt#node`
* in your project will contains all files from [node](./node).

### Usefull Command Flags

* `-c `
* maybe, in your local shell have been use `zsh`, `fish`, `ksh`, `csh`, or `powershell`. example run devshell with your current $SHELL:
* `nix develop github:efishery/dvt?dir= -c $SHELL`
* `--refresh`
* maybe, in `efishery/dvt` have been update the repository and you want to stay up to date. so, run development environment with flag `--refresh`.
* `nix develop github:efishery/dvt?dir= --refresh` - run devshell with your current $SHELL

## Contributions

[[Back to the Table of Contents] ↑](#toc)

### For Code Contributors

* [Learning: Nix flake](https://zero-to-nix.com/concepts/flakes)
* [Learning: Explore Nix development environments](https://zero-to-nix.com/start/nix-develop)
* [Learning: Search for Nix packages](https://zero-to-nix.com/start/nix-search)
* [Learning: Nix Language quirks](https://nixos.wiki/wiki/Nix_Language_Quirks)
* [Learning: How Nix Works](https://nixos.org/guides/how-nix-works.html)

## Acknowledgement

* [Nix](https://nixos.org)
* [dev-templates](https://github.com/the-nix-way/dev-templates)

[[Back to the Table of Contents] ↑](#toc)