This has been moved to the Matrix AI blog: https://matrix.ai/2018/03/24/developing-with-nix/
Note that if you just to compile a simple C program, and you don't want to fiddle with environments:
nix-shell --packages stdenv
This has been moved to the Matrix AI blog: https://matrix.ai/2018/03/24/developing-with-nix/
Note that if you just to compile a simple C program, and you don't want to fiddle with environments:
nix-shell --packages stdenv
This is my take on a systemd#2741 work-around. The lack of native namespace joining makes it so you have to do a dance with systemd's
version of private namespaces and iproute2's version. The portal_network.sh
is my rendition of iproute2.
Credit to ian-kelling's code and comment in the systemd issue that inspired me to research this further.
Looking at iproute2's source the bash script should be identical, including the private mount and bind mounts. This level of compatibility
gives the administrator the ability to use ip -n portal ...
for any subsequent commands.
Files are dash separated due to this being a gist (slashes aren't allowed). PLace the files in the correct locations then run the following:
systemctl enable portal.target portal.network.service whatever.service
systemctl restart systemd-networkd
# if using the vlan files and suchThis is an example of how to pin the version of nixpkgs in a package repo. The goal is to improve reproducibility, make sure all the developers use the same version of nixpkgs and also allow to share binary caches.
Put all these files in a nixpkgs
folder and then in other derivations, instead of import <nixpkgs> {}
use import ./path/to/nixpkgs {}
Generating a self-signed certificate is a common task and the command to generate one with openssl
is well known and well documented. Generating a certificate that includes subjectAltName is not so straght forward however. The following example demonstrates how to generate a SAN certificate without making a permanent change to the openssl configuration.
$ export SAN="DNS:www.domain.localdomain,DNS:domain.localdomain"
Disclaimer: Please follow this guide being aware of the fact that I'm not an expert regarding the things outlined below, however I made my best attempt. A few people in IRC confirmed it worked for them and the results looked acceptable.
Attention: After following all the steps run gdk-pixbuf-query-loaders --update-cache
as root, this prevents various gdk-related bugs that have been reported in the last few hours. Symptoms are varied, and for Cinnamon the DE fails to start entirely while for XFCE the icon theme seemingly can't be changed anymore etc.
Check the gist's comments for any further tips and instructions, especially if you are running into problems!
Results after following the guide as of 11.01.2017 13:08:
For more up2date information: http://www.hellorust.com/emscripten/
Emscripten is the LLVM-based project to compile stuff into JavaScript. Luckily, Rust already uses LLVM and just recently got an upgrade to the used version of LLVM. Now emscripten uses a fork of LLVM, which is on the way to use more or less the same base LLVM as Rust. See the next-merge branch.
set nocompatible " be iMproved, required | |
set hidden | |
filetype off " required | |
" line numbers | |
set number | |
set relativenumber | |
set backspace=2 "allow deleting any chars in insert mode | |
set laststatus=2 | |
set ruler " show the cursor position all the time |
//Some fantasy implementations | |
const Just = require('./just') | |
const Cant = require('./cant') | |
const List = require('./list') | |
//Spec file that defines what arguments are used for type identification | |
const fantasy = require('./fantasy') | |
//The magic. | |
const {chain, map, index} = require('../../src/xface')(fantasy, [Just, Cant]) |
#!/usr/bin/env bash | |
# Browse Ramda documentation in Terminal | |
# Requires jq and a tool such as fzf or peco for interactive filtering | |
LATEST="http://raine.github.io/ramda-json-docs/latest.json" | |
DOCS_URL="http://ramdajs.com/docs/" | |
json=$(curl -s $LATEST) | |
functions=$(echo "$json" | jq -r '.[] | if .sig and (.sig | length > 0) then .name + " :: " + .sig else .name end') |