Compare commits

...

3 Commits

Author SHA1 Message Date
htran 0208a946f2 feat: real tab title template hacker mode 2023-06-23 01:13:06 -07:00
htran c2b5908fa5 kitty as my main terminal now 2023-06-22 23:36:52 -07:00
htran 83c2b01570 ^std breaking change 2023-06-22 20:52:40 -07:00
8 changed files with 660 additions and 729 deletions

23
.envrc
View File

@ -1,16 +1,13 @@
#! /bin/sh #!/bin/sh
source "$( # first time
nix eval \ if [[ ! -d $(nix store add-path --name source --dry-run .) ]]; then
--no-update-lock-file \ nix store add-path --name source .
--no-write-lock-file \ (cd ./src/local && nix flake lock --update-input std)
--no-warn-dirty \ (cd ./src/tests && nix flake lock --update-input std)
--accept-flake-config \ fi
.#__std.direnv_lib 2>/dev/null \
|| nix eval .#__std.direnv_lib # show the errors
)"
# FIXME: This should check if $USER is in userShells, if not,
# fall back to `use nix`
use std nix "//repo/userShells:${USER}"
# shellcheck disable=SC1090
. "$(fetchurl "https://raw.githubusercontent.com/paisano-nix/direnv/main/lib" "sha256-R3K8Flvbovj4IOvdlWNtQKLMMSQV464WjG9eU29ixHk=")"
use envreload "//repo/userShells/${USER}" //repo/userShells/default //repo/userShells

View File

