fully migrates dnsc-machine
This commit is contained in:
parent
8363764798
commit
7d7f81d9ce
14 changed files with 390 additions and 1 deletions
156
modules/terminal/default.nix
Normal file
156
modules/terminal/default.nix
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
{ inputs, ... }:
|
||||
{
|
||||
flake.modules.nixos.terminal =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home-manager.sharedModules = [
|
||||
inputs.self.modules.homeManager.terminal
|
||||
];
|
||||
};
|
||||
|
||||
flake.modules.darwin.terminal =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home-manager.sharedModules = [
|
||||
inputs.self.modules.homeManager.terminal
|
||||
];
|
||||
};
|
||||
|
||||
flake.modules.homeManager.terminal =
|
||||
{ pkgs, config, ... }:
|
||||
{
|
||||
programs.ghostty = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
settings = {
|
||||
font-size = 14;
|
||||
font-family = "VictorMono Nerd Font";
|
||||
font-style = "SemiBold";
|
||||
background-opacity = 0.945;
|
||||
window-padding-x = 0;
|
||||
window-padding-y = 0;
|
||||
window-padding-balance = true;
|
||||
window-inherit-working-directory = true;
|
||||
window-theme = "ghostty";
|
||||
shell-integration-features = true;
|
||||
scrollback-limit = 100000;
|
||||
link-url = true;
|
||||
link-previews = true;
|
||||
title = " ";
|
||||
background = "#0f0b15";
|
||||
foreground = "#ffffff";
|
||||
cursor-color = "#d369af";
|
||||
selection-foreground = "#af85ea";
|
||||
selection-background = "#572454";
|
||||
palette = [
|
||||
"0=#0f0b15"
|
||||
"1=#f47359"
|
||||
"2=#29a444"
|
||||
"3=#b58a52"
|
||||
"4=#3f95f6"
|
||||
"5=#d369af"
|
||||
"6=#4fbaef"
|
||||
"7=#b8c6d5"
|
||||
"8=#807c9f"
|
||||
"9=#ff6a7a"
|
||||
"10=#00a392"
|
||||
"11=#df9080"
|
||||
"12=#029fff"
|
||||
"13=#af85ea"
|
||||
"14=#35afbf"
|
||||
"15=#ffffff"
|
||||
];
|
||||
keybind = [
|
||||
"ctrl+plus=increase_font_size:2"
|
||||
"ctrl+minus=decrease_font_size:2"
|
||||
"ctrl+0=reset_font_size"
|
||||
"ctrl+shift+a=select_all"
|
||||
"ctrl+shift+c=copy_to_clipboard"
|
||||
"ctrl+shift+v=paste_from_clipboard"
|
||||
"cmd+c=copy_to_clipboard"
|
||||
"cmd+v=paste_from_clipboard"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
package = pkgs.tmux;
|
||||
baseIndex = 1;
|
||||
clock24 = true;
|
||||
disableConfirmationPrompt = true;
|
||||
mouse = true;
|
||||
newSession = true;
|
||||
prefix = "C-b";
|
||||
shell = "${pkgs.fish}/bin/fish";
|
||||
terminal = "screen-256color";
|
||||
keyMode = "vi";
|
||||
escapeTime = 0;
|
||||
plugins = with pkgs; [
|
||||
{
|
||||
plugin = tmuxPlugins.resurrect;
|
||||
extraConfig = ''
|
||||
set -g @resurrect-strategy-nvim 'session'
|
||||
set -g @resurrect-capture-pane-contents 'on'
|
||||
'';
|
||||
}
|
||||
{
|
||||
plugin = tmuxPlugins.continuum;
|
||||
extraConfig = ''
|
||||
set -g @continuum-restore 'on'
|
||||
set -g @continuum-boot 'on'
|
||||
set -g @continuum-save-interval '10'
|
||||
'';
|
||||
}
|
||||
];
|
||||
extraConfig = ''
|
||||
set -g status-position top
|
||||
set -g status-style bg=#1d202f,fg=white
|
||||
set -g status-left ""
|
||||
set -g status-right "#[bg=default,fg=magenta]>> #S << #[bg=default,fg=white]#H "
|
||||
set-window-option -g window-status-style 'fg=magenta,bg=#1d202f'
|
||||
set-window-option -g window-status-format ' #I #[fg=white]#W #[fg=cyan]#F '
|
||||
set-window-option -g window-status-current-style "fg=black,bg=magenta"
|
||||
set-window-option -g window-status-current-format " #I #W #F "
|
||||
set -g pane-border-style fg=#807c9f
|
||||
set -g pane-active-border-style fg=magenta
|
||||
set -g message-style "fg=black,bg=red,bold"
|
||||
|
||||
unbind %
|
||||
bind "|" split-window -h
|
||||
unbind '"'
|
||||
bind - split-window -l 15 -v
|
||||
|
||||
bind r source-file "~/.config/tmux/tmux.conf"
|
||||
|
||||
bind h select-pane -L
|
||||
bind j select-pane -D
|
||||
bind k select-pane -U
|
||||
bind l select-pane -R
|
||||
|
||||
bind -r H resize-pane -L 5
|
||||
bind -r J resize-pane -D 5
|
||||
bind -r K resize-pane -U 5
|
||||
bind -r L resize-pane -R 5
|
||||
|
||||
bind ? list-keys -a
|
||||
|
||||
unbind s
|
||||
bind s display-popup -h 50% -w 80% -E sessionizer
|
||||
|
||||
unbind g
|
||||
bind g display-popup -h 90% -w 95% -E lazygit
|
||||
|
||||
unbind C-x
|
||||
bind C-x kill-session
|
||||
|
||||
unbind v
|
||||
bind v choose-tree -Zw "join-pane -t '%%'"
|
||||
'';
|
||||
};
|
||||
|
||||
xdg.configFile."tmuxinator" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/nix-config/modules/terminal/tmuxinator-layouts";
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue