added ghostty module

This commit is contained in:
John Lancaster
2025-07-04 00:57:44 -05:00
parent 874993c18c
commit 36e3d42ab7
4 changed files with 55 additions and 0 deletions

View File

@@ -33,6 +33,7 @@
ssh = config.ssh; ssh = config.ssh;
_1password = config._1password; _1password = config._1password;
docker = config.docker; docker = config.docker;
graphical = config.graphical;
} }
] ++ config.extraImports; ] ++ config.extraImports;

View File

@@ -3,6 +3,7 @@
{ {
imports = [ imports = [
./homeManagerModules/git.nix ./homeManagerModules/git.nix
./homeManagerModules/ghostty.nix
./homeManagerModules/shell.nix ./homeManagerModules/shell.nix
./homeManagerModules/ssh.nix ./homeManagerModules/ssh.nix
./homeManagerModules/docker.nix ./homeManagerModules/docker.nix

View File

@@ -0,0 +1,47 @@
{ config, pkgs, lib, ... }:
{
home.sessionVariables = lib.mkIf (config.enableShell and config.graphical) {
TERMINAL = "ghostty";
};
programs.ghostty = lib.mkIf (config.enableShell and config.graphical) {
enable = true;
enableZshIntegration = true;
settings = {
# command = "TERM=xterm-256color /usr/bin/bash";
font-size = 12;
font-family = "Source Code Pro";
# theme = "idleToes";
# theme = "CGA";
theme = "catppuccin-mocha";
# theme = "CobaltNext";
# clipboard-read = "allow";
copy-on-select = true;
shell-integration = "zsh";
shell-integration-features = [ "no-title" "sudo" ];
gtk-single-instance = true;
window-padding-balance = true ;
window-padding-x = 5;
window-padding-y = 5;
initial-window = true;
resize-overlay = "never";
# Example: https://gist.github.com/adibhanna/c552c452fb244b3b721e3c2432e85cde
keybind = [
"ctrl+s>n=new_split:down"
"ctrl+t>n=new_tab"
"ctrl+t>1=goto_tab:1"
"ctrl+t>2=goto_tab:2"
"ctrl+t>3=goto_tab:3"
"ctrl+s>i=goto_split:up"
"ctrl+s>k=goto_split:down"
];
# window-position-x = 500;
# window-position-y = 500;
window-height = 40;
window-width = 200;
};
};
}

View File

@@ -59,4 +59,10 @@
default = false; default = false;
description = "Whether to enable docker stuff"; description = "Whether to enable docker stuff";
}; };
options.graphical = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Whether this system has a graphical environment";
};
} }