GithubHelp home page GithubHelp logo

mrzzy / devcrate Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 1.38 MB

Portable, docker based development enviroment

License: MIT License

Dockerfile 15.94% Makefile 10.90% Shell 34.21% Vim Script 38.96%

devcrate's Introduction

devcrate

Dotfiles & containers

Intro

The two aims in this project:

  • dotfiles - version controlling and automating installing my configuration files
  • devcrate - packaging my development tools into a docker containers for portablity

Devcrate

Package move dev tools, config into Docker container to make them more portable:

  • base image:
    • devcrate neovim tmux zsh docker entr git ssh htop jq
  • extended with additinal with additional tools for cloud computing:
    • devcrate-cloud - cloud computing support: kubectl, gcloud, awscli, helm, terraform, iputils dnsutils

Setup

Dotfiles

Prerequisites: make

  1. Clone this repository
  2. Install the command line dotfiles to your home directory:
make -C dotfiles/base

devcrate Containers

Prerequisites: docker & macos/Linux

  1. Running devcrate containers:
docker run -it \
    -u $UID:$GID \
    --network=host \
    -v /thing/to/work/on:/home/work \
    -v /var/run/docker.sock:/var/run/docker.sock \
    mrzzy/devcrate

devcrate's People

Contributors

mrzzy avatar ptdddmmgm avatar

Watchers

 avatar  avatar

devcrate's Issues

Upgrade from manually configured ccls to coc-clangd extension

Currently C/C++/Objective-C completion is provided via ccls and manual language server configuration in coc-settings.json:

// c/c++/obj-c
"ccls": {
"command": "ccls",
"filetypes": ["c", "cpp", "cuda", "objc", "objcpp"],
"rootPatterns": [".ccls", "compile_commands.json", ".vim/", ".git/", ".hg/"],
"initializationOptions": {
"cache": {
"directory": ".ccls-cache"
}
}
},

Switch to coc-clangd for C/C++/Objective-C completion in favor of using a dedicated coc-extension instead of using manual language server configuration.

Modularize neovim plugins

Currently the neovim in a devcrate image includes all kinds of language support that may or make not be required
Modularize language support to individual images.

nvim: Nvim sourcing nvim plugin vim configs despite not sourcing plugin.vim in init.vim

Problem

Despite commenting the sourcing of plugin.vim in init.vim:

"...
" Load configuration files
source ~/.config/nvim/editor.vim
source ~/.config/nvim/keybind.vim
" commented out!
" source ~/.config/nvim/plugin.vim
" ...

nvim still flags errrors related to plugins on run without plugins installed.

Investigation

nvim seems to source alll files in ~/.config/nvim/ not just init.vim.
As such, it sources the plugin.vim file(s) even thought its commented out in init.vim

Proposal

  • Copy init.vim, editor.vim. and keybind.vim into the ~/.config/nvim/ folder.
  • Copy the plugin related config into ~/.config/nvim_plug/ folder
  • Update init.vim to source moved plugin configs, remove sources for editor.vim, keybind.vim

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.