Giter VIP home page Giter VIP logo

nvim-alpine's Introduction

nvim-alpine

My personalized Neovim configuration that utilizes Docker containers and volumes to provide a consistent and isolated development environment. With built-in clipboard support using pbcopy, xclip, xsel, and wl-copy, you can seamlessly copy and paste text between your editor and other applications.

Features

  • Utilizes Docker containers for an isolated Neovim environment.
  • Docker volumes are used for persistent configurations and state.
  • Clipboard support using pbcopy, xclip, xsel, and wl-copy.

Prerequisites

  • Requires docker CLI or nerdctl.
  • pbcopy, xclip, xsel, or wl-copy if you want system clipboard register to work in NeoVim.

Setup

Step 1: Clone the Repository

Clone the repository to your local machine:

git clone https://github.com/piratey7007/nvim-alpine.git

Step 2: Run the setup Script

I personally opt for dvim for mine, but you can rename it to anything in the script.

cd /path/to/setup
./setup

This will copy the necessary files into a new ~/.local/share/nvim-alpine/ folder, as well as add the dvim command to your /usr/local/bin. You can now remove the cloned repository if you want.

Caveats

  • The initial installation will take a short bit, as it will need to pull the Alpine image, and install the plugins.
  • Sometimes I've noticed permissions issues come up relating to the volume mounting. If you find any, let me know, or submit a PR please!
  • If you want intellisense in your projects, you will need to dvim into the directory that contains your node_modules and package.json, reason being that it will automatically isolate that folder into it's own docker or nerdctl container.
  • nerdctl can be troublesome for beginners to make use of (believe me, I know), so if you want something working faster, I would use docker.

Usage

Now you can run dvim from any terminal window:

dvim ./dev

Customization

The Dockerfile, clipboard.txt, and .config get stored in ~/.local/share/nvim-alpine/ after running the setup for the first time. If you want to customize anything, it's all stored there, so either delete or replace it.

Contributions

If you find any issues with this, make an issue or pull request. I'm happy to answer any questions or add to it.

nvim-alpine's People

Contributors

kanielrkirby avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.