# Nim
[](https://dev.azure.com/nim-lang/Nim/_build/latest?definitionId=1&branchName=devel)
This repository contains the Nim compiler, Nim's stdlib, tools, and documentation.
For more information about Nim, including downloads and documentation for
the latest release, check out [Nim's website][nim-site] or [bleeding edge docs](https://nim-lang.github.io/Nim/).
## Community
[![Join the IRC chat][badge-nim-irc]][nim-irc]
[![Join the Discord server][badge-nim-discord]][nim-discord]
[![Join the Gitter chat][badge-nim-gitter]][nim-gitter]
[](https://matrix.to/#/#nim-lang:matrix.org)
[![Get help][badge-nim-forum-gethelp]][nim-forum]
[![View Nim posts on Stack Overflow][badge-nim-stackoverflow]][nim-stackoverflow-newest]
[![Follow @nim_lang on Twitter][badge-nim-twitter]][nim-twitter]
* The [forum][nim-forum] - the best place to ask questions and to discuss Nim.
* [#nim IRC Channel (Libera Chat)][nim-irc] - a place to discuss Nim in real-time.
Also where most development decisions get made.
* [Discord][nim-discord] - an additional place to discuss Nim in real-time. Most
channels there are bridged to IRC.
* [Gitter][nim-gitter] - an additional place to discuss Nim in real-time. There
is a bridge between Gitter and the IRC channel.
* [Matrix][nim-matrix] - the main room to discuss Nim in real-time. [Matrix space][nim-matrix-space] contains a list of rooms, most of them are bridged to IRC.
* [Telegram][nim-telegram] - an additional place to discuss Nim in real-time. There
is the official Telegram channel. Not bridged to IRC.
* [Stack Overflow][nim-stackoverflow] - a popular Q/A site for programming related
topics that includes posts about Nim.
* [GitHub Wiki][nim-wiki] - Misc user-contributed content.
## Compiling
The compiler currently officially supports the following platform and
architecture combinations:
* Windows (Windows XP or greater) - x86 and x86_64
* Linux (most, if not all, distributions) - x86, x86_64, ppc64 and armv6l
* Mac OS X (10.04 or greater) - x86, x86_64, ppc64 and Apple Silicon (based on the ARM64 architecture)
More platforms are supported, however, they are not tested regularly and they
may not be as stable as the above-listed platforms.
Compiling the Nim compiler is quite straightforward if you follow these steps:
First, the C source of an older version of the Nim compiler is needed to
bootstrap the latest version because the Nim compiler itself is written in the
Nim programming language. Those C sources are available within the
[``nim-lang/csources_v2``][csources-v2-repo] repository.
Next, to build from source you will need:
* A C compiler such as ``gcc`` 5.x/later or an alternative such as ``clang``,
``Visual C++`` or ``Intel C++``. It is recommended to use ``gcc`` 5.x or
later.
* Either ``git`` or ``wget`` to download the needed source repositories.
* The ``build-essential`` package when using ``gcc`` on Ubuntu (and likely
other distros as well).
* On Windows MinGW 4.3.0 (GCC 8.10) is the minimum recommended compiler.
* Nim hosts a known working MinGW distribution:
* [MinGW32.7z](https://nim-lang.org/download/mingw32.7z)
* [MinGW64.7z](https://nim-lang.org/download/mingw64.7z)
**Windows Note: Cygwin and similar POSIX runtime environments are not supported.**
Then, if you are on a \*nix system or Windows, the following steps should com
Using DSCIP
================================================================================
Using DSCIP is extremely simple, there's two ways you can run it.
A. Running it as a cronjob that runs periodically.
B. Running it as a daemon that runs continually.
Funcionally, these two methods work about the same, but depending on your
platform, one may be easier to set up than the other. I personally recommend
setting it up as a cronjob over a daemon. You can do this on most unix systems
by running `crontab -e -u build_user` and adding:
* * * * * /home/build_user/program/dscip
As for how to make it run as a daemon, that depends on the platform you are
running it on, so refer to your OS's documentation for that.
Be sure to change the variables in config.sh to suit your projects needs.
Quirks:
When running it on windows, you should use MSYS2.