From 3a0ab67db17f994035337ac2123815b8ee987673 Mon Sep 17 00:00:00 2001 From: Stefan Imhoff Date: Sat, 27 Jul 2024 15:44:12 +0200 Subject: [PATCH] feat(nix): migrate lsd --- nix/darwin/homebrew-common.nix | 1 + nix/home/default.nix | 1 + nix/home/lsd/default.nix | 94 ++++++++++++++++++++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 nix/home/lsd/default.nix diff --git a/nix/darwin/homebrew-common.nix b/nix/darwin/homebrew-common.nix index 8fa85f0..6b514b1 100644 --- a/nix/darwin/homebrew-common.nix +++ b/nix/darwin/homebrew-common.nix @@ -12,6 +12,7 @@ "fileicon" # macOS CLI for managing custom icons for files and folders "fish" # TODO: Migrate to nix "gettext" # INFO: Dependency of Neovim + "libiconv" # INFO: Dependency of nixpkgs_fmt "luajit" # INFO: Dependency of Neovim "neovim" # TODO: Migrate to nix "oatmeal" # Terminal UI to chat with large language models (LLM) using backends such as Ollama, and direct integrations with your favourite editor like Neovim! diff --git a/nix/home/default.nix b/nix/home/default.nix index 5a7eb2d..31c19cc 100644 --- a/nix/home/default.nix +++ b/nix/home/default.nix @@ -22,6 +22,7 @@ in ./lazydocker ./lazygit ./lf + ./lsd ./oatmeal ./ripgrep ./ruby diff --git a/nix/home/lsd/default.nix b/nix/home/lsd/default.nix new file mode 100644 index 0000000..330f87c --- /dev/null +++ b/nix/home/lsd/default.nix @@ -0,0 +1,94 @@ +{ pkgs, ... }: + +{ + programs.lsd = + { + enable = true; + enableAliases = true; + settings = { + classic = false; + blocks = [ + "permission" + "user" + "group" + "size" + "date" + "name" + ]; + date = "date"; + dereference = false; + icons = { + when = "auto"; + theme = "fancy"; + separator = " "; + }; + indicators = false; + layout = "grid"; + recursion = { + enabled = false; + }; + size = "default"; + permission = "rwx"; + sorting = { + column = "name"; + reverse = false; + dir-grouping = "none"; + }; + no-symlink = false; + total-size = false; + hyperlink = "never"; + symlink-arrow = "⇒"; + header = false; + }; + colors = { + user = 230; + group = 187; + permission = { + read = "dark_green"; + write = "dark_yellow"; + exec = "dark_red"; + exec-sticky = 5; + no-access = 245; + octal = 6; + acl = "dark_cyan"; + context = "cyan"; + }; + date = { + hour-old = 40; + day-old = 42; + older = 36; + }; + size = { + none = 245; + small = 229; + medium = 216; + large = 172; + }; + inode = { + valid = 13; + invalid = 245; + }; + links = { + valid = 13; + invalid = 245; + }; + tree-edge = 245; + git-status = { + default = 245; + unmodified = 245; + ignored = 245; + new-in-index = "dark_green"; + new-in-workdir = "dark_green"; + typechange = "dark_yellow"; + deleted = "dark_red"; + renamed = "dark_green"; + modified = "dark_yellow"; + conflicted = "dark_red"; + }; + }; + }; + + home.packages = with pkgs; [ + lsd + ]; +}