Initial commit

This commit is contained in:
Nox Sluijtman 2024-01-12 14:11:32 +01:00
commit 68f9c7db73
4 changed files with 34 additions and 0 deletions

4
README.md Normal file
View file

@ -0,0 +1,4 @@
# Funkytions
A collection of nix functions that were obnoxious enough to want to have in a
sperate repository.

5
flake.nix Normal file
View file

@ -0,0 +1,5 @@
{ description = "A collection of tedious nix functions";
outputs = _: {
lib = import ./lib.nix;
};
}

3
lib.nix Normal file
View file

@ -0,0 +1,3 @@
{
getKittyColorscheme = import ./lib/getKittyColorscheme.nix;
}

View file

@ -0,0 +1,22 @@
{ lib, config, pkgs, ... }:
arg:
with lib;
let cfg = config.colorscheme;
getKittyTheme = with builtins; (theme:
let matching = filter (x: x.name == theme)
(fromJSON
(readFile
"${pkgs.kitty-themes}/share/kitty-themes/themes.json"));
in throwIf (length matching == 0)
"kitty-themes does not contain a theme named ${theme}"
"${pkgs.kitty-themes}/share/kitty-themes/${(head matching).file}");
unwrapKittyTheme = with pkgs; path: let
theme = runCommand "theme.toml" { nativebuildinputs = [ coreutils ]; } ''
cat '${path}' | sed -E '/^#|^$/d;s/\s+(.*)/ = "\1"/g' > $out
'';
in (builtins.fromTOML (builtins.readFile theme));
in unwrapKittyTheme (getKittyTheme arg)