aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md3
-rwxr-xr-xnixpkgs/.config/nixpkgs/common/bg.sh21
-rw-r--r--nixpkgs/.config/nixpkgs/common/dwl_4/config.h7
-rw-r--r--nixpkgs/.config/nixpkgs/common/nvim/init.vim39
-rw-r--r--nixpkgs/.config/nixpkgs/common/nvim/plugins/indent-blankline.lua5
-rw-r--r--nixpkgs/.config/nixpkgs/common/nvim/plugins/leap.lua1
-rw-r--r--nixpkgs/.config/nixpkgs/common/nvim/plugins/lspconfig.lua145
-rw-r--r--nixpkgs/.config/nixpkgs/common/nvim/plugins/lualine.lua1
-rw-r--r--nixpkgs/.config/nixpkgs/common/nvim/plugins/telescope.lua16
-rw-r--r--nixpkgs/.config/nixpkgs/common/nvim/plugins/trouble.lua3
-rwxr-xr-xnixpkgs/.config/nixpkgs/common/start.sh2
-rw-r--r--nixpkgs/.config/nixpkgs/flake.lock36
-rw-r--r--nixpkgs/.config/nixpkgs/per-user/kdam0-work/home.nix161
-rw-r--r--nvim/.config/nvim/.gitignore8
-rw-r--r--nvim/.config/nvim/.neoconf.json15
-rw-r--r--nvim/.config/nvim/LICENSE201
-rw-r--r--nvim/.config/nvim/README.md4
-rw-r--r--nvim/.config/nvim/init.lua2
-rw-r--r--nvim/.config/nvim/lazy-lock.json52
-rw-r--r--nvim/.config/nvim/lua/config/autocmds.lua3
-rw-r--r--nvim/.config/nvim/lua/config/keymaps.lua3
-rw-r--r--nvim/.config/nvim/lua/config/lazy.lua46
-rw-r--r--nvim/.config/nvim/lua/config/options.lua3
-rw-r--r--nvim/.config/nvim/lua/plugins/example.lua267
-rw-r--r--nvim/.config/nvim/spell/en.utf-8.add17
-rw-r--r--nvim/.config/nvim/spell/en.utf-8.add.splbin214 -> 0 bytes
-rw-r--r--nvim/.config/nvim/stylua.toml3
27 files changed, 386 insertions, 678 deletions
diff --git a/README.md b/README.md
index ca26174..e7a95b7 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,3 @@
```bash
stow -v -t ~ nix nixpkgs
-
-# If you want my neovim config, then also #
-stow -v -t ~ nvim
```
diff --git a/nixpkgs/.config/nixpkgs/common/bg.sh b/nixpkgs/.config/nixpkgs/common/bg.sh
index 9bcefa6..036d2da 100755
--- a/nixpkgs/.config/nixpkgs/common/bg.sh
+++ b/nixpkgs/.config/nixpkgs/common/bg.sh
@@ -1,12 +1,23 @@
#!/bin/sh
+pkill wbg || echo "No wbg process was running."
+
WALLPAPERS_HOME=${1:-$HOME/pics/wallpapers}
# Get a random image file from the dir.
RAND_BG=$(find "$WALLPAPERS_HOME" -type f -name "*.jpeg" -o -name "*.jpg" -o -name "*.png" | shuf | head -n1)
-# Set the image file as the background.
-(command -v wbg > /dev/null || (echo "wbg is not installed." && exit 1) && \
- # else
- notify-send "Set background." && wbg "${RAND_BG}"
-)
+# Store the chosen bg
+cp -a ${RAND_BG} /tmp/bg
+
+WBG_PATH="$(command -v wbg || echo $HOME/.nix-profile/bin/wbg)"
+echo "WBG is $WBG_PATH"
+
+if [[ ! -f "$WBG_PATH" ]]; then
+ ehco "WBG is not installed. Exiting."
+ exit 1
+else
+ # Set the image file as the background.
+ notify-send "Setting background."
+ "${WBG_PATH}" "${RAND_BG}" &
+fi
diff --git a/nixpkgs/.config/nixpkgs/common/dwl_4/config.h b/nixpkgs/.config/nixpkgs/common/dwl_4/config.h
index d5107e2..b0ef901 100644
--- a/nixpkgs/.config/nixpkgs/common/dwl_4/config.h
+++ b/nixpkgs/.config/nixpkgs/common/dwl_4/config.h
@@ -115,12 +115,12 @@ static const char *volup[] = { "amixer", "set", "Master", "10%+", NULL };
static const char *brightdown[] = { "light", "-U", "10", NULL };
static const char *brightup[] = { "light", "-A", "10", NULL };
static const char *hibernatecmd[] = { "systemctl", "hibernate", NULL };
-static const char *lockcmd[] = { "waylock", NULL };
+static const char *lockcmd[] = { "swaylock", "-i", "/tmp/bg", NULL };
static const char scrotcmd[] = "slurp | \
grim -g - - | \
- wl-copy && \
+ wl-copy --type image && \
notify-send 'Copied selection to clipboard!' && \
- wl-paste > $HOME/pics/$(date +'%Y-%m-%d-%H%M%S_grim.png')";
+ wl-paste --type image > $HOME/pics/$(date +'%Y-%m-%d-%H%M%S_grim.png')";
static const Key keys[] = {
/* Note that Shift changes certain key codes: c -> C, 2 -> at, etc. */
@@ -155,6 +155,7 @@ static const Key keys[] = {
{ 0, XKB_KEY_XF86MonBrightnessDown, spawn, {.v = brightdown} },
{ 0, XKB_KEY_XF86MonBrightnessUp, spawn, {.v = brightup} },
{ 0, XKB_KEY_Print, spawn, SHCMD(scrotcmd) },
+ { 0, XKB_KEY_F1, spawn, SHCMD(scrotcmd) },
{ MODKEY, XKB_KEY_Delete, spawn, {.v = lockcmd} },
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Delete, spawn, {.v = hibernatecmd} },
TAGKEYS( XKB_KEY_1, XKB_KEY_exclam, 0),
diff --git a/nixpkgs/.config/nixpkgs/common/nvim/init.vim b/nixpkgs/.config/nixpkgs/common/nvim/init.vim
new file mode 100644
index 0000000..d733e83
--- /dev/null
+++ b/nixpkgs/.config/nixpkgs/common/nvim/init.vim
@@ -0,0 +1,39 @@
+nnoremap <SPACE> <Nop>
+let mapleader = " "
+colorscheme tokyonight-moon
+set number relativenumber
+
+" Keymaps
+" save
+nmap <Leader>, :w<cr>
+" exit to normal mode
+inoremap jk <Esc>
+" Toggle line chars view
+noremap <Leader>l :set list!<CR>
+
+" Telescope Keymaps
+map <Leader><Space> :Telescope find_files<CR>
+map <Leader>/ :Telescope live_grep<CR>
+map <Leader>g :Telescope git_files<CR>
+map <Leader>: :Telescope command_history<CR>
+
+" Indent blocks in visual mode.
+vnoremap K xkP`[V`]
+vnoremap J xp`[V`]
+vnoremap L >gv
+vnoremap H <gv
+
+" Move beteween splits
+map <C-j> <C-W>j
+map <C-k> <C-W>k
+map <C-h> <C-W>h
+map <C-l> <C-W>l
+
+" Start n³ in the current buffers directory
+let g:nnn#action = {
+ \ '<c-t>': 'tab split',
+ \ '<c-s>': 'split',
+ \ '<c-v>': 'vsplit' }
+nnoremap <Leader>n :NnnPicker %:p:h<CR>
+
+autocmd BufRead,BufNewFile *.yaml set filetype=yaml.ansible
diff --git a/nixpkgs/.config/nixpkgs/common/nvim/plugins/indent-blankline.lua b/nixpkgs/.config/nixpkgs/common/nvim/plugins/indent-blankline.lua
new file mode 100644
index 0000000..425b8cf
--- /dev/null
+++ b/nixpkgs/.config/nixpkgs/common/nvim/plugins/indent-blankline.lua
@@ -0,0 +1,5 @@
+vim.opt.listchars:append "eol:↓"
+
+require("indent_blankline").setup {
+ show_end_of_line = true,
+}
diff --git a/nixpkgs/.config/nixpkgs/common/nvim/plugins/leap.lua b/nixpkgs/.config/nixpkgs/common/nvim/plugins/leap.lua
new file mode 100644
index 0000000..c0aeeef
--- /dev/null
+++ b/nixpkgs/.config/nixpkgs/common/nvim/plugins/leap.lua
@@ -0,0 +1 @@
+require('leap').add_default_mappings()
diff --git a/nixpkgs/.config/nixpkgs/common/nvim/plugins/lspconfig.lua b/nixpkgs/.config/nixpkgs/common/nvim/plugins/lspconfig.lua
new file mode 100644
index 0000000..5fc6857
--- /dev/null
+++ b/nixpkgs/.config/nixpkgs/common/nvim/plugins/lspconfig.lua
@@ -0,0 +1,145 @@
+local servers = {'ansiblels', 'dockerls', 'pylsp', 'bashls', 'jsonls'}
+require('nvim-autopairs').setup({
+ disable_filetype = { "TelescopePrompt" , "vim" },
+})
+require("mason").setup()
+require("mason-lspconfig").setup {
+ ensure_installed = servers
+}
+require("neoconf").setup()
+
+local cmp = require('cmp')
+local cmp_nvim_lsp = require('cmp_nvim_lsp')
+local cmp_autopairs = require('nvim-autopairs.completion.cmp')
+local luasnip = require('luasnip')
+local lspconfig = require('lspconfig')
+
+local capabilities = cmp_nvim_lsp.default_capabilities()
+
+local opts = { noremap=true, silent=true }
+--vim.keymap.set('n', '<space>le', vim.diagnostic.open_float, opts)
+vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
+vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
+--vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts)
+vim.keymap.set("n", "<leader>xx", "<cmd>TroubleToggle<cr>", opts)
+vim.keymap.set("n", "<leader>xw", "<cmd>TroubleToggle workspace_diagnostics<cr>", opts)
+vim.keymap.set("n", "<leader>xe", "<cmd>TroubleToggle document_diagnostics<cr>", opts)
+vim.keymap.set("n", "<leader>xl", "<cmd>TroubleToggle loclist<cr>", opts)
+vim.keymap.set("n", "<leader>xq", "<cmd>TroubleToggle quickfix<cr>", opts)
+vim.keymap.set("n", "gR", "<cmd>TroubleToggle lsp_references<cr>", opts)
+
+local on_attach = function(client, bufnr)
+ -- Mappings.
+ local bufopts = { noremap=true, silent=true, buffer=bufnr }
+ vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
+ vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
+ vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
+ vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
+ vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts)
+ vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
+ vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
+ vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
+ vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
+ vim.keymap.set('n', '<space>f', vim.lsp.buf.formatting, bufopts)
+end
+
+cmp.setup({
+ snippet = {
+ expand = function(args)
+ luasnip.lsp_expand(args.body)
+ end,
+ },
+ window = {
+ completion = cmp.config.window.bordered(),
+ documentation = cmp.config.window.bordered(),
+ },
+ mapping = cmp.mapping.preset.insert({
+ ['<C-b>'] = cmp.mapping.scroll_docs(-4),
+ ['<C-f>'] = cmp.mapping.scroll_docs(4),
+ ['<C-Space>'] = cmp.mapping.complete(),
+ ['<C-e>'] = cmp.mapping.abort(),
+ ['<CR>'] = cmp.mapping.confirm({
+ behavior = cmp.ConfirmBehavior.Replace,
+ select = true
+ }),
+ ['<Tab>'] = cmp.mapping(function(fallback)
+ if cmp.visible() then
+ cmp.select_next_item()
+ elseif luasnip.expand_or_jumpable() then
+ luasnip.expand_or_jump()
+ else
+ fallback()
+ end
+ end, { 'i', 's' }),
+ ['<S-Tab>'] = cmp.mapping(function(fallback)
+ if cmp.visible() then
+ cmp.select_prev_item()
+ elseif luasnip.jumpable(-1) then
+ luasnip.jump(-1)
+ else
+ fallback()
+ end
+ end, { 'i', 's' }),
+ }),
+ sources = cmp.config.sources({
+ { name = 'nvim_lsp' },
+ { name = 'luasnip' }, -- For luasnip users.
+ }, {
+ { name = 'buffer' },
+ })
+})
+
+cmp.event:on(
+ 'confirm_done',
+ cmp_autopairs.on_confirm_done()
+)
+
+local settings = {
+ pylsp = {
+ pylsp = {
+ plugins = {
+ autopep8 = { enabled = false },
+ flake8 = { enabled = false },
+ pycodestyle = { enabled = false },
+ pydocstyle = { enabled = false },
+ pyflakes = { enabled = false },
+ yapf = { enabled = false },
+ pylint = { enabled = false },
+ black = { enabled = false },
+ }
+ }
+ },
+ bashls = {},
+ ansiblels = {
+ ansible = {
+ ansible = {
+ useFullyQualifiedCollectionNames = false
+ },
+ python = {
+ activationScript = "~/.venv/ansible/bin/activate"
+
+ },
+ completion = {
+ provideRedirectModules = true,
+ provideModuleOptionAliases = true
+ },
+ validation = {
+ enabled = true,
+ lint = {
+ enabled = true,
+ arguments = "-c ansible-lint.yaml"
+ }
+ }
+ }
+ }
+}
+
+for _,lsp in ipairs(servers) do
+ lspconfig[lsp].setup{
+ on_attach = on_attach,
+ capabilities = capabilities,
+ settings = settings[lsp],
+ }
+end
+
+require("luasnip.loaders.from_vscode").lazy_load()
diff --git a/nixpkgs/.config/nixpkgs/common/nvim/plugins/lualine.lua b/nixpkgs/.config/nixpkgs/common/nvim/plugins/lualine.lua
new file mode 100644
index 0000000..90e6db2
--- /dev/null
+++ b/nixpkgs/.config/nixpkgs/common/nvim/plugins/lualine.lua
@@ -0,0 +1 @@
+require('lualine').setup()
diff --git a/nixpkgs/.config/nixpkgs/common/nvim/plugins/telescope.lua b/nixpkgs/.config/nixpkgs/common/nvim/plugins/telescope.lua
new file mode 100644
index 0000000..97ef563
--- /dev/null
+++ b/nixpkgs/.config/nixpkgs/common/nvim/plugins/telescope.lua
@@ -0,0 +1,16 @@
+local telescope = require('telescope')
+local actions = require('telescope.actions')
+
+local trouble = require("trouble.providers.telescope")
+
+telescope.setup {
+ defaults = {
+ file_ignore_patterns = { "^.git/" },
+ mappings = {
+ i = { ["<c-t>"] = trouble.open_with_trouble },
+ n = { ["<c-t>"] = trouble.open_with_trouble },
+ },
+ },
+}
+
+telescope.load_extension('fzf')
diff --git a/nixpkgs/.config/nixpkgs/common/nvim/plugins/trouble.lua b/nixpkgs/.config/nixpkgs/common/nvim/plugins/trouble.lua
new file mode 100644
index 0000000..cf7a27b
--- /dev/null
+++ b/nixpkgs/.config/nixpkgs/common/nvim/plugins/trouble.lua
@@ -0,0 +1,3 @@
+require('trouble').setup {
+ use_diagnostic_signs = true
+}
diff --git a/nixpkgs/.config/nixpkgs/common/start.sh b/nixpkgs/.config/nixpkgs/common/start.sh
index 3dd6cf0..9bf656e 100755
--- a/nixpkgs/.config/nixpkgs/common/start.sh
+++ b/nixpkgs/.config/nixpkgs/common/start.sh
@@ -14,5 +14,7 @@ sleep 1
exec mako &
+sleep 1
+
# set bg
exec ./bg.sh &
diff --git a/nixpkgs/.config/nixpkgs/flake.lock b/nixpkgs/.config/nixpkgs/flake.lock
index 93e170d..e1301b2 100644
--- a/nixpkgs/.config/nixpkgs/flake.lock
+++ b/nixpkgs/.config/nixpkgs/flake.lock
@@ -4,15 +4,14 @@
"inputs": {
"nixpkgs": [
"nixpkgs"
- ],
- "utils": "utils"
+ ]
},
"locked": {
- "lastModified": 1678019241,
- "narHash": "sha256-ntj0u3guaIu9dT8aZ3HtnEVhIsibtM7EaG/2VteKaTw=",
+ "lastModified": 1682072616,
+ "narHash": "sha256-sR5RL3LACGuq5oePcAoJ/e1S3vitKQQSNACMYmqIE1E=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "e314f6cf211e480ab8fa101a017e593a9bb9f21b",
+ "rev": "47d6c3f65234230d37f1cf7d3d6b5575ec80fe0c",
"type": "github"
},
"original": {
@@ -23,11 +22,11 @@
},
"nixos-hardware": {
"locked": {
- "lastModified": 1678095239,
- "narHash": "sha256-4F6jovFJcwh6OkMsY94ZrHdrvVqZi1FX5pYv6V9LIQw=",
+ "lastModified": 1680876084,
+ "narHash": "sha256-eP9yxP0wc7XuVaODugh+ajgbFGaile2O1ihxiLxOuvU=",
"owner": "NixOS",
"repo": "nixos-hardware",
- "rev": "f6610997b0fc5ea5f9e142c348fca27497efe1c7",
+ "rev": "3006d2860a6ed5e01b0c3e7ffb730e9b293116e2",
"type": "github"
},
"original": {
@@ -39,11 +38,11 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1677932085,
- "narHash": "sha256-+AB4dYllWig8iO6vAiGGYl0NEgmMgGHpy9gzWJ3322g=",
+ "lastModified": 1681920287,
+ "narHash": "sha256-+/d6XQQfhhXVfqfLROJoqj3TuG38CAeoT6jO1g9r1k0=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "3c5319ad3aa51551182ac82ea17ab1c6b0f0df89",
+ "rev": "645bc49f34fa8eff95479f0345ff57e55b53437e",
"type": "github"
},
"original": {
@@ -59,21 +58,6 @@
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs"
}
- },
- "utils": {
- "locked": {
- "lastModified": 1667395993,
- "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
- "type": "github"
- },
- "original": {
- "owner": "numtide",
- "repo": "flake-utils",
- "type": "github"
- }
}
},
"root": "root",
diff --git a/nixpkgs/.config/nixpkgs/per-user/kdam0-work/home.nix b/nixpkgs/.config/nixpkgs/per-user/kdam0-work/home.nix
index 53c4819..abc71e5 100644
--- a/nixpkgs/.config/nixpkgs/per-user/kdam0-work/home.nix
+++ b/nixpkgs/.config/nixpkgs/per-user/kdam0-work/home.nix
@@ -23,6 +23,12 @@
search = "nix search nixpkgs $@";
conf = "ranger ~/.config/nixpkgs/common/";
up = "home-manager switch";
+ k9s = "docker run --rm -it -v ~/.kube/config:/root/.kube/config quay.io/derailed/k9s";
+ b = "ssh kdamani@burne.sat";
+ auto = "ssh kepler@auto.sat";
+ dns = "ssh administrator@ctrlf-dns";
+ pyans = "source ~/.venv/ansible/bin/activate";
+ pykep36 = "source ~/.venv/kepler36/bin/activate";
};
zplug = {
enable = true;
@@ -32,13 +38,23 @@
];
};
};
- programs.tmux = {
+ programs.tmux = {
enable = true;
clock24 = true;
shell = "${pkgs.zsh}/bin/zsh";
prefix = "C-a";
terminal = "screen-256color";
keyMode = "vi";
+ plugins = with pkgs; [
+ tmuxPlugins.sensible
+ {
+ plugin = tmuxPlugins.resurrect;
+ extraConfig = "set -g @resurrect-strategy-nvim 'session'";
+ }
+ tmuxPlugins.pain-control
+ tmuxPlugins.yank
+ ];
+ sensibleOnTop = true;
};
programs.git = {
enable = true;
@@ -48,45 +64,90 @@
lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit";
};
};
+ programs.neovim = {
+ enable = true;
+ withPython3 = false;
+ withRuby = true;
+ withNodeJs = true;
+ vimdiffAlias = true;
+ plugins = with pkgs.vimPlugins; [
+ tokyonight-nvim
+ nvim-treesitter.withAllGrammars
+ nvim-autopairs
+ nvim-cmp
+ nvim-web-devicons
+ nnn-vim
+ luasnip
+ cmp_luasnip
+ cmp-nvim-lsp
+ friendly-snippets
+ {
+ plugin = indent-blankline-nvim-lua;
+ type = "lua";
+ config = builtins.readFile(../../common/nvim/plugins/indent-blankline.lua);
+ }
+ {
+ plugin = lualine-nvim;
+ type = "lua";
+ config = builtins.readFile(../../common/nvim/plugins/lualine.lua);
+ }
+ {
+ plugin = trouble-nvim;
+ type = "lua";
+ config = builtins.readFile(../../common/nvim/plugins/trouble.lua);
+ }
+ {
+ plugin = telescope-nvim;
+ type = "lua";
+ config = builtins.readFile(../../common/nvim/plugins/telescope.lua);
+ }
+ telescope-fzf-native-nvim
+ {
+ plugin = leap-nvim;
+ type = "lua";
+ config = builtins.readFile(../../common/nvim/plugins/leap.lua);
+ }
+ mason-nvim
+ mason-lspconfig-nvim
+ neoconf-nvim
+ {
+ plugin = nvim-lspconfig;
+ type = "lua";
+ config = builtins.readFile(../../common/nvim/plugins/lspconfig.lua);
+ }
+ ];
+ extraConfig = builtins.readFile ../../common/nvim/init.vim;
+ };
home.stateVersion = "22.11";
- home.packages = [
+ home.packages = with pkgs; [
# Window environment
- (pkgs.dwl.override {
- # trying to supply config.home.homeDirectory here leads to "impure" usage.
- # so disabling it for now
- # conf = (builtins.readFile "${config.home.homeDirectory}/.config/dwl/config.h");
- conf = ../../common/dwl_4/config.h;
- })
pkgs.somebar
pkgs.foot
- pkgs.wofi
pkgs.wl-clipboard
pkgs.wf-recorder
pkgs.grim
pkgs.slurp
- pkgs.polkit
- pkgs.light
pkgs.wbg
# Text Editors
- pkgs.neovim
+ #pkgs.neovim
# Browsers
pkgs.firefox
pkgs.brave
# File Managers
pkgs.ranger
- pkgs.pcmanfm
- pkgs.gvfs
+ pkgs.nnn
# Fonts
pkgs.noto-fonts
- #pkgs.nerdfonts
+ pkgs.nerdfonts
pkgs.hack-font
# Notifications
pkgs.mako
pkgs.libnotify
# Image viewer
pkgs.imv
+ pkgs.sxiv
# Video player
pkgs.mpv
# Pdf Viewer
@@ -95,7 +156,11 @@
pkgs.acpi
# Other stuff
pkgs.entr
- pkgs.clang
+ pkgs.gcc
+ #stdenv.cc.cc.lib
+ #pkgs.libstdcxx5
+ #llvmPackages_6.libstdcxxClang
+ #pkgs.clang
pkgs.gnumake
pkgs.neofetch
pkgs.trash-cli
@@ -106,7 +171,14 @@
pkgs.unzip
pkgs.nodejs
pkgs.cargo
-
+ pkgs.wget
+ pkgs.lazygit
+ #pkgs.tree-sitter
+ # Work stuff
+ pkgs.mattermost-desktop
+ pkgs.signal-desktop
+ pkgs.wev
+ pkgs.sshpass
];
fonts.fontconfig.enable = true;
@@ -117,6 +189,61 @@
enableSshSupport = true;
};
+ systemd.user.services = {
+ nextcloud-sync = {
+ Unit = {
+ Description = "Auto sync Nextcloud";
+ After = "network-online.target";
+ };
+ Service = {
+ Type = "simple";
+ EnvironmentFile = "${config.home.homeDirectory}/.nextcloud.env";
+ ExecStart = ''
+ ${pkgs.nextcloud-client}/bin/nextcloudcmd \
+ -h --non-interactive \
+ --user "''${NEXTCLOUD_USER}" \
+ --password "''${NEXTCLOUD_PASSWORD}" \
+ ''${NEXTCLOUD_DIR} \
+ ''${NEXTCLOUD_URL}
+ '';
+ TimeoutStopSec = "180";
+ KillMode = "process";
+ KillSignal = "SIGINT";
+ };
+ Install.WantedBy = ["multi-user.target"];
+ };
+ bg-wallpaper = {
+ Unit = {
+ Description = "Auto refresh wallpaper";
+ After = "network-online.target";
+ };
+ Service = {
+ Type = "simple";
+ ExecStart = "${config.home.homeDirectory}/bg.sh";
+ TimeoutStopSec = "10";
+ KillMode = "process";
+ KillSignal = "SIGKILL";
+ };
+ Install.WantedBy = ["multi-user.target"];
+ };
+ };
+ systemd.user.timers = {
+ nextcloud-sync = {
+ Unit.Description = "Automatic sync files with Nextcloud when booted up after 5 minutes then rerun every 10 minutes";
+ Timer.OnUnitActiveSec = "10min";
+ Install.WantedBy = ["multi-user.target" "timers.target"];
+ };
+ };
+ systemd.user.timers = {
+ bg-wallpaper = {
+ Unit.Description = "Automatic update of wallpaper";
+ Timer.OnUnitActiveSec = "10min";
+ Install.WantedBy = ["multi-user.target" "timers.target"];
+ };
+ };
+ systemd.user.startServices = true;
+
+
# Source app specific configs
home.file."bg.sh".source = ../../common/bg.sh;
home.file."start.sh".source = ../../common/start.sh;
diff --git a/nvim/.config/nvim/.gitignore b/nvim/.config/nvim/.gitignore
deleted file mode 100644
index cc5457a..0000000
--- a/nvim/.config/nvim/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-tt.*
-.tests
-doc/tags
-debug
-.repro
-foo.*
-*.log
-data
diff --git a/nvim/.config/nvim/.neoconf.json b/nvim/.config/nvim/.neoconf.json
deleted file mode 100644
index 7c48087..0000000
--- a/nvim/.config/nvim/.neoconf.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "neodev": {
- "library": {
- "enabled": true,
- "plugins": true
- }
- },
- "neoconf": {
- "plugins": {
- "lua_ls": {
- "enabled": true
- }
- }
- }
-}
diff --git a/nvim/.config/nvim/LICENSE b/nvim/.config/nvim/LICENSE
deleted file mode 100644
index 261eeb9..0000000
--- a/nvim/.config/nvim/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/nvim/.config/nvim/README.md b/nvim/.config/nvim/README.md
deleted file mode 100644
index 185280b..0000000
--- a/nvim/.config/nvim/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# šŸ’¤ LazyVim
-
-A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
-Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua
deleted file mode 100644
index 2514f9e..0000000
--- a/nvim/.config/nvim/init.lua
+++ /dev/null
@@ -1,2 +0,0 @@
--- bootstrap lazy.nvim, LazyVim and your plugins
-require("config.lazy")
diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json
deleted file mode 100644
index 61ea705..0000000
--- a/nvim/.config/nvim/lazy-lock.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "LazyVim": { "branch": "main", "commit": "7ce1b1519a45f48aa4b5f35b7b7a886b42fe56d8" },
- "LuaSnip": { "branch": "master", "commit": "bc8ec05022743d3f08bda7a76c6bb5e9a9024581" },
- "alpha-nvim": { "branch": "main", "commit": "dafa11a6218c2296df044e00f88d9187222ba6b0" },
- "bufferline.nvim": { "branch": "main", "commit": "ef4fdc5cea3473801dce89b5fdfe633380c80c65" },
- "catppuccin": { "branch": "main", "commit": "73587f9c454da81679202f1668c30fea6cdafd5e" },
- "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
- "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" },
- "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
- "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" },
- "dressing.nvim": { "branch": "master", "commit": "c705b3890779ea05bd910e9d06af8a209bfb6ad8" },
- "flit.nvim": { "branch": "main", "commit": "f60e4b3d49bb5a5e97cfffe66f2e671eb422078e" },
- "friendly-snippets": { "branch": "main", "commit": "8d91ba2dc2421a54981115f61b914974f938fa77" },
- "gitsigns.nvim": { "branch": "main", "commit": "372d5cb485f2062ac74abc5b33054abac21d8b58" },
- "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" },
- "lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" },
- "leap.nvim": { "branch": "main", "commit": "f74473d23ebf60957e0db3ff8172349a82e5a442" },
- "lualine.nvim": { "branch": "master", "commit": "c28a7427c3fb29322db136f0564ec58807b26747" },
- "mason-lspconfig.nvim": { "branch": "main", "commit": "a5ca8b03972b347b74b2ad2f7f23f120a514593b" },
- "mason.nvim": { "branch": "main", "commit": "489f22baed01c28e4b5ee163d36063f0db71346e" },
- "mini.ai": { "branch": "main", "commit": "fdb8dd34c326040f99b178536eeaee41d1efe643" },
- "mini.bufremove": { "branch": "main", "commit": "93c7230e83f5acb8890cdb2abaf3557f09305b01" },
- "mini.comment": { "branch": "main", "commit": "9ead47cef4266efa5145808b838762c658b74f74" },
- "mini.indentscope": { "branch": "main", "commit": "43f6761c9a3e397b7c12b3c72f678bcf61efcfcf" },
- "mini.pairs": { "branch": "main", "commit": "771c08bd313614c7e9a1904d277ac76eb226f674" },
- "mini.surround": { "branch": "main", "commit": "cc962bae0890217f8473390abc8cef988519d370" },
- "neo-tree.nvim": { "branch": "v2.x", "commit": "2b2f74828eeb02cf29d6b21aa32eedadadc94ca7" },
- "neoconf.nvim": { "branch": "main", "commit": "6aaeb48336b369d7ed8ef243bfd0d76ec79362cd" },
- "neodev.nvim": { "branch": "main", "commit": "864b35006d3de24c60e44b566de8018f919b13e6" },
- "noice.nvim": { "branch": "main", "commit": "1da4edfba3e9278e98fc9723d7235d9ab3889744" },
- "nui.nvim": { "branch": "main", "commit": "1f43b13d133eb4b4f53a4485379d9afa58808389" },
- "null-ls.nvim": { "branch": "main", "commit": "5855128178fa78293acdfb5b4e41ef046779240b" },
- "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" },
- "nvim-lspconfig": { "branch": "master", "commit": "1ec6f5cbf6ffc44c84783d70039df5295ca22b4e" },
- "nvim-navic": { "branch": "master", "commit": "27124a773d362628b114cd12016e743dab4ccf3e" },
- "nvim-notify": { "branch": "master", "commit": "50d037041ada0895aeba4c0215cde6d11b7729c4" },
- "nvim-spectre": { "branch": "master", "commit": "6e5ce371f93625c7dc43f5e2647d3647f2ea15e2" },
- "nvim-treesitter": { "branch": "master", "commit": "584ccea56e2d37b31ba292da2b539e1a4bb411ca" },
- "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" },
- "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" },
- "nvim-web-devicons": { "branch": "master", "commit": "0568104bf8d0c3ab16395433fcc5c1638efc25d4" },
- "persistence.nvim": { "branch": "main", "commit": "c814fae5c37aa0aba9cd9da05df6e52b88d612c3" },
- "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" },
- "telescope.nvim": { "branch": "master", "commit": "942fe5faef47b21241e970551eba407bc10d9547" },
- "todo-comments.nvim": { "branch": "main", "commit": "8febc60a76feefd8203077ef78b6a262ea1a41f9" },
- "tokyonight.nvim": { "branch": "main", "commit": "1b0c88094548a62641ece1e668fa9a234e1c539e" },
- "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" },
- "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" },
- "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" },
- "vim-startuptime": { "branch": "master", "commit": "6580cf539c33a212f4f5542068a3b4dd2b3ad834" },
- "which-key.nvim": { "branch": "main", "commit": "4b73390eec680b4c061ea175eb32c0ff3412271d" }
-} \ No newline at end of file
diff --git a/nvim/.config/nvim/lua/config/autocmds.lua b/nvim/.config/nvim/lua/config/autocmds.lua
deleted file mode 100644
index 27e9e06..0000000
--- a/nvim/.config/nvim/lua/config/autocmds.lua
+++ /dev/null
@@ -1,3 +0,0 @@
--- Autocmds are automatically loaded on the VeryLazy event
--- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
--- Add any additional autocmds here
diff --git a/nvim/.config/nvim/lua/config/keymaps.lua b/nvim/.config/nvim/lua/config/keymaps.lua
deleted file mode 100644
index 2c134f7..0000000
--- a/nvim/.config/nvim/lua/config/keymaps.lua
+++ /dev/null
@@ -1,3 +0,0 @@
--- Keymaps are automatically loaded on the VeryLazy event
--- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
--- Add any additional keymaps here
diff --git a/nvim/.config/nvim/lua/config/lazy.lua b/nvim/.config/nvim/lua/config/lazy.lua
deleted file mode 100644
index 891b190..0000000
--- a/nvim/.config/nvim/lua/config/lazy.lua
+++ /dev/null
@@ -1,46 +0,0 @@
-local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
-if not vim.loop.fs_stat(lazypath) then
- -- bootstrap lazy.nvim
- -- stylua: ignore
- vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
-end
-vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
-
-require("lazy").setup({
- spec = {
- -- add LazyVim and import its plugins
- { "LazyVim/LazyVim", import = "lazyvim.plugins" },
- -- import any extras modules here
- -- { import = "lazyvim.plugins.extras.lang.typescript" },
- -- { import = "lazyvim.plugins.extras.lang.json" },
- -- { import = "lazyvim.plugins.extras.ui.mini-animate" },
- -- import/override with your plugins
- { import = "plugins" },
- },
- defaults = {
- -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
- -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
- lazy = false,
- -- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
- -- have outdated releases, which may break your Neovim install.
- version = false, -- always use the latest git commit
- -- version = "*", -- try installing the latest stable version for plugins that support semver
- },
- install = { colorscheme = { "tokyonight", "habamax" } },
- checker = { enabled = true }, -- automatically check for plugin updates
- performance = {
- rtp = {
- -- disable some rtp plugins
- disabled_plugins = {
- "gzip",
- -- "matchit",
- -- "matchparen",
- -- "netrwPlugin",
- "tarPlugin",
- "tohtml",
- "tutor",
- "zipPlugin",
- },
- },
- },
-})
diff --git a/nvim/.config/nvim/lua/config/options.lua b/nvim/.config/nvim/lua/config/options.lua
deleted file mode 100644
index 3ea1454..0000000
--- a/nvim/.config/nvim/lua/config/options.lua
+++ /dev/null
@@ -1,3 +0,0 @@
--- Options are automatically loaded before lazy.nvim startup
--- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
--- Add any additional options here
diff --git a/nvim/.config/nvim/lua/plugins/example.lua b/nvim/.config/nvim/lua/plugins/example.lua
deleted file mode 100644
index 39f342f..0000000
--- a/nvim/.config/nvim/lua/plugins/example.lua
+++ /dev/null
@@ -1,267 +0,0 @@
--- since this is just an example spec, don't actually load anything here and return an empty spec
--- stylua: ignore
-if true then return {} end
-
--- every spec file under config.plugins will be loaded automatically by lazy.nvim
---
--- In your plugin files, you can:
--- * add extra plugins
--- * disable/enabled LazyVim plugins
--- * override the configuration of LazyVim plugins
-return {
- -- add gruvbox
- { "ellisonleao/gruvbox.nvim" },
-
- -- Configure LazyVim to load gruvbox
- {
- "LazyVim/LazyVim",
- opts = {
- colorscheme = "gruvbox",
- },
- },
-
- -- change trouble config
- {
- "folke/trouble.nvim",
- -- opts will be merged with the parent spec
- opts = { use_diagnostic_signs = true },
- },
-
- -- disable trouble
- { "folke/trouble.nvim", enabled = false },
-
- -- add symbols-outline
- {
- "simrat39/symbols-outline.nvim",
- cmd = "SymbolsOutline",
- keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } },
- config = true,
- },
-
- -- override nvim-cmp and add cmp-emoji
- {
- "hrsh7th/nvim-cmp",
- dependencies = { "hrsh7th/cmp-emoji" },
- ---@param opts cmp.ConfigSchema
- opts = function(_, opts)
- local cmp = require("cmp")
- opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } }))
- end,
- },
-
- -- change some telescope options and a keymap to browse plugin files
- {
- "nvim-telescope/telescope.nvim",
- keys = {
- -- add a keymap to browse plugin files
- -- stylua: ignore
- {
- "<leader>fp",
- function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
- desc = "Find Plugin File",
- },
- },
- -- change some options
- opts = {
- defaults = {
- layout_strategy = "horizontal",
- layout_config = { prompt_position = "top" },
- sorting_strategy = "ascending",
- winblend = 0,
- },
- },
- },
-
- -- add telescope-fzf-native
- {
- "telescope.nvim",
- dependencies = {
- "nvim-telescope/telescope-fzf-native.nvim",
- build = "make",
- config = function()
- require("telescope").load_extension("fzf")
- end,
- },
- },
-
- -- add pyright to lspconfig
- {
- "neovim/nvim-lspconfig",
- ---@class PluginLspOpts
- opts = {
- ---@type lspconfig.options
- servers = {
- -- pyright will be automatically installed with mason and loaded with lspconfig
- pyright = {},
- },
- },
- },
-
- -- add tsserver and setup with typescript.nvim instead of lspconfig
- {
- "neovim/nvim-lspconfig",
- dependencies = {
- "jose-elias-alvarez/typescript.nvim",
- init = function()
- require("lazyvim.util").on_attach(function(_, buffer)
- -- stylua: ignore
- vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
- vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
- end)
- end,
- },
- ---@class PluginLspOpts
- opts = {
- ---@type lspconfig.options
- servers = {
- -- tsserver will be automatically installed with mason and loaded with lspconfig
- tsserver = {},
- },
- -- you can do any additional lsp server setup here
- -- return true if you don't want this server to be setup with lspconfig
- ---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
- setup = {
- -- example to setup with typescript.nvim
- tsserver = function(_, opts)
- require("typescript").setup({ server = opts })
- return true
- end,
- -- Specify * to use this function as a fallback for any server
- -- ["*"] = function(server, opts) end,
- },
- },
- },
-
- -- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
- -- treesitter, mason and typescript.nvim. So instead of the above, you can use:
- { import = "lazyvim.plugins.extras.lang.typescript" },
-
- -- add more treesitter parsers
- {
- "nvim-treesitter/nvim-treesitter",
- opts = {
- ensure_installed = {
- "bash",
- "help",
- "html",
- "javascript",
- "json",
- "lua",
- "markdown",
- "markdown_inline",
- "python",
- "query",
- "regex",
- "tsx",
- "typescript",
- "vim",
- "yaml",
- },
- },
- },
-
- -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
- -- would overwrite `ensure_installed` with the new value.
- -- If you'd rather extend the default config, use the code below instead:
- {
- "nvim-treesitter/nvim-treesitter",
- opts = function(_, opts)
- -- add tsx and treesitter
- vim.list_extend(opts.ensure_installed, {
- "tsx",
- "typescript",
- })
- end,
- },
-
- -- the opts function can also be used to change the default opts:
- {
- "nvim-lualine/lualine.nvim",
- event = "VeryLazy",
- opts = function(_, opts)
- table.insert(opts.sections.lualine_x, "šŸ˜„")
- end,
- },
-
- -- or you can return new options to override all the defaults
- {
- "nvim-lualine/lualine.nvim",
- event = "VeryLazy",
- opts = function()
- return {
- --[[add your custom lualine config here]]
- }
- end,
- },
-
- -- use mini.starter instead of alpha
- { import = "lazyvim.plugins.extras.ui.mini-starter" },
-
- -- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc
- { import = "lazyvim.plugins.extras.lang.json" },
-
- -- add any tools you want to have installed below
- {
- "williamboman/mason.nvim",
- opts = {
- ensure_installed = {
- "stylua",
- "shellcheck",
- "shfmt",
- "flake8",
- },
- },
- },
-
- -- Use <tab> for completion and snippets (supertab)
- -- first: disable default <tab> and <s-tab> behavior in LuaSnip
- {
- "L3MON4D3/LuaSnip",
- keys = function()
- return {}
- end,
- },
- -- then: setup supertab in cmp
- {
- "hrsh7th/nvim-cmp",
- dependencies = {
- "hrsh7th/cmp-emoji",
- },
- ---@param opts cmp.ConfigSchema
- opts = function(_, opts)
- local has_words_before = function()
- unpack = unpack or table.unpack
- local line, col = unpack(vim.api.nvim_win_get_cursor(0))
- return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
- end
-
- local luasnip = require("luasnip")
- local cmp = require("cmp")
-
- opts.mapping = vim.tbl_extend("force", opts.mapping, {
- ["<Tab>"] = cmp.mapping(function(fallback)
- if cmp.visible() then
- cmp.select_next_item()
- -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable()
- -- they way you will only jump inside the snippet region
- elseif luasnip.expand_or_jumpable() then
- luasnip.expand_or_jump()
- elseif has_words_before() then
- cmp.complete()
- else
- fallback()
- end
- end, { "i", "s" }),
- ["<S-Tab>"] = cmp.mapping(function(fallback)
- if cmp.visible() then
- cmp.select_prev_item()
- elseif luasnip.jumpable(-1) then
- luasnip.jump(-1)
- else
- fallback()
- end
- end, { "i", "s" }),
- })
- end,
- },
-}
diff --git a/nvim/.config/nvim/spell/en.utf-8.add b/nvim/.config/nvim/spell/en.utf-8.add
deleted file mode 100644
index 888c537..0000000
--- a/nvim/.config/nvim/spell/en.utf-8.add
+++ /dev/null
@@ -1,17 +0,0 @@
-NixOS
-FOMO
-Ansible
-wifi
-Manjaro
-unixporn
-TTY
-config
-hostname
-Init
-hostnames
-configs
-init
-dwl
-nixpkgs
-iso
-Xorg
diff --git a/nvim/.config/nvim/spell/en.utf-8.add.spl b/nvim/.config/nvim/spell/en.utf-8.add.spl
deleted file mode 100644
index 22c9bc7..0000000
--- a/nvim/.config/nvim/spell/en.utf-8.add.spl
+++ /dev/null
Binary files differ
diff --git a/nvim/.config/nvim/stylua.toml b/nvim/.config/nvim/stylua.toml
deleted file mode 100644
index 5d6c50d..0000000
--- a/nvim/.config/nvim/stylua.toml
+++ /dev/null
@@ -1,3 +0,0 @@
-indent_type = "Spaces"
-indent_width = 2
-column_width = 120 \ No newline at end of file