@ -30,6 +30,21 @@
"type": "github" "type": "github"
} }
}, },
"call-flake": {
"locked": {
"lastModified": 1687380775,
"narHash": "sha256-bmhE1TmrJG4ba93l9WQTLuYM53kwGQAjYHRvHOeuxWU=",
"owner": "divnix",
"repo": "call-flake",
"rev": "74061f6c241227cd05e79b702db9a300a2e4131a",
"type": "github"
},
"original": {
"owner": "divnix",
"repo": "call-flake",
"type": "github"
}
},
"cargo-leptos": { "cargo-leptos": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -114,31 +129,6 @@
"type": "github" "type": "github"
} }
}, },
"crane_4": {
"inputs": {
"flake-compat": "flake-compat_8",
"flake-utils": "flake-utils_12",
"nixpkgs": [
"std",
"paisano-mdbook-preprocessor",
"nixpkgs"
],
"rust-overlay": "rust-overlay_6"
},
"locked": {
"lastModified": 1676162383,
"narHash": "sha256-krUCKdz7ebHlFYm/A7IbKDnj2ZmMMm3yIEQcooqm7+E=",
"owner": "ipetkov",
"repo": "crane",
"rev": "6fb400ec631b22ccdbc7090b38207f7fb5cfb5f2",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"devshell": { "devshell": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -164,18 +154,15 @@
}, },
"devshell_2": { "devshell_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": "nixpkgs_14",
"std",
"nixpkgs"
],
"systems": "systems_8" "systems": "systems_8"
}, },
"locked": { "locked": {
"lastModified": 1686680692, "lastModified": 1687173957,
"narHash": "sha256-SsLZz3TDleraAiJq4EkmdyewSyiv5g0LZYc6vaLZOMQ=", "narHash": "sha256-GOds2bAQcZ94fb9/Nl/aM+r+0wGSi4EKYuZYR8Dw4R8=",
"owner": "numtide", "owner": "numtide",
"repo": "devshell", "repo": "devshell",
"rev": "fd6223370774dd9c33354e87a007004b5fd36442", "rev": "2cf83bb31720fcc29a999aee28d6da101173e66a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -268,25 +255,6 @@
"type": "github" "type": "github"
} }
}, },
"fenix_2": {
"inputs": {
"nixpkgs": "nixpkgs_16",
"rust-analyzer-src": "rust-analyzer-src_2"
},
"locked": {
"lastModified": 1677306201,
"narHash": "sha256-VZ9x7qdTosFvVsrpgFHrtYfT6PU3yMIs7NRYn9ELapI=",
"owner": "nix-community",
"repo": "fenix",
"rev": "0923f0c162f65ae40261ec940406049726cfeab4",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "fenix",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -399,22 +367,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_8": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
@ -527,36 +479,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_11": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_12": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": { "flake-utils_2": {
"locked": { "locked": {
"lastModified": 1667395993, "lastModified": 1667395993,
@ -810,7 +732,7 @@
}, },
"haumea_2": { "haumea_2": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_14" "nixpkgs": "nixpkgs_15"
}, },
"locked": { "locked": {
"lastModified": 1685133229, "lastModified": 1685133229,
@ -878,11 +800,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1687365523, "lastModified": 1687473300,
"narHash": "sha256-2l/cPXDCDVcLNm+EvCRGJcJ9YxxyLbc2vfTah/t8Qwc=", "narHash": "sha256-4LflQpktYFiub8xVhEN9EZf1cYsr09md01rBJZRCGCc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "1fefd7bb8da0eec6755747f410fa491411a94296", "rev": "70ac18872a5f1a57a4546ff58888bf67a8bbb5b3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -979,31 +901,6 @@
"type": "github" "type": "github"
} }
}, },
"n2c_2": {
"inputs": {
"flake-utils": [
"std",
"flake-utils"
],
"nixpkgs": [
"std",
"nixpkgs"
]
},
"locked": {
"lastModified": 1685771919,
"narHash": "sha256-3lVKWrhNXjHJB6QkZ2SJaOs4X/mmYXtY6ovPVpDMOHc=",
"owner": "nlewo",
"repo": "nix2container",
"rev": "95e2220911874064b5d809f8d35f7835184c4ddf",
"type": "github"
},
"original": {
"owner": "nlewo",
"repo": "nix2container",
"type": "github"
}
},
"neovim-flake": { "neovim-flake": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
@ -1155,35 +1052,6 @@
"type": "github" "type": "github"
} }
}, },
"nixago_2": {
"inputs": {
"flake-utils": [
"std",
"flake-utils"
],
"nixago-exts": [
"std",
"blank"
],
"nixpkgs": [
"std",
"nixpkgs"
]
},
"locked": {
"lastModified": 1683210100,
"narHash": "sha256-bhGDOlkWtlhVECpoOog4fWiFJmLCpVEg09a40aTjCbw=",
"owner": "nix-community",
"repo": "nixago",
"rev": "1da60ad9412135f9ed7a004669fdcf3d378ec630",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixago",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1678293141, "lastModified": 1678293141,
@ -1202,11 +1070,11 @@
}, },
"nixpkgs-latest": { "nixpkgs-latest": {
"locked": { "locked": {
"lastModified": 1687412861, "lastModified": 1687495334,
"narHash": "sha256-Z/g0wbL68C+mSGerYS2quv9FXQ1RRP082cAC0Bh4vcs=", "narHash": "sha256-9jaVaWvRbKbhGnQsfH4/1U3Do2u0v5s0hZDRdnp+1j0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e603dc5f061ca1d8a19b3ede6a8cf9c9fcba6cdc", "rev": "0e07d132c5a562f43e823b6b4a0004ed2d91f40e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1348,6 +1216,22 @@
} }
}, },
"nixpkgs_14": { "nixpkgs_14": {
"locked": {
"lastModified": 1677383253,
"narHash": "sha256-UfpzWfSxkfXHnb4boXZNaKsAcUrZT9Hw+tao1oZxd08=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9952d6bc395f5841262b006fbace8dd7e143b634",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_15": {
"locked": { "locked": {
"lastModified": 1681001314, "lastModified": 1681001314,
"narHash": "sha256-5sDnCLdrKZqxLPK4KA8+f4A3YKO/u6ElpMILvX0g72c=", "narHash": "sha256-5sDnCLdrKZqxLPK4KA8+f4A3YKO/u6ElpMILvX0g72c=",
@ -1362,7 +1246,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_15": { "nixpkgs_16": {
"locked": { "locked": {
"lastModified": 1675940568, "lastModified": 1675940568,
"narHash": "sha256-epG6pOT9V0kS+FUqd7R6/CWkgnZx2DMT5Veqo+y6G3c=", "narHash": "sha256-epG6pOT9V0kS+FUqd7R6/CWkgnZx2DMT5Veqo+y6G3c=",
@ -1378,22 +1262,6 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_16": {
"locked": {
"lastModified": 1677063315,
"narHash": "sha256-qiB4ajTeAOVnVSAwCNEEkoybrAlA+cpeiBxLobHndE8=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "988cc958c57ce4350ec248d2d53087777f9e1949",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1685714850, "lastModified": 1685714850,
@ -1507,11 +1375,11 @@
}, },
"nixpkgs_9": { "nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1686960236, "lastModified": 1687412861,
"narHash": "sha256-AYCC9rXNLpUWzD9hm+askOfpliLEC9kwAo7ITJc4HIw=", "narHash": "sha256-Z/g0wbL68C+mSGerYS2quv9FXQ1RRP082cAC0Bh4vcs=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "04af42f3b31dba0ef742d254456dc4c14eedac86", "rev": "e603dc5f061ca1d8a19b3ede6a8cf9c9fcba6cdc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1603,28 +1471,6 @@
"type": "github" "type": "github"
} }
}, },
"paisano-actions_2": {
"inputs": {
"nixpkgs": [
"std",
"paisano-mdbook-preprocessor",
"nixpkgs"
]
},
"locked": {
"lastModified": 1677306424,
"narHash": "sha256-H9/dI2rGEbKo4KEisqbRPHFG2ajF8Tm111NPdKGIf28=",
"owner": "paisano-nix",
"repo": "actions",
"rev": "65ec4e080b3480167fc1a748c89a05901eea9a9b",
"type": "github"
},
"original": {
"owner": "paisano-nix",
"repo": "actions",
"type": "github"
}
},
"paisano-mdbook-preprocessor": { "paisano-mdbook-preprocessor": {
"inputs": { "inputs": {
"crane": "crane_2", "crane": "crane_2",
@ -1654,33 +1500,6 @@
"type": "github" "type": "github"
} }
}, },
"paisano-mdbook-preprocessor_2": {
"inputs": {
"crane": "crane_4",
"fenix": "fenix_2",
"nixpkgs": [
"std",
"nixpkgs"
],
"paisano-actions": "paisano-actions_2",
"std": [
"std"
]
},
"locked": {
"lastModified": 1680654400,
"narHash": "sha256-Qdpio+ldhUK3zfl22Mhf8HUULdUOJXDWDdO7MIK69OU=",
"owner": "paisano-nix",
"repo": "mdbook-paisano-preprocessor",
"rev": "11a8fc47f574f194a7ae7b8b98001f6143ba4cf1",
"type": "github"
},
"original": {
"owner": "paisano-nix",
"repo": "mdbook-paisano-preprocessor",
"type": "github"
}
},
"paisano-tui": { "paisano-tui": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -1709,15 +1528,7 @@
} }
}, },
"paisano-tui_2": { "paisano-tui_2": {
"inputs": { "flake": false,
"nixpkgs": [
"std",
"blank"
],
"std": [
"std"
]
},
"locked": { "locked": {
"lastModified": 1681847764, "lastModified": 1681847764,
"narHash": "sha256-mdd7PJW1BZvxy0cIKsPfAO+ohVl/V7heE5ZTAHzTdv8=", "narHash": "sha256-mdd7PJW1BZvxy0cIKsPfAO+ohVl/V7heE5ZTAHzTdv8=",
@ -1735,6 +1546,7 @@
}, },
"paisano_2": { "paisano_2": {
"inputs": { "inputs": {
"call-flake": "call-flake",
"nixpkgs": [ "nixpkgs": [
"std", "std",
"nixpkgs" "nixpkgs"
@ -1746,16 +1558,15 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1686862844, "lastModified": 1687475968,
"narHash": "sha256-m8l/HpRBJnZ3c0F1u0IyQ3nYGWE0R9V5kfORuqZPzgk=", "narHash": "sha256-tFrPoD24Ph6VZjgmL3J4ICDWY6W/DnnHyupWeAL3Lw8=",
"owner": "paisano-nix", "owner": "paisano-nix",
"repo": "core", "repo": "core",
"rev": "6674b3d3577212c1eeecd30d62d52edbd000e726", "rev": "9954e48e1ebc74a698b9d4ac02aee85514fc0237",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "paisano-nix", "owner": "paisano-nix",
"ref": "0.1.1",
"repo": "core", "repo": "core",
"type": "github" "type": "github"
} }
@ -1861,23 +1672,6 @@
"type": "github" "type": "github"
} }
}, },
"rust-analyzer-src_2": {
"flake": false,
"locked": {
"lastModified": 1677221702,
"narHash": "sha256-1M+58rC4eTCWNmmX0hQVZP20t3tfYNunl9D/PrGUyGE=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "f5401f620699b26ed9d47a1d2e838143a18dbe3b",
"type": "github"
},
"original": {
"owner": "rust-lang",
"ref": "nightly",
"repo": "rust-analyzer",
"type": "github"
}
},
"rust-overlay": { "rust-overlay": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [
@ -2001,35 +1795,6 @@
"type": "github" "type": "github"
} }
}, },
"rust-overlay_6": {
"inputs": {
"flake-utils": [
"std",
"paisano-mdbook-preprocessor",
"crane",
"flake-utils"
],
"nixpkgs": [
"std",
"paisano-mdbook-preprocessor",
"crane",
"nixpkgs"
]
},
"locked": {
"lastModified": 1675391458,
"narHash": "sha256-ukDKZw922BnK5ohL9LhwtaDAdCsJL7L6ScNEyF1lO9w=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "383a4acfd11d778d5c2efcf28376cbd845eeaedf",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"sg-nvim": { "sg-nvim": {
"inputs": { "inputs": {
"crane": "crane_3", "crane": "crane_3",
@ -2107,7 +1872,6 @@
"blank": "blank_2", "blank": "blank_2",
"devshell": "devshell_2", "devshell": "devshell_2",
"dmerge": "dmerge_2", "dmerge": "dmerge_2",
"flake-utils": "flake-utils_11",
"haumea": "haumea_2", "haumea": "haumea_2",
"incl": "incl_2", "incl": "incl_2",
"makes": [ "makes": [
@ -2118,20 +1882,25 @@
"std", "std",
"blank" "blank"
], ],
"n2c": "n2c_2", "n2c": [
"nixago": "nixago_2", "std",
"nixpkgs": "nixpkgs_15", "blank"
],
"nixago": [
"std",
"blank"
],
"nixpkgs": "nixpkgs_16",
"paisano": "paisano_2", "paisano": "paisano_2",
"paisano-mdbook-preprocessor": "paisano-mdbook-preprocessor_2",
"paisano-tui": "paisano-tui_2", "paisano-tui": "paisano-tui_2",
"yants": "yants_2" "yants": "yants_2"
}, },
"locked": { "locked": {
"lastModified": 1687300684, "lastModified": 1687482460,
"narHash": "sha256-oBqbss0j+B568GoO3nF2BCoPEgPxUjxfZQGynW6mhEk=", "narHash": "sha256-KSut2GPMR//LJ62cMpHk+b8AHlDHWaSHTxCABzLY2yM=",
"owner": "divnix", "owner": "divnix",
"repo": "std", "repo": "std",
"rev": "80e5792eae98353a97ab1e85f3fba2784e4a3690", "rev": "1dfd574de0d2e3011d8df7ade3a3f2748b701a6d",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -9,7 +9,10 @@
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-latest.url = "github:nixos/nixpkgs"; nixpkgs-latest.url = "github:nixos/nixpkgs";
# deploy-rs.url = "github:serokell/deploy-rs"; # deploy-rs.url = "github:serokell/deploy-rs";
std.url = "github:divnix/std"; std = {
url = "github:divnix/std";
inputs.devshell.url = "github:numtide/devshell";
};
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";

View File

@ -15,99 +15,99 @@
# environment variables. Some entries may override variables # environment variables. Some entries may override variables
# set by alacritty itself. # set by alacritty itself.
#env: #env:
# TERM variable # TERM variable
# #
# This value is used to set the `$TERM` environment variable for # This value is used to set the `$TERM` environment variable for
# each instance of Alacritty. If it is not present, alacritty will # each instance of Alacritty. If it is not present, alacritty will
# check the local terminfo database and use `alacritty` if it is # check the local terminfo database and use `alacritty` if it is
# available, otherwise `xterm-256color` is used. # available, otherwise `xterm-256color` is used.
#TERM: alacritty #TERM: alacritty
#window: #window:
# Window dimensions (changes require restart) # Window dimensions (changes require restart)
# #
# Number of lines/columns (not pixels) in the terminal. Both lines and columns # Number of lines/columns (not pixels) in the terminal. Both lines and columns
# must be non-zero for this to take effect. The number of columns must be at # must be non-zero for this to take effect. The number of columns must be at
# least `2`, while using a value of `0` for columns and lines will fall back # least `2`, while using a value of `0` for columns and lines will fall back
# to the window manager's recommended size # to the window manager's recommended size
#dimensions: #dimensions:
# columns: 0 # columns: 0
# lines: 0 # lines: 0
# Window position (changes require restart) # Window position (changes require restart)
# #
# Specified in number of pixels. # Specified in number of pixels.
# If the position is not set, the window manager will handle the placement. # If the position is not set, the window manager will handle the placement.
#position: #position:
# x: 0 # x: 0
# y: 0 # y: 0
# Window padding (changes require restart) # Window padding (changes require restart)
# #
# Blank space added around the window in pixels. This padding is scaled # Blank space added around the window in pixels. This padding is scaled
# by DPI and the specified value is always added at both opposing sides. # by DPI and the specified value is always added at both opposing sides.
#padding: #padding:
# x: 0 # x: 0
# y: 0 # y: 0
# Spread additional padding evenly around the terminal content. # Spread additional padding evenly around the terminal content.
#dynamic_padding: false #dynamic_padding: false
# Window decorations # Window decorations
# #
# Values for `decorations`: # Values for `decorations`:
# - full: Borders and title bar # - full: Borders and title bar
# - none: Neither borders nor title bar # - none: Neither borders nor title bar
# #
# Values for `decorations` (macOS only): # Values for `decorations` (macOS only):
# - transparent: Title bar, transparent background and title bar buttons # - transparent: Title bar, transparent background and title bar buttons
# - buttonless: Title bar, transparent background and no title bar buttons # - buttonless: Title bar, transparent background and no title bar buttons
#decorations: full #decorations: full
# Background opacity # Background opacity
# #
# Window opacity as a floating point number from `0.0` to `1.0`. # Window opacity as a floating point number from `0.0` to `1.0`.
# The value `0.0` is completely transparent and `1.0` is opaque. # The value `0.0` is completely transparent and `1.0` is opaque.
#opacity: 1.0 #opacity: 1.0
# Startup Mode (changes require restart) # Startup Mode (changes require restart)
# #
# Values for `startup_mode`: # Values for `startup_mode`:
# - Windowed # - Windowed
# - Maximized # - Maximized
# - Fullscreen # - Fullscreen
# #
# Values for `startup_mode` (macOS only): # Values for `startup_mode` (macOS only):
# - SimpleFullscreen # - SimpleFullscreen
#startup_mode: Windowed #startup_mode: Windowed
# Window title # Window title
#title: Alacritty #title: Alacritty
# Allow terminal applications to change Alacritty's window title. # Allow terminal applications to change Alacritty's window title.
#dynamic_title: true #dynamic_title: true
# Window class (Linux/BSD only): # Window class (Linux/BSD only):
#class: #class:
# Application instance name # Application instance name
#instance: Alacritty #instance: Alacritty
# General application class # General application class
#general: Alacritty #general: Alacritty
# Decorations theme variant (Linux/BSD only) # Decorations theme variant (Linux/BSD only)
# #
# Override the variant of the GTK theme/Wayland client side decorations. # Override the variant of the GTK theme/Wayland client side decorations.
# Commonly supported values are `dark` and `light`. Set this to `None` to use # Commonly supported values are `dark` and `light`. Set this to `None` to use
# the default theme variant. # the default theme variant.
#decorations_theme_variant: None #decorations_theme_variant: None
#scrolling: #scrolling:
# Maximum number of lines in the scrollback buffer. # Maximum number of lines in the scrollback buffer.
# Specifying '0' will disable scrolling. # Specifying '0' will disable scrolling.
#history: 10000 #history: 10000
# Scrolling distance multiplier. # Scrolling distance multiplier.
#multiplier: 3 #multiplier: 3
# Font configuration # Font configuration
font: font:
@ -120,12 +120,11 @@ font:
# - (Linux/BSD) monospace # - (Linux/BSD) monospace
# - (Windows) Consolas # - (Windows) Consolas
family: DroidSansMono NF family: DroidSansMono NF
# The `style` can be specified to pick a specific face. # The `style` can be specified to pick a specific face.
#style: Regular #style: Regular
# Bold font face # Bold font face
#bold: #bold:
# Font family # Font family
# #
# If the bold family is not specified, it will fall back to the # If the bold family is not specified, it will fall back to the
@ -135,8 +134,8 @@ font:
# The `style` can be specified to pick a specific face. # The `style` can be specified to pick a specific face.
#style: Bold #style: Bold
# Italic font face # Italic font face
#italic: #italic:
# Font family # Font family
# #
# If the italic family is not specified, it will fall back to the # If the italic family is not specified, it will fall back to the
@ -146,8 +145,8 @@ font:
# The `style` can be specified to pick a specific face. # The `style` can be specified to pick a specific face.
#style: Italic #style: Italic
# Bold italic font face # Bold italic font face
#bold_italic: #bold_italic:
# Font family # Font family
# #
# If the bold italic family is not specified, it will fall back to the # If the bold italic family is not specified, it will fall back to the
@ -157,9 +156,8 @@ font:
# The `style` can be specified to pick a specific face. # The `style` can be specified to pick a specific face.
#style: Bold Italic #style: Bold Italic
# Point size # Point size
size: 7.0 size: 7.0
# Offset is the extra space around each character. `offset.y` can be thought # Offset is the extra space around each character. `offset.y` can be thought
# of as modifying the line spacing, and `offset.x` as modifying the letter # of as modifying the line spacing, and `offset.x` as modifying the letter
# spacing. # spacing.
@ -181,24 +179,24 @@ font:
# #
#builtin_box_drawing: true #builtin_box_drawing: true
# If `true`, bold text is drawn using the bright color variants. # If `true`, bold text is drawn using the bright color variants.
#draw_bold_text_with_bright_colors: false #draw_bold_text_with_bright_colors: false
# Colors (Tomorrow Night) # Colors (Tomorrow Night)
#colors: #colors:
# Default colors # Default colors
#primary: #primary:
# background: '#1d1f21' # background: '#1d1f21'
# foreground: '#c5c8c6' # foreground: '#c5c8c6'
# Bright and dim foreground colors # Bright and dim foreground colors
# #
# The dimmed foreground color is calculated automatically if it is not # The dimmed foreground color is calculated automatically if it is not
# present. If the bright foreground color is not set, or # present. If the bright foreground color is not set, or
# `draw_bold_text_with_bright_colors` is `false`, the normal foreground # `draw_bold_text_with_bright_colors` is `false`, the normal foreground
# color will be used. # color will be used.
#dim_foreground: '#828482' #dim_foreground: '#828482'
#bright_foreground: '#eaeaea' #bright_foreground: '#eaeaea'
# Cursor colors # Cursor colors
# #
@ -224,32 +222,32 @@ font:
# #
# Colors used for the search bar and match highlighting. # Colors used for the search bar and match highlighting.
#search: #search:
# Allowed values are CellForeground/CellBackground, which reference the # Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff. # affected cell, or hexadecimal colors like #ff00ff.
#matches: #matches:
# foreground: '#000000' # foreground: '#000000'
# background: '#ffffff' # background: '#ffffff'
#focused_match: #focused_match:
# foreground: '#ffffff' # foreground: '#ffffff'
# background: '#000000' # background: '#000000'
# Keyboard hints # Keyboard hints
#hints: #hints:
# First character in the hint label # First character in the hint label
# #
# Allowed values are CellForeground/CellBackground, which reference the # Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff. # affected cell, or hexadecimal colors like #ff00ff.
#start: #start:
# foreground: '#1d1f21' # foreground: '#1d1f21'
# background: '#e9ff5e' # background: '#e9ff5e'
# All characters after the first one in the hint label # All characters after the first one in the hint label
# #
# Allowed values are CellForeground/CellBackground, which reference the # Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff. # affected cell, or hexadecimal colors like #ff00ff.
#end: #end:
# foreground: '#e9ff5e' # foreground: '#e9ff5e'
# background: '#1d1f21' # background: '#1d1f21'
# Line indicator # Line indicator
# #
@ -333,10 +331,10 @@ font:
# regardless of their background color. # regardless of their background color.
#transparent_background_colors: false #transparent_background_colors: false
# Bell # Bell
# #
# The bell is rung every time the BEL control character is received. # The bell is rung every time the BEL control character is received.
#bell: #bell:
# Visual Bell Animation # Visual Bell Animation
# #
# Animation effect for flashing the screen when the visual bell is rung. # Animation effect for flashing the screen when the visual bell is rung.
@ -374,7 +372,7 @@ font:
# #
#command: None #command: None
#selection: #selection:
# This string contains all characters that are used as separators for # This string contains all characters that are used as separators for
# "semantic words" in Alacritty. # "semantic words" in Alacritty.
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t" #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
@ -382,25 +380,25 @@ font:
# When set to `true`, selected text will be copied to the primary clipboard. # When set to `true`, selected text will be copied to the primary clipboard.
#save_to_clipboard: false #save_to_clipboard: false
#cursor: #cursor:
# Cursor style # Cursor style
#style: #style:
# Cursor shape # Cursor shape
# #
# Values for `shape`: # Values for `shape`:
# - ▇ Block # - ▇ Block
# - _ Underline # - _ Underline
# - | Beam # - | Beam
#shape: Block #shape: Block
# Cursor blinking state # Cursor blinking state
# #
# Values for `blinking`: # Values for `blinking`:
# - Never: Prevent the cursor from ever blinking # - Never: Prevent the cursor from ever blinking
# - Off: Disable blinking by default # - Off: Disable blinking by default
# - On: Enable blinking by default # - On: Enable blinking by default
# - Always: Force the cursor to always blink # - Always: Force the cursor to always blink
#blinking: Off #blinking: Off
# Vi mode cursor style # Vi mode cursor style
# #
@ -426,36 +424,36 @@ font:
# from `0.0` to `1.0`. # from `0.0` to `1.0`.
#thickness: 0.15 #thickness: 0.15
# Live config reload (changes require restart) # Live config reload (changes require restart)
#live_config_reload: true #live_config_reload: true
# Shell # Shell
# #
# You can set `shell.program` to the path of your favorite shell, e.g. # You can set `shell.program` to the path of your favorite shell, e.g.
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the # `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
# shell. # shell.
# #
# Default: # Default:
# - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset # - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset
# - (Windows) powershell # - (Windows) powershell
#shell: #shell:
# program: /bin/bash # program: /bin/bash
# args: # args:
# - --login # - --login
# Startup directory # Startup directory
# #
# Directory the shell is started in. If this is unset, or `None`, the working # Directory the shell is started in. If this is unset, or `None`, the working
# directory of the parent process will be used. # directory of the parent process will be used.
#working_directory: None #working_directory: None
# Send ESC (\x1b) before characters when alt is pressed. # Send ESC (\x1b) before characters when alt is pressed.
#alt_send_esc: true #alt_send_esc: true
# Offer IPC using `alacritty msg` (unix only) # Offer IPC using `alacritty msg` (unix only)
# ipc_socket: true # ipc_socket: true
#mouse: #mouse:
# Click settings # Click settings
# #
# The `double_click` and `triple_click` settings control the time # The `double_click` and `triple_click` settings control the time
@ -467,11 +465,11 @@ font:
# If this is `true`, the cursor is temporarily hidden when typing. # If this is `true`, the cursor is temporarily hidden when typing.
#hide_when_typing: false #hide_when_typing: false
# Hints # Hints
# #
# Terminal hints can be used to find text or hyperlink in the visible part of # Terminal hints can be used to find text or hyperlink in the visible part of
# the terminal and pipe it to other applications. # the terminal and pipe it to other applications.
#hints: #hints:
# Keys used for the hint labels. # Keys used for the hint labels.
#alphabet: "jfkdls;ahgurieowpq" #alphabet: "jfkdls;ahgurieowpq"
@ -517,247 +515,247 @@ font:
# key: U # key: U
# mods: Control|Shift # mods: Control|Shift
# Mouse bindings # Mouse bindings
# #
# Mouse bindings are specified as a list of objects, much like the key # Mouse bindings are specified as a list of objects, much like the key
# bindings further below. # bindings further below.
# #
# To trigger mouse bindings when an application running within Alacritty # To trigger mouse bindings when an application running within Alacritty
# captures the mouse, the `Shift` modifier is automatically added as a # captures the mouse, the `Shift` modifier is automatically added as a
# requirement. # requirement.
# #
# Each mouse binding will specify a: # Each mouse binding will specify a:
# #
# - `mouse`: # - `mouse`:
# #
# - Middle # - Middle
# - Left # - Left
# - Right # - Right
# - Numeric identifier such as `5` # - Numeric identifier such as `5`
# #
# - `action` (see key bindings for actions not exclusive to mouse mode) # - `action` (see key bindings for actions not exclusive to mouse mode)
# #
# - Mouse exclusive actions: # - Mouse exclusive actions:
# #
# - ExpandSelection # - ExpandSelection
# Expand the selection to the current mouse cursor location. # Expand the selection to the current mouse cursor location.
# #
# And optionally: # And optionally:
# #
# - `mods` (see key bindings) # - `mods` (see key bindings)
#mouse_bindings: #mouse_bindings:
# - { mouse: Right, action: ExpandSelection } # - { mouse: Right, action: ExpandSelection }
# - { mouse: Right, mods: Control, action: ExpandSelection } # - { mouse: Right, mods: Control, action: ExpandSelection }
# - { mouse: Middle, mode: ~Vi, action: PasteSelection } # - { mouse: Middle, mode: ~Vi, action: PasteSelection }
# Key bindings # Key bindings
# #
# Key bindings are specified as a list of objects. For example, this is the # Key bindings are specified as a list of objects. For example, this is the
# default paste binding: # default paste binding:
# #
# `- { key: V, mods: Control|Shift, action: Paste }` # `- { key: V, mods: Control|Shift, action: Paste }`
# #
# Each key binding will specify a: # Each key binding will specify a:
# #
# - `key`: Identifier of the key pressed # - `key`: Identifier of the key pressed
# #
# - A-Z # - A-Z
# - F1-F24 # - F1-F24
# - Key0-Key9 # - Key0-Key9
# #
# A full list with available key codes can be found here: # A full list with available key codes can be found here:
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants # https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
# #
# Instead of using the name of the keys, the `key` field also supports using # Instead of using the name of the keys, the `key` field also supports using
# the scancode of the desired key. Scancodes have to be specified as a # the scancode of the desired key. Scancodes have to be specified as a
# decimal number. This command will allow you to display the hex scancodes # decimal number. This command will allow you to display the hex scancodes
# for certain keys: # for certain keys:
# #
# `showkey --scancodes`. # `showkey --scancodes`.
# #
# Then exactly one of: # Then exactly one of:
# #
# - `chars`: Send a byte sequence to the running application # - `chars`: Send a byte sequence to the running application
# #
# The `chars` field writes the specified string to the terminal. This makes # The `chars` field writes the specified string to the terminal. This makes
# it possible to pass escape sequences. To find escape codes for bindings # it possible to pass escape sequences. To find escape codes for bindings
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside # like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
# of tmux. Note that applications use terminfo to map escape sequences back # of tmux. Note that applications use terminfo to map escape sequences back
# to keys. It is therefore required to update the terminfo when changing an # to keys. It is therefore required to update the terminfo when changing an
# escape sequence. # escape sequence.
# #
# - `action`: Execute a predefined action # - `action`: Execute a predefined action
# #
# - ToggleViMode # - ToggleViMode
# - SearchForward # - SearchForward
# Start searching toward the right of the search origin. # Start searching toward the right of the search origin.
# - SearchBackward # - SearchBackward
# Start searching toward the left of the search origin. # Start searching toward the left of the search origin.
# - Copy # - Copy
# - Paste # - Paste
# - IncreaseFontSize # - IncreaseFontSize
# - DecreaseFontSize # - DecreaseFontSize
# - ResetFontSize # - ResetFontSize
# - ScrollPageUp # - ScrollPageUp
# - ScrollPageDown # - ScrollPageDown
# - ScrollHalfPageUp # - ScrollHalfPageUp
# - ScrollHalfPageDown # - ScrollHalfPageDown
# - ScrollLineUp # - ScrollLineUp
# - ScrollLineDown # - ScrollLineDown
# - ScrollToTop # - ScrollToTop
# - ScrollToBottom # - ScrollToBottom
# - ClearHistory # - ClearHistory
# Remove the terminal's scrollback history. # Remove the terminal's scrollback history.
# - Hide # - Hide
# Hide the Alacritty window. # Hide the Alacritty window.
# - Minimize # - Minimize
# Minimize the Alacritty window. # Minimize the Alacritty window.
# - Quit # - Quit
# Quit Alacritty. # Quit Alacritty.
# - ToggleFullscreen # - ToggleFullscreen
# - SpawnNewInstance # - SpawnNewInstance
# Spawn a new instance of Alacritty. # Spawn a new instance of Alacritty.
# - CreateNewWindow # - CreateNewWindow
# Create a new Alacritty window from the current process. # Create a new Alacritty window from the current process.
# - ClearLogNotice # - ClearLogNotice
# Clear Alacritty's UI warning and error notice. # Clear Alacritty's UI warning and error notice.
# - ClearSelection # - ClearSelection
# Remove the active selection. # Remove the active selection.
# - ReceiveChar # - ReceiveChar
# - None # - None
# #
# - Vi mode exclusive actions: # - Vi mode exclusive actions:
# #
# - Open # - Open
# Perform the action of the first matching hint under the vi mode cursor # Perform the action of the first matching hint under the vi mode cursor
# with `mouse.enabled` set to `true`. # with `mouse.enabled` set to `true`.
# - ToggleNormalSelection # - ToggleNormalSelection
# - ToggleLineSelection # - ToggleLineSelection
# - ToggleBlockSelection # - ToggleBlockSelection
# - ToggleSemanticSelection # - ToggleSemanticSelection
# Toggle semantic selection based on `selection.semantic_escape_chars`. # Toggle semantic selection based on `selection.semantic_escape_chars`.
# - CenterAroundViCursor # - CenterAroundViCursor
# Center view around vi mode cursor # Center view around vi mode cursor
# #
# - Vi mode exclusive cursor motion actions: # - Vi mode exclusive cursor motion actions:
# #
# - Up # - Up
# One line up. # One line up.
# - Down # - Down
# One line down. # One line down.
# - Left # - Left
# One character left. # One character left.
# - Right # - Right
# One character right. # One character right.
# - First # - First
# First column, or beginning of the line when already at the first column. # First column, or beginning of the line when already at the first column.
# - Last # - Last
# Last column, or beginning of the line when already at the last column. # Last column, or beginning of the line when already at the last column.
# - FirstOccupied # - FirstOccupied
# First non-empty cell in this terminal row, or first non-empty cell of # First non-empty cell in this terminal row, or first non-empty cell of
# the line when already at the first cell of the row. # the line when already at the first cell of the row.
# - High # - High
# Top of the screen. # Top of the screen.
# - Middle # - Middle
# Center of the screen. # Center of the screen.
# - Low # - Low
# Bottom of the screen. # Bottom of the screen.
# - SemanticLeft # - SemanticLeft
# Start of the previous semantically separated word. # Start of the previous semantically separated word.
# - SemanticRight # - SemanticRight
# Start of the next semantically separated word. # Start of the next semantically separated word.
# - SemanticLeftEnd # - SemanticLeftEnd
# End of the previous semantically separated word. # End of the previous semantically separated word.
# - SemanticRightEnd # - SemanticRightEnd
# End of the next semantically separated word. # End of the next semantically separated word.
# - WordLeft # - WordLeft
# Start of the previous whitespace separated word. # Start of the previous whitespace separated word.
# - WordRight # - WordRight
# Start of the next whitespace separated word. # Start of the next whitespace separated word.
# - WordLeftEnd # - WordLeftEnd
# End of the previous whitespace separated word. # End of the previous whitespace separated word.
# - WordRightEnd # - WordRightEnd
# End of the next whitespace separated word. # End of the next whitespace separated word.
# - Bracket # - Bracket
# Character matching the bracket at the cursor's location. # Character matching the bracket at the cursor's location.
# - SearchNext # - SearchNext
# Beginning of the next match. # Beginning of the next match.
# - SearchPrevious # - SearchPrevious
# Beginning of the previous match. # Beginning of the previous match.
# - SearchStart # - SearchStart
# Start of the match to the left of the vi mode cursor. # Start of the match to the left of the vi mode cursor.
# - SearchEnd # - SearchEnd
# End of the match to the right of the vi mode cursor. # End of the match to the right of the vi mode cursor.
# #
# - Search mode exclusive actions: # - Search mode exclusive actions:
# - SearchFocusNext # - SearchFocusNext
# Move the focus to the next search match. # Move the focus to the next search match.
# - SearchFocusPrevious # - SearchFocusPrevious
# Move the focus to the previous search match. # Move the focus to the previous search match.
# - SearchConfirm # - SearchConfirm
# - SearchCancel # - SearchCancel
# - SearchClear # - SearchClear
# Reset the search regex. # Reset the search regex.
# - SearchDeleteWord # - SearchDeleteWord
# Delete the last word in the search regex. # Delete the last word in the search regex.
# - SearchHistoryPrevious # - SearchHistoryPrevious
# Go to the previous regex in the search history. # Go to the previous regex in the search history.
# - SearchHistoryNext # - SearchHistoryNext
# Go to the next regex in the search history. # Go to the next regex in the search history.
# #
# - macOS exclusive actions: # - macOS exclusive actions:
# - ToggleSimpleFullscreen # - ToggleSimpleFullscreen
# Enter fullscreen without occupying another space. # Enter fullscreen without occupying another space.
# #
# - Linux/BSD exclusive actions: # - Linux/BSD exclusive actions:
# #
# - CopySelection # - CopySelection
# Copy from the selection buffer. # Copy from the selection buffer.
# - PasteSelection # - PasteSelection
# Paste from the selection buffer. # Paste from the selection buffer.
# #
# - `command`: Fork and execute a specified command plus arguments # - `command`: Fork and execute a specified command plus arguments
# #
# The `command` field must be a map containing a `program` string and an # The `command` field must be a map containing a `program` string and an
# `args` array of command line parameter strings. For example: # `args` array of command line parameter strings. For example:
# `{ program: "alacritty", args: ["-e", "vttest"] }` # `{ program: "alacritty", args: ["-e", "vttest"] }`
# #
# And optionally: # And optionally:
# #
# - `mods`: Key modifiers to filter binding actions # - `mods`: Key modifiers to filter binding actions
# #
# - Command # - Command
# - Control # - Control
# - Option # - Option
# - Super # - Super
# - Shift # - Shift
# - Alt # - Alt
# #
# Multiple `mods` can be combined using `|` like this: # Multiple `mods` can be combined using `|` like this:
# `mods: Control|Shift`. # `mods: Control|Shift`.
# Whitespace and capitalization are relevant and must match the example. # Whitespace and capitalization are relevant and must match the example.
# #
# - `mode`: Indicate a binding for only specific terminal reported modes # - `mode`: Indicate a binding for only specific terminal reported modes
# #
# This is mainly used to send applications the correct escape sequences # This is mainly used to send applications the correct escape sequences
# when in different modes. # when in different modes.
# #
# - AppCursor # - AppCursor
# - AppKeypad # - AppKeypad
# - Search # - Search
# - Alt # - Alt
# - Vi # - Vi
# #
# A `~` operator can be used before a mode to apply the binding whenever # A `~` operator can be used before a mode to apply the binding whenever
# the mode is *not* active, e.g. `~Alt`. # the mode is *not* active, e.g. `~Alt`.
# #
# Bindings are always filled by default, but will be replaced when a new # Bindings are always filled by default, but will be replaced when a new
# binding with the same triggers is defined. To unset a default binding, it can # binding with the same triggers is defined. To unset a default binding, it can
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for # be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
# a no-op if you do not wish to receive input characters for that binding. # a no-op if you do not wish to receive input characters for that binding.
# #
# If the same trigger is assigned to multiple actions, all of them are executed # If the same trigger is assigned to multiple actions, all of them are executed
# in the order they were defined in. # in the order they were defined in.
key_bindings: key_bindings:
- { key: N, mods: Control, action: CreateNewWindow } - { key: N, mods: Control, action: CreateNewWindow }
# - { key: Paste, action: Paste } # - { key: Paste, action: Paste }
@ -771,7 +769,12 @@ key_bindings:
# Vi Mode # Vi Mode
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode } #- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
- { key: Escape, mods: Shift, mode: ~Search, action: ToggleViMode } - {
key: Escape,
mods: Shift,
mode: ~Search,
action: ToggleViMode
}
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom } #- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
#- { key: Escape, mode: Vi|~Search, action: ClearSelection } #- { key: Escape, mode: Vi|~Search, action: ClearSelection }
#- { key: I, mode: Vi|~Search, action: ToggleViMode } #- { key: I, mode: Vi|~Search, action: ToggleViMode }
@ -834,9 +837,9 @@ key_bindings:
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious } #- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
# (Windows, Linux, and BSD only) # (Windows, Linux, and BSD only)
- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste } - { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
- { key: C, mods: Control|Shift, action: Copy } - { key: C, mods: Control|Shift, action: Copy }
- { key: Return, mods: Alt, action: ToggleFullscreen } # - { key: Return, mods: Alt, action: ToggleFullscreen }
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward } #- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward } #- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection } #- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
@ -866,11 +869,13 @@ key_bindings:
#- { key: Q, mods: Command, action: Quit } #- { key: Q, mods: Command, action: Quit }
#- { key: W, mods: Command, action: Quit } #- { key: W, mods: Command, action: Quit }
#- { key: N, mods: Command, action: SpawnNewInstance } #- { key: N, mods: Command, action: SpawnNewInstance }
- { key: Return, mods: Command, action: ToggleFullscreen } # NOTE: Use Command + Control + F
#
# - { key: Return, mods: Command, action: ToggleFullscreen }
#- { key: F, mods: Command, mode: ~Search, action: SearchForward } #- { key: F, mods: Command, mode: ~Search, action: SearchForward }
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward } #- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
#debug: #debug:
# Display the time it takes to redraw each frame. # Display the time it takes to redraw each frame.
#render_timer: false #render_timer: false

