This repository has no description
2.3 kB
109 lines
1{ pkgs, ... }:
2let
3 kitty-cfg = pkgs.writeText "kitty.conf" ''
4 # Font configuration
5 font_family IosevkaTerm Nerd Font
6 bold_font IosevkaTerm Nerd Font Bold
7 italic_font IosevkaTerm Nerd Font Italic
8 bold_italic_font IosevkaTerm Nerd Font Bold Italic
9 font_size 12
10
11 # Window settings
12 initial_window_width 80c
13 initial_window_height 20c
14
15 # Enable remote control for runtime theme switching
16 allow_remote_control yes
17 listen_on unix:/tmp/kitty-socket
18
19 # Include theme colors from /var/theme/config
20 include /var/theme/config/kitty-colors.conf
21
22 # URL handling
23 open_url_with /run/current-system/sw/bin/xdg-open
24 detect_urls yes
25
26 # Disable bell
27 enable_audio_bell no
28
29 # Don't reset the terminal on ctrl+shift+delete; it's too close to
30 # shift+insert (paste) and the reset scrambles running programs.
31 map ctrl+shift+delete no_op
32 '';
33
34 kitty = pkgs.symlinkJoin {
35 name = "kitty";
36 paths = [
37 (pkgs.writeDashBin "kitty" ''
38 ${pkgs.kitty}/bin/kitty --config ${kitty-cfg} "$@"
39 '')
40 pkgs.kitty
41 ];
42 };
43
44 # Light theme colors (Gruvbox Light)
45 lightColors = ''
46 foreground #3c3836
47 background #f9f5d7
48
49 cursor #3c3836
50 cursor_text_color #f9f5d7
51
52 # Normal colors
53 color0 #fbf1c7
54 color1 #cc241d
55 color2 #98971a
56 color3 #d79921
57 color4 #458588
58 color5 #b16286
59 color6 #689d6a
60 color7 #7c6f64
61
62 # Bright colors
63 color8 #928374
64 color9 #9d0006
65 color10 #79740e
66 color11 #b57614
67 color12 #076678
68 color13 #8f3f71
69 color14 #427b58
70 color15 #3c3836
71 '';
72
73 # Dark theme colors
74 darkColors = ''
75 foreground #ffffff
76 background #000000
77
78 cursor #ffffff
79 cursor_text_color #F81CE5
80
81 # Normal colors
82 color0 #000000
83 color1 #fe0100
84 color2 #33ff00
85 color3 #feff00
86 color4 #0066ff
87 color5 #cc00ff
88 color6 #00ffff
89 color7 #d0d0d0
90
91 # Bright colors
92 color8 #808080
93 color9 #fe0100
94 color10 #33ff00
95 color11 #feff00
96 color12 #0066ff
97 color13 #cc00ff
98 color14 #00ffff
99 color15 #FFFFFF
100 '';
101
102in
103{
104 environment.etc = {
105 "themes/light/kitty-colors.conf".text = lightColors;
106 "themes/dark/kitty-colors.conf".text = darkColors;
107 };
108 environment.systemPackages = [ kitty ];
109}