dotfiles/home/apps/wezterm.nix

51 lines
1.4 KiB
Nix
Raw Normal View History

{
2023-02-10 07:46:37 +01:00
config,
flakePath,
2023-11-28 12:21:17 +01:00
lib,
pkgs,
2023-02-10 07:46:37 +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-28 12:21:17 +01:00
(lib.mkIf config.isGraphical {
2024-01-03 14:57:18 +01:00
programs.wezterm = {
enable = true;
package = pkgs.nur.repos.nekowinston.wezterm-nightly;
};
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
'';
})
];
}