aboutsummaryrefslogtreecommitdiff
path: root/home/zsh.nix
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2023-12-14 06:19:50 -0800
committerFranck Cuny <franck@fcuny.net>2023-12-14 06:19:59 -0800
commit94142ef5780de4a049436de08b8d7e0cd3d04245 (patch)
tree7e55f6a70bba904934a088d43f464bccbb78bdb3 /home/zsh.nix
parentbuild(deps): bump cachix/install-nix-action from 23 to 24 (diff)
downloadinfra-94142ef5780de4a049436de08b8d7e0cd3d04245.tar.gz
simplify the layout
Diffstat (limited to 'home/zsh.nix')
-rw-r--r--home/zsh.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/home/zsh.nix b/home/zsh.nix
new file mode 100644
index 0000000..0cc20eb
--- /dev/null
+++ b/home/zsh.nix
@@ -0,0 +1,45 @@
+{ config, pkgs, lib, ... }:
+{
+ home.packages = with pkgs; [ zsh-completions ];
+
+ programs.zsh = {
+ enable = true;
+ dotDir = ".config/zsh";
+
+ defaultKeymap = "emacs";
+ enableCompletion = true;
+ enableAutosuggestions = true;
+
+ history = {
+ size = 500000;
+ save = 500000;
+ extended = true;
+ ignoreSpace = true;
+ ignoreDups = true;
+ share = true;
+ # see
+ # https://github.com/nix-community/home-manager/blob/32a7da69dc53c9eb5ad0675eb7fdc58f7fe35272/modules/programs/zsh.nix#L537
+ path = "${config.xdg.dataHome}/zsh/zsh_history";
+ };
+
+ localVariables = {
+ # Print timing statistics for everything which takes longer than
+ # 5 seconds of user + system time.
+ REPORTTIME = 5;
+ };
+
+ shellAliases = {
+ ll = "ls -l --color=auto";
+ lt = "ls -ltrh --color=auto";
+ la = "ls -ltrha --color=auto";
+ pkgsearch = "nix search nixpkgs";
+ flup = "nix flake update --commit-lock-file";
+ };
+
+ oh-my-zsh = {
+ enable = true;
+ plugins = [ "git" ];
+ theme = "robbyrussell";
+ };
+ };
+}