{ config, pkgs, ... }: { home.packages = with pkgs; [ aider-chat basedpyright customPackages.llmPython.llm # llm and claude support delve dive # explore layers in docker images docker go-tools # collection of tools, https://github.com/dominikh/go-tools golangci-lint gopls nil # nix lsp nix-direnv # integration with direnv nixfmt-rfc-style # new formatter python3 ruff ruff-lsp rustup uv wireshark ]; # https://wezterm.org/config/lua/general.html programs.wezterm = { enable = true; extraConfig = '' local config = {} if wezterm.config_builder then config = wezterm.config_builder() end config.color_scheme = 'Catppuccin Macchiato' config.scrollback_lines = 10000 config.font = wezterm.font("Source Code Pro") config.font_size = 14.0 config.line_height = 1.0 config.window_frame = { font = wezterm.font({ family = 'Source Code Pro', weight = 'Bold' }), font_size = 11.0, } config.bold_brightens_ansi_colors = true config.window_decorations = 'RESIZE|INTEGRATED_BUTTONS' config.window_padding = { left = '0.5cell', right = '0.5cell', top = '0.5cell', bottom = '0.5cell' } config.window_background_opacity = 0.97 config.macos_window_background_blur = 30 config.default_cursor_style = 'BlinkingBar' local act = wezterm.action config.keys = { -- Override CMD+t to always start new tabs in the home directory. { key = 't', mods = 'SUPER', action = act.SpawnCommandInNewTab { cwd = wezterm.home_dir } }, } config.audible_bell = "Disabled" config.visual_bell = { fade_in_duration_ms = 75, fade_out_duration_ms = 75, target = 'CursorColor', }; config.term = "xterm-256color" config.front_end = "WebGpu" -- in order to access menu bar when in fullscreen config.native_macos_fullscreen_mode = true -- select the pane with the mouse config.pane_focus_follows_mouse = true -- Set initial size config.initial_cols = 120 config.initial_rows = 36 -- Since we're managing the binary with nix, no need for this config.check_for_updates = false wezterm.on('update-status', function(window) -- Grab the utf8 character for the "powerline" left facing -- solid arrow. local SOLID_LEFT_ARROW = utf8.char(0xe0b2) -- Grab the current window's configuration, and from it the -- palette (this is the combination of your chosen colour scheme -- including any overrides). local color_scheme = window:effective_config().resolved_palette local bg = color_scheme.background local fg = color_scheme.foreground window:set_right_status(wezterm.format({ -- First, we draw the arrow... { Background = { Color = 'none' } }, { Foreground = { Color = bg } }, { Text = SOLID_LEFT_ARROW }, -- Then we draw our text { Background = { Color = bg } }, { Foreground = { Color = fg } }, { Text = ' ' .. wezterm.hostname() .. ' ' }, })) end) return config ''; }; programs.go = { enable = true; goPath = ".local/share/pkg.go"; goBin = ".local/bin.go"; goPrivate = [ "github.rbx.com/*" "github.com/fcuny/*" ]; }; home.sessionPath = [ config.home.sessionVariables.GOBIN "${config.home.homeDirectory}/.local/bin" ]; }