Skip to content

Instantly share code, notes, and snippets.

View corpix's full-sized avatar
👹
Fighting demons

corpix corpix

👹
Fighting demons
View GitHub Profile
@corpix
corpix / backbone-router-filter.js
Created March 4, 2012 13:00
Backbone router before,after,leave
(function(Backbone, _) {
var leave;
_.extend(Backbone.Router.prototype, Backbone.Events, {
route : function(route, name, callback) {
var before
, fn = callback
, after;
Backbone.history || (Backbone.history = new Backbone.History);
#lang racket/base
(require setup/dirs
setup/variant
setup/cross-system
racket/promise)
(define plain-variant
(delay/sync
(cond
[(cross-installation?)
@corpix
corpix / nix-deploy.md
Last active August 11, 2019 12:31
Scripts to deploy NixOS machines without nixops/nix-deploy/etc...

Requirements:

  • root directory is a git repository(for git rev-parse --show-toplevel)
  • github.com/nixos/nixpkgs at pkgs/nixpkgs

Tree:

.
├── .git
@corpix
corpix / cointop.nix
Last active May 4, 2018 19:25
cointop nix derivation
with import <nixpkgs>{};
{ pkgs ? import <nixpkgs> {} }:
buildGo19Package rec {
name = "cointop-unstable-${version}";
version = "development";
src = fetchFromGitHub {
owner = "miguelmota";
repo = "cointop";
#! /usr/bin/env racket
#lang racket
(require racket/cmdline)
(require csv-reading) ;; $ raco pkg install csv-reading
(define (will-loop executor)
(lambda ()
(let loop ()
(will-execute executor)
;; Disable flycheck when on battery
(defun toggle-flycheck ()
(when (fboundp 'battery-status-function)
(let
((battery-status (battery-format "%L" (funcall battery-status-function))))
(cond
((string-match-p "N/A" battery-status) (global-flycheck-mode +1))
((string-match-p "AC" battery-status) (global-flycheck-mode +1))
(t (global-flycheck-mode -1))))))
(run-with-idle-timer 5 1 'toggle-flycheck)
@corpix
corpix / ip6.nix
Last active January 28, 2018 01:33
My very naive implementation of IP6 address expansion in nix language
/*
$ nix-instantiate --eval --expr 'with (import <nixpkgs> {}); with lib; builtins.toJSON ((import ./ip6.nix { lib = pkgs.lib; }).expandIP6 "ea5f::")' | jq -r . | jq .
"ea5f:0000:0000:0000:0000:0000:0000:0000"
$ nix-instantiate --eval --expr 'with (import <nixpkgs> {}); with lib; builtins.toJSON ((import ./ip6.nix { lib = pkgs.lib; }).expandIP6 "::ea5f")' | jq -r . | jq .
"0000:0000:0000:0000:0000:0000:0000:ea5f"
$ nix-instantiate --eval --expr 'with (import <nixpkgs> {}); with lib; builtins.toJSON ((import ./ip6.nix { lib = pkgs.lib; }).expandIP6 "ea5f::ff")' | jq -r . | jq .
"ea5f:0000:0000:0000:0000:0000:0000:00ff"
*/
This file has been truncated, but you can view the full file.
Jan 21 21:18:09: ----- cjdns memory snapshot -----
Jan 21 21:18:09: Core.c:338 [157264] bytes
Jan 21 21:18:09: ASynchronizer.c:102 [480] bytes
Jan 21 21:18:09: | UDPAddrIface.c:199 [13000] bytes
Jan 21 21:18:09: | | ASynchronizer.c:104 [64] bytes at [0x55b2f716daf0]
Jan 21 21:18:09: | | ASynchronizer.c:104 [64] bytes at [0x55b2f716daa0]
Jan 21 21:18:09: | | Message.h:86 [88] bytes at [0x55b2f716da40]
Jan 21 21:18:09: | | Message.h:75 [4088] bytes at [0x55b2f716ca40]
Jan 21 21:18:09: | | ASynchronizer.c:104 [64] bytes at [0x55b2f716c9f0]
Jan 21 21:18:09: | | ASynchronizer.c:104 [64] bytes at [0x55b2f716c9a0]
@corpix
corpix / unbound-1.6.8-to-1.6.7.diff
Last active January 21, 2018 20:09
Difference between 1.6.8 and 1.6.7 versions of unbound where 1.6.7 has https://unbound.net/downloads/patch_cve_2017_15105.diff applied
diff --git a/aclocal.m4 b/aclocal.m4
index 002c472..d1c7555 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
@corpix
corpix / example.nix
Last active December 24, 2017 22:26
Simple firewall helper service to open/reject ports for specific interfaces with user defined protocols
let
internalInterfaces = {
enp3s0 = {
ip4 = [
{
address = "10.0.10.1";
prefixLength = 24;
}
];
ip6 = [];