diff --git a/hosts/pinwheel/configuration.nix b/hosts/pinwheel/configuration.nix index 760acf8..2e2ee3e 100644 --- a/hosts/pinwheel/configuration.nix +++ b/hosts/pinwheel/configuration.nix @@ -80,7 +80,8 @@ swaylock.enable = false; physlock.enable = true; tlp.enable = true; - foot.enable = true; + wezterm.enable = true; + foot.enable = false; git.enable = true; openvpn.enable = true; go.enable = true; diff --git a/hosts/pinwheel/modules/wezterm/default.nix b/hosts/pinwheel/modules/wezterm/default.nix new file mode 100644 index 0000000..f64334a --- /dev/null +++ b/hosts/pinwheel/modules/wezterm/default.nix @@ -0,0 +1,52 @@ +{ pkgs, lib, config, ... }: +let + enabled = config.mod.wezterm.enable; + + hyprlandEnabled = config.mod.hyprland.enable; +in +{ + options = { + mod.wezterm = { + enable = lib.mkEnableOption "enable wezterm module"; + }; + }; + + config = { + home-manager.users.alex = lib.mkIf enabled { + programs.wezterm = { + enable = true; + + extraConfig = '' + -- Pull in the wezterm API + local wezterm = require 'wezterm' + + local config = wezterm.config_builder() + + config.color_scheme = 'Dracula (Official)' + + -- to get "perfect" scaling to the right + config.font_size = 12.6 + + config.enable_tab_bar = false + + config.window_padding = { + left = 0, + right = 0, + top = 0, + bottom = 0, + } + + return config + ''; + }; + + wayland.windowManager.hyprland = lib.mkIf hyprlandEnabled { + settings = { + bind = [ + "$mod, RETURN, exec, ${pkgs.wezterm}/bin/wezterm" + ]; + }; + }; + }; + }; +}