Install fzf-tab for zsh
- fzf means 'fuzzy-finder'; it'll allow us better tab completions
diff --git a/flake.lock b/flake.lock
index 2b7cdb0..6ca4271 100644
--- a/flake.lock
+++ b/flake.lock
@@ -30,6 +30,22 @@
"type": "github"
}
},
+ "fzf-tab": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1660535318,
+ "narHash": "sha256-xP0IoCeyZyYU+iKUkIoIAMn75r6R3TJYhAKoQgC1dWg=",
+ "owner": "Aloxaf",
+ "repo": "fzf-tab",
+ "rev": "938eef72e93ddb0609205a663bf0783f4e1b5fae",
+ "type": "github"
+ },
+ "original": {
+ "owner": "Aloxaf",
+ "repo": "fzf-tab",
+ "type": "github"
+ }
+ },
"gtimelog": {
"flake": false,
"locked": {
@@ -170,6 +186,7 @@
"root": {
"inputs": {
"flake-utils": "flake-utils",
+ "fzf-tab": "fzf-tab",
"gtimelog": "gtimelog",
"home-manager": "home-manager",
"home-manager-unstable": "home-manager-unstable",
diff --git a/flake.nix b/flake.nix
index b68e2b1..d957175 100644
--- a/flake.nix
+++ b/flake.nix
@@ -16,6 +16,10 @@
url = "git+https://gitlab.collabora.com/collabora/gtimelog.git";
flake = false;
};
+ fzf-tab = {
+ url = "github:Aloxaf/fzf-tab";
+ flake = false;
+ };
home-manager.inputs.nixpkgs.follows = "nixpkgs";
home-manager-unstable.inputs.nixpkgs.follows = "nixpkgs";
diff --git a/modules/zsh.nix b/modules/zsh.nix
index b7e3113..36549b7 100644
--- a/modules/zsh.nix
+++ b/modules/zsh.nix
@@ -2,11 +2,18 @@
pkgs,
home,
username,
+ fzf-tab,
...
}: {
home = {
programs.zsh = {
enable = true;
+ plugins = [
+ {
+ name = "fzf-tab";
+ src = fzf-tab;
+ }
+ ];
oh-my-zsh = {
enable = true;
plugins = ["git"];
@@ -60,7 +67,7 @@
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'exa -1 -l --color=always $realpath'
# switch group using `,` and `.`
zstyle ':fzf-tab:*' switch-group ',' '.'
- # enable-fzf-tab
+ enable-fzf-tab
alias compinit="true"
'';
@@ -70,8 +77,11 @@
dotDir = ".config/zsh";
};
- home.shellAliases = {
- ":q" = "exit";
+ home = {
+ shellAliases = {
+ ":q" = "exit";
+ };
+ packages = [pkgs.fzf];
};
};
config.environment.persistence."/nix/persist".users.${username}.directories = [".local/share/zsh"];