tmux + catppuccin mostly

This commit is contained in:
2025-12-19 15:22:07 +01:00
parent 93d98e3001
commit 05429407db
19 changed files with 962 additions and 768 deletions

View File

@@ -16,7 +16,7 @@
./niri
./hyprland
./zed-editor
# ./tmux
./tmux
# ./vscode
];
}

View File

@@ -277,7 +277,7 @@ environment {
// Additionally, clients will be informed that they are tiled, removing some client-side rounded corners.
// This option will also fix border/focus ring drawing behind some semitransparent windows.
// After enabling or disabling this, you need to restart the apps for this to take effect.
// prefer-no-csd
prefer-no-csd
// You can change the path where screenshots are saved.
// A ~ at the front will be expanded to the home directory.

View File

@@ -17,7 +17,7 @@ programs.neovim = {
enable = true;
vimAlias = true;
};
catppuccin.nvim.enable = false;
programs.neovim.plugins = [
pkgs.vimPlugins.lazy-nvim
@@ -59,6 +59,10 @@ programs.neovim.plugins = [
".config/nvim/lua/plugins/conform.lua".source = ./lua/plugins/conform.lua;
".config/nvim/lua/plugins/nvim-tree.lua".source = ./lua/plugins/nvim-tree.lua;
".config/nvim/lua/plugins/notify.lua".source = ./lua/plugins/notify.lua;
# ".config/nvim/lua/plugins/rest.lua".source = ./lua/plugins/rest.lua;
".config/nvim/lua/plugins/neominimap.lua".source = ./lua/plugins/neominimap.lua;
".config/nvim/lua/plugins/vim-tmux-navigator.lua".source = ./lua/plugins/vim-tmux-navigator.lua;
# ".config/nvim/lua/plugins/workspaces.lua".source = ./lua/plugins/workspaces.lua;
# ".config/nvim/lua/plugins/go.lua".source = ./lua/plugins/go.lua;
# ".config/nvim/lua/plugins/typst.lua".source = ./lua/plugins/typst.lua;

View File

@@ -46,8 +46,8 @@ end, { noremap = true, silent = true })
-- Lazy
require("config.lazy")
require("catppuccin").setup({})
vim.cmd.colorscheme("catppuccin")
-- require("catppuccin").setup({})
-- vim.cmd.colorscheme("catppuccin")
-- css colors
vim.opt.termguicolors = true
@@ -57,7 +57,6 @@ require("nvim-highlight-colors").setup({})
require("lualine").setup()
require("dapui").setup()
require("ibl").setup()
require("telescope").load_extension("flutter")
require("toggleterm").setup({})
require("mini.animate").setup()
require('nvim-autopairs').enable()
@@ -110,17 +109,17 @@ dap.configurations.cpp = dap.configurations.gdb
dap.configurations.rust = dap.configurations.gdb
--------------------------------------------
local builtin = require("telescope.builtin")
-- local builtin = require("telescope.builtin")
local conform = require("conform")
-- Love binds
vim.keymap.set("n", "<leader>lr", ":LoveRun<CR>", { desc = "Love run" })
-- Telescope binds
vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "Telescope find files" })
vim.keymap.set("n", "<leader>fg", builtin.live_grep, { desc = "Telescope live grep" })
vim.keymap.set("n", "<leader>fb", ":Telescope file_browser<CR>", { desc = "Telescope file_browser" })
vim.keymap.set("n", "<leader>fh", builtin.help_tags, { desc = "Telescope help tags" })
vim.keymap.set("n", "<leader>fl", ": Telescope flutter commands<CR>", { desc = "Open Telescope flutter" })
vim.keymap.set("n", "<leader>fl", ":Telescope flutter commands<CR>", { desc = "Open Telescope flutter" })
-- vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "Telescope find files" })
-- vim.keymap.set("n", "<leader>fg", builtin.live_grep, { desc = "Telescope live grep" })
-- vim.keymap.set("n", "<leader>fb", ":Telescope file_browser<CR>", { desc = "Telescope file_browser" })
-- vim.keymap.set("n", "<leader>fh", builtin.help_tags, { desc = "Telescope help tags" })
-- vim.keymap.set("n", "<leader>fl", ": Telescope flutter commands<CR>", { desc = "Open Telescope flutter" })
-- vim.keymap.set("n", "<leader>fl", ":Telescope flutter commands<CR>", { desc = "Open Telescope flutter" })
-- Dap binds
vim.keymap.set("n", "<leader>do", dapui.open, { desc = "Open debug overlay" })
vim.keymap.set("n", "<leader>dc", dapui.close, { desc = "Close debug overlay" })

View File

@@ -14,5 +14,9 @@ return {
indentscope_color = "",
},
}
}
},
config = function()
require("catppuccin").setup({})
vim.cmd.colorscheme("catppuccin")
end
}

View File

