{ config, pkgs, ... }: { home.packages = with pkgs; [ # go go-tools golangci-lint gopls delve # python uv python3 # nix nil # nix lsp nix-direnv # integration with direnv nixfmt-rfc-style # new formatter # rust rustup ]; # 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 Mocha' config.scrollback_lines = 10000 config.font = wezterm.font("Monaspace Neon", { weight = "Light", }) config.font_size = 16.0 config.window_padding = { left = 10, right = 10, top = 10, bottom = 10 } 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.hide_tab_bar_if_only_one_tab = true config.use_fancy_tab_bar = true config.tab_bar_at_bottom = true config.inactive_pane_hsb = { saturation = 0.0, brightness = 1.0, } config.term = "xterm-256color" config.front_end = "WebGpu" -- 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 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" ]; }