summaryrefslogtreecommitdiff
path: root/use-cases/zsh
diff options
context:
space:
mode:
authorLinnnus <[email protected]>2023-09-06 11:35:04 +0200
committerLinnnus <[email protected]>2023-09-06 11:35:04 +0200
commit1b13a31cfedae20da0a9aed7b8768a6432889b65 (patch)
tree2fb869e77df73fcc28eeef78dc79b7c39e21fd2d /use-cases/zsh
parent17d483c8c8a96fad2200acaf802b7ef0b0eb494d (diff)
more stuff
Diffstat (limited to 'use-cases/zsh')
-rw-r--r--use-cases/zsh/default.nix15
-rw-r--r--use-cases/zsh/plugins.nix52
2 files changed, 66 insertions, 1 deletions
diff --git a/use-cases/zsh/default.nix b/use-cases/zsh/default.nix
index ac88554..fe574a4 100644
--- a/use-cases/zsh/default.nix
+++ b/use-cases/zsh/default.nix
@@ -1,6 +1,11 @@
-{ pkgs, config, ... }:
+{ pkgs, config, lib, ... }:
{
+ imports =
+ [
+ ./plugins.nix
+ ];
+
programs.zsh = {
enable = true;
@@ -10,6 +15,14 @@
# TODO: dotDir = (pathRelativeTo config.xdg.configHome config.home) + "/zsh";
dotDir = ".config/zsh";
history.path = config.xdg.cacheHome + "/zsh/history";
+
+ shellAliases = {
+ "mv" = "mv -i";
+ "rm" = "rm -i";
+ "cp" = "cp -i";
+ "ls" = "ls -A --color=auto";
+ "grep" = "grep --color=auto";
+ };
};
programs.fzf = {
diff --git a/use-cases/zsh/plugins.nix b/use-cases/zsh/plugins.nix
new file mode 100644
index 0000000..a5b6099
--- /dev/null
+++ b/use-cases/zsh/plugins.nix
@@ -0,0 +1,52 @@
+{ pkgs, lib, config, ... }:
+
+let
+ inherit (lib.strings) concatStringsSep;
+ inherit (lib.attrsets) catAttrs;
+
+ plugins =
+ [
+ {
+ name = "autovenv";
+ src = pkgs.fetchFromGitHub {
+ owner = "linnnus";
+ repo = "autovenv";
+ rev = "d9f0cd7";
+ hash = "sha256-GfJIybMYxE97xLSkrOSGsn+AREmnCyqe9n2aZwjw4w4=";
+ };
+ }
+ {
+ name = "zsh-cwd-history";
+ src = pkgs.fetchFromGitHub {
+ owner = "ericfreese";
+ repo = "zsh-cwd-history";
+ rev = "73afed8";
+ hash = "sha256-xW11wPFDuFU80AzgAgLwkvK7Qv58fo3i3kSasE3p0zs=";
+ };
+ config = ''
+ # Where to but history files
+ export ZSH_CWD_HISTORY_DIR=${config.xdg.dataHome}/zsh-cwd-history
+ mkdir -p "$ZSH_CWD_HISTORY_DIR"
+
+ # Toggle between global/local history
+ bindkey '^G' cwd-history-toggle
+ '';
+ }
+ {
+ name = "zsh-vi-mode-cursor";
+ src = pkgs.fetchFromGitHub {
+ owner = "Buckmeister";
+ repo = "zsh-vi-mode-cursor";
+ rev = "fa7cc0973ee71636e906e25e782d0aea19545d60";
+ hash = "sha256-j73M4bvAoHWt5Wwg47hM0p5Or74x/3btTOPnI22SqG8=";
+ };
+ }
+ ];
+in
+{
+ programs.zsh = {
+ plugins = map (p: removeAttrs p ["config"]) plugins;
+
+ initExtra = concatStringsSep "\n" (catAttrs "config" plugins);
+ };
+}