Switch to alacritty + tmux, with an option to easily enable kitty

This commit is contained in:
Cameron Reed 2024-02-05 23:24:31 -07:00
parent 781e023c74
commit f32658c636
9 changed files with 77 additions and 18 deletions

View File

@ -0,0 +1,31 @@
{ pkgs, lib, inputs, config, osConfig, ... }:
{
programs.alacritty = {
enable = config.term == "alacritty";
settings = {
window = {
opacity = 0.95;
dynamic_padding = true;
};
"colors.primary" = {
foreground = "#cccccc";
background = "#333333";
};
cursor = {
"style.blinking" = "On";
blink_interval = 500;
blink_timeout = 15;
};
mouse = {
hide_when_typing = true;
};
};
};
runInTerm = if (config.term == "alacritty") then "${pkgs.alacritty}/bin/alacritty -e" else lib.mkDefault "";
}

View File

@ -1,4 +1,4 @@
{ pkgs, lib, osConfig, ... }: { pkgs, lib, config, osConfig, ... }:
{ {
config = lib.mkIf (builtins.elem "hyprland" osConfig.desktop) ( config = lib.mkIf (builtins.elem "hyprland" osConfig.desktop) (
@ -18,7 +18,7 @@
settings = { settings = {
"$mod" = "SUPER"; "$mod" = "SUPER";
"$term" = "kitty"; "$term" = "${config.term}";
"$browser" = "firefox"; "$browser" = "firefox";
"$menu" = "dmenu_path | wmenu -p 'Run:' -l 10 | xargs hyprctl dispatch exec"; "$menu" = "dmenu_path | wmenu -p 'Run:' -l 10 | xargs hyprctl dispatch exec";
@ -121,7 +121,7 @@
]; ];
bind = [ bind = [
"$mod, Return, exec, $term" "$mod, Return, exec, ${config.runInTerm} ${pkgs.tmux}"
"$mod, B, exec, $browser" "$mod, B, exec, $browser"
"$mod, E, killactive," "$mod, E, killactive,"
"$mod, Q, exec, hyprctl kill" "$mod, Q, exec, hyprctl kill"

View File

@ -1,8 +1,8 @@
{ pkgs, lib, osConfig, ... }: { pkgs, lib, config, osConfig, ... }:
{ {
programs.kitty = { programs.kitty = {
enable = (builtins.length osConfig.desktop) != 0; enable = config.term == "kitty";
settings = { settings = {
background = "#333333"; background = "#333333";
@ -14,4 +14,6 @@
update_check_interval = 0; update_check_interval = 0;
}; };
}; };
runInTerm = if (config.term == "kitty") then "${pkgs.kitty}/bin/kitty" else lib.mkDefault "";
} }

View File

@ -2,14 +2,14 @@
with lib; { with lib; {
options = { options = {
defaultTerminal = mkOption { term = mkOption {
default = "kitty"; default = "";
type = types.str; type = types.enum [ "" "kitty" "alacritty" ];
}; };
terminal = mkOption { runInTerm = mkOption {
default = "${pkgs.kitty}/bin/kitty"; default = "";
type = types.path; type = types.str;
}; };
}; };
} }

View File

@ -8,7 +8,7 @@
enable = true; enable = true;
config = { config = {
modifier = "Mod4"; modifier = "Mod4";
terminal = "${pkgs.kitty}/bin/kitty"; terminal = "${config.term}";
menu = "${pkgs.dmenu}/bin/dmenu_path | ${pkgs.wmenu}/bin/wmenu -p 'Run:' -l 10 | ${pkgs.findutils}/bin/xargs swaymsg exec --"; menu = "${pkgs.dmenu}/bin/dmenu_path | ${pkgs.wmenu}/bin/wmenu -p 'Run:' -l 10 | ${pkgs.findutils}/bin/xargs swaymsg exec --";
@ -53,7 +53,7 @@
menu = config.wayland.windowManager.sway.config.menu; menu = config.wayland.windowManager.sway.config.menu;
in lib.mkOptionDefault { in lib.mkOptionDefault {
"${mod}+c" = "mark --toggle caffeine"; "${mod}+c" = "mark --toggle caffeine";
"${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty"; "${mod}+Return" = "exec ${config.runInTerm} ${pkgs.tmux}";
"${mod}+n" = "exec ${pkgs.firefox}/bin/firefox"; "${mod}+n" = "exec ${pkgs.firefox}/bin/firefox";
"${mod}+d" = "exec pkill wmenu || ${menu}"; "${mod}+d" = "exec pkill wmenu || ${menu}";
"${mod}+Shift+q" = "kill"; "${mod}+Shift+q" = "kill";

View File

@ -1,14 +1,12 @@
{ pkgs, lib, osConfig, ... }: { pkgs, lib, osConfig, ... }:
{ {
config = lib.mkIf (builtins.elem "hyprland" osConfig.desktop || builtins.elem "sway" osConfig.desktop) programs.swaylock = {
{ programs.swaylock = { enable = builtins.elem "hyprland" osConfig.desktop || builtins.elem "sway" osConfig.desktop;
enable = true;
settings = { settings = {
ignore-empty-password = true; ignore-empty-password = true;
color = "333333"; color = "333333";
image = "${./other-files/wallpapers/lake.jpg}"; image = "${./other-files/wallpapers/lake.jpg}";
}; };
}; };
};
} }

View File

@ -0,0 +1,25 @@
{ pkgs, lib, inputs, config, osConfig, ... }:
{
programs.tmux = {
enable = true;
terminal = "tmux-256color";
keyMode = "vi";
mouse = true;
extraConfig = ''
set -g prefix C-a
set -g prefix2 C-k
set -g status-right '"#T"'
set -g status-style 'bg=#262626 fg=#cccccc'
set-hook -g window-linked 'set -F status "#{?#{==:#{session_windows},1},off,on}"'
set-hook -g window-unlinked 'set -F status "#{?#{==:#{session_windows},1},off,on}"'
set -ga terminal-overrides ",*:Tc"
'';
};
}

View File

@ -129,7 +129,7 @@
car = ""; car = "";
default = ["" "" ""]; default = ["" "" ""];
}; };
on-click = "${config.terminal} pulsemixer"; on-click = "${config.runInTerm} ${pkgs.pulsemixer}";
}; };
}; };

View File

@ -13,8 +13,11 @@
./home-manager/swaylock.nix ./home-manager/swaylock.nix
./home-manager/waybar.nix ./home-manager/waybar.nix
./home-manager/alacritty.nix
./home-manager/kitty.nix
./home-manager/zsh.nix ./home-manager/zsh.nix
./home-manager/nvim.nix ./home-manager/nvim.nix
./home-manager/tmux.nix
./home-manager/lf.nix ./home-manager/lf.nix
]; ];