Compare commits
3 commits
8437dbc212
...
23f6d9124e
Author | SHA1 | Date | |
---|---|---|---|
23f6d9124e | |||
44feea9968 | |||
784e434072 |
2 changed files with 173 additions and 180 deletions
71
flake.lock
generated
71
flake.lock
generated
|
@ -8,11 +8,11 @@
|
|||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1745630506,
|
||||
"narHash": "sha256-bHCFgGeu8XjWlVuaWzi3QONjDW3coZDqSHvnd4l7xus=",
|
||||
"lastModified": 1747575206,
|
||||
"narHash": "sha256-NwmAFuDUO/PFcgaGGr4j3ozG9Pe5hZ/ogitWhY+D81k=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "96e078c646b711aee04b82ba01aefbff87004ded",
|
||||
"rev": "4835b1dc898959d8547a871ef484930675cb47f1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -406,11 +406,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746171682,
|
||||
"narHash": "sha256-EyXUNSa+H+YvGVuQJP1nZskXAowxKYp79RNUsNdQTj4=",
|
||||
"lastModified": 1747331121,
|
||||
"narHash": "sha256-3MmiUN/jOHBHQUnjqzg6qKArc17j2OS6jisEppDY4g8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "50eee705bbdbac942074a8c120e8194185633675",
|
||||
"rev": "1eec32f0efe3b830927989767a9e6ece0d82d608",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -494,11 +494,11 @@
|
|||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746669743,
|
||||
"narHash": "sha256-QxWruaCkxR4Qb8a9dGKvnxwu0y4WHZ/Ib+dDKWPOoNQ=",
|
||||
"lastModified": 1747620481,
|
||||
"narHash": "sha256-MiZ5Z7MHP42+ck277fzzu4C8w1K6OAxM5PhCQX22+FA=",
|
||||
"owner": "Infinidoge",
|
||||
"repo": "nix-minecraft",
|
||||
"rev": "195c6e72f08f4efcd0309c1c5a18305d93ed0567",
|
||||
"rev": "b15bd5c18f94065f96b5a46e57c506e5f30c3918",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -555,11 +555,11 @@
|
|||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1746461020,
|
||||
"narHash": "sha256-7+pG1I9jvxNlmln4YgnlW4o+w0TZX24k688mibiFDUE=",
|
||||
"lastModified": 1747542820,
|
||||
"narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3730d8a308f94996a9ba7c7138ede69c1b9ac4ae",
|
||||
"rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -602,11 +602,11 @@
|
|||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1746557022,
|
||||
"narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=",
|
||||
"lastModified": 1747485343,
|
||||
"narHash": "sha256-YbsZyuRE1tobO9sv0PUwg81QryYo3L1F3R3rF9bcG38=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1d3aeb5a193b9ff13f63f4d9cc169fb88129f860",
|
||||
"rev": "9b5ac7ad45298d58640540d0323ca217f32a6762",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -650,11 +650,11 @@
|
|||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1734649271,
|
||||
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
|
||||
"lastModified": 1746904237,
|
||||
"narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
|
||||
"rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -675,8 +675,8 @@
|
|||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable-small",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "75e28c029ef2605f9841e0baa335d70065fe7ae2",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
@ -703,11 +703,11 @@
|
|||
"nixvim": "nixvim_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746001276,
|
||||
"narHash": "sha256-kdRCPAC9ZTvNvm1/01TmzRDEWB633vfWCFZsy29qK+I=",
|
||||
"lastModified": 1747625133,
|
||||
"narHash": "sha256-CcLAy4g4RTxetDoaEVxQ05PLnRXUj3snYQoMdpk7GEQ=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "6e4433ca3d2038f8094b0c3f170dd9fcd9e9acef",
|
||||
"revCount": 61,
|
||||
"rev": "a05b6e401c09b7d5eadd15e39dc97398bc3cf85d",
|
||||
"revCount": 80,
|
||||
"type": "git",
|
||||
"url": "https://git.sajenim.dev/jasmine/nixvim-config.git"
|
||||
},
|
||||
|
@ -769,11 +769,11 @@
|
|||
"treefmt-nix": "treefmt-nix_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1735132927,
|
||||
"narHash": "sha256-bTmhcWv+sByoVUDZv91TWkw1752ME+pG2n3rNpf8Tds=",
|
||||
"lastModified": 1743690424,
|
||||
"narHash": "sha256-cX98bUuKuihOaRp8dNV1Mq7u6/CQZWTPth2IJPATBXc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "poetry2nix",
|
||||
"rev": "06eb56b63de2f49ae62352b5927b9285591f982a",
|
||||
"rev": "ce2369db77f45688172384bbeb962bc6c2ea6f94",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -812,11 +812,11 @@
|
|||
"poetry2nix": "poetry2nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1745099229,
|
||||
"narHash": "sha256-ntHF8rP3sAVnSbF9W+mMHtcA1BPtiyaArBXj952ZmiM=",
|
||||
"lastModified": 1747081355,
|
||||
"narHash": "sha256-KvYgYyjvUrqBPOtH4XSsdS4G9P+tC1RUw0Htsh0Je78=",
|
||||
"owner": "Scrybbling-together",
|
||||
"repo": "remarks",
|
||||
"rev": "ebeb190b11ef3aaf308a727c379550817d072774",
|
||||
"rev": "9597162c8633e0647e3e1acc83c421004d8686a7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -940,8 +940,9 @@
|
|||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "systems",
|
||||
"type": "indirect"
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
|
@ -997,11 +998,11 @@
|
|||
"nixpkgs": "nixpkgs_9"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747014850,
|
||||
"narHash": "sha256-kF0JEhlFXtsUuCnajxIehiTx2QzFX1u7UklgYrDtTew=",
|
||||
"lastModified": 1747628408,
|
||||
"narHash": "sha256-529qpELpG4D7pNslmyX3FszqjzxhJvlxTWTRJ0EA9YE=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "1c496f9adf0402ead829c2654d498b6e338c5883",
|
||||
"revCount": 30,
|
||||
"rev": "fa9754e0b61a1a9b586dcaa1d1b989d7861f6c68",
|
||||
"revCount": 35,
|
||||
"type": "git",
|
||||
"url": "https://git.sajenim.dev/jasmine/xmonad-config.git"
|
||||
},
|
||||
|
|
|
@ -1,51 +1,27 @@
|
|||
-- Pull in the wezterm API
|
||||
local wezterm = require("wezterm")
|
||||
local act = wezterm.action
|
||||
|
||||
-- This table will hold the configuration.
|
||||
local config = {}
|
||||
-- Log warnings or generate errors if we define an invalid configuration option
|
||||
local config = wezterm.config_builder()
|
||||
|
||||
-- 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
|
||||
-- Install plugins
|
||||
local smart_splits = wezterm.plugin.require("https://github.com/mrjones2014/smart-splits.nvim")
|
||||
|
||||
-- This function returns the suggested title for a tab.
|
||||
-- It prefers the title that was set via `tab:set_title()`
|
||||
-- or `wezterm cli set-tab-title`, but falls back to the
|
||||
-- title of the active pane in that tab.
|
||||
function tab_title(tab_info)
|
||||
local title = tab_info.tab_title
|
||||
-- if the tab title is explicitly set, take that
|
||||
if title and #title > 0 then
|
||||
return title
|
||||
end
|
||||
-- Otherwise, use the title from the active pane
|
||||
-- in that tab
|
||||
return tab_info.active_pane.title
|
||||
end
|
||||
|
||||
wezterm.on(
|
||||
'format-tab-title',
|
||||
function(tab, tabs, panes, config, hover, max_width)
|
||||
local title = tab_title(tab)
|
||||
return {
|
||||
{ Text = ' ' .. title .. '' }
|
||||
}
|
||||
end)
|
||||
--
|
||||
-- General configuration options.
|
||||
--
|
||||
|
||||
-- Do not check for or show window with update information
|
||||
config.check_for_updates = false
|
||||
|
||||
--| Font configuration
|
||||
-- Font configuration
|
||||
config.font = wezterm.font("Fisa Code")
|
||||
config.font_size = 10.0
|
||||
|
||||
--| Enable gruvbox colour scheme
|
||||
-- Enable gruvbox colour scheme
|
||||
config.color_scheme = "gruvbox_material_dark_medium"
|
||||
|
||||
--| Pad window borders
|
||||
-- Pad window borders
|
||||
config.window_padding = {
|
||||
left = 10,
|
||||
right = 10,
|
||||
|
@ -53,11 +29,15 @@ config.window_padding = {
|
|||
bottom = 10,
|
||||
}
|
||||
|
||||
--| Disable modern tab bar
|
||||
--
|
||||
-- Tab bar configuration options.
|
||||
--
|
||||
|
||||
-- Disable modern tab bar
|
||||
config.use_fancy_tab_bar = false
|
||||
config.tab_max_width = 32
|
||||
|
||||
--| Tab bar colors
|
||||
-- Tab bar colors
|
||||
config.colors = {
|
||||
tab_bar = {
|
||||
background = "#32302f",
|
||||
|
@ -65,116 +45,128 @@ config.colors = {
|
|||
bg_color = "#32302f",
|
||||
fg_color = "#7daea3",
|
||||
intensity = "Bold",
|
||||
italic = true
|
||||
italic = true,
|
||||
},
|
||||
inactive_tab = {
|
||||
bg_color = "#32302f",
|
||||
fg_color = "#a89984",
|
||||
intensity = "Bold",
|
||||
italic = true
|
||||
italic = true,
|
||||
},
|
||||
inactive_tab_hover = {
|
||||
bg_color = "#32302f",
|
||||
fg_color = "#a89984",
|
||||
intensity = "Bold",
|
||||
italic = true
|
||||
italic = true,
|
||||
},
|
||||
new_tab = {
|
||||
bg_color = "#32302f",
|
||||
fg_color = "#a89984",
|
||||
intensity = "Bold",
|
||||
italic = true
|
||||
italic = true,
|
||||
},
|
||||
new_tab_hover = {
|
||||
bg_color = "#32302f",
|
||||
fg_color = "#a89984",
|
||||
intensity = "Bold",
|
||||
italic = true
|
||||
}
|
||||
}
|
||||
italic = true,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
--| Key assignments
|
||||
--
|
||||
-- Keymaps configuration.
|
||||
--
|
||||
|
||||
-- Disable the default keybindings
|
||||
config.disable_default_key_bindings = true
|
||||
|
||||
-- Setup leader key
|
||||
config.leader = { key = "Space", mods = "ALT", timeout_milliseconds = 1000 }
|
||||
|
||||
-- General keymaps
|
||||
config.keys = {
|
||||
--
|
||||
-- Tab management
|
||||
--
|
||||
|
||||
{ -- Spawn new tab
|
||||
key = "Enter",
|
||||
mods = "ALT",
|
||||
action = act.SpawnTab("CurrentPaneDomain")
|
||||
mods = "LEADER",
|
||||
action = wezterm.action.SpawnTab("CurrentPaneDomain"),
|
||||
},
|
||||
|
||||
{ -- Focus previous tab
|
||||
key = "LeftArrow",
|
||||
key = "Home",
|
||||
mods = "ALT",
|
||||
action = act.ActivateTabRelative(-1)
|
||||
action = wezterm.action.ActivateTabRelative(-1),
|
||||
},
|
||||
|
||||
{ -- Focus next tab
|
||||
key = "RightArrow",
|
||||
key = "End",
|
||||
mods = "ALT",
|
||||
action = act.ActivateTabRelative(1)
|
||||
action = wezterm.action.ActivateTabRelative(1),
|
||||
},
|
||||
|
||||
--
|
||||
-- Pane management
|
||||
--
|
||||
|
||||
{ -- Split pane vertically
|
||||
key = "v",
|
||||
mods = "ALT",
|
||||
action = act.SplitVertical({domain = "CurrentPaneDomain"})
|
||||
mods = "LEADER",
|
||||
action = wezterm.action.SplitVertical({ domain = "CurrentPaneDomain" }),
|
||||
},
|
||||
|
||||
{ -- Split pane horizontally
|
||||
key = "s",
|
||||
mods = "ALT",
|
||||
action = act.SplitHorizontal({domain = "CurrentPaneDomain"})
|
||||
},
|
||||
|
||||
{ -- Move pane split down
|
||||
key = "PageDown",
|
||||
mods = "ALT",
|
||||
action = act.AdjustPaneSize({"Down", 5})
|
||||
},
|
||||
|
||||
{ -- Move pane split up
|
||||
key = "PageUp",
|
||||
mods = "ALT",
|
||||
action = act.AdjustPaneSize({"Up", 5})
|
||||
},
|
||||
|
||||
{ -- Focus next pane
|
||||
key = "DownArrow",
|
||||
mods = "ALT",
|
||||
action = act.ActivatePaneDirection("Next")
|
||||
},
|
||||
|
||||
{ -- Focus previous pane
|
||||
key = "UpArrow",
|
||||
mods = "ALT",
|
||||
action = act.ActivatePaneDirection("Prev")
|
||||
mods = "LEADER",
|
||||
action = wezterm.action.SplitHorizontal({ domain = "CurrentPaneDomain" }),
|
||||
},
|
||||
|
||||
{ -- Close pane
|
||||
key = "Escape",
|
||||
mods = "ALT",
|
||||
action = act.CloseCurrentPane({confirm = false})
|
||||
key = "q",
|
||||
mods = "LEADER",
|
||||
action = wezterm.action.CloseCurrentPane({ confirm = false }),
|
||||
},
|
||||
|
||||
--
|
||||
-- Copy / Paste
|
||||
--
|
||||
|
||||
{ -- Activate vi copy mode
|
||||
key = "X",
|
||||
mods = "CTRL",
|
||||
action = act.ActivateCopyMode
|
||||
key = "x",
|
||||
mods = "LEADER",
|
||||
action = wezterm.action.ActivateCopyMode,
|
||||
},
|
||||
|
||||
{ -- Paste from clipboard
|
||||
key = "V",
|
||||
mods = "CTRL",
|
||||
action = act.PasteFrom("Clipboard")
|
||||
key = "p",
|
||||
mods = "LEADER",
|
||||
action = wezterm.action.PasteFrom("Clipboard"),
|
||||
},
|
||||
|
||||
--
|
||||
-- Miscellaneous
|
||||
--
|
||||
|
||||
{ -- This lets us unify delete word across programs
|
||||
key = "Backspace",
|
||||
mods = "CTRL",
|
||||
action = act.SendKey({key = "w", mods = "CTRL"})
|
||||
action = wezterm.action.SendKey({ key = "w", mods = "CTRL" }),
|
||||
},
|
||||
}
|
||||
-- Disable the default keybindings
|
||||
config.disable_default_key_bindings = true
|
||||
|
||||
--
|
||||
-- Enable neovim integration
|
||||
--
|
||||
|
||||
smart_splits.apply_to_config(config, {
|
||||
direction_keys = { "LeftArrow", "DownArrow", "UpArrow", "RightArrow" },
|
||||
modifiers = {
|
||||
move = "ALT",
|
||||
resize = "ALT|CTRL",
|
||||
},
|
||||
})
|
||||
|
||||
return config
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue