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