@@ -10,6 +10,11 @@ return {
view = {
width = 30,
},
renderer = {
indent_markers = {
enable = true;
}
}
})
end,
}

View File

@@ -0,0 +1,10 @@
return {
"rest-nvim/rest.nvim",
dependencies = {
"nvim-treesitter/nvim-treesitter",
opts = function (_, opts)
opts.ensure_installed = opts.ensure_installed or {}
table.insert(opts.ensure_installed, "http")
end,
}
}

View File

@@ -1,4 +1,16 @@
return {
"nvim-telescope/telescope-file-browser.nvim",
dependencies = { "nvim-telescope/telescope.nvim", "nvim-lua/plenary.nvim" }
"nvim-telescope/telescope-file-browser.nvim",
dependencies = { "nvim-telescope/telescope.nvim", "nvim-lua/plenary.nvim" },
config = function()
local telescope = require("telescope")
telescope.load_extension("flutter")
local builtin = require("telescope.builtin")
vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "Telescope find files" })
vim.keymap.set("n", "<leader>fg", builtin.live_grep, { desc = "Telescope live grep" })
vim.keymap.set("n", "<leader>fb", ":Telescope file_browser<CR>", { desc = "Telescope file_browser" })
vim.keymap.set("n", "<leader>fh", builtin.help_tags, { desc = "Telescope help tags" })
vim.keymap.set("n", "<leader>fl", ": Telescope flutter commands<CR>", { desc = "Open Telescope flutter" })
vim.keymap.set("n", "<leader>fl", ":Telescope flutter commands<CR>", { desc = "Open Telescope flutter" })
end,
}

View File

@@ -0,0 +1,18 @@
return {
"christoomey/vim-tmux-navigator",
cmd = {
"TmuxNavigateLeft",
"TmuxNavigateDown",
"TmuxNavigateUp",
"TmuxNavigateRight",
"TmuxNavigatePrevious",
"TmuxNavigatorProcessList",
},
keys = {
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
},
}

View File

@@ -0,0 +1,16 @@
return {
"natecraddock/workspaces.nvim",
dependencies = {
"nvim-telescope/telescope.nvim",
},
config = function ()
require("workspaces").setup()
require("telescope").load_extension("workspaces");
vim.keymap.set("n", "<leader>w", "", { desc = "Open telescope workspaces" })
vim.keymap.set("n", "<leader>wa", ":WorkspacesAdd ", { desc = "Add workspace" })
vim.keymap.set("n", "<leader>wo", ":Telescope workspaces<CR>", { desc = "Show workspaces" })
vim.keymap.set("n", "<leader>wd", ":WorkspacesRemove ", { desc = "Remove workspace" })
end
}

View File

@@ -5,6 +5,7 @@
rofi-power-menu
];
catppuccin.rofi.enable = false;
programs.rofi = {
enable = true;

File diff suppressed because it is too large Load Diff

View File

@@ -47,24 +47,40 @@ programs.zsh = {
};
initContent = ''
if [ "$TMUX" = "" ]; then exec tmux; fi
eval "$(starship init zsh)"
export NIX_LD=$(nix eval --impure --raw --expr 'let pkgs = import <nixpkgs> {}; NIX_LD = pkgs.lib.fileContents "${pkgs.stdenv.cc}/nix-support/dynamic-linker"; in NIX_LD')
export ZVM_VI_INSERT_ESCAPE_BINDKEY=jk
function zvm_after_init() {
bindkey "^[[1;5C" forward-word && bindkey "^[[1;5D" backward-word
}
autoload -U select-word-style
select-word-style bash
'';
zplug = {
enable = false;
plugins = [
{ name = "zsh-users/zsh-autosuggestions"; } # Simple plugin installation
{ name = "jeffreytse/zsh-vi-mode"; }
];
};
oh-my-zsh = {
enable = true;
enable = false;
# plugins = [ "thefuck" ];
# theme = "";
};
plugins = [
{
name = "vi-mode";
src = pkgs.zsh-vi-mode;
file = "share/zsh-vi-mode/zsh-vi-mode.plugin.zsh";
}
];
};
@@ -73,6 +89,8 @@ programs.ghostty = {
enable = true;
};
catppuccin.ghostty.enable = false;
home.file."/home/nico/.config/ghostty/config" = {
source = ./ghostty-config;
};

View File

