Giter Club home page Giter Club logo

system_config's Introduction

System Configurations

This repository is created to consolidate the system settings and configurations to setup the Linux development environment. This includes bash run-configurations, neovim settings, local environment creation utility for C development and many other things would be added over time. Following are some notes which go along with the settings.

Using CENV

The local_env/cenv file is an executable shell script which implements the creation of a local environment akin to the Python virtual environment. We place the cenv file typically at ~/.local/bin/ and create an environment using cenv <env_name> which also activates the environment. The key combination ctrl + d deactivates the environment. This environment is nothing but a file system structure like below.

~/.local/share/cenv/<env_name>
                              |-include/
                              |-bin/
                              |-lib/
                              |-share/

When the cenv is active it automatically takes care of setting LD_LIBRARY_PATH, PKG_CONFIG_PATH and GI_TYPELIB_PATH accordingly. It povides us with a conveninent way to manage the built C binaries as different stages of development as well as helps avoiding installation of everything at /usr/local/bin which remains clean. When we need to build and install third-party packages we can do that with cenv as well just like we do with Python virtual environment. It works well with the meson build system. We can first setup the build directory for a meson project in the following manner and then build and install the binary inside cenv.

$ meson setup --prefix $CENV <build_dir_name>
$ cd build && ninja
$ ninja install

Doing installs the the binary in the aforementioned scope of the cenv. In this manner we can also maintain the inter- dependency of the softwares that we develop.

Using nvim

Using the nvim/init.vim needs that we are using the recent version of nvim for all underlying plugins to work in the expected manner. We also need to ensure that we installed nerd-fonts, Golang, ctag etc..

system_config's People

Contributors

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