ghostty: move to modules/home
Signed-off-by: Bloxx12 <charlie@charlieroot.dev> Change-Id: I6a6a69641141c64ef2be00b4e93eefeba26ae292
This commit is contained in:
parent
2d3d2ef1d7
commit
917074fb32
1 changed files with 10 additions and 23 deletions
69
modules/home/programs/ghostty.hjem.nix
Normal file
69
modules/home/programs/ghostty.hjem.nix
Normal file
|
@ -0,0 +1,69 @@
|
|||
{
|
||||
lib,
|
||||
osConfig,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib.lists) elem;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.attrsets) mapAttrsToList;
|
||||
inherit (lib.strings) concatStringsSep;
|
||||
|
||||
inherit (osConfig.meta.mainUser.defaultShell) name package;
|
||||
|
||||
# Shell integration for ghostty only supports
|
||||
# bash, fish and zsh for now.
|
||||
shell-integration =
|
||||
if
|
||||
elem name [
|
||||
"bash"
|
||||
"fish"
|
||||
"zsh"
|
||||
]
|
||||
then
|
||||
name
|
||||
else
|
||||
"none";
|
||||
|
||||
ghostty-settings = {
|
||||
font-size = 14;
|
||||
font-family = "JetBrainsMonoNerdFont";
|
||||
|
||||
app-notifications = "no-clipboard-copy";
|
||||
background-opacity = 0.7;
|
||||
bold-is-bright = "true";
|
||||
confirm-close-surface = "false";
|
||||
cursor-style-blink = "false";
|
||||
gtk-single-instance = "true";
|
||||
gtk-tabs-location = "bottom";
|
||||
gtk-wide-tabs = false;
|
||||
mouse-hide-while-typing = "true";
|
||||
resize-overlay-duration = "0s";
|
||||
shell-integration-features = "cursor,sudo,no-title";
|
||||
term = "xterm-256color";
|
||||
theme = "nightfox";
|
||||
window-decoration = "none";
|
||||
window-padding-balance = true;
|
||||
window-padding-x = 8;
|
||||
window-padding-y = 8;
|
||||
window-theme = "ghostty";
|
||||
cursor-style = "block";
|
||||
|
||||
# Whether to automatically copy selected text to the clipboard. true will prefer to copy to the selection clipboard, otherwise it will copy to the system clipboard.
|
||||
# The value clipboard will always copy text to the selection clipboard as well as the system clipboard.
|
||||
copy-on-select = "clipboard";
|
||||
inherit shell-integration;
|
||||
|
||||
command = getExe package;
|
||||
};
|
||||
in
|
||||
{
|
||||
packages = builtins.attrValues {
|
||||
inherit (pkgs) ghostty;
|
||||
};
|
||||
|
||||
files.".config/ghostty/config".text =
|
||||
concatStringsSep "\n"
|
||||
<| mapAttrsToList (name: value: "${name} = ${toString value}") ghostty-settings;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue