This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Put additional ignore patterns (one by line) in .grepignore | |
# | |
git-ag () { | |
if [[ "$1" = "-a" ]] | |
then | |
all=1 | |
shift |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env zsh | |
# | |
# Grep in the files of the current git repository *with a list of exclusions*, using `git grep` or `ag`. | |
# | |
# Exclusions are defined in .grepignore. Each line is a regex suitable for grep(2); if the filename | |
# matches any of the regexes, it is excluded from the search. | |
# | |
# Works with zsh (bash not tested). | |
# | |
# Versions for `git grep` and `ag` are provided. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dropbox-update-dotfiles () { | |
src="$HOME/Dropbox/Linux/dotfiles" | |
dst="$HOME" | |
if [[ ! -d "$src" ]]; then | |
print Using $HOME/dotfiles. | |
src="$HOME/dotfiles" | |
fi | |
if [[ ! -d "$src" ]]; then | |
print "Directory $src not found." |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Syntax: | |
# | |
# ./in_vagrant [command] [args] | |
# | |
# Example usage: | |
# | |
# Set up a Vagrantfile with a config called "foo" | |
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defn =* [a b] | |
(if (= a b) | |
true | |
(do | |
(println "No match:" a b) | |
(println "Dfference:" ) | |
(clojure.pprint/pprint (clojure.data/diff a b)) | |
false))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defn constrain | |
"Truncate a sequence | |
Returns a two-element vector to signal whether of not the seq has | |
been truncated" | |
[max coll] | |
(let [[head tail] (split-at max coll)] | |
(if (seq tail) | |
[nil (take max coll)] | |
[coll]))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# The vagrant box provided by @zimbatm is still on 14.02. Follow | |
# this recipe to update the machine to 14.12 | |
# | |
# Make sure you have a recent version of `vagrant` (https://www.vagrantup.com) | |
# and virtualbox. | |
mkdir nixos-test | |
cd nixos-test | |
vagrant init zimbatm/nixbox64 # creates Vagrantfile | |
vagrant up # brings up the box |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defn when-seq | |
"If condition is true, perform seq operation f on xs with args; otherwise return f. | |
Intended for use in the thread first macro. For example: | |
(-> [] | |
(when-seq x conj x)) | |
will be [:foo] if x is :foo, [] if x is nil" | |
[xs condition f & args] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defmacro guard-nil | |
"Returns `x` unless it is nil, in which case a descriptive exception is raised" | |
[x] | |
`(if-some [v# ~x] | |
v# | |
(throw (AssertionError. (str "Form should not be nil: " (pr-str '~x)))))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; An example of `profiles.clj'. You can install it by placing it in the | |
;; ~/.lein/profiles.clj folder | |
;; | |
;; Based on the example given in: https://github.com/zcaudate/vinyasa | |
{:user {:dependencies [[org.clojure/tools.namespace "0.2.4"] | |
[leiningen #=(leiningen.core.main/leiningen-version)] | |
[im.chit/vinyasa "0.3.4"]] | |
:injections | |
[(require '[vinyasa.inject :as inject]) |
OlderNewer