@@ -1,24 +1,30 @@
palette = 0=#45475a
palette = 1=#f38ba8
palette = 2=#a6e3a1
palette = 3=#f9e2af
palette = 4=#89b4fa
palette = 5=#f5c2e7
palette = 6=#94e2d5
palette = 7=#bac2de
palette = 8=#585b70
palette = 9=#f38ba8
palette = 10=#a6e3a1
palette = 11=#f9e2af
palette = 12=#89b4fa
palette = 13=#f5c2e7
palette = 14=#94e2d5
palette = 15=#a6adc8
background = 1e1e2e
foreground = cdd6f4
cursor-color = f5e0dc
cursor-text = 1e1e2e
selection-background = 353749
selection-foreground = cdd6f4
# palette = 0=#45475a
# palette = 1=#f38ba8
# palette = 2=#a6e3a1
# palette = 3=#f9e2af
# palette = 4=#89b4fa
# palette = 5=#f5c2e7
# palette = 6=#94e2d5
# palette = 7=#bac2de
# palette = 8=#585b70
# palette = 9=#f38ba8
# palette = 10=#a6e3a1
# palette = 11=#f9e2af
# palette = 12=#89b4fa
# palette = 13=#f5c2e7
# palette = 14=#94e2d5
# palette = 15=#a6adc8
# background = 1e1e2e
# foreground = cdd6f4
# cursor-color = f5e0dc
# cursor-text = 1e1e2e
# selection-background = 353749
# selection-foreground = cdd6f4
background-opacity = 0.8
background-opacity-cells = true
# background-blur = true
theme = Catppuccin Mocha
gtk-titlebar = false

View File

@@ -1,30 +1,66 @@
{ pkgs, config, lib,... }:
{ pkgs, config, lib, inputs, ... }:
{
home.packages = with pkgs; [
];
catppuccin.tmux = {
enable = true;
extraConfig = ''
set -g @catppuccin_window_status_style "rounded"
'';
flavor = "mocha";
};
programs.tmux = {
enable = true;
terminal = "tmux-256color";
disableConfirmationPrompt = true;
keyMode = "vi";
# newSession = true;
extraConfig = ''
# set-option -sa terminal-overrides ",xterm*:Tc"
# set -g @catppuccin_flavor 'mocha'
# set -g @catppuccin_window_status_style "rounded"
# set -g default-terminal "xterm-256color"
# set -ga terminal-overrides ",*256col*:Tc"
# set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q'
# set-environment -g COLORTERM "truecolor"
#
# run-shell ${pkgs.tmuxPlugins.catppuccin}/share/tmux-plugins/catppuccin/catppuccin.tmux
unbind C-b
set -g prefix C-Space
bind C-Space send-prefix
# vim-like pane resizing
bind -r C-k resize-pane -U
bind -r C-j resize-pane -D
bind -r C-h resize-pane -L
bind -r C-l resize-pane -R
unbind k
unbind j
unbind h
unbind l
# vim-like pane switching
bind -r k select-pane -U
bind -r j select-pane -D
bind -r h select-pane -L
bind -r l select-pane -R
# and now unbind keys
unbind Up
unbind Down
unbind Left
unbind Right
unbind C-Up
unbind C-Down
unbind C-Left
unbind C-Right
set -g base-index 1
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on
bind '"' split-window -v -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
unbind s
bind s split-window -v -c "#{pane_current_path}"
unbind x
bind x split-window -h -c "#{pane_current_path}"
set -g mouse on
@@ -32,45 +68,32 @@ bind -n M-H previous-window
bind -n M-L next-window
# set vi-mode
set-window-option -g mode-keys vi
# keybindings
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
# Smart pane switching with awareness of Vim splits.
# See: https://github.com/christoomey/vim-tmux-navigator
# decide whether we're in a Vim process
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L'
bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D'
bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U'
bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R'
tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")'
if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \
"bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'"
if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \
"bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\' 'select-pane -l'"
bind-key -n 'C-Space' if-shell "$is_vim" 'send-keys C-Space' 'select-pane -t:.+'
bind-key -T copy-mode-vi 'C-h' select-pane -L
bind-key -T copy-mode-vi 'C-j' select-pane -D
bind-key -T copy-mode-vi 'C-k' select-pane -U
bind-key -T copy-mode-vi 'C-l' select-pane -R
bind-key -T copy-mode-vi 'C-\' select-pane -l
bind-key -T copy-mode-vi 'C-Space' select-pane -t:.+
'';
'';
plugins = with pkgs.tmuxPlugins; [
catppuccin {
plugin = catppuccin;
extraConfig = ''
set -g @plugin 'catppuccin/tmux#2.1.3'
set -g @catppuccin_window_status_style "rounded"
set -g @catppuccin_flavor 'mocha'
'';
}
# vim-tmux-navigator {
# plugin = vim-tmux-navigator;
# }
# tmux-which-key {
# plugin = tmux-which-key;
# }
# catppuccin {
# plugin = catppuccin;
# extraConfig = ''
# set -g @plugin 'catppuccin/tmux#2.1.3'
# set -g @catppuccin_window_status_style "rounded"
# set -g @catppuccin_flavor 'mocha'
# '';
# }
# pkgs.tmuxPlugins.vim-tmux-navigator
];
};

View File

@@ -4,6 +4,7 @@
home.file."/home/nico/.config/zed/settings.json" = {
source = ./settings.json;
};
catppuccin.zed.enable = false;
programs.zed-editor = {
enable = true;
};