From f4d1ad2c1e38ef06c9334ae5659081d2e47902d0 Mon Sep 17 00:00:00 2001 From: caley <195605706+cqley@users.noreply.github.com> Date: Fri, 7 Aug 2026 01:53:46 +0200 Subject: idk bro --- nixos/hosts/bed/bed.nix | 2 +- nixos/hosts/bin/bin.nix | 2 +- nixos/hosts/box/box.nix | 2 +- nixos/modules/programs/editor.nix | 147 -------------------------------------- nixos/modules/system/editor.nix | 147 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 150 insertions(+), 150 deletions(-) delete mode 100644 nixos/modules/programs/editor.nix create mode 100644 nixos/modules/system/editor.nix diff --git a/nixos/hosts/bed/bed.nix b/nixos/hosts/bed/bed.nix index 81d119e..42b9d16 100644 --- a/nixos/hosts/bed/bed.nix +++ b/nixos/hosts/bed/bed.nix @@ -7,7 +7,7 @@ ../../modules/system/layout.nix ../../modules/system/files.nix ../../modules/system/btop.nix - ../../modules/programs/editor.nix + ../../modules/system/editor.nix ../../modules/colors.nix ../../modules/notes.nix ]; diff --git a/nixos/hosts/bin/bin.nix b/nixos/hosts/bin/bin.nix index d0a5796..442eded 100644 --- a/nixos/hosts/bin/bin.nix +++ b/nixos/hosts/bin/bin.nix @@ -4,7 +4,7 @@ imports = [ ../../modules/system/files.nix ../../modules/system/btop.nix - ../../modules/programs/editor.nix + ../../modules/system/editor.nix ]; home.username = "cat"; diff --git a/nixos/hosts/box/box.nix b/nixos/hosts/box/box.nix index 2688164..bd7b414 100644 --- a/nixos/hosts/box/box.nix +++ b/nixos/hosts/box/box.nix @@ -7,7 +7,7 @@ ../../modules/system/layout.nix ../../modules/system/files.nix ../../modules/system/btop.nix - ../../modules/programs/editor.nix + ../../modules/system/editor.nix ../../modules/colors.nix ../../modules/notes.nix ../../modules/games/dayz.nix diff --git a/nixos/modules/programs/editor.nix b/nixos/modules/programs/editor.nix deleted file mode 100644 index 293f44b..0000000 --- a/nixos/modules/programs/editor.nix +++ /dev/null @@ -1,147 +0,0 @@ -{ config, pkgs, ... }: - -{ - programs.neovim = { - enable = true; - defaultEditor = true; - viAlias = true; - vimAlias = true; - withRuby = false; - withPython3 = false; - - extraPackages = with pkgs; [ - ripgrep - ]; - - plugins = with pkgs.vimPlugins; [ - lualine-nvim - telescope-nvim - plenary-nvim - nvim-web-devicons - neo-tree-nvim - nui-nvim - alpha-nvim - ]; - - initLua = '' - vim.opt.number = true - vim.opt.relativenumber = false - vim.opt.numberwidth = 4 - vim.opt.statuscolumn = "%l %s" - vim.opt.tabstop = 2 - vim.opt.softtabstop = 2 - vim.opt.shiftwidth = 2 - vim.opt.expandtab = true - vim.opt.wrap = false - vim.opt.ignorecase = true - vim.opt.smartcase = true - vim.opt.hlsearch = false - vim.opt.termguicolors = false - vim.opt.signcolumn = "yes" - vim.opt.scrolloff = 8 - vim.opt.showmode = false - vim.opt.timeoutlen = 300 - vim.opt.updatetime = 250 - vim.opt.foldcolumn = "0" - vim.opt.directory = vim.fn.stdpath("state") .. "/swap//" - - vim.g.mapleader = " " - vim.g.maplocalleader = " " - - vim.keymap.set({"n", "i"}, "", "write", {desc = "save file"}) - vim.keymap.set("n", "", "quit", {desc = "quit neovim"}) - vim.keymap.set("n", "", "nohlsearch", {desc = "clear search highlight"}) - vim.keymap.set({"n", "x"}, "gy", '"+y', {desc = "copy to clipboard"}) - vim.keymap.set({"n", "x"}, "gp", '"+p', {desc = "paste from clipboard"}) - vim.keymap.set("n", "", "u", {desc = "undo"}) - vim.keymap.set("i", "", "u", {desc = "undo"}) - vim.keymap.set("n", "", "", {desc = "redo"}) - vim.keymap.set("i", "", "", {desc = "redo"}) - vim.keymap.set({"n", "i"}, "", "ggVG", {desc = "select all"}) - - vim.keymap.set("n", "", "Telescope current_buffer_fuzzy_find", {desc = "search buffer"}) - - vim.keymap.set("n", "ff", "Telescope find_files", {desc = "find files"}) - vim.keymap.set("n", "fg", "Telescope live_grep", {desc = "text search"}) - vim.keymap.set("n", "fb", "Telescope buffers", {desc = "find buffers"}) - vim.keymap.set("n", "", "Neotree toggle", {desc = "toggle file explorer"}) - - vim.keymap.set("n", "", "h", {desc = "move left"}) - vim.keymap.set("n", "", "j", {desc = "move down"}) - vim.keymap.set("n", "", "k", {desc = "move up"}) - vim.keymap.set("n", "", "l", {desc = "move right"}) - vim.keymap.set("n", "", "vsplit", {desc = "vertical split"}) - vim.keymap.set("n", "", "split", {desc = "horizontal split"}) - vim.keymap.set("n", "", "close", {desc = "close split"}) - - vim.cmd.colorscheme("default") - vim.opt.matchpairs = "" - vim.api.nvim_set_hl(0, "MatchParen", {}) - vim.cmd("highlight clear MatchParen") - vim.cmd("highlight MatchParen guifg=NONE guibg=NONE gui=NONE") - - require("lualine").setup({ - options = { - icons_enabled = true, - theme = "auto", - component_separators = { left = "", right = "" }, - section_separators = { left = "", right = "" }, - }, - }) - - require("telescope").setup({ - defaults = { - file_ignore_patterns = { "node_modules", ".git", "%.lock" }, - layout_strategy = "horizontal", - layout_config = { horizontal = { preview_width = 0.5 } }, - }, - }) - - require("neo-tree").setup({ - window = { - position = "right", - width = 30, - mappings = { - ["l"] = "open", - ["h"] = "close_node", - [""] = "open", - [""] = "revert_preview", - }, - }, - filesystem = { - filtered_items = { - visible = false, - hide_dotfiles = false, - hide_gitignored = false, - hide_by_name = { ".git", ".DS_Store", "thumbs.db" }, - }, - follow_current_file = { enabled = true }, - }, - }) - - local alpha = require("alpha") - local dashboard = require("alpha.themes.dashboard") - - dashboard.section.header.val = { - " ⠀⠀⠀⢀⡴⠲⣄⠀⠀⢀⡶⠲⡄⠀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀", - " ⣀⣀⣀⣾⠁⠀⠹⠿⠟⠟⠀⠀⠙⣛⣉⡻⠿⠋⣿⣷⢦⣄⠀⠀⠀⠀⠀⠀", - " ⠭⠭⣽⠇⠀⠶⠀⢴⣦⠀⠶⠆⠸⠯⠭⠄⠀⠀⠀⠀⠀⠙⢧⡀⠀⢀⣤⣤", - "⠀⠀ ⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⣤⣾⣻⡟", - " ⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣧⠽⠋⠀", - " ⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠀⠀⠀⠀", - " ⠀⠀⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡟⠀⠀⠀⠀", - "⠀ ⠀⠈⠳⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠟⠀⠀⠀⠀⠀", - "⠀⠀ ⠀⠀⠉⠿⠟⠛⠛⠻⠾⠛⠛⠛⠛⠻⠟⠛⠛⠻⠾⠃⠀⠀⠀⠀⠀⠀", - } - - dashboard.section.buttons.val = { - dashboard.button("f", " > find file", "Telescope find_files"), - dashboard.button("n", " > new file", "enew"), - dashboard.button("r", " > recent files", "Telescope oldfiles"), - dashboard.button("q", " > quit", "qa"), - } - - alpha.setup(dashboard.opts) - ''; - }; -} diff --git a/nixos/modules/system/editor.nix b/nixos/modules/system/editor.nix new file mode 100644 index 0000000..293f44b --- /dev/null +++ b/nixos/modules/system/editor.nix @@ -0,0 +1,147 @@ +{ config, pkgs, ... }: + +{ + programs.neovim = { + enable = true; + defaultEditor = true; + viAlias = true; + vimAlias = true; + withRuby = false; + withPython3 = false; + + extraPackages = with pkgs; [ + ripgrep + ]; + + plugins = with pkgs.vimPlugins; [ + lualine-nvim + telescope-nvim + plenary-nvim + nvim-web-devicons + neo-tree-nvim + nui-nvim + alpha-nvim + ]; + + initLua = '' + vim.opt.number = true + vim.opt.relativenumber = false + vim.opt.numberwidth = 4 + vim.opt.statuscolumn = "%l %s" + vim.opt.tabstop = 2 + vim.opt.softtabstop = 2 + vim.opt.shiftwidth = 2 + vim.opt.expandtab = true + vim.opt.wrap = false + vim.opt.ignorecase = true + vim.opt.smartcase = true + vim.opt.hlsearch = false + vim.opt.termguicolors = false + vim.opt.signcolumn = "yes" + vim.opt.scrolloff = 8 + vim.opt.showmode = false + vim.opt.timeoutlen = 300 + vim.opt.updatetime = 250 + vim.opt.foldcolumn = "0" + vim.opt.directory = vim.fn.stdpath("state") .. "/swap//" + + vim.g.mapleader = " " + vim.g.maplocalleader = " " + + vim.keymap.set({"n", "i"}, "", "write", {desc = "save file"}) + vim.keymap.set("n", "", "quit", {desc = "quit neovim"}) + vim.keymap.set("n", "", "nohlsearch", {desc = "clear search highlight"}) + vim.keymap.set({"n", "x"}, "gy", '"+y', {desc = "copy to clipboard"}) + vim.keymap.set({"n", "x"}, "gp", '"+p', {desc = "paste from clipboard"}) + vim.keymap.set("n", "", "u", {desc = "undo"}) + vim.keymap.set("i", "", "u", {desc = "undo"}) + vim.keymap.set("n", "", "", {desc = "redo"}) + vim.keymap.set("i", "", "", {desc = "redo"}) + vim.keymap.set({"n", "i"}, "", "ggVG", {desc = "select all"}) + + vim.keymap.set("n", "", "Telescope current_buffer_fuzzy_find", {desc = "search buffer"}) + + vim.keymap.set("n", "ff", "Telescope find_files", {desc = "find files"}) + vim.keymap.set("n", "fg", "Telescope live_grep", {desc = "text search"}) + vim.keymap.set("n", "fb", "Telescope buffers", {desc = "find buffers"}) + vim.keymap.set("n", "", "Neotree toggle", {desc = "toggle file explorer"}) + + vim.keymap.set("n", "", "h", {desc = "move left"}) + vim.keymap.set("n", "", "j", {desc = "move down"}) + vim.keymap.set("n", "", "k", {desc = "move up"}) + vim.keymap.set("n", "", "l", {desc = "move right"}) + vim.keymap.set("n", "", "vsplit", {desc = "vertical split"}) + vim.keymap.set("n", "", "split", {desc = "horizontal split"}) + vim.keymap.set("n", "", "close", {desc = "close split"}) + + vim.cmd.colorscheme("default") + vim.opt.matchpairs = "" + vim.api.nvim_set_hl(0, "MatchParen", {}) + vim.cmd("highlight clear MatchParen") + vim.cmd("highlight MatchParen guifg=NONE guibg=NONE gui=NONE") + + require("lualine").setup({ + options = { + icons_enabled = true, + theme = "auto", + component_separators = { left = "", right = "" }, + section_separators = { left = "", right = "" }, + }, + }) + + require("telescope").setup({ + defaults = { + file_ignore_patterns = { "node_modules", ".git", "%.lock" }, + layout_strategy = "horizontal", + layout_config = { horizontal = { preview_width = 0.5 } }, + }, + }) + + require("neo-tree").setup({ + window = { + position = "right", + width = 30, + mappings = { + ["l"] = "open", + ["h"] = "close_node", + [""] = "open", + [""] = "revert_preview", + }, + }, + filesystem = { + filtered_items = { + visible = false, + hide_dotfiles = false, + hide_gitignored = false, + hide_by_name = { ".git", ".DS_Store", "thumbs.db" }, + }, + follow_current_file = { enabled = true }, + }, + }) + + local alpha = require("alpha") + local dashboard = require("alpha.themes.dashboard") + + dashboard.section.header.val = { + " ⠀⠀⠀⢀⡴⠲⣄⠀⠀⢀⡶⠲⡄⠀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀", + " ⣀⣀⣀⣾⠁⠀⠹⠿⠟⠟⠀⠀⠙⣛⣉⡻⠿⠋⣿⣷⢦⣄⠀⠀⠀⠀⠀⠀", + " ⠭⠭⣽⠇⠀⠶⠀⢴⣦⠀⠶⠆⠸⠯⠭⠄⠀⠀⠀⠀⠀⠙⢧⡀⠀⢀⣤⣤", + "⠀⠀ ⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⣤⣾⣻⡟", + " ⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣧⠽⠋⠀", + " ⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠀⠀⠀⠀", + " ⠀⠀⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡟⠀⠀⠀⠀", + "⠀ ⠀⠈⠳⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠟⠀⠀⠀⠀⠀", + "⠀⠀ ⠀⠀⠉⠿⠟⠛⠛⠻⠾⠛⠛⠛⠛⠻⠟⠛⠛⠻⠾⠃⠀⠀⠀⠀⠀⠀", + } + + dashboard.section.buttons.val = { + dashboard.button("f", " > find file", "Telescope find_files"), + dashboard.button("n", " > new file", "enew"), + dashboard.button("r", " > recent files", "Telescope oldfiles"), + dashboard.button("q", " > quit", "qa"), + } + + alpha.setup(dashboard.opts) + ''; + }; +} -- cgit v1.3.1