View File

@ -0,0 +1,117 @@
# Font configuration
font_family Hack Nerd Font Mono
bold_font Hack Nerd Font Mono Bold
italic_font Hack Nerd Font Mono Italic
bold_italic_font Hack Nerd Font Mono Bold Italic
font_size 11.0
sync_to_monitor no
disable_ligatures never
# NO BELLS!
enable_audio_bell no
# theme gruvbox_dark
# include /themes/gruvbox_dark.conf
# window_margin_width 5.0
# window_padding_width 5.0
# I'm on Prime's team here, blinking cursor is too distracting
cursor_blink_interval 0
background #282c34
dynamic_background_opacity true
background_opacity 0.97
macos_traditional_fullscreen no
# from nvim-nonicons
# symbol_map U+f101-U+f208 nonicon regular
# No creating windows
map ctrl+shift+enter no_op
map cmd+enter no_op
# I don't understand why some of these have remaps on MacOS
map ctrl+shift+n no_op # new_os_window
map cmd+n no_op # new_os_window
map ctrl+shift+w close_window
map shft+cmd+d no_op # just disable any apple-linux segregation
# tabs
## Tab creation
map ctrl+shift+t combine | new_tab | set_tab_title _
map cmd+t no_op
map ctrl+, set_tab_title _
## No tab destruction
map ctrl+shift+q no_op
map ctrl+shift+w no_op
map cmd+w no_op # close_tab 🍎
## No tab iteration
map ctrl+shift+right no_op # next_tab
map shift+cmd+] no_op # next_tab 🍎
map ctrl+tab no_op # next_tab
map ctrl+shift+left no_op # previous_tab
map shift+cmd+[ no_op # previous_tab 🍎
map ctrl+shift+tab no_op # previous_tab
map ctrl+shift+. no_op # move_tab_forward
## Tab linear jumping
map ctrl+1 goto_tab 1
map ctrl+2 goto_tab 2
map ctrl+3 goto_tab 3
map ctrl+4 goto_tab 4
map ctrl+5 goto_tab 5
map ctrl+6 goto_tab 6
map ctrl+7 goto_tab 7
map ctrl+8 goto_tab 8
map ctrl+9 goto_tab 9
map ctrl+0 goto_tab 10
### A bit ergonomics for mac
map cmd+1 goto_tab 1
map cmd+2 goto_tab 2
map cmd+3 goto_tab 3
map cmd+4 goto_tab 4
map cmd+5 goto_tab 5
map cmd+6 goto_tab 6
map cmd+7 goto_tab 7
map cmd+8 goto_tab 8
map cmd+9 goto_tab 9
map cmd+0 goto_tab 10
## Just disable all iteration of tab - use linear mapping
map ctrl+shift+right no_op
map shift+cmd+] no_op
map ctrl+tab no_op
map ctrl+shift+left no_op
map shift+cmd+[ no_op
map ctrl+shift+tab no_op
## Titles
tab_bar_edge top
tab_fade 0.6 1
tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{index}|{title}{(lambda parts: '/'.join([p if len(p) <= 2 else p[:2]+'…' for p in parts[:-1]] + [parts[-1]]))(tab.active_wd.split('/'))}"
active_tab_font_style bold
active_tab_foreground #000
active_tab_background #eee
inactive_tab_foreground #444
inactive_tab_background #999
map ctrl+shift+, set_tab_title
map ctrl+shift+alt+t no_op # set_tab_title
map shift+cmd+i no_op # set_tab_title
# map ctrl+shift+p>n kitten hints --type=linenum --linenum-action=tab nvim +{line} {path}
# I don't really have good way to ever press F1
# map f1 kitten hints --customize-processing hint_define_word.py

View File

@ -21,6 +21,7 @@
base-modules = [ base-modules = [
home-profiles.alacritty home-profiles.alacritty
home-profiles.kitty
home-profiles.git home-profiles.git
home-profiles.ssh home-profiles.ssh
home-profiles.shells home-profiles.shells

View File

@ -150,6 +150,33 @@ in {
}; };
}; };
kitty = {
config,
lib,
# pkgs,
...
}: let
cfg = config."${namespace}".kitty;
in {
options."${namespace}".kitty = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enables kitty";
};
conf = lib.mkOption {
type = lib.types.nullOr lib.types.path;
default = null;
description = "Path to kitty.conf. See https://sw.kovidgoyal.net/kitty/conf.html";
example = "../../../native_configs/kitty/kitty.conf";
};
};
config.programs.kitty = {
enable = cfg.enable;
extraConfig = lib.mkIf (cfg.conf != null) (builtins.readFile cfg.conf);
};
};
# TODO: chromium is not really supported on darwin # TODO: chromium is not really supported on darwin
private_chromium = { private_chromium = {
config, config,

View File

@ -67,9 +67,7 @@ in {
config, config,
lib, lib,
... ...
}: let }: {
cfg = config."${namespace}".alacritty;
in {
imports = [ imports = [
inputs.cells.repo.home-modules.alacritty inputs.cells.repo.home-modules.alacritty
]; ];
@ -81,6 +79,20 @@ in {
}; };
}; };
kitty = {
config,
lib,
...
}: {
imports = [
inputs.cells.repo.home-modules.kitty
];
config."${namespace}".kitty = {
enable = true;
conf = "${inputs.self}/native_configs/kitty/kitty.conf";
};
};
shells = import ./shells.nix imports; shells = import ./shells.nix imports;
git = { git = {