Skip to content

Instantly share code, notes, and snippets.

# The purpose of this function is as follows:
# 1. It protects the output paths of its dependencies from being garbage collected.
# 2. Given 'shellSrc', it generates a shell environment by capturing environment variables in $out/bash-export.
# 3. Given 'servicesSrc', it generates a services.json file.
{ shellSrc ? null # Nix file describing a shell environment
, servicesSrc ? null # Nix file containing a list of services
, runtimeClosure
}:
assert shellSrc != null || servicesSrc != null;
let
with import <nixpkgs> {};
{ clangStdenv, pkgs }:
clangStdenv.mkDerivation rec {
name = "lcmake${version}";
version = "1.0.0";
buildInputs = with pkgs; [
cmake
clang
╰ nix show-config | grep subs
builders-use-substitutes = false
extra-substituters =
substitute = true
substituters = https://cache.nixos.org/
trusted-substituters =
╰ lorri watch
Mar 21 16:00:59.183 INFO build message, message: BuildEvent(Started { nix_file: Shell("/mnt/D/workspace/c++/cpp/projects/active/lcmake/shell.nix"), reason: ProjectAdded(Shell("/mnt/D/workspace/c++/cpp/projects/active/lcmake/shell.nix")) }), expr: /mnt/D/workspace/c++/cpp/projects/active/lcmake/shell.nix
Mar 21 16:03:10.508 INFO build message, message: BuildEvent(Failure { nix_file: Shell("/mnt/D/workspace/c++/cpp/projects/active/lcmake/shell.nix"), failure: Exit { cmd: "\"nix-instantiate\" \"-vv\" \"--add-root\" \"/tmp/.tmpqsQnN9/result\" \"--indirect\" \"--argstr\" \"runtimeClosure\" \"/nix/store/8cvlzrrh8qpwpbb3shd6m7g1wf22i0qz-runtime-closure.nix\" \"--argstr\" \"shellSrc\" \"/mnt/D/workspace/c++/cpp/projects/active/lcmake/shell.nix\" \"--\" \"/home/linarcx/.cache/lorri/cas/66c4fc8f70f0926419733bdbfd442181\"", status: Some(1), logs: [LogLine("downloading \'https://github.com/NixOS/nixpkgs-channels/archive/release-19.09.tar.gz\'..."), LogLine("warning: unable to download \'https://git
with import <nixpkgs> {};
clangStdenv.mkDerivation rec {
pname = "mdv";
version = "1.0.0";
name = "${pname}${version}";
buildInputs = [
cmake
clang-tools
╰ make
[ 37%] Built target util
[ 50%] Built target sqlite
[ 75%] Built target ui
[ 87%] Built target libgit
[ 93%] Linking C executable captain-ballard
/nix/store/ajrrkivdfvp8dp4vdg5hp1h5hblmanc9-binutils-2.31.1/bin/ld: ../modules/liblibgit.a(git_common.c.o): in function `check_lg2':
git_common.c:(.text+0x14): undefined reference to `git_error_last'
/nix/store/ajrrkivdfvp8dp4vdg5hp1h5hblmanc9-binutils-2.31.1/bin/ld: ../modules/liblibgit.a(git_common.c.o): in function `treeish_to_tree':
git_common.c:(.text+0x81c): undefined reference to `git_error_last'
╰ make VERBOSE=1
/nix/store/4aw6l2lyz7p14l0fyf2k8rdbvc5rsnb3-cmake-3.15.1/bin/cmake -S/mnt/D/workspace/c/projects/captain-ballard -B/mnt/D/workspace/c/projects/captain-ballard/build --check-build-system CMakeFiles/Makefile.cmake 0
/nix/store/4aw6l2lyz7p14l0fyf2k8rdbvc5rsnb3-cmake-3.15.1/bin/cmake -E cmake_progress_start /mnt/D/workspace/c/projects/captain-ballard/build/CMakeFiles /mnt/D/workspace/c/projects/captain-ballard/build/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/mnt/D/workspace/c/projects/captain-ballard/build'
make -f modules/CMakeFiles/util.dir/build.make modules/CMakeFiles/util.dir/depend
make[2]: Entering directory '/mnt/D/workspace/c/projects/captain-ballard/build'
cd /mnt/D/workspace/c/projects/captain-ballard/build && /nix/store/4aw6l2lyz7p14l0fyf2k8rdbvc5rsnb3-cmake-3.15.1/bin/cmake -E cmake_depends "Unix Makefiles" /mnt/D/workspace/c/projects/captain-ballard /mnt/D/workspace/c/projects/captain-ballard/modules /mnt/D/workspace/c/projects/captain-
let
pkgs = import <nixpkgs> {};
unstable = import (fetchTarball https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz) {};
pkgs-2020-03-23 = import (fetchTarball https://github.com/NixOS/nixpkgs/archive/793c1b5c72abbfed2f98add0811a022fc713dbf3.tar.gz) {};
in
pkgs-2020-03-23.clangStdenv.mkDerivation rec {
pname = "captain-ballard";
version = "1.0.0";
name = "${pname}${version}";
qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx.
[1] 19812 abort ./kindd
[nix-shell:/mnt/D/workspace/c++/qt/projects/active/kindd/build/core]$ ls -ltrha
total 3.7M
-rwxrwxrwx 1 linarcx root 9.0K Mar 23 20:11 Makefile
-rwxrwxrwx 1 linarcx root 1.2K Mar 23 20:11 cmake_install.cmake
drwxrwxrwx 1 linarcx root 4.0K Mar 23 20:11 CMakeFiles
drwxrwxrwx 1 linarcx root 4.0K Mar 23 20:11 ..
drwxrwxrwx 1 linarcx root 0 Mar 23 20:11 kindd_autogen
-rwxrwxrwx 1 linarcx root 3.7M Mar 23 20:12 .kindd-wrapped
-rwxrwxrwx 1 linarcx root 1.5K Mar 23 20:12 .kindd-wrapped_
drwxrwxrwx 1 linarcx root 4.0K Mar 23 20:15 .