this repo has no description
1{
2 config,
3 pkgs,
4 inputs,
5 ...
6}:
7{
8 home.packages = [
9 pkgs.eza
10 ];
11
12 programs.atuin = {
13 enable = true;
14 flags = [ "--disable-up-arrow" ];
15 settings = {
16 style = "compact";
17 inline_height = 15;
18 };
19 };
20
21 # Disable home-manager provided man binary as it breaks on macOS
22 programs.man.enable = false;
23
24 home.sessionVariables = {
25 PAGER = "${pkgs.less}/bin/less";
26 MANPAGER = "nvim +Man!";
27 MANWIDTH = 80;
28 LESS = "-SRFXi";
29 ERL_ZFLAGS = "-kernel shell_history enabled";
30 };
31
32 programs.zsh.enable = true;
33
34 programs.fish = {
35 enable = true;
36
37 plugins = [
38 {
39 name = "agnoster";
40 src = inputs.agnoster;
41 }
42 ];
43
44 shellAliases = {
45 git = "LC_CTYPE=UTF-8 LANG=C command git";
46 g = "git";
47 ls = "eza";
48 };
49
50 functions = {
51 p = ''
52 if test (count $argv) -gt 0 && test -f $argv[1] || not isatty
53 bat $argv
54 else
55 eza -Alh --git $argv
56 end
57 '';
58
59 "=" = ''
60 numbat -e "$argv"
61 '';
62 };
63
64 loginShellInit = ''
65 fish_add_path --move --path /run/wrappers/bin /etc/profiles/per-user/$USER/bin /nix/var/nix/profiles/default/bin /run/current-system/sw/bin
66 fish_add_path $HOME/.local/bin
67 '';
68
69 shellInit = ''
70 set -gx XDG_RUNTIME_DIR (getconf DARWIN_USER_TEMP_DIR)
71 set -gx MIX_XDG 1
72
73 set -g fish_greeting
74
75 ulimit -n 10480
76 '';
77
78 interactiveShellInit = ''
79 # use fish in nix run and nix-shell
80 ${pkgs.any-nix-shell}/bin/any-nix-shell fish | source
81
82 set -g DEFAULT_USER ${config.home.username}
83
84 set -gx SSH_AUTH_SOCK ~/.local/share/1password/agent.sock
85
86 function e --wraps nvim --description 'Run $EDITOR'
87 set -l cmd (string split ' ' $EDITOR)
88 eval $cmd[1] $cmd[2..] $argv
89 end
90
91 source (${pkgs.lima}/bin/limactl completion fish | psub)
92 source $HOME/.op/plugins.sh
93
94 if which op > /dev/null; source (op completion fish | psub); end
95 '';
96 };
97}