aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--homes/floppydisk/default.nix2
-rw-r--r--homes/floppydisk/neovim-flake.nix193
2 files changed, 194 insertions, 1 deletions
diff --git a/homes/floppydisk/default.nix b/homes/floppydisk/default.nix
index d3fb2da..716e446 100644
--- a/homes/floppydisk/default.nix
+++ b/homes/floppydisk/default.nix
@@ -14,7 +14,7 @@
# inputs.nix-colors.homeManagerModules.default
# You can also split up your configuration and import pieces of it here:
- # ./nvim.nix
+ ./neovim-flake.nix
];
home = {
diff --git a/homes/floppydisk/neovim-flake.nix b/homes/floppydisk/neovim-flake.nix
new file mode 100644
index 0000000..e8b1473
--- /dev/null
+++ b/homes/floppydisk/neovim-flake.nix
@@ -0,0 +1,193 @@
+{inputs, ...}: {
+ imports = [
+ inputs.neovim-flake.homeManagerModules.default
+ ];
+
+ programs.neovim-flake = {
+ enable = true;
+ settings = {
+ vim = {
+ viAlias = true;
+ vimAlias = true;
+ debugMode = {
+ enable = false;
+ level = 20;
+ logFile = "/tmp/nvim.log";
+ };
+ };
+
+ vim.lsp = {
+ formatOnSave = true;
+ lspkind.enable = false;
+ lightbulb.enable = true;
+ lspsaga.enable = false;
+ nvimCodeActionMenu.enable = true;
+ trouble.enable = true;
+ lspSignature.enable = true;
+ };
+
+ vim.languages = {
+ enableLSP = true;
+ enableFormat = true;
+ enableTreesitter = true;
+ enableExtraDiagnostics = true;
+
+ nix.enable = true;
+ html.enable = true;
+ clang.enable = false;
+ sql.enable = false;
+ rust = {
+ enable = false;
+ crates.enable = false;
+ };
+ ts.enable = true;
+ go.enable = true;
+ zig.enable = false;
+ python.enable = false;
+ dart.enable = false;
+ elixir.enable = false;
+ };
+
+ vim.visuals = {
+ enable = true;
+ nvimWebDevicons.enable = true;
+ scrollBar.enable = true;
+ smoothScroll.enable = true;
+ cellularAutomaton.enable = true;
+ fidget-nvim.enable = true;
+ indentBlankline = {
+ enable = true;
+ fillChar = null;
+ eolChar = null;
+ showCurrContext = true;
+ };
+ cursorWordline = {
+ enable = true;
+ lineTimeout = 0;
+ };
+ };
+
+ vim.statusline = {
+ lualine = {
+ enable = true;
+ theme = "onedark";
+ };
+ };
+
+ vim.theme = {
+ enable = true;
+ name = "onedark";
+ style = "dark";
+ transparent = false;
+ };
+ vim.autopairs.enable = true;
+
+ vim.autocomplete = {
+ enable = true;
+ type = "nvim-cmp";
+ };
+
+ vim.filetree = {
+ nvimTreeLua = {
+ enable = true;
+ renderer = {
+ rootFolderLabel = null;
+ };
+ view = {
+ width = 25;
+ };
+ };
+ };
+
+ vim.tabline = {
+ nvimBufferline.enable = true;
+ };
+
+ vim.treesitter.context.enable = true;
+
+ vim.binds = {
+ whichKey.enable = true;
+ cheatsheet.enable = true;
+ };
+
+ vim.telescope.enable = true;
+
+ vim.git = {
+ enable = true;
+ gitsigns.enable = true;
+ gitsigns.codeActions = false;
+ };
+
+ vim.minimap = {
+ minimap-vim.enable = false;
+ codewindow.enable = true; # lighter, faster, and uses lua for configuration
+ };
+
+ vim.dashboard = {
+ dashboard-nvim.enable = false;
+ alpha.enable = true;
+ };
+
+ vim.notify = {
+ nvim-notify.enable = true;
+ };
+
+ vim.projects = {
+ project-nvim.enable = true;
+ };
+
+ vim.utility = {
+ colorizer.enable = true;
+ icon-picker.enable = true;
+ diffview-nvim.enable = true;
+ motion = {
+ hop.enable = true;
+ leap.enable = false;
+ };
+ };
+
+ vim.notes = {
+ mind-nvim.enable = true;
+ todo-comments.enable = true;
+ };
+
+ vim.terminal = {
+ toggleterm.enable = true;
+ };
+
+ vim.ui = {
+ noice.enable = true;
+ smartcolumn.enable = true;
+ };
+
+ vim.assistant = {
+ copilot.enable = true;
+ };
+
+ vim.session = {
+ nvim-session-manager.enable = true;
+ };
+
+ vim.gestures = {
+ gesture-nvim.enable = false;
+ };
+
+ vim.comments = {
+ comment-nvim.enable = true;
+ };
+
+ vim.presence = {
+ presence-nvim = {
+ enable = true;
+ auto_update = true;
+ image_text = "The Superior Text Editor";
+ client_id = "793271441293967371";
+ main_image = "neovim";
+ rich_presence = {
+ editing_text = "Editing %s";
+ };
+ };
+ };
+ };
+ };
+}