This repository has no description
2.1 kB
105 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
30 kitty = pkgs.symlinkJoin {
31 name = "kitty";
32 paths = [
33 (pkgs.writeDashBin "kitty" ''
34 ${pkgs.kitty}/bin/kitty --config ${kitty-cfg} "$@"
35 '')
36 pkgs.kitty
37 ];
38 };
39
40 # Light theme colors (Gruvbox Light)
41 lightColors = ''
42 foreground #3c3836
43 background #f9f5d7
44
45 cursor #3c3836
46 cursor_text_color #f9f5d7
47
48 # Normal colors
49 color0 #fbf1c7
50 color1 #cc241d
51 color2 #98971a
52 color3 #d79921
53 color4 #458588
54 color5 #b16286
55 color6 #689d6a
56 color7 #7c6f64
57
58 # Bright colors
59 color8 #928374
60 color9 #9d0006
61 color10 #79740e
62 color11 #b57614
63 color12 #076678
64 color13 #8f3f71
65 color14 #427b58
66 color15 #3c3836
67 '';
68
69 # Dark theme colors
70 darkColors = ''
71 foreground #ffffff
72 background #000000
73
74 cursor #ffffff
75 cursor_text_color #F81CE5
76
77 # Normal colors
78 color0 #000000
79 color1 #fe0100
80 color2 #33ff00
81 color3 #feff00
82 color4 #0066ff
83 color5 #cc00ff
84 color6 #00ffff
85 color7 #d0d0d0
86
87 # Bright colors
88 color8 #808080
89 color9 #fe0100
90 color10 #33ff00
91 color11 #feff00
92 color12 #0066ff
93 color13 #cc00ff
94 color14 #00ffff
95 color15 #FFFFFF
96 '';
97
98in
99{
100 environment.etc = {
101 "themes/light/kitty-colors.conf".text = lightColors;
102 "themes/dark/kitty-colors.conf".text = darkColors;
103 };
104 environment.systemPackages = [ kitty ];
105}