]> Git — Sourcephile - julm/julm-nix.git/blob - home-manager/profiles/ghostty.nix
neovim: configure, using ghostty and tmux
[julm/julm-nix.git] / home-manager / profiles / ghostty.nix
1 { pkgs, lib, ... }:
2 {
3 home.packages = [
4 pkgs.nerd-fonts.symbols-only
5 #pkgs.nerd-fonts.DejaVuSansMono
6 ];
7 xdg.configFile."ghostty/custom.css".source = ghostty/custom.css;
8 programs.ghostty = {
9 enable = true;
10 # ConfigurationHelper: https://ghostty.zerebos.com
11 settings = {
12 app-notifications = [
13 "no-clipboard-copy"
14 ];
15 #command = "tmux";
16 #gtk-single-instance = "detect";
17 background = "#000000";
18 clipboard-read = "allow";
19 clipboard-trim-trailing-spaces = true;
20 clipboard-write = "allow";
21 confirm-close-surface = false;
22 # ligatures are confusing
23 font-feature = [
24 "-calt"
25 "-dalt"
26 "-dlig"
27 ];
28 font-size = lib.mkDefault 9;
29 copy-on-select = true;
30 cursor-style = "bar";
31 cursor-style-blink = true;
32 # Note: home-manager currently does not allow filepaths here, hence use a string.
33 gtk-custom-css = "/home/julm/.config/ghostty/custom.css";
34 gtk-single-instance = "desktop";
35 gtk-titlebar = false;
36 linux-cgroup = "always";
37 linux-cgroup-hard-fail = "true";
38 quit-after-last-window-closed = true;
39 # Keep Ghostty running a bit so that new window creation is faster.
40 quit-after-last-window-closed-delay = "15m";
41 shell-integration = "detect";
42 shell-integration-features = [
43 "no-cursor"
44 "no-sudo"
45 "no-title"
46 # MaintenanceToDo: enable when ghostty is updated to support it
47 #"ssh-terminfo"
48 #"ssh-env"
49 ];
50 working-directory = "home";
51 };
52 };
53 }