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