diff --git a/.config/kitty/current-theme.conf b/.config/kitty/current-theme.conf new file mode 100644 index 0000000..365477f --- /dev/null +++ b/.config/kitty/current-theme.conf @@ -0,0 +1,54 @@ +foreground #c0caf5 +background #212629 +selection_background #283457 +selection_foreground #c0caf5 +url_color #73daca +cursor #c0caf5 +cursor_text_color #1a1b26 + +# Tabs +active_tab_background #7aa2f7 +active_tab_foreground #16161e +inactive_tab_background #292e42 +inactive_tab_foreground #545c7e +#tab_bar_background #15161e + +active_border_color #7aa2f7 +inactive_border_color #292e42 +bell_border_color #f9e2af + +# black +color0 #111313 +color8 #424446 + +# red +color1 #9e6b71 +color9 #b69094 + +# green +color2 #719e6b +color10 #719e6b + +# yellow +color3 #9e986c +color11 #b5b18f + +# blue +color4 #6c8b9e +color12 #90a7b6 + +# magenta +color5 #986b9e +color13 #b290b6 + +# cyan +color6 #6b9e98 +color14 #90b6b3 + +# white +color7 #b8baba +color15 #cdcfce + +# extended colors +color16 #ff9e64 +color17 #db4b4b diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index de7efd0..7a9fcd4 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -1,25 +1,3 @@ font_size 14.0 -background #000000 -foreground #D3D3D3 -selection_background #2f3333 -selection_foreground none -cursor #c1c8c9 -color0 #111313 -color8 #424446 -color1 #9e6b71 -color9 #b69094 -color2 #719e6b -color10 #94b690 -color3 #9e986c -color11 #b5b18f -color4 #6c8b9e -color12 #90a7b6 -color5 #986b9e -color13 #b290b6 -color6 #6b9e98 -color14 #90b6b3 -color7 #b8baba -color15 #cdcfce -font_family DejaVuSansM Nerd Font Mono -bold_font DejaVuSansM Nerd Font Mono Bold scrollback_lines 20000 +include current-theme.conf diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 75cb10d..6e8d08a 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -26,7 +26,7 @@ require("lazy").setup({ version = false, -- always use the latest git commit -- version = "*", -- try installing the latest stable version for plugins that support semver }, - install = { colorscheme = { "tokyonight" } }, + install = { colorscheme = { "catppuccin-mocha" } }, checker = { enabled = true }, -- automatically check for plugin updates performance = { rtp = { diff --git a/.config/nvim/lua/plugins/dash.lua b/.config/nvim/lua/plugins/dash.lua index d4495f5..47dde6a 100644 --- a/.config/nvim/lua/plugins/dash.lua +++ b/.config/nvim/lua/plugins/dash.lua @@ -1,63 +1,29 @@ return { - "nvimdev/dashboard-nvim", - event = "VimEnter", - opts = function() - local logo = [[ - __ _ __ _ + "folke/snacks.nvim", + opts = { + dashboard = { + preset = { + header = [[ __ _ __ _ / / | | / / | | / /__| | ___ __ __ / /__ __ _ _ | | / // _` | / _ \\ \ / // / \ \ / /| | | || | / /| (_| || __/ \ V // / \ V / | |_| || | /_/ \__,_| \___| \_//_/ \_/ \__,_||_| - ]] - - logo = string.rep("\n", 8) .. logo .. "\n\n" - - local opts = { - theme = "doom", - hide = { - -- this is taken care of by lualine - -- enabling this messes up the actual laststatus setting after loading a file - statusline = false, - }, - config = { - header = vim.split(logo, "\n"), + ]], -- stylua: ignore - center = { - { action = 'lua LazyVim.pick()()', desc = " Find File", icon = " ", key = "f" }, - { action = "ene | startinsert", desc = " New File", icon = " ", key = "n" }, - { action = "Telescope oldfiles", desc = " Recent Files", icon = " ", key = "r" }, - { action = "Telescope live_grep", desc = " Find Text", icon = " ", key = "g" }, - { action = [[lua LazyVim.telescope.config_files()()]], desc = " Config", icon = " ", key = "c" }, - { action = 'lua require("persistence").load()', desc = " Restore Session", icon = " ", key = "s" }, - { action = "LazyExtras", desc = " Lazy Extras", icon = " ", key = "x" }, - { action = "Lazy", desc = " Lazy", icon = "󰒲 ", key = "l" }, - { action = "qa", desc = " Quit", icon = " ", key = "q" }, + ---@type snacks.dashboard.Item[] + keys = { + { icon = " ", key = "f", desc = "Find File", action = ":lua Snacks.dashboard.pick('files')" }, + { icon = " ", key = "n", desc = "New File", action = ":ene | startinsert" }, + { icon = " ", key = "g", desc = "Find Text", action = ":lua Snacks.dashboard.pick('live_grep')" }, + { icon = " ", key = "r", desc = "Recent Files", action = ":lua Snacks.dashboard.pick('oldfiles')" }, + { icon = " ", key = "c", desc = "Config", action = ":lua Snacks.dashboard.pick('files', {cwd = vim.fn.stdpath('config')})" }, + { icon = " ", key = "s", desc = "Restore Session", section = "session" }, + { icon = " ", key = "x", desc = "Lazy Extras", action = ":LazyExtras" }, + { icon = "󰒲 ", key = "l", desc = "Lazy", action = ":Lazy" }, + { icon = " ", key = "q", desc = "Quit", action = ":qa" }, }, - footer = function() - local stats = require("lazy").stats() - local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100) - return { "⚡ Neovim loaded " .. stats.loaded .. "/" .. stats.count .. " plugins in " .. ms .. "ms" } - end, }, - } - - for _, button in ipairs(opts.config.center) do - button.desc = button.desc .. string.rep(" ", 43 - #button.desc) - button.key_format = " %s" - end - - -- close Lazy and re-open when the dashboard is ready - if vim.o.filetype == "lazy" then - vim.cmd.close() - vim.api.nvim_create_autocmd("User", { - pattern = "DashboardLoaded", - callback = function() - require("lazy").show() - end, - }) - end - - return opts - end, + }, + }, } diff --git a/.config/nvim/lua/plugins/theme.lua b/.config/nvim/lua/plugins/theme.lua index 255a3d0..9197409 100644 --- a/.config/nvim/lua/plugins/theme.lua +++ b/.config/nvim/lua/plugins/theme.lua @@ -2,18 +2,25 @@ return { { "catppuccin/nvim", lazy = false, - opts = { style = "night" }, name = "catppuccin", config = function() require("catppuccin").setup({ flavour = "mocha", + default_integrations = true, + integrations = { + mason = true, + noice = true, + notifier = true, + notify = true, + snacks = true, + }, }) end, }, { "LazyVim/LazyVim", opts = { - colorscheme = "catppuccin", + colorscheme = "catppuccin-mocha", }, }, } diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cfaa756 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.config/nvim/lazyvim.json +.config/nvim/lazy-lock.json diff --git a/bootstrap.sh b/bootstrap.sh index ab759eb..9b1be8e 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -2,45 +2,46 @@ # install packages sudo apt install \ - apt-transport-https \ - curl \ - fd-find \ - firefox \ - fontconfig \ - golang-1.22 \ - gpg \ - htop \ - imv \ - inxi \ - jq \ - kitty \ - mpv \ - ncdu \ - neovim \ - pipewire-alsa \ - pipewire-audio \ - pipewire-pulse sudo \ - python3-neovim \ - python3-pynvim \ - ripgrep \ - sway \ - swaylock \ - tmux \ - unzip \ - waybar \ - wget \ - wireplumber \ - wl-clipboard \ - yq + apt-transport-https \ + curl \ + fd-find \ + firefox \ + fontconfig \ + golang-1.22 \ + gpg \ + htop \ + imv \ + inxi \ + jq \ + kitty \ + luarocks \ + mpv \ + ncdu \ + neovim \ + pipewire-alsa \ + pipewire-audio \ + pipewire-pulse sudo \ + python3-neovim \ + python3-pynvim \ + ripgrep \ + sway \ + swaylock \ + tmux \ + unzip \ + waybar \ + wget \ + wireplumber \ + wl-clipboard \ + yq # set up nerd fonts FONT_DIR=${HOME}/.local/share/fonts/ mkdir -p ${FONT_DIR} -wget -qO- https://github.com/ryanoasis/nerd-fonts/releases/download/v3.1.1/DejaVuSansMono.tar.xz | tar -Jxv -C ${FONT_DIR} +wget -qO- https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/DejaVuSansMono.tar.xz | tar -Jxv -C ${FONT_DIR} fc-cache -fv # install lazygit -/usr/lib/go-1.22/bin/go install github.com/jesseduffield/lazygit@latest +/usr/lib/go-1.23/bin/go install github.com/jesseduffield/lazygit@latest # setup moolticute echo 'deb http://download.opensuse.org/repositories/home:/fawz:/mooltipass/Debian_Testing/ /' | sudo tee /etc/apt/sources.list.d/home:fawz:mooltipass.list