aboutsummaryrefslogtreecommitdiff
path: root/home/zsh/default.nix
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2022-06-19 15:57:45 -0700
committerFranck Cuny <franck@fcuny.net>2022-06-20 14:39:35 -0700
commitb5c428822468b9a2dfb00a673c39e809f4ac0651 (patch)
tree54e2190f9b20ce11827d0d5b10da2a96c135437a /home/zsh/default.nix
parentfeat(tools/seqstat): add a tool to report stats about a sequence (diff)
downloadinfra-b5c428822468b9a2dfb00a673c39e809f4ac0651.tar.gz
ref(home/shell): make it easier to share common things between shells
I'm considering trying again fish, and there are a number of things that should be common between zsh and fish (aliases, environment variables, ...). Instead of duplicating these settings multiple time, I'm consolidating the shell configurations under `home/shell`, and I can set the shell I want to use with `my.home.shell.name`. The first step is to move the modules for fish and zsh under `home/shell`, add an interface to pick which one I want to use, and modify the `host/home.nix` configuration to keep using zsh with the new interface. Change-Id: Idb66b1a6fcc11a6eeaf5fd2d32dd3698d2d85bdf Reviewed-on: https://cl.fcuny.net/c/world/+/455 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
Diffstat (limited to 'home/zsh/default.nix')
-rw-r--r--home/zsh/default.nix58
1 files changed, 0 insertions, 58 deletions
diff --git a/home/zsh/default.nix b/home/zsh/default.nix
deleted file mode 100644
index 21dbedd..0000000
--- a/home/zsh/default.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{ config, pkgs, lib, ... }:
-let cfg = config.my.home.zsh;
-in
-{
- options.my.home.zsh = with lib; {
- enable = mkEnableOption "zsh configuration";
- };
-
- config = lib.mkIf cfg.enable {
- home.packages = with pkgs; [ zsh-completions ];
-
- programs.zsh = {
- enable = true;
- dotDir = ".config/zsh";
- enableCompletion = true;
-
- history = {
- size = 500000;
- save = 500000;
- extended = false;
- ignoreSpace = true;
- ignoreDups = true;
- share = false;
- # see
- # https://github.com/nix-community/home-manager/blob/32a7da69dc53c9eb5ad0675eb7fdc58f7fe35272/modules/programs/zsh.nix#L537
- path = ".local/share/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";
- };
-
- defaultKeymap = "emacs";
-
- # the order matters for sway.zsh: I want to load it first
- # to start the session if I log on a machine where it's
- # available.
- # it can't be loaded with `initExtraFirst` because the session
- # variables from home-manager are not set yet otherwise (and I
- # need them for things like firefox or emacs).
- initExtra = lib.concatMapStrings builtins.readFile [
- ./sway.zsh
- ./completion-style.zsh
- ./gerrit.zsh
- ./options.zsh
- ./prompt.zsh
- ./tmux.zsh
- ];
- };
- };
-}