mirror of
https://github.com/nix-community/home-manager.git
synced 2026-01-12 01:59:37 +08:00
kitty: make extraConfig obey mkOrder
this change makes kitty.extraConfig obey the lib.mkOrder function so that text can be inserted at the right place.
This commit is contained in:
committed by
Austin Horstman
parent
115344f32b
commit
ad88262f06
@@ -12,6 +12,8 @@ let
|
||||
mkOption
|
||||
optionalString
|
||||
types
|
||||
mkMerge
|
||||
mkOrder
|
||||
;
|
||||
|
||||
cfg = config.programs.kitty;
|
||||
@@ -275,32 +277,37 @@ in
|
||||
|
||||
home.packages = [ cfg.package ] ++ optionalPackage cfg.font;
|
||||
|
||||
programs.kitty.extraConfig = mkMerge [
|
||||
(mkIf (cfg.font != null) (
|
||||
mkOrder 510 ''
|
||||
font_family ${cfg.font.name}
|
||||
${optionalString (cfg.font.size != null) "font_size ${toString cfg.font.size}"}
|
||||
''
|
||||
))
|
||||
(mkIf (cfg.themeFile != null) (
|
||||
mkOrder 520 ''
|
||||
include ${pkgs.kitty-themes}/share/kitty-themes/themes/${cfg.themeFile}.conf
|
||||
''
|
||||
))
|
||||
(mkIf (cfg.shellIntegration.mode != null) (
|
||||
mkOrder 530 ''
|
||||
# Shell integration is sourced and configured manually
|
||||
shell_integration ${cfg.shellIntegration.mode}
|
||||
''
|
||||
))
|
||||
(mkOrder 540 (toKittyConfig cfg.settings))
|
||||
(mkOrder 550 (toKittyActionAliases cfg.actionAliases))
|
||||
(mkOrder 560 (toKittyKeybindings cfg.keybindings))
|
||||
(mkOrder 570 (toKittyEnv cfg.environment))
|
||||
];
|
||||
|
||||
xdg.configFile."kitty/kitty.conf" =
|
||||
{
|
||||
text =
|
||||
''
|
||||
# Generated by Home Manager.
|
||||
# See https://sw.kovidgoyal.net/kitty/conf.html
|
||||
''
|
||||
+ lib.concatStringsSep "\n" [
|
||||
(optionalString (cfg.font != null) ''
|
||||
font_family ${cfg.font.name}
|
||||
${optionalString (cfg.font.size != null) "font_size ${toString cfg.font.size}"}
|
||||
'')
|
||||
|
||||
(optionalString (cfg.themeFile != null) ''
|
||||
include ${pkgs.kitty-themes}/share/kitty-themes/themes/${cfg.themeFile}.conf
|
||||
'')
|
||||
(optionalString (cfg.shellIntegration.mode != null) ''
|
||||
# Shell integration is sourced and configured manually
|
||||
shell_integration ${cfg.shellIntegration.mode}
|
||||
'')
|
||||
(toKittyConfig cfg.settings)
|
||||
(toKittyActionAliases cfg.actionAliases)
|
||||
(toKittyKeybindings cfg.keybindings)
|
||||
(toKittyEnv cfg.environment)
|
||||
cfg.extraConfig
|
||||
];
|
||||
text = ''
|
||||
# Generated by Home Manager.
|
||||
# See https://sw.kovidgoyal.net/kitty/conf.html
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
}
|
||||
// lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux {
|
||||
onChange = ''
|
||||
|
||||
Reference in New Issue
Block a user