me like nix
0

Configure Feed

Select the types of activity you want to include in your feed.

1{ inputs, ... }: 2 3let 4 zjctl = pkgs: import ../packages/zjctl.nix { inherit pkgs; }; 5 zrpc-wasm = pkgs: import ../packages/zrpc-wasm.nix { inherit pkgs; }; 6 harpoon-wasm = pkgs: import ../packages/harpoon-wasm.nix { inherit pkgs; }; 7in 8{ 9 flake.modules.homeManager.shell = 10 { pkgs, config, ... }: 11 { 12 home.packages = with pkgs; [ 13 yazi 14 fd 15 ripgrep 16 rsync 17 zoxide 18 (zjctl pkgs) 19 ]; 20 21 programs.direnv.enable = true; 22 23 programs.atuin = { 24 enable = true; 25 enableFishIntegration = true; 26 daemon.enable = true; 27 settings = { 28 filter_mode_shell_up_key_binding = "session"; 29 }; 30 }; 31 32 programs.zellij = { 33 enable = true; 34 settings = { 35 keybinds = { 36 unbind = [ 37 "Ctrl q" 38 "Ctrl o" 39 ]; 40 normal = { 41 "bind \"Ctrl m\"" = { 42 SwitchToMode = "Session"; 43 }; 44 }; 45 "shared_except \"locked\"" = { 46 "bind \"Ctrl y\"" = { 47 "LaunchOrFocusPlugin \"file:~/.config/zellij/plugins/harpoon.wasm\"" = { 48 floating = true; 49 move_to_focused_tab = true; 50 }; 51 }; 52 }; 53 }; 54 load_plugins = { 55 "\"file:~/.config/zellij/plugins/zrpc.wasm\"" = { }; 56 }; 57 pane_frames = false; 58 show_startup_tips = false; 59 ui = { 60 pane_frames.hide_session_name = true; 61 }; 62 }; 63 }; 64 65 xdg.configFile."zellij/plugins/zrpc.wasm".source = "${zrpc-wasm pkgs}/zrpc.wasm"; 66 xdg.configFile."zellij/plugins/harpoon.wasm".source = "${harpoon-wasm pkgs}/harpoon.wasm"; 67 68 xdg.configFile."zellij/layouts/split.kdl".text = '' 69 layout { 70 tab { 71 pane size="50%" 72 pane split_direction="vertical" size="50%" { 73 pane 74 pane 75 } 76 } 77 } 78 ''; 79 80 programs.zoxide = { 81 enable = true; 82 enableFishIntegration = true; 83 }; 84 85 programs.fish = { 86 enable = true; 87 shellAliases = { 88 agenix = "agenix -i ~/.config/agenix/yubikey-identity.txt"; 89 }; 90 interactiveShellInit = '' 91 set fish_greeting 92 # Set 1Password SSH agent socket 93 set -gx SSH_AUTH_SOCK ${config.home.homeDirectory}/.1password/agent.sock 94 # Load 1Password CLI plugins 95 if test -f ~/.config/op/plugins.sh 96 source ~/.config/op/plugins.sh 97 end 98 # Auto-launch zellij if not already inside a session 99 # Use systemd-run to escape niri's session scope so the server 100 # survives logout 101 if not set -q ZELLIJ 102 systemd-run --user --scope zellij 103 else 104 fastfetch --logo small 105 end 106 107 function y 108 set tmp (mktemp -t "yazi-cwd.XXXXXX") 109 yazi $argv --cwd-file="$tmp" 110 if read -z cwd < "$tmp"; and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ] 111 builtin cd -- "$cwd" 112 end 113 rm -f -- "$tmp" 114 end 115 ''; 116 functions = { 117 s3edit = '' 118 set file (basename $argv[1]) 119 set tmpfile /tmp/$file 120 aws s3 cp $argv[1] $tmpfile 121 and $EDITOR $tmpfile 122 and aws s3 cp $tmpfile $argv[1] 123 ''; 124 }; 125 }; 126 127 programs.starship = { 128 enable = true; 129 enableFishIntegration = true; 130 }; 131 132 programs.alacritty = { 133 enable = true; 134 settings = { 135 terminal.shell.program = "fish"; 136 window = { 137 decorations = "none"; 138 opacity = 0.9; 139 }; 140 font = { 141 normal = { 142 family = "BerkeleyMono Nerd Font"; 143 style = "Regular"; 144 }; 145 size = 12.0; 146 }; 147 }; 148 }; 149 }; 150}