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