aboutsummaryrefslogtreecommitdiffstats
path: root/hm/soispha/conf/taskwarrior/firefox/lib.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--hm/soispha/conf/taskwarrior/firefox/lib.nix30
1 files changed, 30 insertions, 0 deletions
diff --git a/hm/soispha/conf/taskwarrior/firefox/lib.nix b/hm/soispha/conf/taskwarrior/firefox/lib.nix
new file mode 100644
index 00000000..467b9a73
--- /dev/null
+++ b/hm/soispha/conf/taskwarrior/firefox/lib.nix
@@ -0,0 +1,30 @@
+{lib, ...}: {
+ fromHexString = hexString: let
+ fromHexChar = index: char:
+ {
+ "0" = 0;
+ "1" = 1;
+ "2" = 2;
+ "3" = 3;
+ "4" = 4;
+ "5" = 5;
+ "6" = 6;
+ "7" = 7;
+ "8" = 8;
+ "9" = 9;
+ "A" = 10;
+ "B" = 11;
+ "C" = 12;
+ "D" = 13;
+ "E" = 14;
+ "F" = 15;
+ }
+ .${lib.strings.toUpper char}
+ * (
+ if index == 0
+ then 1
+ else index * 16
+ );
+ in
+ lib.lists.foldr (a: b: a + b) 0 (lib.lists.imap0 fromHexChar (lib.lists.reverseList (lib.strings.stringToCharacters hexString)));
+}