ghostty: move to modules/home

Signed-off-by: Bloxx12 <charlie@charlieroot.dev>
Change-Id: I6a6a69641141c64ef2be00b4e93eefeba26ae292
This commit is contained in:
Bloxx12 2025-07-21 00:02:31 +02:00
commit 917074fb32
Signed by: faukah
SSH key fingerprint: SHA256:jpYIt4Vkz1NBTQcks/N9OPTfTFxE6KF2W/rV7hrfrIw

View file

@ -1,6 +1,6 @@
{
config,
lib,
osConfig,
pkgs,
...
}:
@ -10,8 +10,7 @@ let
inherit (lib.attrsets) mapAttrsToList;
inherit (lib.strings) concatStringsSep;
inherit (config.meta.mainUser.defaultShell) name package;
inherit (config.modules.style.colorScheme) slug;
inherit (osConfig.meta.mainUser.defaultShell) name package;
# Shell integration for ghostty only supports
# bash, fish and zsh for now.
@ -30,11 +29,9 @@ let
ghostty-settings = {
font-size = 14;
font-family = "JetBrainsMonoNerdFont";
# font-style-bold = JetBrainsMono NF Regular;
# font-style-bold-italic = JetBrainsMono NF Italic;
app-notifications = "no-clipboard-copy";
background-opacity = 0.9;
background-opacity = 0.7;
bold-is-bright = "true";
confirm-close-surface = "false";
cursor-style-blink = "false";
@ -45,7 +42,7 @@ let
resize-overlay-duration = "0s";
shell-integration-features = "cursor,sudo,no-title";
term = "xterm-256color";
theme = slug;
theme = "nightfox";
window-decoration = "none";
window-padding-balance = true;
window-padding-x = 8;
@ -60,23 +57,13 @@ let
command = getExe package;
};
settingsFile =
pkgs.writeText "config"
<| concatStringsSep "\n"
<| mapAttrsToList (name: value: "${name} = ${toString value}") ghostty-settings;
ghostty-wrapped = pkgs.symlinkJoin {
name = "ghostty-wrapped";
paths = [ pkgs.ghostty ];
nativeBuildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/ghostty --add-flags "--config-file=${settingsFile}"
'';
};
in
{
environment.systemPackages = builtins.attrValues {
inherit ghostty-wrapped;
packages = builtins.attrValues {
inherit (pkgs) ghostty;
};
files.".config/ghostty/config".text =
concatStringsSep "\n"
<| mapAttrsToList (name: value: "${name} = ${toString value}") ghostty-settings;
}