❄️ Dotfiles for our NixOS system configuration.
1{ pkgs, ... }:
2
3{
4 programs.ghostty = {
5 enable = true;
6 package = if pkgs.stdenv.hostPlatform.isLinux then pkgs.ghostty else pkgs.ghostty-bin;
7
8 settings = {
9 command = "/bin/zsh";
10
11 font-family = "Iosevka";
12 font-size = 14;
13
14 adjust-cell-height = "10%";
15 adjust-cell-width = "0";
16
17 background = "1e1e2e";
18 foreground = "cdd6f4";
19
20 palette = [
21 "0=#45475a"
22 "1=#f38ba8"
23 "2=#a6e3a1"
24 "3=#f9e2af"
25 "4=#89b4fa"
26 "5=#f5c2e7"
27 "6=#94e2d5"
28 "7=#bac2de"
29 "8=#585b70"
30 "9=#f38ba8"
31 "10=#a6e3a1"
32 "11=#f9e2af"
33 "12=#89b4fa"
34 "13=#f5c2e7"
35 "14=#94e2d5"
36 "15=#a6adc8"
37 ];
38
39 cursor-style = "bar";
40 cursor-color = "f5c2e7";
41 cursor-style-blink = true;
42 cursor-opacity = 1;
43
44 selection-foreground = "1e1e2e";
45 selection-background = "cdd6f4";
46
47 window-padding-x = 8;
48 window-padding-y = 8;
49 window-padding-balance = true;
50 window-decoration = "client";
51 window-theme = "dark";
52
53 window-width = 120;
54 window-height = 25;
55
56 window-save-state = "always";
57 window-vsync = true;
58
59 scrollback-limit = 268435456;
60
61 copy-on-select = "clipboard";
62
63 confirm-close-surface = true;
64
65 shell-integration = "detect";
66 shell-integration-features = [ "cursor" "sudo" "title" "ssh-env" "ssh-terminfo" ];
67
68 keybind = [
69 "super+n=new_window"
70 "super+t=new_tab"
71 "super+shift+w=close_surface"
72 "super+w=close_window"
73 "super+shift+n=new_split:right"
74 "super+shift+d=new_split:down"
75 "super+shift+j=goto_split:previous"
76 "super+shift+k=goto_split:next"
77 "super+shift+h=goto_split:left"
78 "super+shift+l=goto_split:right"
79 "super+shift+up=goto_split:up"
80 "super+shift+down=goto_split:down"
81 "super+equal=increase_font_size:1"
82 "super+minus=decrease_font_size:1"
83 "super+0=reset_font_size"
84 "cmd+shift+comma=reload_config"
85 "super+f=toggle_fullscreen"
86 "super+shift+f=toggle_quick_terminal"
87 ];
88
89 macos-option-as-alt = true;
90 macos-titlebar-style = "tabs";
91 macos-window-shadow = true;
92 macos-non-native-fullscreen = false;
93
94 background-blur = 40;
95 background-opacity = 0.85;
96 };
97 };
98}