2023-01-31 09:38:11 +01:00
|
|
|
{
|
2023-02-10 07:46:37 +01:00
|
|
|
config,
|
|
|
|
flakePath,
|
2023-11-28 12:21:17 +01:00
|
|
|
lib,
|
2023-11-08 11:54:01 +01:00
|
|
|
pkgs,
|
2023-02-10 07:46:37 +01:00
|
|
|
...
|
2023-11-08 11:54:01 +01:00
|
|
|
}: let
|
|
|
|
mkSymlink = path: config.lib.file.mkOutOfStoreSymlink "${flakePath}/home/apps/wezterm/${path}";
|
|
|
|
in {
|
2023-11-28 12:21:17 +01:00
|
|
|
# use the GUI version & config when we have a gui, else just get terminfo
|
|
|
|
config = lib.mkMerge [
|
|
|
|
(lib.mkIf (!config.isGraphical) {
|
|
|
|
home.packages = [pkgs.wezterm.terminfo];
|
|
|
|
})
|
2023-11-08 11:54:01 +01:00
|
|
|
|
2023-11-28 12:21:17 +01:00
|
|
|
(lib.mkIf config.isGraphical {
|
|
|
|
programs.wezterm.enable = true;
|
2023-05-15 01:01:10 +02:00
|
|
|
|
2023-11-28 12:21:17 +01:00
|
|
|
xdg.configFile = {
|
|
|
|
"wezterm/wezterm.lua".source = mkSymlink "wezterm.lua";
|
|
|
|
"wezterm/config" = {
|
|
|
|
source = mkSymlink "config";
|
|
|
|
recursive = true;
|
|
|
|
};
|
|
|
|
"wezterm/bar".source = pkgs.fetchFromGitHub {
|
|
|
|
owner = "nekowinston";
|
|
|
|
repo = "wezterm-bar";
|
|
|
|
sha256 = "sha256-3acxqJ9HMA5hASWq/sVL9QQjfEw5Xrh2fT9nFuGjzHM=";
|
|
|
|
rev = "e96b81460b3ad11a7461934dcb7889ce5079f97f";
|
|
|
|
};
|
|
|
|
"wezterm/catppuccin".source = pkgs.fetchFromGitHub {
|
|
|
|
owner = "catppuccin";
|
|
|
|
repo = "wezterm";
|
|
|
|
sha256 = "sha256-McSWoZaJeK+oqdK/0vjiRxZGuLBpEB10Zg4+7p5dIGY=";
|
|
|
|
rev = "b1a81bae74d66eaae16457f2d8f151b5bd4fe5da";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
programs.zsh.initExtra = ''
|
|
|
|
if [[ "$TERM_PROGRAM" == "WezTerm" ]]; then
|
|
|
|
TERM=wezterm
|
|
|
|
source ${config.programs.wezterm.package}/etc/profile.d/wezterm.sh
|
|
|
|
fi
|
|
|
|
'';
|
|
|
|
})
|
|
|
|
];
|
2023-01-31 09:38:11 +01:00
|
|
|
}
|