dynamic-colors: init at 2013-12-28, fixes #11874
This commit is contained in:
parent
842613fb10
commit
a0138e1ed5
37
pkgs/tools/misc/dynamic-colors/default.nix
Normal file
37
pkgs/tools/misc/dynamic-colors/default.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{ stdenv, fetchFromGitHub, makeWrapper, tmux, vim }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dynamic-colors-git-${version}";
|
||||
version = "2013-12-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sos4nt";
|
||||
repo = "dynamic-colors";
|
||||
rev = "35325f43620c5ee11a56db776b8f828bc5ae1ddd";
|
||||
sha256 = "1xsjanqyvjlcj1fb8x4qafskxp7aa9b43ba9gyjgzr7yz8hkl4iz";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
patches = [ ./separate-config-and-dynamic-root-path.patch ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/etc/bash_completion.d $out/share/dynamic-colors
|
||||
cp bin/dynamic-colors $out/bin/
|
||||
cp completions/dynamic-colors.bash $out/etc/bash_completion.d/
|
||||
cp -r colorschemes $out/share/dynamic-colors/
|
||||
|
||||
sed -e 's|\<tmux\>|${tmux}/bin/tmux|g' \
|
||||
-e 's|/usr/bin/vim|${vim}/bin/vim|g' \
|
||||
-i "$out/bin/dynamic-colors"
|
||||
|
||||
wrapProgram $out/bin/dynamic-colors --set DYNAMIC_COLORS_ROOT "$out/share/dynamic-colors"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = https://github.com/sos4nt/dynamic-colors;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
description = "Change terminal colors on the fly";
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
From ee44b859003972275d8e469ab41b9900420295e0 Mon Sep 17 00:00:00 2001
|
||||
From: Malte Rohde <malte.rohde@flavoursys.com>
|
||||
Date: Fri, 9 Jan 2015 13:10:41 +0100
|
||||
Subject: [PATCH] Store user configuration in appropriate config location.
|
||||
|
||||
So that the dynamic-colors source can live somewhere else
|
||||
(e.g., /usr/local/dynamic-colors) and multiple users
|
||||
can use the same script.
|
||||
---
|
||||
bin/dynamic-colors | 21 ++++++++++++++++-----
|
||||
1 file changed, 16 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/bin/dynamic-colors b/bin/dynamic-colors
|
||||
index a669221..5d6bce7 100755
|
||||
--- a/bin/dynamic-colors
|
||||
+++ b/bin/dynamic-colors
|
||||
@@ -84,16 +84,27 @@ else
|
||||
fi
|
||||
COLORSCHEMES="${DYNAMIC_COLORS_ROOT}/colorschemes"
|
||||
|
||||
+if [ -z "${DYNAMIC_COLORS_HOME}" ]; then
|
||||
+ if [ -d "${HOME}/.dynamic-colors" ] || [ -z "${XDG_CONFIG_HOME}" ]; then
|
||||
+ DYNAMIC_COLORS_HOME="${HOME}/.dynamic-colors"
|
||||
+ else
|
||||
+ DYNAMIC_COLORS_HOME="${XDG_CONFIG_HOME}/dynamic-colors"
|
||||
+ fi
|
||||
+else
|
||||
+ DYNAMIC_COLORS_HOME="${DYNAMIC_COLORS_HOME%/}"
|
||||
+fi
|
||||
+
|
||||
write_colorscheme_name () {
|
||||
- echo "$1" > "${DYNAMIC_COLORS_ROOT}/colorscheme"
|
||||
+ [ ! -d "${DYNAMIC_COLORS_HOME}" ] && mkdir -p "${DYNAMIC_COLORS_HOME}"
|
||||
+ echo "$1" > "${DYNAMIC_COLORS_HOME}/colorscheme"
|
||||
}
|
||||
|
||||
load_colorscheme_name () {
|
||||
- head -1 "${DYNAMIC_COLORS_ROOT}/colorscheme"
|
||||
+ head -1 "${DYNAMIC_COLORS_HOME}/colorscheme"
|
||||
}
|
||||
|
||||
init () {
|
||||
- [ ! -f "${DYNAMIC_COLORS_ROOT}/colorscheme" ] && return
|
||||
+ [ ! -f "${DYNAMIC_COLORS_HOME}/colorscheme" ] && return
|
||||
colorscheme_name=$(load_colorscheme_name)
|
||||
load_colorscheme "$colorscheme_name"
|
||||
set_colors
|
||||
@@ -142,8 +153,8 @@ audit () {
|
||||
}
|
||||
|
||||
cycle() {
|
||||
- if [ -f "${DYNAMIC_COLORS_ROOT}/colorscheme" ]; then
|
||||
- current=`head -1 "${DYNAMIC_COLORS_ROOT}/colorscheme"`
|
||||
+ if [ -f "${DYNAMIC_COLORS_HOME}/colorscheme" ]; then
|
||||
+ current=$(load_colorscheme_name)
|
||||
found=false
|
||||
cd "$COLORSCHEMES"
|
||||
for file in *.sh; do
|
@ -839,6 +839,8 @@ let
|
||||
linuxHeaders = linuxHeaders_3_18;
|
||||
};
|
||||
|
||||
dynamic-colors = callPackage ../tools/misc/dynamic-colors { };
|
||||
|
||||
edac-utils = callPackage ../os-specific/linux/edac-utils { };
|
||||
|
||||
eggdrop = callPackage ../tools/networking/eggdrop { };
|
||||
|
Loading…
Reference in New Issue
Block a user