Slightly simplify the ls aliases

This commit is contained in:
SebastianStork 2024-05-01 20:02:36 +02:00
parent 17a07b59c1
commit d3515c0964

View file

@ -17,28 +17,25 @@
home.shellAliases = let home.shellAliases = let
lsAliases = let lsAliases = let
list = "${lib.getExe pkgs.eza} --header --group --time-style=long-iso --group-directories-first --sort=name --icons=auto --git --git-repos-no-status --binary"; list = "${lib.getExe pkgs.eza} --header --group --time-style=long-iso --group-directories-first --sort=name --icons=auto --git --git-repos-no-status --binary";
flagCombos = lib.crossLists (a: b: "${a}${b}") [["" "a"] ["" "d" "f"]];
getFlags = str: getFlag = alias:
lib.concatStringsSep " " (lib.forEach (lib.stringToCharacters str) (x:
{ {
a = "--all"; a = "--all";
d = "--only-dirs"; d = "--only-dirs";
f = "--only-files"; f = "--only-files";
} }
.${x})); .${alias};
convertAliasesToFlags = str: "${lib.concatStringsSep " " (lib.forEach (lib.stringToCharacters str) getFlag)}";
flagCombos = lib.crossLists (a: b: "${a}${b}") [["" "a"] ["" "d" "f"]];
flaggedAliases = lib.concatMapAttrs (name: value: { flaggedAliases = lib.concatMapAttrs (name: value: {
"l${name}" = "l ${value}"; "l${name}" = "${list} --oneline --dereference ${value}";
"ll${name}" = "ll ${value}"; "ll${name}" = "${list} --long ${value}";
"lt${name}" = "lt ${value}"; "lt${name}" = "${list} --tree ${value}";
}) (lib.genAttrs flagCombos (str: "${getFlags str}")); })
(lib.genAttrs flagCombos convertAliasesToFlags);
in in
flaggedAliases flaggedAliases // {ls = "l";};
// {
ls = "l";
l = "${list} --oneline --dereference";
ll = "${list} --long";
lt = "${list} --tree";
};
catAlias = let catAlias = let
theme = theme =