Switch to alacritty
Replace wezterm as it was setting extra shell variables that messed up emacs internal terminal. Add config to alacritty
This commit is contained in:
parent
4bd9fcba80
commit
efa0909c15
28
home/alacritty/default.nix
Normal file
28
home/alacritty/default.nix
Normal file
|
@ -0,0 +1,28 @@
|
|||
{ pkgs, tokyonight, ... }:
|
||||
|
||||
{
|
||||
home.packages = [ (pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; }) ];
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
import = [ "${tokyonight}/extras/alacritty/tokyonight_night.yml" ];
|
||||
window = {
|
||||
padding = {
|
||||
x = 10;
|
||||
y = 10;
|
||||
};
|
||||
decorations = "none";
|
||||
opacity = 0.8;
|
||||
dynamic_title = true;
|
||||
decorations_theme_variant = "Dark";
|
||||
};
|
||||
font = {
|
||||
normal.family = "FiraCode Nerd Font";
|
||||
size = 14.0;
|
||||
};
|
||||
selection.save_to_clipboard = true;
|
||||
live_config_reload = true;
|
||||
mouse.hide_when_typing = true;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -68,13 +68,13 @@ XWayland {
|
|||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
bind = SUPER, Return, exec, wezterm
|
||||
bind = SUPER, Return, exec, alacritty
|
||||
bind = SUPER, F1, exec, swaylock
|
||||
bind = SUPER, X, exec, emacsclient -c -a 'emacs'
|
||||
bind = SUPER CTRL, W, exec, firefox
|
||||
bind = SUPER CTRL, E, exec, thunderbird
|
||||
bind = SUPER CTRL, F, exec, thunar
|
||||
bind = SUPER CTRL, S, exec, wezterm start --always-new-process ncspot
|
||||
bind = SUPER CTRL, S, exec, alacritty -e ncspot
|
||||
bind = SUPER CTRL, V, exec, bitwarden
|
||||
|
||||
# Rofi binds
|
||||
|
|
|
@ -1,20 +1,18 @@
|
|||
{ pkgs, config, ... }:
|
||||
let icon-theme = config.gtk.iconTheme.name;
|
||||
in
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
icon-theme = config.gtk.iconTheme.name;
|
||||
in {
|
||||
imports = [../gtk.nix];
|
||||
home.packages = with pkgs; [rofi-power-menu];
|
||||
imports = [ ../gtk.nix ];
|
||||
home.packages = with pkgs; [ rofi-power-menu ];
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
location = "center";
|
||||
pass.enable = true;
|
||||
terminal = "${pkgs.wezterm}/bin/wezterm";
|
||||
plugins = with pkgs; [rofi-file-browser];
|
||||
terminal = "${pkgs.alacritty}/bin/alacritty";
|
||||
plugins = with pkgs; [ rofi-file-browser ];
|
||||
extraConfig = {
|
||||
modi = "run,drun,ssh,file-browser-extended,power-menu:${pkgs.rofi-power-menu}/bin/rofi-power-menu";
|
||||
modi =
|
||||
"run,drun,ssh,file-browser-extended,power-menu:${pkgs.rofi-power-menu}/bin/rofi-power-menu";
|
||||
sort = true;
|
||||
sorting-method = "fzf";
|
||||
matching = "fuzzy";
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [(pkgs.nerdfonts.override {fonts = ["FiraCode"];})];
|
||||
programs.wezterm = {
|
||||
enable = true;
|
||||
extraConfig = builtins.readFile ./wezterm.lua;
|
||||
};
|
||||
}
|
|
@ -1,81 +0,0 @@
|
|||
local wezterm = require "wezterm"
|
||||
local act = wezterm.action
|
||||
|
||||
return {
|
||||
copy_mode = {
|
||||
{ key = "Tab", mods = "NONE", action = act.CopyMode "MoveForwardWord" },
|
||||
{ key = "Tab", mods = "SHIFT", action = act.CopyMode "MoveBackwardWord" },
|
||||
{ key = "Enter", mods = "NONE", action = act.CopyMode "MoveToStartOfNextLine" },
|
||||
{ key = "Escape", mods = "NONE", action = act.CopyMode "Close" },
|
||||
{ key = "Space", mods = "NONE", action = act.CopyMode { SetSelectionMode = "Cell" } },
|
||||
{ key = "$", mods = "NONE", action = act.CopyMode "MoveToEndOfLineContent" },
|
||||
{ key = "$", mods = "SHIFT", action = act.CopyMode "MoveToEndOfLineContent" },
|
||||
{ key = ",", mods = "NONE", action = act.CopyMode "JumpReverse" },
|
||||
{ key = "0", mods = "NONE", action = act.CopyMode "MoveToStartOfLine" },
|
||||
{ key = ";", mods = "NONE", action = act.CopyMode "JumpAgain" },
|
||||
{ key = "F", mods = "NONE", action = act.CopyMode { JumpBackward = { prev_char = false } } },
|
||||
{ key = "F", mods = "SHIFT", action = act.CopyMode { JumpBackward = { prev_char = false } } },
|
||||
{ key = "G", mods = "NONE", action = act.CopyMode "MoveToScrollbackBottom" },
|
||||
{ key = "G", mods = "SHIFT", action = act.CopyMode "MoveToScrollbackBottom" },
|
||||
{ key = "H", mods = "NONE", action = act.CopyMode "MoveToViewportTop" },
|
||||
{ key = "H", mods = "SHIFT", action = act.CopyMode "MoveToViewportTop" },
|
||||
{ key = "L", mods = "NONE", action = act.CopyMode "MoveToViewportBottom" },
|
||||
{ key = "L", mods = "SHIFT", action = act.CopyMode "MoveToViewportBottom" },
|
||||
{ key = "M", mods = "NONE", action = act.CopyMode "MoveToViewportMiddle" },
|
||||
{ key = "M", mods = "SHIFT", action = act.CopyMode "MoveToViewportMiddle" },
|
||||
{ key = "O", mods = "NONE", action = act.CopyMode "MoveToSelectionOtherEndHoriz" },
|
||||
{ key = "O", mods = "SHIFT", action = act.CopyMode "MoveToSelectionOtherEndHoriz" },
|
||||
{ key = "T", mods = "NONE", action = act.CopyMode { JumpBackward = { prev_char = true } } },
|
||||
{ key = "T", mods = "SHIFT", action = act.CopyMode { JumpBackward = { prev_char = true } } },
|
||||
{ key = "V", mods = "NONE", action = act.CopyMode { SetSelectionMode = "Line" } },
|
||||
{ key = "V", mods = "SHIFT", action = act.CopyMode { SetSelectionMode = "Line" } },
|
||||
{ key = "^", mods = "NONE", action = act.CopyMode "MoveToStartOfLineContent" },
|
||||
{ key = "^", mods = "SHIFT", action = act.CopyMode "MoveToStartOfLineContent" },
|
||||
{ key = "b", mods = "NONE", action = act.CopyMode "MoveBackwardWord" },
|
||||
{ key = "b", mods = "ALT", action = act.CopyMode "MoveBackwardWord" },
|
||||
{ key = "b", mods = "CTRL", action = act.CopyMode "PageUp" },
|
||||
{ key = "c", mods = "CTRL", action = act.CopyMode "Close" },
|
||||
{ key = "f", mods = "NONE", action = act.CopyMode { JumpForward = { prev_char = false } } },
|
||||
{ key = "f", mods = "ALT", action = act.CopyMode "MoveForwardWord" },
|
||||
{ key = "f", mods = "CTRL", action = act.CopyMode "PageDown" },
|
||||
{ key = "g", mods = "NONE", action = act.CopyMode "MoveToScrollbackTop" },
|
||||
{ key = "g", mods = "CTRL", action = act.CopyMode "Close" },
|
||||
{ key = "h", mods = "NONE", action = act.CopyMode "MoveLeft" },
|
||||
{ key = "j", mods = "NONE", action = act.CopyMode "MoveDown" },
|
||||
{ key = "k", mods = "NONE", action = act.CopyMode "MoveUp" },
|
||||
{ key = "l", mods = "NONE", action = act.CopyMode "MoveRight" },
|
||||
{ key = "m", mods = "ALT", action = act.CopyMode "MoveToStartOfLineContent" },
|
||||
{ key = "o", mods = "NONE", action = act.CopyMode "MoveToSelectionOtherEnd" },
|
||||
{ key = "q", mods = "NONE", action = act.CopyMode "Close" },
|
||||
{ key = "t", mods = "NONE", action = act.CopyMode { JumpForward = { prev_char = true } } },
|
||||
{ key = "v", mods = "NONE", action = act.CopyMode { SetSelectionMode = "Cell" } },
|
||||
{ key = "v", mods = "CTRL", action = act.CopyMode { SetSelectionMode = "Block" } },
|
||||
{ key = "w", mods = "NONE", action = act.CopyMode "MoveForwardWord" },
|
||||
{
|
||||
key = "y",
|
||||
mods = "NONE",
|
||||
action = act.Multiple { { CopyTo = "ClipboardAndPrimarySelection" }, { CopyMode = "Close" } },
|
||||
},
|
||||
{ key = "PageUp", mods = "NONE", action = act.CopyMode "PageUp" },
|
||||
{ key = "PageDown", mods = "NONE", action = act.CopyMode "PageDown" },
|
||||
{ key = "LeftArrow", mods = "NONE", action = act.CopyMode "MoveLeft" },
|
||||
{ key = "LeftArrow", mods = "ALT", action = act.CopyMode "MoveBackwardWord" },
|
||||
{ key = "RightArrow", mods = "NONE", action = act.CopyMode "MoveRight" },
|
||||
{ key = "RightArrow", mods = "ALT", action = act.CopyMode "MoveForwardWord" },
|
||||
{ key = "UpArrow", mods = "NONE", action = act.CopyMode "MoveUp" },
|
||||
{ key = "DownArrow", mods = "NONE", action = act.CopyMode "MoveDown" },
|
||||
},
|
||||
|
||||
search_mode = {
|
||||
{ key = "Enter", mods = "NONE", action = act.CopyMode "PriorMatch" },
|
||||
{ key = "Escape", mods = "NONE", action = act.CopyMode "Close" },
|
||||
{ key = "n", mods = "CTRL", action = act.CopyMode "NextMatch" },
|
||||
{ key = "p", mods = "CTRL", action = act.CopyMode "PriorMatch" },
|
||||
{ key = "r", mods = "CTRL", action = act.CopyMode "CycleMatchType" },
|
||||
{ key = "u", mods = "CTRL", action = act.CopyMode "ClearPattern" },
|
||||
{ key = "PageUp", mods = "NONE", action = act.CopyMode "PriorMatchPage" },
|
||||
{ key = "PageDown", mods = "NONE", action = act.CopyMode "NextMatchPage" },
|
||||
{ key = "UpArrow", mods = "NONE", action = act.CopyMode "PriorMatch" },
|
||||
{ key = "DownArrow", mods = "NONE", action = act.CopyMode "NextMatch" },
|
||||
},
|
||||
}
|
|
@ -1,124 +0,0 @@
|
|||
local wezterm = require "wezterm"
|
||||
local act = wezterm.action
|
||||
|
||||
return {
|
||||
{ key = "h", mods = "ALT", action = act.ActivatePaneDirection "Left" },
|
||||
{ key = "j", mods = "ALT", action = act.ActivatePaneDirection "Down" },
|
||||
{ key = "k", mods = "ALT", action = act.ActivatePaneDirection "Up" },
|
||||
{ key = "l", mods = "ALT", action = act.ActivatePaneDirection "Right" },
|
||||
{ key = "1", mods = "ALT", action = act.ActivateTab(0) },
|
||||
{ key = "2", mods = "ALT", action = act.ActivateTab(1) },
|
||||
{ key = "3", mods = "ALT", action = act.ActivateTab(2) },
|
||||
{ key = "4", mods = "ALT", action = act.ActivateTab(3) },
|
||||
{ key = "5", mods = "ALT", action = act.ActivateTab(4) },
|
||||
{ key = "6", mods = "ALT", action = act.ActivateTab(5) },
|
||||
{ key = "7", mods = "ALT", action = act.ActivateTab(6) },
|
||||
{ key = "8", mods = "ALT", action = act.ActivateTab(7) },
|
||||
{ key = "9", mods = "ALT", action = act.ActivateTab(8) },
|
||||
{ key = "0", mods = "ALT", action = act.ActivateTab(-1) },
|
||||
{ key = "Enter", mods = "ALT", action = act.SplitVertical { domain = "CurrentPaneDomain" } },
|
||||
{ key = "Enter", mods = "SHIFT|ALT", action = act.SplitHorizontal { domain = "CurrentPaneDomain" } },
|
||||
{ key = "Tab", mods = "CTRL", action = act.ActivateTabRelative(1) },
|
||||
{ key = "Tab", mods = "SHIFT|CTRL", action = act.ActivateTabRelative(-1) },
|
||||
{ key = "Enter", mods = "SUPER", action = act.ToggleFullScreen },
|
||||
{ key = ")", mods = "CTRL", action = act.ResetFontSize },
|
||||
{ key = ")", mods = "SHIFT|CTRL", action = act.ResetFontSize },
|
||||
{ key = "0", mods = "CTRL", action = act.ResetFontSize },
|
||||
{ key = "0", mods = "SHIFT|CTRL", action = act.ResetFontSize },
|
||||
{ key = "+", mods = "CTRL", action = act.IncreaseFontSize },
|
||||
{ key = "+", mods = "SHIFT|CTRL", action = act.IncreaseFontSize },
|
||||
{ key = "-", mods = "CTRL", action = act.DecreaseFontSize },
|
||||
{ key = "-", mods = "SHIFT|CTRL", action = act.DecreaseFontSize },
|
||||
{ key = "=", mods = "CTRL", action = act.IncreaseFontSize },
|
||||
{ key = "=", mods = "SHIFT|CTRL", action = act.IncreaseFontSize },
|
||||
{ key = "C", mods = "CTRL", action = act.CopyTo "Clipboard" },
|
||||
{ key = "C", mods = "SHIFT|CTRL", action = act.CopyTo "Clipboard" },
|
||||
{ key = "F", mods = "CTRL", action = act.Search "CurrentSelectionOrEmptyString" },
|
||||
{ key = "F", mods = "SHIFT|CTRL", action = act.Search "CurrentSelectionOrEmptyString" },
|
||||
{ key = "K", mods = "CTRL", action = act.ClearScrollback "ScrollbackOnly" },
|
||||
{ key = "K", mods = "SHIFT|CTRL", action = act.ClearScrollback "ScrollbackOnly" },
|
||||
{ key = "L", mods = "CTRL", action = act.ShowDebugOverlay },
|
||||
{ key = "L", mods = "SHIFT|CTRL", action = act.ShowDebugOverlay },
|
||||
{ key = "M", mods = "CTRL", action = act.Hide },
|
||||
{ key = "M", mods = "SHIFT|CTRL", action = act.Hide },
|
||||
{ key = "N", mods = "CTRL", action = act.SpawnWindow },
|
||||
{ key = "N", mods = "SHIFT|CTRL", action = act.SpawnWindow },
|
||||
{ key = "P", mods = "CTRL", action = act.PaneSelect { alphabet = "", mode = "Activate" } },
|
||||
{ key = "P", mods = "SHIFT|CTRL", action = act.PaneSelect { alphabet = "", mode = "Activate" } },
|
||||
{ key = "R", mods = "CTRL", action = act.ReloadConfiguration },
|
||||
{ key = "R", mods = "SHIFT|CTRL", action = act.ReloadConfiguration },
|
||||
{ key = "T", mods = "CTRL", action = act.SpawnTab "CurrentPaneDomain" },
|
||||
{ key = "T", mods = "SHIFT|CTRL", action = act.SpawnTab "CurrentPaneDomain" },
|
||||
{
|
||||
key = "U",
|
||||
mods = "CTRL",
|
||||
action = act.CharSelect { copy_on_select = true, copy_to = "ClipboardAndPrimarySelection" },
|
||||
},
|
||||
{
|
||||
key = "U",
|
||||
mods = "SHIFT|CTRL",
|
||||
action = act.CharSelect { copy_on_select = true, copy_to = "ClipboardAndPrimarySelection" },
|
||||
},
|
||||
{ key = "V", mods = "CTRL", action = act.PasteFrom "Clipboard" },
|
||||
{ key = "V", mods = "SHIFT|CTRL", action = act.PasteFrom "Clipboard" },
|
||||
{ key = "W", mods = "CTRL", action = act.CloseCurrentTab { confirm = true } },
|
||||
{ key = "W", mods = "SHIFT|CTRL", action = act.CloseCurrentTab { confirm = true } },
|
||||
{ key = "X", mods = "CTRL", action = act.ActivateCopyMode },
|
||||
{ key = "X", mods = "SHIFT|CTRL", action = act.ActivateCopyMode },
|
||||
{ key = "Z", mods = "CTRL", action = act.TogglePaneZoomState },
|
||||
{ key = "Z", mods = "SHIFT|CTRL", action = act.TogglePaneZoomState },
|
||||
{ key = "[", mods = "SHIFT|SUPER", action = act.ActivateTabRelative(-1) },
|
||||
{ key = "]", mods = "SHIFT|SUPER", action = act.ActivateTabRelative(1) },
|
||||
{ key = "_", mods = "CTRL", action = act.DecreaseFontSize },
|
||||
{ key = "_", mods = "SHIFT|CTRL", action = act.DecreaseFontSize },
|
||||
{ key = "c", mods = "SHIFT|CTRL", action = act.CopyTo "Clipboard" },
|
||||
{ key = "c", mods = "SUPER", action = act.CopyTo "Clipboard" },
|
||||
{ key = "f", mods = "SHIFT|CTRL", action = act.Search "CurrentSelectionOrEmptyString" },
|
||||
{ key = "f", mods = "SUPER", action = act.Search "CurrentSelectionOrEmptyString" },
|
||||
{ key = "k", mods = "SHIFT|CTRL", action = act.ClearScrollback "ScrollbackOnly" },
|
||||
{ key = "k", mods = "SUPER", action = act.ClearScrollback "ScrollbackOnly" },
|
||||
{ key = "l", mods = "SHIFT|CTRL", action = act.ShowDebugOverlay },
|
||||
{ key = "m", mods = "SHIFT|CTRL", action = act.Hide },
|
||||
{ key = "m", mods = "SUPER", action = act.Hide },
|
||||
{ key = "n", mods = "SHIFT|CTRL", action = act.SpawnWindow },
|
||||
{ key = "n", mods = "SUPER", action = act.SpawnWindow },
|
||||
{ key = "p", mods = "SHIFT|CTRL", action = act.PaneSelect { alphabet = "", mode = "Activate" } },
|
||||
{ key = "r", mods = "SHIFT|CTRL", action = act.ReloadConfiguration },
|
||||
{ key = "r", mods = "SUPER", action = act.ReloadConfiguration },
|
||||
{ key = "t", mods = "SHIFT|CTRL", action = act.SpawnTab "CurrentPaneDomain" },
|
||||
{ key = "t", mods = "SUPER", action = act.SpawnTab "CurrentPaneDomain" },
|
||||
{
|
||||
key = "u",
|
||||
mods = "SHIFT|CTRL",
|
||||
action = act.CharSelect { copy_on_select = true, copy_to = "ClipboardAndPrimarySelection" },
|
||||
},
|
||||
{ key = "v", mods = "SHIFT|CTRL", action = act.PasteFrom "Clipboard" },
|
||||
{ key = "v", mods = "SUPER", action = act.PasteFrom "Clipboard" },
|
||||
{ key = "w", mods = "SHIFT|CTRL", action = act.CloseCurrentTab { confirm = true } },
|
||||
{ key = "w", mods = "SUPER", action = act.CloseCurrentTab { confirm = true } },
|
||||
{ key = "x", mods = "SHIFT|CTRL", action = act.ActivateCopyMode },
|
||||
{ key = "z", mods = "SHIFT|CTRL", action = act.TogglePaneZoomState },
|
||||
{ key = "{", mods = "SUPER", action = act.ActivateTabRelative(-1) },
|
||||
{ key = "{", mods = "SHIFT|SUPER", action = act.ActivateTabRelative(-1) },
|
||||
{ key = "}", mods = "SUPER", action = act.ActivateTabRelative(1) },
|
||||
{ key = "}", mods = "SHIFT|SUPER", action = act.ActivateTabRelative(1) },
|
||||
{ key = "phys:Space", mods = "SHIFT|CTRL", action = act.QuickSelect },
|
||||
{ key = "PageUp", mods = "SHIFT", action = act.ScrollByPage(-1) },
|
||||
{ key = "PageUp", mods = "CTRL", action = act.ActivateTabRelative(-1) },
|
||||
{ key = "PageUp", mods = "SHIFT|CTRL", action = act.MoveTabRelative(-1) },
|
||||
{ key = "PageDown", mods = "SHIFT", action = act.ScrollByPage(1) },
|
||||
{ key = "PageDown", mods = "CTRL", action = act.ActivateTabRelative(1) },
|
||||
{ key = "PageDown", mods = "SHIFT|CTRL", action = act.MoveTabRelative(1) },
|
||||
{ key = "LeftArrow", mods = "SHIFT|CTRL", action = act.ActivatePaneDirection "Left" },
|
||||
{ key = "LeftArrow", mods = "SHIFT|ALT|CTRL", action = act.AdjustPaneSize { "Left", 1 } },
|
||||
{ key = "RightArrow", mods = "SHIFT|CTRL", action = act.ActivatePaneDirection "Right" },
|
||||
{ key = "RightArrow", mods = "SHIFT|ALT|CTRL", action = act.AdjustPaneSize { "Right", 1 } },
|
||||
{ key = "UpArrow", mods = "SHIFT|CTRL", action = act.ActivatePaneDirection "Up" },
|
||||
{ key = "UpArrow", mods = "SHIFT|ALT|CTRL", action = act.AdjustPaneSize { "Up", 1 } },
|
||||
{ key = "DownArrow", mods = "SHIFT|CTRL", action = act.ActivatePaneDirection "Down" },
|
||||
{ key = "DownArrow", mods = "SHIFT|ALT|CTRL", action = act.AdjustPaneSize { "Down", 1 } },
|
||||
{ key = "Insert", mods = "SHIFT", action = act.PasteFrom "PrimarySelection" },
|
||||
{ key = "Insert", mods = "CTRL", action = act.CopyTo "PrimarySelection" },
|
||||
{ key = "Copy", mods = "NONE", action = act.CopyTo "Clipboard" },
|
||||
{ key = "Paste", mods = "NONE", action = act.PasteFrom "Clipboard" },
|
||||
}
|
|
@ -1,76 +0,0 @@
|
|||
local wezterm = require "wezterm"
|
||||
|
||||
-- The filled in variant of the powerline ( symbol
|
||||
local SOLID_LEFT_SEP = require("utf8").char(0xe0b6)
|
||||
|
||||
local M = {}
|
||||
M.setup = function(scheme)
|
||||
wezterm.on("update-right-status", function(window, _)
|
||||
-- Each element holds the text for a cell in a "powerline" style << fade
|
||||
local cells = {}
|
||||
|
||||
-- Show current active key table
|
||||
local name = window:active_key_table()
|
||||
if name then
|
||||
name = "TABLE: " .. name
|
||||
table.insert(cells, name)
|
||||
end
|
||||
|
||||
local date = wezterm.strftime("%a %-d %b %H:%M")
|
||||
-- local date = wezterm.strftime "%Y-%m-%d"
|
||||
table.insert(cells, date)
|
||||
-- local time = wezterm.strftime "%H:%M"
|
||||
-- table.insert(cells, time)
|
||||
|
||||
-- Get current hostname to track which device I'm on
|
||||
table.insert(cells, wezterm.hostname())
|
||||
|
||||
-- An entry for each battery (typically 0 or 1 battery)
|
||||
for _, b in ipairs(wezterm.battery_info()) do
|
||||
table.insert(cells, string.format("%.0f%%", b.state_of_charge * 100))
|
||||
end
|
||||
|
||||
-- Foreground color for the text across the fade
|
||||
local text_fg = scheme.tab_bar.active_tab.fg_color
|
||||
-- Tab bar background to complete fade
|
||||
local tab_bar_bg = scheme.tab_bar.background
|
||||
-- Color palette for the backgrounds of each cell
|
||||
local colours = wezterm.color.gradient({
|
||||
colors = {
|
||||
scheme.tab_bar.new_tab.bg_color,
|
||||
scheme.tab_bar.active_tab.bg_color,
|
||||
},
|
||||
}, #cells + 1)
|
||||
|
||||
-- The elements to be formatted
|
||||
local elements = {}
|
||||
-- How many cells have been formatted
|
||||
local num_cells = 0
|
||||
|
||||
-- Translate a cell into elements
|
||||
local function push(text, is_last)
|
||||
local cell_no = num_cells + 1
|
||||
table.insert(elements, { Foreground = { Color = text_fg } })
|
||||
table.insert(elements, { Background = { Color = colours[cell_no + 1] } })
|
||||
table.insert(elements, { Text = text })
|
||||
if not is_last then
|
||||
table.insert(elements, { Foreground = { Color = colours[cell_no + 2] } })
|
||||
table.insert(elements, { Text = " " .. SOLID_LEFT_SEP })
|
||||
end
|
||||
num_cells = num_cells + 1
|
||||
end
|
||||
|
||||
table.insert(elements, { Foreground = { Color = colours[num_cells + 2] } })
|
||||
table.insert(elements, { Background = { Color = tab_bar_bg } })
|
||||
table.insert(elements, { Text = SOLID_LEFT_SEP })
|
||||
while #cells > 0 do
|
||||
local cell = table.remove(cells, 1)
|
||||
push(cell, #cells == 0)
|
||||
end
|
||||
|
||||
if os.getenv("XDG_CURRENT_DESKTOP") ~= "i3" then
|
||||
window:set_right_status(wezterm.format(elements))
|
||||
end
|
||||
end)
|
||||
end
|
||||
return M
|
|
@ -1,60 +0,0 @@
|
|||
local wezterm = require "wezterm"
|
||||
|
||||
-- The filled in variant of the powerline ) symbol
|
||||
local SOLID_RIGHT_SEP = require("utf8").char(0xe0b4)
|
||||
|
||||
local M = {}
|
||||
M.setup = function(scheme)
|
||||
wezterm.on("format-tab-title", function(tab, tabs, _, _, hover, max_width)
|
||||
local text_fg
|
||||
if tab.is_active then
|
||||
text_fg = scheme.tab_bar.active_tab.fg_color
|
||||
else
|
||||
text_fg = scheme.tab_bar.inactive_tab.fg_color
|
||||
end
|
||||
local title = wezterm.truncate_right(tab.active_pane.title, max_width - 2)
|
||||
local colours = wezterm.color.gradient({
|
||||
colors = { scheme.tab_bar.active_tab.bg_color, scheme.tab_bar.new_tab.bg_color },
|
||||
}, #tabs + 1)
|
||||
local elements = {}
|
||||
table.insert(elements, "ResetAttributes")
|
||||
table.insert(elements, { Background = { Color = colours[tab.tab_index + 1] } })
|
||||
table.insert(elements, { Foreground = { Color = text_fg } })
|
||||
table.insert(elements, { Text = " " })
|
||||
if tab.is_active then
|
||||
table.insert(elements, { Attribute = { Underline = "Single" } })
|
||||
table.insert(elements, { Attribute = { Intensity = "Bold" } })
|
||||
end
|
||||
if hover then table.insert(elements, { Attribute = { Italic = true } }) end
|
||||
table.insert(elements, { Text = title })
|
||||
table.insert(elements, "ResetAttributes")
|
||||
table.insert(elements, { Background = { Color = colours[tab.tab_index + 2] } })
|
||||
table.insert(elements, { Foreground = { Color = colours[tab.tab_index + 1] } })
|
||||
table.insert(elements, { Text = SOLID_RIGHT_SEP })
|
||||
table.insert(elements, "ResetAttributes")
|
||||
return elements
|
||||
end)
|
||||
end
|
||||
|
||||
M._new_tab_format = function(scheme)
|
||||
return {
|
||||
{ Background = { Color = scheme.tab_bar.new_tab.bg_color } },
|
||||
{ Foreground = { Color = scheme.tab_bar.new_tab.fg_color } },
|
||||
{ Text = " +" },
|
||||
"ResetAttributes",
|
||||
{ Background = { Color = scheme.tab_bar.background } },
|
||||
{ Foreground = { Color = scheme.tab_bar.new_tab.bg_color } },
|
||||
{ Text = SOLID_RIGHT_SEP },
|
||||
"ResetAttributes",
|
||||
}
|
||||
end
|
||||
|
||||
M.new_tab = function(scheme) return wezterm.format(M._new_tab_format(scheme)) end
|
||||
|
||||
M.new_tab_hover = function(scheme)
|
||||
local format = M._new_tab_format(scheme)
|
||||
table.insert(format, 1, { Attribute = { Italic = true } })
|
||||
return wezterm.format(format)
|
||||
end
|
||||
|
||||
return M
|
|
@ -1,31 +0,0 @@
|
|||
-- Pull in the wezterm API
|
||||
local wezterm = require "wezterm"
|
||||
|
||||
-- This table will hold the configuration.
|
||||
local config = {}
|
||||
|
||||
-- In newer versions of wezterm, use the config_builder which will
|
||||
-- help provide clearer error messages
|
||||
if wezterm.config_builder then config = wezterm.config_builder() end
|
||||
|
||||
-- This is where you actually apply your config choices
|
||||
config.set_environment_variables = {
|
||||
TERMINFO_DIRS = "/home/user/.nix-profile/share/terminfo",
|
||||
WSLENV = "TERMINFO_DIRS",
|
||||
}
|
||||
config.audible_bell = "Disabled"
|
||||
config.font_size = 14
|
||||
config.window_background_opacity = 0.80
|
||||
config.macos_window_background_blur = 20
|
||||
config.color_scheme = "tokyonight_night"
|
||||
config.hide_tab_bar_if_only_one_tab = true
|
||||
config.hide_mouse_cursor_when_typing = true
|
||||
config.window_padding = {
|
||||
left = 5,
|
||||
right = 5,
|
||||
top = 5,
|
||||
bottom = 5,
|
||||
}
|
||||
|
||||
-- and finally, return the configuration to wezterm
|
||||
return config
|
|
@ -8,8 +8,8 @@ in {
|
|||
../../home/git/personal.nix
|
||||
../../home/ssh/personal.nix
|
||||
../../home/tui
|
||||
../../home/alacritty
|
||||
../../home/emacs
|
||||
../../home/wezterm
|
||||
];
|
||||
home = {
|
||||
inherit username homeDirectory;
|
||||
|
|
|
@ -8,16 +8,17 @@ let
|
|||
Dell = "preferred,1920x0,1,transform,1";
|
||||
Acer = "highrr,auto,1";
|
||||
};
|
||||
in {
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
shellConfig
|
||||
../../home/git/work.nix
|
||||
../../home/ssh/work.nix
|
||||
../../home/tui
|
||||
../../home/hyprland
|
||||
../../home/firefox/work.nix
|
||||
../../home/alacritty
|
||||
../../home/emacs/server.nix
|
||||
../../home/wezterm
|
||||
../../home/firefox/work.nix
|
||||
../../home/zathura
|
||||
];
|
||||
home = {
|
||||
|
|
Loading…
Reference in a new issue