diff options
| author | Franck Cuny <franck@fcuny.net> | 2022-06-19 15:57:45 -0700 |
|---|---|---|
| committer | Franck Cuny <franck@fcuny.net> | 2022-06-20 14:39:35 -0700 |
| commit | b5c428822468b9a2dfb00a673c39e809f4ac0651 (patch) | |
| tree | 54e2190f9b20ce11827d0d5b10da2a96c135437a /home/zsh/default.nix | |
| parent | feat(tools/seqstat): add a tool to report stats about a sequence (diff) | |
| download | infra-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.nix | 58 |
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 - ]; - }; - }; -} |
