From 302a177ef28952396a2cca3f82e74794b708b7b9 Mon Sep 17 00:00:00 2001 From: SebastianStork Date: Wed, 8 May 2024 17:26:10 +0200 Subject: [PATCH] Wrap kitty --- modules/home/default.nix | 1 - modules/home/kitty.nix | 28 ---------------------------- users/seb/home.nix | 2 +- wrappers/kitty.nix | 39 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 40 insertions(+), 30 deletions(-) delete mode 100644 modules/home/kitty.nix create mode 100644 wrappers/kitty.nix diff --git a/modules/home/default.nix b/modules/home/default.nix index ba4ed56..93a63dd 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -5,7 +5,6 @@ ./shell ./ssh-client.nix ./git.nix - ./kitty.nix ./equalizer ./sops.nix ]; diff --git a/modules/home/kitty.nix b/modules/home/kitty.nix deleted file mode 100644 index 73f7b76..0000000 --- a/modules/home/kitty.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - config, - lib, - ... -}: { - options.myConfig.kitty.enable = lib.mkEnableOption ""; - - config = lib.mkIf config.myConfig.kitty.enable { - programs.kitty = { - enable = true; - - settings = { - font_family = "JetBrainsMono Nerd Font"; - confirm_os_window_close = 0; - background_opacity = "0.85"; - enable_audio_bell = false; - update_check_interval = 0; - }; - - theme = - { - dark = "Default"; - light = "GitHub Light"; - } - .${config.myConfig.de.theme}; - }; - }; -} diff --git a/users/seb/home.nix b/users/seb/home.nix index 6bb186b..ab8b124 100644 --- a/users/seb/home.nix +++ b/users/seb/home.nix @@ -22,7 +22,6 @@ ssh-client.enable = true; git.enable = true; vscode.enable = true; - kitty.enable = true; equalizer.enable = true; sops.enable = false; }; @@ -46,5 +45,6 @@ (myWrappers.spotify {disableGPU = true;}) (myWrappers.obsidian {disableGPU = true;}) (myWrappers.marktext {disableGPU = true;}) + (myWrappers.kitty {inherit (config.myConfig.de) theme;}) ]; } diff --git a/wrappers/kitty.nix b/wrappers/kitty.nix new file mode 100644 index 0000000..0cb62b0 --- /dev/null +++ b/wrappers/kitty.nix @@ -0,0 +1,39 @@ +{ + assembleWrapper, + pkgs, + lib, + ... +}: {theme ? "dark"}: +assembleWrapper { + basePackage = pkgs.kitty; + + appendFlags = let + toKittyConfig = lib.generators.toKeyValue { + mkKeyValue = key: value: let + value' = ( + if lib.isBool value + then lib.hm.booleans.yesNo value + else toString value + ); + in "${key} ${value'}"; + }; + kitty-config = pkgs.writeText "kitty-config" (toKittyConfig { + font_family = "JetBrainsMono Nerd Font"; + confirm_os_window_close = 0; + background_opacity = "0.85"; + enable_audio_bell = false; + update_check_interval = 0; + cursor_shape = "beam"; + }); + kitty-theme = pkgs.writeText "kitty-theme" "include ${pkgs.kitty-themes}/share/kitty-themes/themes/${{ + dark = "default.conf"; + light = "GitHub_Light.conf"; + } + .${theme}}"; + in [ + "--config" + "${kitty-config}" + "--config" + "${kitty-theme}" + ]; +}