All Projects → kaushalmodi → nim_config

kaushalmodi / nim_config

Licence: MIT license
Global project-agnostic config.nims

Programming Languages

nim
578 projects

Projects that are alternatives of or similar to nim config

Environ Config
Python Application Configuration With Environment Variables
Stars: ✭ 210 (+288.89%)
Mutual labels:  config
config utilities
Utility tools to make working with config structs for (ROS) C++ libraries more uniform, readable and convenient.
Stars: ✭ 19 (-64.81%)
Mutual labels:  config
juno-agent
juno-agent
Stars: ✭ 46 (-14.81%)
Mutual labels:  config
Konf
A type-safe cascading configuration library for Kotlin/Java/Android, supporting most configuration formats
Stars: ✭ 225 (+316.67%)
Mutual labels:  config
Yay Evil Emacs
😈 A lightweight literate Emacs config with even better "better defaults". Shipped with a custom theme!
Stars: ✭ 250 (+362.96%)
Mutual labels:  config
dotfiles
My personal set of dotfiles (Managed with Stow)
Stars: ✭ 34 (-37.04%)
Mutual labels:  config
Config
🛠 A configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP
Stars: ✭ 203 (+275.93%)
Mutual labels:  config
nim-presentation-slides
Nim Presentation Slides and Examples.
Stars: ✭ 30 (-44.44%)
Mutual labels:  nimscript
dotfiles
My NixOS configuration featuring awesome and neovim
Stars: ✭ 40 (-25.93%)
Mutual labels:  config
Webpack5-Max
Webpack 5 Boilerplate for JS/React/TS apps.
Stars: ✭ 103 (+90.74%)
Mutual labels:  config
Winton.extensions.configuration.consul
Enables Consul to be used as a configuration source in dotnet core applications
Stars: ✭ 239 (+342.59%)
Mutual labels:  config
Vscode Data Preview
Data Preview 🈸 extension for importing 📤 viewing 🔎 slicing 🔪 dicing 🎲 charting 📊 & exporting 📥 large JSON array/config, YAML, Apache Arrow, Avro, Parquet & Excel data files
Stars: ✭ 245 (+353.7%)
Mutual labels:  config
nvim
No description or website provided.
Stars: ✭ 13 (-75.93%)
Mutual labels:  config
Config
📝 Go config manage(load,get,set). support JSON, YAML, TOML, INI, HCL, ENV and Flags. Multi file load, data override merge, parse ENV var. Go应用配置加载管理,支持多种格式,多文件加载,远程文件加载,支持数据合并,解析环境变量名
Stars: ✭ 225 (+316.67%)
Mutual labels:  config
DazzleConf
Incredible configuration library
Stars: ✭ 34 (-37.04%)
Mutual labels:  config
Spring Cloud Vault
Configuration Integration with HashiCorp Vault
Stars: ✭ 210 (+288.89%)
Mutual labels:  config
ini
📝 Go INI config management. support multi file load, data override merge. parse ENV variable, parse variable reference. Dotenv file parse and loader. INI配置读取管理,支持多文件加载,数据覆盖合并, 解析ENV变量, 解析变量引用。DotEnv 解析加载
Stars: ✭ 72 (+33.33%)
Mutual labels:  config
dotfiles
My collection of dotfiles
Stars: ✭ 77 (+42.59%)
Mutual labels:  config
rimerc
rimerc: rimer's dictionary & config
Stars: ✭ 228 (+322.22%)
Mutual labels:  config
dotfiles
/home/yous
Stars: ✭ 43 (-20.37%)
Mutual labels:  config

Global Nim config

This repo contains my global Nim configuration config.nims (which I place in the $XDG_CONFIG_HOME/nim/ directory.)

Requirement

Needs Nim built from its devel branch (<2018-10-16 Tue>).

List available tasks

nim help

Note that there’s no -- before help.

That will print:

installPcre          Install PCRE using musl-gcc
installLibreSsl      Install LIBRESSL using musl-gcc
installOpenSsl       Install OPENSSL using musl-gcc
strip                Optimize the binary size using 'strip' utility
upx                  Optimize the binary size using 'upx' utility
checksums            Generate checksums of the binary using 'sha1sum' and 'md5sum'
sign                 Sign the binary using 'gpg' (armored, ascii)
encrypt              Encrypt the binary using 'gpg' (compressed, symmetric, ascii)
musl                 Build an optimized static binary using musl
glibc25              Build C, dynamically linked to GLibC 2.5 (x86_64)
js2asm               Build JS, print Assembly from that JS (performance debug)
c2asm                Build C, print Assembly from that C (performance debug)
fmt                  Run nimpretty on all git-managed .nim files in the current repo
rmfiles              Recursively remove all files with the specific extension(s) from the current directory
test                 Run tests via 'nim doc' (runnableExamples) and tests in tests/ dir
docs                 Deploy doc html + search index to public/ directory
runc                 Run equivalent of 'nim c -r ..'
runcpp               Run equivalent of 'nim cpp -r ..'

How to use this

Use in your local projects

  1. Create $XDG_CONFIG_HOME/nim/ directory if it doesn’t already exist (or ~/.config/nim/ if you don’t have XDG_CONFIG_HOME environment variable set).
  2. Download the config.nims and put it in that directory.

Install using Curl:

mkdir --verbose $XDG_CONFIG_HOME/nim/
curl -o $XDG_CONFIG_HOME/nim/config.nims https://raw.githubusercontent.com/kaushalmodi/nim_config/master/config.nims

Uninstall:

rm --verbose $XDG_CONFIG_HOME/nim/config.nims

Use in Travis CI

I use this same file during Nim project builds on Travis CI by including the below in the script: phase:

git clone https://github.com/kaushalmodi/nim_config && cp nim_config/config.nims .
Note
This will overwrite your project-specific config.nims (if any) with the version in this repo. That overwrite happens only in that Travis workspace, but still understand what the above command is doing before using it. *** Using the test and docs tasks

Example use of test and docs tasks

script:
  - nim -v
  - git clone https://github.com/kaushalmodi/nim_config && cp nim_config/config.nims . # Get my global config.nims
  - nim test # The 'test' task is defined in the above retrieved config.nims
  - nim docs # The 'docs' task is defined in the above retrieved config.nims

Source

Example use of musl task

script:
  - cd "${TRAVIS_BUILD_DIR}" # Ensure that you are in repo/build root now.
  - nimble install --depsOnly --accept
  - git clone https://github.com/kaushalmodi/nim_config && cp nim_config/config.nims . # Get my global config.nims
  - nim musl "${NIMFILE}" # The ${NIMFILE} var is defined further up in that .travis.yml

Source

References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].