Kieran's opinionated (and probably slightly dumb) nix config
1{ lib, config, ... }:
2{
3 options.atelier.terminal.ghostty = {
4 enable = lib.mkEnableOption "Enable Ghostty terminal config";
5 windowDecoration = lib.mkOption {
6 type = lib.types.bool;
7 default = false;
8 description = "Enable window decorations for Ghostty";
9 };
10 };
11
12 config = lib.mkIf config.atelier.terminal.ghostty.enable {
13 home.file.".config/ghostty/config".text = ''
14 foreground = "#a7b1d3"
15 mouse-hide-while-typing = true
16 resize-overlay = "never"
17 theme = "Catppuccin Macchiato"
18 window-decoration = ${if config.atelier.terminal.ghostty.windowDecoration then "true" else "false"}
19 window-padding-x = 12
20 window-padding-y = 12
21 keybind = ctrl+shift+w=close_surface
22 '';
23 };
24}