diff --git a/hosts/luci/home-config.nix b/hosts/luci/home-config.nix index 7b9558f..02d98b1 100644 --- a/hosts/luci/home-config.nix +++ b/hosts/luci/home-config.nix @@ -12,7 +12,6 @@ git.enable = true; neovim.enable = true; starship.enable = true; - tmux.enable = true; utils.enable = true; vifm.enable = true; zellij.enable = true; diff --git a/hosts/morty/home-config.nix b/hosts/morty/home-config.nix index d8708ff..c5bd59f 100644 --- a/hosts/morty/home-config.nix +++ b/hosts/morty/home-config.nix @@ -13,10 +13,8 @@ git.enable = true; neovim.enable = true; starship.enable = true; - tmux.enable = true; utils.enable = true; vifm.enable = true; - zellij.enable = true; zsh.enable = true; }; video = { diff --git a/hosts/mrmeeseeks/home-config.nix b/hosts/mrmeeseeks/home-config.nix index e180376..a507446 100644 --- a/hosts/mrmeeseeks/home-config.nix +++ b/hosts/mrmeeseeks/home-config.nix @@ -11,7 +11,6 @@ git.enable = true; neovim.enable = true; starship.enable = true; - tmux.enable = true; utils.enable = true; vifm.enable = true; zsh.enable = true; diff --git a/modules/home-manager/cli/neovim/files/lspconfig.lua b/modules/home-manager/cli/neovim/files/lspconfig.lua index 8a08268..8cfd4ba 100644 --- a/modules/home-manager/cli/neovim/files/lspconfig.lua +++ b/modules/home-manager/cli/neovim/files/lspconfig.lua @@ -19,14 +19,14 @@ local schemas = {} local kubernetes = "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/refs/heads/master/v1.29.6-standalone-strict/all.json" local flux2 = "https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/refs/heads/main/all.json" -local gitlab_ci = "https://gitlab.com/gitlab-org/gitlab/-/raw/master/app/assets/javascripts/editor/schema/ci.json" +local gitlab = "https://gitlab.com/gitlab-org/gitlab/-/raw/master/app/assets/javascripts/editor/schema/ci.json" local taskfile = "https://taskfile.dev/schema.json" local podmonitor = "https://raw.githubusercontent.com/datreeio/CRDs-catalog/refs/heads/main/monitoring.coreos.com/podmonitor_v1.json" local servicemonitor = "https://raw.githubusercontent.com/datreeio/CRDs-catalog/refs/heads/main/monitoring.coreos.com/servicemonitor_v1.json" local prometheus = "https://raw.githubusercontent.com/datreeio/CRDs-catalog/refs/heads/main/monitoring.coreos.com/prometheus_v1.json" local ingress = "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/refs/heads/master/v1.30.1/ingress-networking-v1.json" -local lefthook = "https://raw.githubusercontent.com/evilmartians/lefthook/refs/heads/master/schema.json" -local github_workflow = "https://json.schemastore.org/github-workflow.json" +local lefthook = "https://json.schemastore.org/lefthook.json" +local github = "https://json.schemastore.org/github-workflow.json" schemas[kubernetes] = { "templates/*deployment.yaml", @@ -131,14 +131,13 @@ lspconfig.tflint.setup{ local cfg = require("yaml-companion").setup({ schemas = { { name = "Flux2", uri = flux2 }, - { name = "Gitlab", uri = gitlab_ci }, + { name = "Gitlab", uri = gitlab }, { name = "Taskfile", uri = taskfile }, { name = "PodMonitor", uri = podmonitor }, { name = "ServiceMonitor", uri = servicemonitor }, { name = "Prometheus", uri = prometheus }, { name = "Kubernetes", uri = kubernetes }, { name = "Lefthook", uri = lefthook }, - { name = "Github Workflow", uri = github_workflow}, }, lspconfig = { capabilities = capabilities, @@ -150,33 +149,32 @@ local cfg = require("yaml-companion").setup({ "gotk-sync.yaml", "gotk-*.yaml", }, - [gitlab_ci] = { + [gitlab] = { "ci/*.{yaml,yml}", ".gitlab/**/*.{yaml,yml}", ".gitlab-ci.{yaml,yml}", }, [taskfile] = { - "Taskfile*.{yaml,yml}", - "taskfile*.{yaml,yml}", + "**/Taskfile*.{yaml,yml}", "taskfiles/**/*.{yaml,yml}", }, [podmonitor] = { - "*podmonitor*.{yaml,yml}", + "*podmonitor*.{yaml,yml}" }, [servicemonitor] = { - "*servicemonitor*.{yaml,yml}", + "*servicemonitor*.{yaml,yml}" }, [prometheus] = { - "*prometheus*.{yaml,yml}", + "*prometheus*.{yaml,yml}" }, [ingress] = { - "*ingress*.{yaml,yml}", + "*ingress*.{yaml,yml}" }, [lefthook] = { - "lefthook.{yaml,yml}", + "**/lefthook.*" }, - [github_workflow] = { - ".github/workflow/**/*.{yaml,yml}", + [github] = { + ".github/workflow/**/*.{yaml,yml}" } }, }, diff --git a/modules/home-manager/cli/tmux/default.nix b/modules/home-manager/cli/tmux/default.nix deleted file mode 100644 index 160b517..0000000 --- a/modules/home-manager/cli/tmux/default.nix +++ /dev/null @@ -1,67 +0,0 @@ - -{ lib, config, pkgs, ... }: -with lib; -let - cfg = config.modules.cli.tmux; -in -{ - options.modules.cli.tmux = { - enable = mkEnableOption "enable Tmux"; - }; - config = mkIf cfg.enable { - programs.tmux = { - enable = true; - aggressiveResize = true; - baseIndex = 1; - customPaneNavigationAndResize = false; - escapeTime = 0; - focusEvents = true; - keyMode = "vi"; - mouse = true; - prefix = "C-a"; - terminal = "tmux-256color"; - extraConfig = '' - - bind -n -N "Select pane to the left of the active pane" M-h select-pane -L - bind -n -N "Select pane below the active pane" M-j select-pane -D - bind -n -N "Select pane above the active pane" M-k select-pane -U - bind -n -N "Select pane to the right of the active pane" M-l select-pane -R - - bind -n -r -N "Resize the pane left by 5" M-H resize-pane -L 5 - bind -n -r -N "Resize the pane down by 5" M-J resize-pane -D 5 - bind -n -r -N "Resize the pane up by 5" M-K resize-pane -U 5 - bind -n -r -N "Resize the pane right by 5" M-L resize-pane -R 5 - bind -n -n M-n split-window -h -c "#{pane_current_path}" - bind -n -n M-N split-window -v -c "#{pane_current_path}" - - # Theme - set -g status-interval 2 - setw -g automatic-rename on # rename window to reflect current program - set -g renumber-windows on # renumber windows when a window is closed - set -g set-titles on - set -g mode-style bg=colour18,fg=colour7 - set -g set-titles-string "#T" - set -g status-bg colour0 - set -g status-fg colour7 - set -g message-style bg=colour19,fg=colour7 - - setw -g window-status-current-format '#[fg=colour18,bg=colour11] #I\ - #[bg=colour19,fg=colour7,bold] #W\ - #{?window_active,󰎂 ,}#{?window_marked_flag,󰃃 ,}#{?window_activity_flag, ,}#{?window_silence_flag,󰝟 ,}#{?window_zoomed_flag,󱀅 ,}#{?window_bell_flag,#[fg=colour1]󱈸 ,}' - - set -g pane-border-style fg=colour19 - set -g pane-active-border-style fg=colour4 - - setw -g window-status-format '#[bg=color12,fg=colour19] #I\ - #[bg=colour18,fg=colour7,dim] #W\ - #{?window_last_flag, ,}#{?window_marked_flag,󰃃 ,}#{?window_activity_flag, ,}#{?window_silence_flag,󰝟 ,}#{?window_zoomed_flag,󱀅 ,}#{?window_bell_flag,#[fg=colour1]󱈸 ,}' - set -g status-left "#[bg=colour0, fg=colour6]  #S " - set -g status-right "" - ''; - plugins = with pkgs; [ - tmuxPlugins.tmux-fzf - ]; - }; - }; -} - diff --git a/modules/home-manager/cli/zsh/default.nix b/modules/home-manager/cli/zsh/default.nix index f8e5977..69ce68c 100644 --- a/modules/home-manager/cli/zsh/default.nix +++ b/modules/home-manager/cli/zsh/default.nix @@ -88,7 +88,6 @@ in } precmd_functions+=(zle-keymap-select) zle -N zle-keymap-select - base16_default-dark ''; completionInit = '' autoload -Uz compinit @@ -106,6 +105,15 @@ in rev = "588691ba71b47e75793ed9edfcfaa058326a6f41"; hash = "sha256-X89FsG9QICDw3jZvOCB/KsPBVOLUeE7xN3VCtf0DD3E="; }; + } + { + name = "history-search-multi-word"; + src = pkgs.fetchFromGitHub { + owner = "zdharma-continuum"; + repo = "history-search-multi-word"; + rev = "c4dcddc1cd17e7e0909471703f3526170db0f475"; + hash = "sha256-KgKm9qzFnwXDXwmTruPgC0tjmiTY5AiGdrWW4zDWUF4="; + }; }]; localVariables = { BASE16_THEME = "$HOME/.config/zsh/plugins/base16"; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 8ca3f0b..6cd1619 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -11,7 +11,6 @@ ./cli/git ./cli/neovim ./cli/starship - ./cli/tmux ./cli/utils ./cli/vifm ./cli/zellij diff --git a/modules/home-manager/desktop/sway/includes/sway.nix b/modules/home-manager/desktop/sway/includes/sway.nix index b94019e..9439f57 100644 --- a/modules/home-manager/desktop/sway/includes/sway.nix +++ b/modules/home-manager/desktop/sway/includes/sway.nix @@ -37,126 +37,126 @@ in left down up right terminal; in { - # navigate only with direction or workspace - "${mod}+${left}" = "focus left"; - "${mod}+${down}" = "focus down"; - "${mod}+${up}" = "focus up"; - "${mod}+${right}" = " focus right"; - "${mod}+1" = "workspace $ws1"; - "${mod}+2" = "workspace $ws2"; - "${mod}+3" = "workspace $ws3"; - "${mod}+4" = "workspace $ws4"; - "${mod}+5" = "workspace $ws5"; - "${mod}+6" = "workspace $ws6"; - "${mod}+7" = "workspace $ws7"; - "${mod}+8" = "workspace $ws8"; - "${mod}+9" = "workspace $ws9"; - "${mod}+0" = "workspace $ws0"; - # move with Shift and direction - "${mod}+Shift+${left}" = "move left"; - "${mod}+Shift+${down}" = "move down"; - "${mod}+Shift+${up}" = "move up"; - "${mod}+Shift+${right}" = "move right"; - "${mod}+Shift+1" = "move container to workspace $ws1"; - "${mod}+Shift+2" = "move container to workspace $ws2"; - "${mod}+Shift+3" = "move container to workspace $ws3"; - "${mod}+Shift+4" = "move container to workspace $ws4"; - "${mod}+Shift+5" = "move container to workspace $ws5"; - "${mod}+Shift+6" = "move container to workspace $ws6"; - "${mod}+Shift+7" = "move container to workspace $ws7"; - "${mod}+Shift+8" = "move container to workspace $ws8"; - "${mod}+Shift+9" = "move container to workspace $ws9"; - "${mod}+Shift+0" = "move container to workspace $ws0"; - "${mod}+Ctrl+${right}" = "move workspace to output right"; - "${mod}+Ctrl+${left}" = "move workspace to output left"; - "${mod}+Return" = "exec ${terminal}"; - "${mod}+d" = "exec ${pkgs.fuzzel}/bin/fuzzel"; - # manage windows manager actions with Alt - "${mod}+Alt+k" = "kill"; - "${mod}+Alt+c" = "reload"; - "${mod}+Alt+Backspace" = "exec swaynag -t warning -m 'Exit sway?' -B 'Yes' 'swaymsg exit'"; + "${mod}+1" = "workspace $ws1"; + "${mod}+Shift+1" = "move container to workspace $ws1"; + "${mod}+2" = "workspace $ws2"; + "${mod}+Shift+2" = "move container to workspace $ws2"; + "${mod}+3" = "workspace $ws3"; + "${mod}+Shift+3" = "move container to workspace $ws3"; + "${mod}+4" = "workspace $ws4"; + "${mod}+Shift+4" = "move container to workspace $ws4"; + "${mod}+5" = "workspace $ws5"; + "${mod}+Shift+5" = "move container to workspace $ws5"; + "${mod}+6" = "workspace $ws6"; + "${mod}+Shift+6" = "move container to workspace $ws6"; + "${mod}+7" = "workspace $ws7"; + "${mod}+Shift+7" = "move container to workspace $ws7"; + "${mod}+8" = "workspace $ws8"; + "${mod}+Shift+8" = "move container to workspace $ws8"; + "${mod}+9" = "workspace $ws9"; + "${mod}+Shift+9" = "move container to workspace $ws9"; + "${mod}+0" = "workspace $ws0"; + "${mod}+Shift+0" = "move container to workspace $ws0"; + "${mod}+Return" = "exec ${terminal}"; + "${mod}+Shift+q" = "kill"; + "${mod}+d" = "exec ${pkgs.fuzzel}/bin/fuzzel"; + "${mod}+Shift+c" = "reload"; "${mod}+Alt+l" = "exec ${pkgs.swaylock}/bin/swaylock"; - # Manage windows placement - "${mod}+b" = "splith"; - "${mod}+v" = "splitv"; - "${mod}+s" = "layout stacking"; - "${mod}+w" = "layout tabbed"; - "${mod}+e" = "layout toggle split"; - "${mod}+f" = "fullscreen"; - "${mod}+Shift+space" = "floating toggle"; - "${mod}+space" = "focus mode_toggle"; - "${mod}+a" = "focus parent"; - "${mod}+Shift+p" = "move scratchpad"; - "${mod}+p" = "scratchpad show"; - # Media stuff + "${mod}+${left} focus" = "left"; + "${mod}+${down} focus" = "down"; + "${mod}+${up} focus" = "up"; + "${mod}+${right} focus" = "right"; + "${mod}+Left" = "focus left"; + "${mod}+Down" = "focus down"; + "${mod}+Up" = "focus up"; + "${mod}+Right" = "focus right"; + "${mod}+Shift+${left} move" = "left"; + "${mod}+Shift+${down} move" = "down"; + "${mod}+Shift+${up} move" = "up"; + "${mod}+Shift+${right} move" = "right"; + "${mod}+Shift+Left" = "move left"; + "${mod}+Shift+Down" = "move down"; + "${mod}+Shift+Up" = "move up"; + "${mod}+Shift+Right" = "move right"; + "${mod}+b" = "splith"; + "${mod}+v" = "splitv"; + "${mod}+s" = "layout stacking"; + "${mod}+w" = "layout tabbed"; + "${mod}+e" = "layout toggle split"; + "${mod}+f" = "fullscreen"; + "${mod}+Shift+space" = "floating toggle"; + "${mod}+space" = "focus mode_toggle"; + "${mod}+a" = "focus parent"; + "${mod}+Shift+p" = "move scratchpad"; + "${mod}+p" = "scratchpad show"; "${mod}+F1" = "exec ${pkgs.brightnessctl}/bin/brightnessctl s 1%-"; "${mod}+F2" = "exec ${pkgs.brightnessctl}/bin/brightnessctl s +1%"; - "${mod}+F3" = "exec ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_SINK@ 5%-"; - "${mod}+F4" = "exec ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_SINK@ 5%+"; - "${mod}+F5" = "exec ${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_SINK@ toggle"; - "${mod}+m" = "exec ${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_SOURCE@ toggle"; + "${mod}+F3" = "exec ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_SINK@ 5%-"; + "${mod}+F4" = "exec ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_SINK@ 5%+"; + "${mod}+F5" = "exec ${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_SINK@ toggle"; + "${mod}+m" = "exec ${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_SOURCE@ toggle"; "${mod}+r" = "mode resize"; - "${mod}+n" = "exec makoctl dismiss"; - "${mod}+shift+n" = "exec makoctl dismiss -a"; - "${mod}+alt+n" = "mode notification"; + "${mod}+n" = "exec makoctl dismiss"; + "${mod}+shift+n" = "exec makoctl dismiss -a"; + "${mod}+alt+n" = "mode notification"; }; - modes = + modes = let inherit (config.wayland.windowManager.sway.config) left down up right; in { "resize" = { - "${left}" = "resize shrink width 10 px or 10 ppt"; - "${down}" = "resize grow height 10 px or 10 ppt"; - "${up}" = "resize shrink height 10 px or 10 ppt"; - "${right}" = "resize grow width 10 px or 10 ppt"; - "Return" = "mode default"; + "${left}" = "resize shrink width 10 px or 10 ppt"; + "${down}" = "resize grow height 10 px or 10 ppt"; + "${up}" = "resize shrink height 10 px or 10 ppt"; + "${right}" = "resize grow width 10 px or 10 ppt"; + "Return" = "mode default"; "Escape" = "mode default"; }; "notification" = { - "r" = "exec ${pkgs.mako}/bin/makoctl restore"; - "Escape" = "mode default"; + "r" = "exec ${pkgs.mako}/bin/makoctl restore"; + "Escape" = "mode default"; }; }; colors = { - focused = { - border = "#f268b3"; - background = "#f268b3"; - text = "#000000"; - indicator = "#1cd180"; + focused = { + border = "#f268b3"; + background = "#f268b3"; + text = "#000000"; + indicator = "#1cd180"; childBorder = "#f268b3"; }; - focusedInactive = { - border = "#323232"; - background = "#323232"; - text = "#f268b3"; - indicator = "#1cd180"; + focusedInactive = { + border = "#323232"; + background = "#323232"; + text = "#f268b3"; + indicator = "#1cd180"; childBorder = "#323232"; }; - unfocused = { - border = "#323232"; - background = "#323232"; - text = "#cccccc"; - indicator = "#1cd180"; + unfocused = { + border = "#323232"; + background = "#323232"; + text = "#cccccc"; + indicator = "#1cd180"; childBorder = "#323232"; }; urgent = { - border = "#2f343a"; - background = "#900000"; - text = "#cccccc"; - indicator = "#900000"; + border = "#2f343a"; + background = "#900000"; + text = "#cccccc"; + indicator = "#900000"; childBorder = "#900000" ; }; - #focused_tab_title = { - # boder = "#2f343a"; + #focused_tab_title = { + # boder = "#2f343a"; # background = "#2f343a"; - # text = "#ffffff"; + # text = "#ffffff"; #}; }; window = { border = 1; titlebar = false; - commands = [ + commands = [ { command = "inhibit_idle fullscreen"; criteria = {