Skip to content

Instantly share code, notes, and snippets.

View vcunat's full-sized avatar
💭
🇺🇦🤞🏽

Vladimír Čunát vcunat

💭
🇺🇦🤞🏽
  • cz.nic labs @CZ-NIC
  • Czech Republic
View GitHub Profile
@vcunat
vcunat / gist:fe6fce40fb10c699f154
Created May 30, 2014 21:39
sweethome3d crash log
#
# There is insufficient memory for the Java Runtime Environment to continue.
# pthread_getattr_np
# Possible reasons:
# The system is out of physical RAM or swap space
# In 32 bit mode, the process size limit was hit
# Possible solutions:
# Reduce memory load on the system
# Increase physical memory or swap space
# Check if swap backing store is full
@vcunat
vcunat / gist:6139ee17ae1dec684fd3
Last active August 29, 2015 14:07
Nixpkgs: 2014 sprint report on multiple-outputs

I worked on splitting packages into multiple outputs. Nix does support derivations with multiple outputs for a few years (I estimate), but it is little used. I focused on using it widely in nixpkgs. The main aim is to reduce runtime closure sizes by separating files not needed at runtime.

Most of the general ideas and parts of the current code were done about one and two years ago, mainly by Eelco. I updated the code wrt. stdenv changes since then and started tweaking and fixing the builds from the most deeply depended packages.

The largest savings are currently due to not having headers and documentation in runtime closures. Probably much more could be saved by turning locale data into plugins, but it's unclear how to do it, so that was not attempted (yet).

Code sharing in nix expressions is attempted as much as possible. That is, for typical package it should be enough just to define the list of outputs with standard names, e.g. outputs = [ "dev" "out" "bin" "man" "doc" ]; and the stdenv code e

--- /home/admin/nix/tmp/nvidia-long.txt
+++ /home/admin/nix/tmp/nvidia-short.txt
@@ -1,9 +1,15 @@
+GeForce 900 Series:
+
+GeForce GTX 980, GeForce GTX 970
+GeForce 900M Series (Notebooks):
+
+GeForce GTX 980M, GeForce GTX 970M
GeForce 800M Series (Notebooks):
@vcunat
vcunat / xmonad.hs
Last active August 29, 2015 14:16
My XMonad config
import Data.List
import Data.Maybe (fromMaybe)
import qualified Data.Map as M
import XMonad
import XMonad.Config.Xfce (xfceConfig)
--import XMonad.Config.Gnome
--import XMonad.Config.Kde
import XMonad.Config.Desktop (desktopLayoutModifiers)
[ 273.050]
X.Org X Server 1.12.4
Release Date: 2012-08-27
[ 273.051] X Protocol Version 11, Revision 0
[ 273.051] Build Operating System: Linux 3.2.36 x86_64
[ 273.051] Current Operating System: Linux Tarjan.ms.mff.cuni.cz 3.4.32 #1 SMP Tue Feb 19 18:42:42 UTC 2013 x86_64
[ 273.051] Kernel command line: systemConfig=/nix/store/0z89hzfqhsnc8w0a3kpji0hcwnq5hwx2-nixos-0.2pre-9de455cM-aacca19 init=/nix/store/0z89hzfqhsnc8w0a3kpji0hcwnq5hwx2-nixos-0.2pre-9de455cM-aacca19/init
[ 273.051] Build Date: 18 February 2013 09:24:34PM
[ 273.051]
[ 273.051] Current version of pixman: 0.26.2
@vcunat
vcunat / R.log
Last active January 2, 2016 09:15
Failure while linking R, using NIX_DEBUG=1 to show linker flags
original flags to /nix/store/vck6gcw6acfj5zbclaxq95dkx8askvc0-binutils-2.23.1-dev/bin/ld:
-plugin
/nix/store/k7vgmahnycp3x1d4i63wbj61bn67khls-gfortran-4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/liblto_plugin.so
-plugin-opt=/nix/store/k7vgmahnycp3x1d4i63wbj61bn67khls-gfortran-4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/lto-wrapper
-plugin-opt=-fresolution=/tmp/nix-build-R-3.2.3.drv-0/ccNJ1FPY.res
-plugin-opt=-pass-through=-lgcc
-plugin-opt=-pass-through=-lgcc_s
-plugin-opt=-pass-through=-lpthread
-plugin-opt=-pass-through=-lc
-plugin-opt=-pass-through=-lgcc
@vcunat
vcunat / zbar.nix
Created July 26, 2016 18:20
Zbar: nix expression for linux->mingw cross-compilation, both 32 and 64-bit.
{stdenv, fetchurl, pkgconfig, xmlto, imagemagick, libiconv}:
stdenv.mkDerivation rec {
name = "zbar-0-10";
src = fetchurl {
url = http://downloads.sourceforge.net/project/zbar/zbar/0.10/zbar-0.10.tar.bz2;
sha256 = "1imdvf5k34g1x2zr6975basczkz3zdxg6xnci50yyp5yvcwznki3";
};
@vcunat
vcunat / default.nix
Created December 4, 2016 15:19
Linux->mingw cross-compiling shim: *-native is for packages not meant to be run on windows
let
lib = (import <nixpkgs> {}).lib;
pkgs-cross-xx = hostArch:
lib.mapAttrs
(name_: pkg: if lib.isDerivation pkg then pkg.crossDrv else pkg)
(pkgs-cross-xx-nocross hostArch);
pkgs-cross-xx-nocross = hostArch:
(import <nixpkgs> {
crossSystem = {
config = hostArch + "-w64-mingw32";
#!/usr/bin/env bash
if [ "$#" != 2 ]; then
echo "Usage: $0 commit-hash commit-hash"
echo -e "\tYou need to be in a git-controlled nixpkgs tree."
exit 1
fi
echo "Estimating rebuild amount, by packages visible to nix-env:"
echo "(If you get 0, it's an evaluation error, most likely.)"
@vcunat
vcunat / keybase.md
Last active January 10, 2017 12:26
For keybase.io: proving github account ownership

Keybase proof

I hereby claim:

  • I am vcunat on github.
  • I am vcunat (https://keybase.io/vcunat) on keybase.
  • I have a public key whose fingerprint is B600 6460 B60A 80E7 8206 2449 E747 DF1F 9575 A3AA

To claim this, I am signing this object: