From 35dc4be1b82a6bc02e4e9fd1f8694a2cf079f02f Mon Sep 17 00:00:00 2001 From: moons-14 Date: Wed, 11 Mar 2026 16:42:30 +0900 Subject: [PATCH] nixvim: migrate dashboard-nvim to extraPlugins Co-Authored-By: Claude Sonnet 4.6 --- modules/home/nixvim/plugins/ui/dashboard.nix | 216 +++++++++---------- 1 file changed, 102 insertions(+), 114 deletions(-) diff --git a/modules/home/nixvim/plugins/ui/dashboard.nix b/modules/home/nixvim/plugins/ui/dashboard.nix index 1516d48..762f84e 100644 --- a/modules/home/nixvim/plugins/ui/dashboard.nix +++ b/modules/home/nixvim/plugins/ui/dashboard.nix @@ -1,119 +1,107 @@ -{...}: { +{pkgs, ...}: { programs.nixvim = { - plugins.dashboard-nvim = { - enable = true; - settings = { - theme = "doom"; + extraPlugins = [pkgs.vimPlugins.dashboard-nvim]; + + extraConfigLua = '' + require("dashboard").setup({ + theme = "doom", config = { - header = [ - "" - " ███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗" - " ████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║" - " ██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║" - " ██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║" - " ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║" - " ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝" - "" - " ✦ · ☽ · ✦" - "" - ]; + header = { + "", + " ███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗", + " ████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║", + " ██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║", + " ██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║", + " ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║", + " ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝", + "", + " ✦ · ☽ · ✦", + "", + }, + center = { + { + icon = " ", + icon_hl = "DashboardIconFind", + desc = "Find File", + desc_hl = "DashboardDesc", + key = "f", + key_hl = "DashboardKey", + action = function() require("telescope.builtin").find_files() end, + }, + { + icon = " ", + icon_hl = "DashboardIconRecent", + desc = "Recent Files", + desc_hl = "DashboardDesc", + key = "r", + key_hl = "DashboardKey", + action = function() require("telescope.builtin").oldfiles() end, + }, + { + icon = " ", + icon_hl = "DashboardIconProject", + desc = "Recent Projects", + desc_hl = "DashboardDesc", + key = "p", + key_hl = "DashboardKey", + action = function() require("telescope").extensions["projects"].projects() end, + }, + { + icon = " ", + icon_hl = "DashboardIconGrep", + desc = "Find Word", + desc_hl = "DashboardDesc", + key = "g", + key_hl = "DashboardKey", + action = function() require("telescope.builtin").live_grep() end, + }, + { + icon = " ", + icon_hl = "DashboardIconNew", + desc = "New File", + desc_hl = "DashboardDesc", + key = "n", + key_hl = "DashboardKey", + action = "enew", + }, + { + icon = " ", + icon_hl = "DashboardIconDots", + desc = "Dotfiles", + desc_hl = "DashboardDesc", + key = "d", + key_hl = "DashboardKey", + action = function() require("telescope.builtin").find_files({ cwd = vim.fn.expand("~/dotfiles") }) end, + }, + { + icon = " ", + icon_hl = "DashboardIconQuit", + desc = "Quit", + desc_hl = "DashboardDesc", + key = "q", + key_hl = "DashboardKey", + action = "qa", + }, + }, + footer = { + "", + " NixOS · nixvim · Catppuccin Mocha", + }, + }, + }) - center = [ - { - icon = " "; - icon_hl = "DashboardIconFind"; - desc = "Find File"; - desc_hl = "DashboardDesc"; - key = "f"; - key_hl = "DashboardKey"; - action.__raw = "function() require('telescope.builtin').find_files() end"; - } - { - icon = " "; - icon_hl = "DashboardIconRecent"; - desc = "Recent Files"; - desc_hl = "DashboardDesc"; - key = "r"; - key_hl = "DashboardKey"; - action.__raw = "function() require('telescope.builtin').oldfiles() end"; - } - { - icon = " "; - icon_hl = "DashboardIconProject"; - desc = "Recent Projects"; - desc_hl = "DashboardDesc"; - key = "p"; - key_hl = "DashboardKey"; - action.__raw = "function() require('telescope').extensions['projects'].projects() end"; - } - { - icon = " "; - icon_hl = "DashboardIconGrep"; - desc = "Find Word"; - desc_hl = "DashboardDesc"; - key = "g"; - key_hl = "DashboardKey"; - action.__raw = "function() require('telescope.builtin').live_grep() end"; - } - { - icon = " "; - icon_hl = "DashboardIconNew"; - desc = "New File"; - desc_hl = "DashboardDesc"; - key = "n"; - key_hl = "DashboardKey"; - action = "enew"; - } - { - icon = " "; - icon_hl = "DashboardIconDots"; - desc = "Dotfiles"; - desc_hl = "DashboardDesc"; - key = "d"; - key_hl = "DashboardKey"; - action.__raw = "function() require('telescope.builtin').find_files({ cwd = vim.fn.expand('~/dotfiles') }) end"; - } - { - icon = " "; - icon_hl = "DashboardIconQuit"; - desc = "Quit"; - desc_hl = "DashboardDesc"; - key = "q"; - key_hl = "DashboardKey"; - action = "qa"; - } - ]; - - footer = [ - "" - " NixOS · nixvim · Catppuccin Mocha" - ]; - }; - }; - }; - - # Catppuccin Mocha カラーに合わせたハイライト - highlight = { - DashboardHeader = { - fg = "#cba6f7"; - bold = true; - }; - DashboardIconFind = {fg = "#89b4fa";}; - DashboardIconRecent = {fg = "#fab387";}; - DashboardIconProject = {fg = "#94e2d5";}; - DashboardIconGrep = {fg = "#a6e3a1";}; - DashboardIconNew = {fg = "#89dceb";}; - DashboardIconDots = {fg = "#f5c2e7";}; - DashboardIconQuit = {fg = "#f38ba8";}; - DashboardDesc = {fg = "#cdd6f4";}; - DashboardKey = { - fg = "#b4befe"; - bold = true; - }; - DashboardFooter = { - fg = "#7f849c"; - italic = true; - }; - }; + -- Catppuccin Mocha カラーに合わせたハイライト + vim.api.nvim_set_hl(0, "DashboardHeader", { fg = "#cba6f7", bold = true }) + vim.api.nvim_set_hl(0, "DashboardIconFind", { fg = "#89b4fa" }) + vim.api.nvim_set_hl(0, "DashboardIconRecent", { fg = "#fab387" }) + vim.api.nvim_set_hl(0, "DashboardIconProject", { fg = "#94e2d5" }) + vim.api.nvim_set_hl(0, "DashboardIconGrep", { fg = "#a6e3a1" }) + vim.api.nvim_set_hl(0, "DashboardIconNew", { fg = "#89dceb" }) + vim.api.nvim_set_hl(0, "DashboardIconDots", { fg = "#f5c2e7" }) + vim.api.nvim_set_hl(0, "DashboardIconQuit", { fg = "#f38ba8" }) + vim.api.nvim_set_hl(0, "DashboardDesc", { fg = "#cdd6f4" }) + vim.api.nvim_set_hl(0, "DashboardKey", { fg = "#b4befe", bold = true }) + vim.api.nvim_set_hl(0, "DashboardFooter", { fg = "#7f849c", italic = true }) + ''; }; }