diff --git a/configuration.nix b/configuration.nix index 887f3a2..911bc87 100644 --- a/configuration.nix +++ b/configuration.nix @@ -138,7 +138,6 @@ nodejs musescore ranger - flutterPackages-source.stable # nvim lunarvim diff --git a/packages/nvim/default.nix b/packages/nvim/default.nix index fce43b1..5a6d2b5 100644 --- a/packages/nvim/default.nix +++ b/packages/nvim/default.nix @@ -6,7 +6,6 @@ ]; programs.neovim.plugins = [ - pkgs.vimPlugins.nerdtree pkgs.vimPlugins.lazy-nvim ]; @@ -14,6 +13,13 @@ programs.neovim.plugins = [ lib.mkMerge [ { ".config/nvim/init.lua".source = ./init.lua; + ".config/nvim/lua/config/lazy.lua".source = ./lua/config/lazy.lua; + ".config/nvim/lua/plugins/flutter.lua".source = ./lua/plugins/flutter.lua; + ".config/nvim/lua/plugins/coq.lua".source = ./lua/plugins/coq.lua; + ".config/nvim/lua/plugins/treesitter.lua".source = ./lua/plugins/treesitter.lua; + ".config/nvim/lua/plugins/catppuccin.lua".source = ./lua/plugins/catppuccin.lua; + ".config/nvim/lua/plugins/telescope.lua".source = ./lua/plugins/telescope.lua; + ".config/nvim/lua/plugins/highlight-colors.lua".source = ./lua/plugins/highlight-colors.lua; } ]; } diff --git a/packages/nvim/init.lua b/packages/nvim/init.lua index db8fc73..c720801 100644 --- a/packages/nvim/init.lua +++ b/packages/nvim/init.lua @@ -31,119 +31,31 @@ vim.keymap.set('n', '', ':resize +2', opts) vim.keymap.set('n', '', ':vertical resize -2', opts) vim.keymap.set('n', '', ':vertical resize +2', opts) +-- Telescope binds +vim.keymap.set("n", "fb", ":Telescope file_browser") + vim.keymap.set('i', 'jk', '', opts) -- Lazy --- Bootstrap lazy.nvim -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -if not (vim.uv or vim.loop).fs_stat(lazypath) then - local lazyrepo = "https://github.com/folke/lazy.nvim.git" - local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) - if vim.v.shell_error ~= 0 then - vim.api.nvim_echo({ - { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, - { out, "WarningMsg" }, - { "\nPress any key to exit..." }, - }, true, {}) - vim.fn.getchar() - os.exit(1) - end -end -vim.opt.rtp:prepend(lazypath) - --- Make sure to setup `mapleader` and `maplocalleader` before --- loading lazy.nvim so that mappings are correct. --- This is also a good place to setup other settings (vim.opt) -vim.g.mapleader = " " -vim.g.maplocalleader = "\\" - --- Setup lazy.nvim -require("lazy").setup({ - spec = { - -- add your plugins here - -- - -- - -- -{ - 'nvim-flutter/flutter-tools.nvim', - lazy = false, - dependencies = { - 'nvim-lua/plenary.nvim', - 'stevearc/dressing.nvim', -- optional for vim.ui.select - }, - config = true, -}, - - - - -{ - "nvim-treesitter/nvim-treesitter", - build = ":TSUpdate", - config = function () - local configs = require("nvim-treesitter.configs") - - configs.setup({ - ensure_installed = { "c", "lua", "html" }, - sync_install = false, - highlight = { enable = true }, - indent = { enable = true }, - }) - end - }, - - - { - "neovim/nvim-lspconfig", -- REQUIRED: for native Neovim LSP integration - lazy = false, -- REQUIRED: tell lazy.nvim to start this plugin at startup - dependencies = { - -- main one - { "ms-jpq/coq_nvim", branch = "coq" }, - - -- 9000+ Snippets - { "ms-jpq/coq.artifacts", branch = "artifacts" }, - - -- lua & third party sources -- See https://github.com/ms-jpq/coq.thirdparty - -- Need to **configure separately** - { 'ms-jpq/coq.thirdparty', branch = "3p" } - -- - shell repl - -- - nvim lua api - -- - scientific calculator - -- - comment banner - -- - etc - }, - init = function() - vim.g.coq_settings = { - auto_start = true, -- if you want to start COQ at startup - -- Your COQ settings here +require("config.lazy") +require("flutter-tools").setup {} -- use defaults +require("catppuccin").setup({ + integrations = { + cmp = false, + gitsigns = true, + nvimtree = true, + treesitter = true, + notify = false, + mini = { + enabled = false, + indentscope_color = "", + }, } - end, - config = function() - -- Your LSP settings here - end, -} - - -{ - 'nvim-flutter/flutter-tools.nvim', - lazy = false, - dependencies = { - 'nvim-lua/plenary.nvim', - 'stevearc/dressing.nvim', -- optional for vim.ui.select - }, - config = true, -} - - - }, - -- Configure any other settings here. See the documentation for more details. - -- colorscheme that will be used when installing plugins. - install = { colorscheme = { "habamax" } }, - -- automatically check for plugin updates - checker = { enabled = true }, }) -require("flutter-tools").setup {} -- use defaults - +-- css colors +vim.opt.termguicolors = true +require('nvim-highlight-colors').setup({}) +vim.cmd.colorscheme "catppuccin" diff --git a/packages/nvim/init.lua.bk b/packages/nvim/init.lua.bk new file mode 100644 index 0000000..ceedf76 --- /dev/null +++ b/packages/nvim/init.lua.bk @@ -0,0 +1,149 @@ +-- Tab +vim.opt.tabstop = 2 -- number of visual spaces per TAB +vim.opt.softtabstop = 2 -- number of spacesin tab when editing +vim.opt.shiftwidth = 2 -- insert 4 spaces on a tab +vim.opt.expandtab = true -- tabs are spaces, mainly because of python + +-- UI config +vim.opt.number = true -- show absolute number +vim.opt.relativenumber = true -- add numbers to each line on the left side +vim.opt.splitbelow = true -- open new vertical split bottom +vim.opt.splitright = true -- open new horizontal splits right +-- vim.opt.termguicolors = true -- enabl 24-bit RGB color in the TUI +vim.opt.showmode = false -- we are experienced, wo don't need the "-- INSERT --" mode hint + +-- Searching +vim.opt.incsearch = true -- search as characters are entered +vim.opt.hlsearch = false -- do not highlight matches +vim.opt.ignorecase = true -- ignore case in searches by default +vim.opt.smartcase = true -- but make it case sensitive if an uppercase is entered + +-- -- Keybinds +vim.keymap.set('n', '', 'h', opts) +vim.keymap.set('n', '', 'j', opts) +vim.keymap.set('n', '', 'k', opts) +vim.keymap.set('n', '', 'l', opts) + +-- Resize with arrows +-- delta: 2 lines +vim.keymap.set('n', '', ':resize -2', opts) +vim.keymap.set('n', '', ':resize +2', opts) +vim.keymap.set('n', '', ':vertical resize -2', opts) +vim.keymap.set('n', '', ':vertical resize +2', opts) + + +vim.keymap.set('i', 'jk', '', opts) + +-- Lazy +-- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +-- Make sure to setup `mapleader` and `maplocalleader` before +-- loading lazy.nvim so that mappings are correct. +-- This is also a good place to setup other settings (vim.opt) +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" + +-- Setup lazy.nvim +require("lazy").setup({ + spec = { + -- add your plugins here + -- + -- + -- +{ + 'nvim-flutter/flutter-tools.nvim', + lazy = false, + dependencies = { + 'nvim-lua/plenary.nvim', + 'stevearc/dressing.nvim', -- optional for vim.ui.select + }, + config = true, +}, + + + + +{ + "nvim-treesitter/nvim-treesitter", + build = ":TSUpdate", + config = function () + local configs = require("nvim-treesitter.configs") + + configs.setup({ + ensure_installed = { "c", "lua", "html" }, + sync_install = false, + highlight = { enable = true }, + indent = { enable = true }, + }) + end + }, + + + { + "neovim/nvim-lspconfig", -- REQUIRED: for native Neovim LSP integration + lazy = false, -- REQUIRED: tell lazy.nvim to start this plugin at startup + dependencies = { + -- main one + { "ms-jpq/coq_nvim", branch = "coq" }, + + -- 9000+ Snippets + { "ms-jpq/coq.artifacts", branch = "artifacts" }, + + -- lua & third party sources -- See https://github.com/ms-jpq/coq.thirdparty + -- Need to **configure separately** + { 'ms-jpq/coq.thirdparty', branch = "3p" } + -- - shell repl + -- - nvim lua api + -- - scientific calculator + -- - comment banner + -- - etc + }, + init = function() + vim.g.coq_settings = { + auto_start = true, -- if you want to start COQ at startup + -- Your COQ settings here + } + end, + config = function() + -- Your LSP settings here + end, +} + + +{ + 'nvim-flutter/flutter-tools.nvim', + lazy = false, + dependencies = { + 'nvim-lua/plenary.nvim', + 'stevearc/dressing.nvim', -- optional for vim.ui.select + }, + config = true, +} +} + + }, + -- Configure any other settings here. See the documentation for more details. + -- colorscheme that will be used when installing plugins. + install = { colorscheme = { "habamax" } }, + -- automatically check for plugin updates + checker = { enabled = true }, +}) + +require("flutter-tools").setup {} -- use defaults + + diff --git a/packages/nvim/lua/config/lazy.lua b/packages/nvim/lua/config/lazy.lua new file mode 100644 index 0000000..f5ee74c --- /dev/null +++ b/packages/nvim/lua/config/lazy.lua @@ -0,0 +1,35 @@ +-- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +-- Make sure to setup `mapleader` and `maplocalleader` before +-- loading lazy.nvim so that mappings are correct. +-- This is also a good place to setup other settings (vim.opt) +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" + +-- Setup lazy.nvim +require("lazy").setup({ + spec = { + -- import your plugins + { import = "plugins" }, + }, + -- Configure any other settings here. See the documentation for more details. + -- colorscheme that will be used when installing plugins. + install = { colorscheme = { "habamax" } }, + -- automatically check for plugin updates + checker = { enabled = true }, +}) diff --git a/packages/nvim/lua/plugins/catppuccin.lua b/packages/nvim/lua/plugins/catppuccin.lua new file mode 100644 index 0000000..19df104 --- /dev/null +++ b/packages/nvim/lua/plugins/catppuccin.lua @@ -0,0 +1 @@ +return { "catppuccin/nvim", name = "catppuccin", priority = 1000 } diff --git a/packages/nvim/lua/plugins/coq.lua b/packages/nvim/lua/plugins/coq.lua new file mode 100644 index 0000000..0ec3a3e --- /dev/null +++ b/packages/nvim/lua/plugins/coq.lua @@ -0,0 +1,30 @@ + + return { + "neovim/nvim-lspconfig", -- REQUIRED: for native Neovim LSP integration + lazy = false, -- REQUIRED: tell lazy.nvim to start this plugin at startup + dependencies = { + -- main one + { "ms-jpq/coq_nvim", branch = "coq" }, + + -- 9000+ Snippets + { "ms-jpq/coq.artifacts", branch = "artifacts" }, + + -- lua & third party sources -- See https://github.com/ms-jpq/coq.thirdparty + -- Need to **configure separately** + { 'ms-jpq/coq.thirdparty', branch = "3p" } + -- - shell repl + -- - nvim lua api + -- - scientific calculator + -- - comment banner + -- - etc + }, + init = function() + vim.g.coq_settings = { + auto_start = true, -- if you want to start COQ at startup + -- Your COQ settings here + } + end, + config = function() + -- Your LSP settings here + end, +} diff --git a/packages/nvim/lua/plugins/flutter.lua b/packages/nvim/lua/plugins/flutter.lua new file mode 100644 index 0000000..97dac7c --- /dev/null +++ b/packages/nvim/lua/plugins/flutter.lua @@ -0,0 +1,10 @@ +return { + + 'nvim-flutter/flutter-tools.nvim', + lazy = false, + dependencies = { + 'nvim-lua/plenary.nvim', + 'stevearc/dressing.nvim', -- optional for vim.ui.select + }, + config = true, +} diff --git a/packages/nvim/lua/plugins/highlight-colors.lua b/packages/nvim/lua/plugins/highlight-colors.lua new file mode 100644 index 0000000..9bf29ee --- /dev/null +++ b/packages/nvim/lua/plugins/highlight-colors.lua @@ -0,0 +1 @@ +return { "brenoprata10/nvim-highlight-colors", name = "highlight-colotrs" } diff --git a/packages/nvim/lua/plugins/telescope.lua b/packages/nvim/lua/plugins/telescope.lua new file mode 100644 index 0000000..ed8cc88 --- /dev/null +++ b/packages/nvim/lua/plugins/telescope.lua @@ -0,0 +1,4 @@ +return { + "nvim-telescope/telescope-file-browser.nvim", + dependencies = { "nvim-telescope/telescope.nvim", "nvim-lua/plenary.nvim" } +} diff --git a/packages/nvim/lua/plugins/treesitter.lua b/packages/nvim/lua/plugins/treesitter.lua new file mode 100644 index 0000000..a2f9998 --- /dev/null +++ b/packages/nvim/lua/plugins/treesitter.lua @@ -0,0 +1,15 @@ + +return { + "nvim-treesitter/nvim-treesitter", + build = ":TSUpdate", + config = function () + local configs = require("nvim-treesitter.configs") + + configs.setup({ + ensure_installed = { "c", "lua", "html", "dart" }, + sync_install = false, + highlight = { enable = true }, + indent = { enable = true }, + }) + end + } diff --git a/packages/waybar/config b/packages/waybar/config index 87ec24b..0466064 100644 --- a/packages/waybar/config +++ b/packages/waybar/config @@ -32,7 +32,7 @@ }, "pulseaudio": { - "format": "{icon} {volume}%", + "format": "{icon} {volume}%", "format-muted": " Muted", "format-icons": ["", "", ""] }, @@ -42,8 +42,8 @@ }, "network": { - "format-wifi": " {essid} {signalStrength}%", - "format-disconnected": " No Connection" + "format-wifi": " {essid} {signalStrength}%", + "format-disconnected": " No Connection" } diff --git a/packages/waybar/style.css b/packages/waybar/style.css index 1ca7a76..282c3d9 100644 --- a/packages/waybar/style.css +++ b/packages/waybar/style.css @@ -25,28 +25,28 @@ window#waybar { background: rgba(10,10,10,100); opacity: 0.8; /* color: #00ffff; */ - color: @text; + color: @mauve; padding: 0px 10px ; margin: 3px 0px; } #workspaces button{ - color: #00ffff; + color: @mauve; border-radius: 7px; margin: 3px 0px; margin-left: 6px; } #workspaces button.focused{ - background: #00ffff; - color: #000000; + background: @mauve; + color: @base; opacity: 0.8; transition: 0.3s; } #workspaces button:hover{ - background: #ffffff; - color: #000000; + background: @mauve; + color: @base; opacity: 0.8; transition: 0.5s; } diff --git a/push.sh b/push.sh new file mode 100755 index 0000000..c6bcfc8 --- /dev/null +++ b/push.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +if [ -z "$1" ] + then + echo "No argument supplied" + exit 1 +fi + +sudo cp -r /etc/nixos/* . +git add * +git commit -m "$1" +git push origin laptop