aboutsummaryrefslogtreecommitdiff
path: root/home/programs/cli
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2025-12-30 10:33:31 -0800
committerFranck Cuny <franck@fcuny.net>2025-12-30 11:33:46 -0800
commit7281f05669e92e3568f837591912350b32951555 (patch)
tree61964e392409ab188599af47e58d9a9154ab33ce /home/programs/cli
parentinstall mkv related tools (diff)
downloadinfra-7281f05669e92e3568f837591912350b32951555.tar.gz
organize programs in a way that makes sense to me
Diffstat (limited to 'home/programs/cli')
-rw-r--r--home/programs/cli/bat.nix16
-rw-r--r--home/programs/cli/core.nix43
-rw-r--r--home/programs/cli/eza.nix21
-rw-r--r--home/programs/cli/fd.nix16
-rw-r--r--home/programs/cli/tmux.nix16
5 files changed, 112 insertions, 0 deletions
diff --git a/home/programs/cli/bat.nix b/home/programs/cli/bat.nix
new file mode 100644
index 0000000..3627997
--- /dev/null
+++ b/home/programs/cli/bat.nix
@@ -0,0 +1,16 @@
+{ pkgs, ... }:
+{
+ programs.bat = {
+ enable = true;
+ extraPackages = with pkgs.bat-extras; [ batman ];
+ config = {
+ pager = "less -FR";
+ };
+ };
+
+ programs.fish.shellAliases = {
+ cat = "${pkgs.bat.outPath}/bin/bat --paging=never";
+ less = "${pkgs.bat.outPath}/bin/bat";
+ man = "${pkgs.bat-extras.batman}/bin/batman";
+ };
+}
diff --git a/home/programs/cli/core.nix b/home/programs/cli/core.nix
new file mode 100644
index 0000000..cbfd110
--- /dev/null
+++ b/home/programs/cli/core.nix
@@ -0,0 +1,43 @@
+{ config, pkgs, ... }:
+{
+ home.packages =
+ with pkgs;
+ [
+ bandwhich
+ bottom
+ coreutils
+ delve
+ dive # explore layers in docker images
+ docker
+ docker-credential-helpers
+ dust
+ dysk
+ jless
+ nil # nix lsp
+ nix-direnv # integration with direnv
+ nixfmt-rfc-style # new formatter
+ procs
+ shellcheck
+ tree
+ wget
+ wireshark
+ yq
+ ]
+ ++ lib.optionals pkgs.stdenv.isLinux [
+ pciutils
+ powertop
+ traceroute
+ ];
+
+ programs.ripgrep.enable = true;
+ programs.jq.enable = true;
+
+ programs.fish.shellAliases = {
+ grep = "${pkgs.ripgrep}/bin/rg";
+ ps = "${pkgs.procs}/bin/procs";
+ };
+
+ home.sessionPath = [
+ "${config.home.homeDirectory}/.local/bin"
+ ];
+}
diff --git a/home/programs/cli/eza.nix b/home/programs/cli/eza.nix
new file mode 100644
index 0000000..517ab2f
--- /dev/null
+++ b/home/programs/cli/eza.nix
@@ -0,0 +1,21 @@
+{ pkgs, ... }:
+{
+ programs.eza = {
+ enable = true;
+ icons = "always";
+ colors = "always";
+ git = true;
+ enableFishIntegration = false; # I setup my own aliases
+ extraOptions = [
+ "--group-directories-first"
+ "--no-quotes"
+ "--git-ignore"
+ ];
+ };
+
+ programs.fish.shellAliases = with pkgs; {
+ la = "${eza}/bin/eza -la";
+ ll = "${eza}/bin/eza -la -L=1";
+ lt = "${eza}/bin/eza -aT -L=2";
+ };
+}
diff --git a/home/programs/cli/fd.nix b/home/programs/cli/fd.nix
new file mode 100644
index 0000000..873eaed
--- /dev/null
+++ b/home/programs/cli/fd.nix
@@ -0,0 +1,16 @@
+{ pkgs, ... }:
+{
+ programs.fd = {
+ enable = true;
+ hidden = true;
+ ignores = [
+ ".git/"
+ ".direnv/"
+ "vendor/"
+ ];
+ };
+
+ programs.fish.shellAliases = {
+ find = "${pkgs.fd}/bin/fd";
+ };
+}
diff --git a/home/programs/cli/tmux.nix b/home/programs/cli/tmux.nix
new file mode 100644
index 0000000..776c443
--- /dev/null
+++ b/home/programs/cli/tmux.nix
@@ -0,0 +1,16 @@
+{ pkgs, ... }:
+{
+ programs.tmux = {
+ enable = true;
+ aggressiveResize = true;
+ baseIndex = 1;
+ clock24 = true;
+ escapeTime = 0;
+ historyLimit = 100000;
+ keyMode = "emacs";
+ mouse = true;
+ shell = "${pkgs.fish}/bin/fish";
+ shortcut = "z";
+ terminal = "tmux-256color";
+ };
+}