Advanced Search
Search Results
166 total results found
Whirlwind tour of (correct) npm usage
This article was originally published at https://gist.github.com/joepie91/9b9dbd8c9ac3b55a65b2. This is a quick tour of how to get started with NPM, how to use it, and how to fix it. I'm available for tutoring and code review :) Starting a new project Cre...
What is(n't) Docker actually for?
This article was originally published at https://gist.github.com/joepie91/1427c8fb172e07251a4bbc1974cdb9cd. This article was written in 2016. Some details may have changed since. A brief listing of some misconceptions about the purpose of Docker. Secure iso...
Node.js for PHP developers
This article was originally published at https://gist.github.com/joepie91/87c5b93a5facb4f99d7b2a65f08363db. It has not been finished yet, but still contains some useful pointers. Learning a second language If PHP was your first language, and this is the firs...
New Page
Synchronous vs. asynchronous
This article was originally published at https://gist.github.com/joepie91/bf3d04febb024da89e3a3e61b164247d. You'll run into the terms "synchronous" and "asynchronous" a lot when working with JS. Let's look at what they actually mean. Synchronous code is lik...
What is Nix?
Nix is a next-generation package and system manager. Many other package managers suffer from dependency conflict issues, and many systems built on them 'decay' over time, becoming messier, slower, and more prone to crashes over time. Nix does not suffer from ...
Frequently Asked Questions
General Are there any downsides? Yes. Here are some of the most common issues that people run in today: Poor user experience: While the concepts behind Nix are great and could make system management a lot easier, the current generation of Nix tools can ...
What is nixpkgs?
You'll often run across the name 'nixpkgs' in this documentation. Nix itself is really just the package manager and build tool - it doesn't come with any software packages, and expects the user to point it at some sort of 'package set'. That's where nixpkgs c...
What is NixOS?
While Nix can run as a stand-alone package manager on any Linux system, and even on macOS, there's only so much that it can do without control over the rest of the system. NixOS is a Linux distribution that takes the concept of Nix a step further, by making it...
What is NixOps?
Nix (and NixOS) themselves only manage a single machine. If you want to manage multiple machines, especially if they are many servers, you can use a tool like NixOps - it's an 'orchestration tool' like Ansible, Chef, or Puppet, but with the guarantees of Nix. ...
What is Hydra?
Hydra is, more or less, a build server. Unsurprisingly, it uses Nix and nixlang for specifying what to build. It's used to build the binary packages for nixpkgs, for example, as well as for running automated tests to ensure that packages actually work. If you'...
Introduction to Morph
Morph is a simple, stateless deployment tool for NixOS. Essentially, it's a way to manage one or more servers remotely from a central NixOS configuration, deploying system updates and configuration changes over SSH. You write configuration for Morph with the ...
What is a derivation?
You can think of a derivation as a set of build instructions, somewhat similar to how IKEA furniture comes with an assembly manual. The furniture (or package, or configuration file, or...) still needs to be built, but the build instructions (the derivation) ha...
Storing secrets and the Nix store
Nix stores every derivation that it builds in the Nix store. However, to make sure that everything in the Nix store is perfectly deterministic and usable by anyone, it needs to set the attributes of all files to a fixed value - this means that every file creat...
What is the Nix store?
The Nix store is a folder, located at /nix/store by default, that contains every build result from a derivation that Nix has ever generated. These build results stay in the Nix store until they are explicitly garbage-collected. Each entry in the Nix store is p...
Introduction
NixOS is very strict in its approach to system purity; there is essentially no global environment, and this also means that a lot of assumptions about what a 'standard Linux system' looks like, do not hold up when you are using NixOS. This is a common cause of...
Running an AppImage
If you try to run an AppImage with the usual ./application-name invocation, you'll find that they won't run. This is because the AppImage runtime expects some files to exist in a global location that NixOS doesn't put there. In practice, this is usually not a...
Installing software globally
Probably the most common case, is wanting to install software system-wide. This is not technically system-wide in NixOS, due to its internal isolation properties, but the difference doesn't really matter for your day-to-day use. Installing software globally i...