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