87 Commits

Author SHA1 Message Date
08585a0010 nvim: remove unnecessary files 2025-11-16 01:05:05 +01:00
48ad61643f nvim: Modify vimtex config to use lua instead of vimscript 2025-11-16 00:22:12 +01:00
959cc167c6 nvim: Update plugins 2025-11-15 23:55:26 +01:00
ba425ecf49 nvim: Add nvim-cmp; enable luasnip autosnippets 2025-11-15 23:55:05 +01:00
b2be54b2b9 nvim: Enable messages in noice; Remove markview 2025-11-15 23:52:16 +01:00
ffb7d66888 nvim: Fix treesitter config 2025-11-15 23:51:23 +01:00
924ba5c280 nvim: Disable lazy checker 2025-11-15 23:50:45 +01:00
641fac3142 nvim: Remove useless keymap 2025-11-13 23:56:10 +01:00
d575ec44e0 nvim: Update plugins 2025-11-13 23:49:03 +01:00
f45a4bd8c1 zathura: Comment out unnecessary options from zathurarc 2025-11-13 23:48:19 +01:00
dcb4e6e71d Fix vimtex backward search 2025-11-13 23:47:56 +01:00
2bf187255a nvim: Add time-tracker, markview, and vimtex; add texlab config 2025-11-10 12:57:08 +01:00
b951634ce6 nvim: Use lazy instead of vim.pack 2025-11-10 12:33:27 +01:00
24fd231176 tmux: Remove time and date from statuline 2025-11-09 23:26:05 +01:00
800ce599e9 Reorganized plugins; Found out luasnip autosnippets are responsible for flickering statusline 2025-11-09 23:25:21 +01:00
9aba8cd855 nvim: Formatting; disable copilot by default 2025-11-08 16:47:45 +01:00
52d0fd3efa Add luasnip and snippets 2025-11-08 16:47:12 +01:00
2f902123a9 nvim: Add more plugins; create lsp setup 2025-11-08 16:12:57 +01:00
8ace6f1d1c Add more plugins; Readd overseer templates 2025-11-08 02:00:52 +01:00
de2734ba98 nvim: Remove entire old config; Add new plugins in new format 2025-11-07 22:23:03 +01:00
a4b9fc3cf9 Replace autopep8 by ruff formatter 2025-07-25 14:21:48 -04:00
06e1bd1c2e Add pytorch to win+p python window 2025-07-25 14:21:21 -04:00
1f7dbe05a2 Add csvview plugin 2025-07-25 14:21:05 -04:00
b963d7746e nvim: Update plugins 2025-06-17 22:15:51 -04:00
067c6aa2ee nvim: Change formatter config 2025-06-17 22:15:04 -04:00
de6447fe19 nvim: Comment out matlab lsp config 2025-06-17 22:14:10 -04:00
516b187060 nvim: Disable copilot by default 2025-06-17 22:13:04 -04:00
7cfdf63c01 nvim: Reenable pastify with different keymap 2025-06-17 22:12:23 -04:00
192b290e4a nvim: Change markdown_preview build process 2025-06-17 22:11:51 -04:00
3c76341341 nvim: Remove nvim-tree; Add oil.nvim 2025-06-17 22:10:58 -04:00
efeca2ff10 nvim: Fix overseer task name 2025-06-17 22:10:23 -04:00
c7819c793f nvim: Enable exrc 2025-06-17 22:08:48 -04:00
d9671f74c7 Add latex snippets 2025-06-17 22:08:34 -04:00
b56400c12c sway: Enable dwt; Change workspace names; Change workspace display naming 2025-06-17 22:07:41 -04:00
7472a05642 Add nvim QQ remap 2025-06-17 22:07:10 -04:00
ed605f580e Remove Kinemic screen config, add Bell labs 2025-06-17 22:05:24 -04:00
2e0cc89584 Change source paths in zshrc 2025-06-17 22:04:53 -04:00
300a13d443 nvim: Update plugins 2025-03-10 09:04:34 +01:00
fa809f6273 nvim: Remove killersheep plugin 2025-03-10 09:03:17 +01:00
4bc2809648 nvim: Add avante and pastify to disabled_plugins 2025-03-10 09:03:00 +01:00
ac9058d3e3 nvim: Modify jupyter notebook config 2025-03-10 09:02:07 +01:00
99fc6ec017 nvim: Remove barbecue plugin 2025-03-10 09:01:03 +01:00
3955038a6a nvim: Add markdown-toc plugin 2025-03-10 08:59:47 +01:00
76266a78a6 zathura: Add config 2025-03-10 08:56:31 +01:00
b44abad337 Add flashfocus and sway window transparency 2025-03-10 08:55:32 +01:00
373651b9ee kanshi: Remove non working options from config 2025-03-10 08:48:07 +01:00
72fb89da48 kitty: Disable transparent background 2025-03-10 08:47:31 +01:00
522c655086 nvim: Make recording indicator visible 2025-03-10 08:45:37 +01:00
0756d4281c Make zathura default vimtex viewer 2025-03-10 08:43:27 +01:00
ffb8c5a5f0 Change neovim c++ comment string 2025-03-10 08:42:51 +01:00
a897ada9b5 Disable touchpad drag lock 2025-03-10 08:42:33 +01:00
0f2979d97f Add allow-passthrough option to tmux config 2025-03-10 08:42:03 +01:00
144212e33e Add/modify zsh aliases 2025-03-10 08:39:41 +01:00
e63a60efca Change copilot to lua version; Change zsh completion shortcut 2025-01-14 03:00:32 +01:00
1ad8d13b23 zsh: Change zsh-autosuggestions.zsh path 2024-10-17 04:44:07 +02:00
62c556f898 sway: Change i3-msg to swaymsg in config 2024-10-17 04:43:00 +02:00
85d2139be6 Specify font in kitty config 2024-10-17 04:42:32 +02:00
e4c6d3b5a4 Add papis config 2024-10-16 20:40:54 +02:00
4037fe4c36 nvim: Update plugins 2024-10-16 17:44:49 +02:00
ec628cd17f Add kanshi config 2024-10-16 17:39:33 +02:00
c54fe574c0 Add 'lazy=false' in auto_session conf 2024-10-16 17:35:30 +02:00
b9eed4c40f nvim: Add time tracker plugin 2024-10-16 17:20:02 +02:00
d1f835ff1c Update whichkey config to new version 2024-10-16 17:14:35 +02:00
9b2d29a3a3 Add matlab path to lsp config 2024-10-16 17:13:12 +02:00
13a9467abd Remove duplicate keymap 2024-10-16 17:12:42 +02:00
2c87ad3a67 Add custom mason registry 2024-10-16 17:12:31 +02:00
44395835e6 Format changes 2024-10-16 17:11:35 +02:00
3e5ad2225a change neoformat markdown spec 2024-10-16 16:50:32 +02:00
8d6c988661 Change clang format 2024-10-16 16:48:08 +02:00
156e36053e Make Release default version in overseer cmake action 2024-10-16 16:47:50 +02:00
f2d9534fba Change trouble symbol list width 2024-10-16 16:47:16 +02:00
83b264f678 Remove useless keymap 2024-10-16 16:45:46 +02:00
18aa4bc748 Fix waybar clock 2024-10-16 16:45:17 +02:00
b4b1e5cdf7 Add zsh completion 2024-10-16 16:44:53 +02:00
1223893f49 Fix flog alias 2024-08-25 16:04:12 +02:00
a2e83bbe00 Change z command in zshrc to cd 2024-08-25 16:02:04 +02:00
eb7fabbb48 Update aliases in zshrc 2024-08-25 15:57:16 +02:00
30e2b8a052 Update neovim plugins 2024-08-25 15:47:24 +02:00
b7fa096c90 Automatically import numpy and sympy when starting python shell 2024-08-25 15:46:42 +02:00
92d2e7118a Don't start blueman-applet in sway config 2024-08-25 15:46:19 +02:00
b99e5a5ec3 Add brightness control scripts 2024-08-25 15:45:28 +02:00
ef74b0e660 Enable interactive comments on zsh 2024-08-25 15:44:41 +02:00
bb2311dd43 Update workspace configuration 2024-08-25 15:44:21 +02:00
949e930a56 Add new neovim welcome screen and change probability definitions 2024-06-18 01:48:01 +02:00
1ea00e644d Check out newest version of trouble and modify keymaps 2024-06-18 01:47:35 +02:00
be256e882b Fix monitor config 2024-06-18 01:47:12 +02:00
478ded7f6e Add 'c' alias for config 2024-06-18 01:46:50 +02:00
71 changed files with 1029 additions and 1504 deletions

View File

@@ -3,6 +3,6 @@
## Usage ## Usage
```bash ```bash
$ stow -S clang-format kitty nvim sway tmux waybar wofi zsh $ stow -S clang-format kitty nvim sway tmux waybar wofi zsh kanshi papis flashfocus zathura
``` ```

View File

@@ -9,6 +9,7 @@ PointerAlignment: Left
AccessModifierOffset: -4 AccessModifierOffset: -4
AlwaysBreakTemplateDeclarations: true AlwaysBreakTemplateDeclarations: true
LambdaBodyIndentation: Signature LambdaBodyIndentation: Signature
AllowShortLambdasOnASingleLine: None
MaxEmptyLinesToKeep: 3 MaxEmptyLinesToKeep: 3
#ColumnLimit: 128 #ColumnLimit: 128

View File

@@ -0,0 +1,99 @@
## @@@@@@@@@@@@@@@@@@@@@@
## Flashfocus config file
## @@@@@@@@@@@@@@@@@@@@@@
# Opacity of window during flash.
flash-opacity: 0.8
# Windows are restored to this opacity value at the end of a flash.
default-opacity: 1
# Length of flash in milliseconds.
time: 500
# If true, flashes are not faded out. This will improve performance but flashes
# won't be smooth.
simple: false
# Number of animation frames in a flash.
ntimepoints: 10
# Set this to false if you don't want windows to flash on focus.
flash-on-focus: true
# Set this to false if you don't want fullscreen windows to flash.
flash-fullscreen: true
# Whether or not to flash windows if they are the only window on the desktop.
# Possible values:
# 'always':
# Always flash lone windows
# 'never':
# Never flash lone windows
# 'on_open_close':
# Lone windows will be flashed only if a) if they were just opened and b)
# if another window was just closed.
# 'on_switch':
# Lone windows will be flashed only upon switching desktops.
flash-lone-windows: 'always'
# Defining window-specific flash rules
#
# X11-based window managers (e.g i3, bspwm)
# -----------------------------------------
# Flash rules are defined by matching the WM_CLASS property of a window. To get
# the WM_CLASS property use 'xprop WM_CLASS' and click on a window. The
# property is a tuple of the form (window-id, window-class). The window-class
# is usually the name of the application, but not always.
#
#
# Say I'd like to set all 'termite' windows to 80% opacity but leave other
# windows at full opacity:
#
# rules:
# - window-class: Termite
# default-opacity: 0.8
#
#
# I also would prefer that firefox windows are not flashed on focus:
#
# rules:
# - window-class: firefox
# flash-on-focus: False
# - window-class: Termite
# default-opacity: 0.8
#
#
# For more complicated rules, you can use (python-style) regexes:
#
# rules:
# - window-id: ^(?!termite)$
# default-opacity: 0.8
#
#
# Sway
# ----
# Native wayland apps can be matched using the app_id and window name. These
# can be found using `swaymsg -t get_tree`. XWayland apps are matched with
# using WM_CLASS as above (this can also be found with `swaymsg`)
#
# Given that termite is wayland native and firefox is not, the rules above
# could instead be written:
#
# rules:
# - window-class: firefox
# flash-on-focus: False
# - app-id: termite
# default-opacity: 0.8
#
# rules:
# - window-name: ^(?!termite)$
# default-opacity: 0.8
rules:
- app-id: kitty
flash-opacity: 0.85
default-opacity: 0.94
- app-id: org.pwmt.zathura
flash-opacity: 0.85
default-opacity: 0.94

View File

@@ -0,0 +1,9 @@
profile Home {
output "eDP-1" mode 2256x1504@59.999Hz position 1920,875 transform normal scale 1.399999976158142
output "DP-11" mode 1920x1200@59.95Hz position 0,0 transform normal scale 1.0
}
profile Bell {
output "eDP-1" mode 2256x1504@59.999Hz position 2137,425 transform normal scale 1.399999976158142
output "DP-3" mode 1920x1080@59.951Hz position 0,0 transform normal scale 0.9
}

View File

@@ -3,6 +3,13 @@
include current-theme.conf include current-theme.conf
# END_KITTY_THEME # END_KITTY_THEME
# #
background_opacity 0.87
enable_audio_bell no enable_audio_bell no
touch_scroll_multiplier 8.0 touch_scroll_multiplier 8.0
# BEGIN_KITTY_FONTS
font_family family="Liberation Mono"
bold_font auto
italic_font auto
bold_italic_font auto
# END_KITTY_FONTS

View File

@@ -0,0 +1,8 @@
{
"runtime.version": "LuaJIT",
"rutime.path": ["lua/?.lua", "lua/?/init.lua"],
"diagnostics.globals": ["vim"],
"workspace.checkThirdParty": false,
"workspace.library": ["$VIMRUNTIME"]
}

View File

@@ -1,38 +0,0 @@
# neovim config
`neovim` configuration files.
## Usage
1. Install depencencies
* See one of the Dockerfiles in `dockerfiles` for the necessary packages
* Use a patched font (see, e.g., [nerd fonts](https://www.nerdfonts.com/))
2. Clone repository into configuration directory:
```bash
$ git clone ssh://git@git.mercurial-manifold.eu:2224/an.tsouchlos/config-nvim.git ~/.config/nvim
```
3. If desired, configure github copilot by running `:Copilot setup`
## Build docker images
### Arch linux
Because AUR package installation requires the `fakeroot` command, which is
extremely slow when [no limit has been set on the maximum number of file
descriptors](https://github.com/moby/moby/issues/45436), the image has to
be build using the `--ulimit "nofile=1024:1048576"` option:
```bash
$ docker build . -f dockerfiles/Dockerfile.archlinux --ulimit "nofile=1024:1048576" -t config
$ docker run --rm -it config
```
### Ubuntu
Because neovim is installed through an `AppImage`, the container has to be
started with `--privileged` to be able to run `nvim`.
```bash
$ docker build . -f dockerfiles/Dockerfile.ubuntu -t config
$ docker run --rm -it --privileged config
```

View File

@@ -1,61 +0,0 @@
FROM archlinux:latest
#
# General boiler plate
#
# Add mock non-root user for AUR package compilation
RUN useradd --no-create-home --shell=/bin/false build && usermod -L build
RUN echo 'build ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
# Ready image for installation
RUN pacman-key --init
RUN pacman-key --populate archlinux
RUN pacman -Sy archlinux-keyring --noconfirm && pacman -Su --noconfirm
RUN pacman -Syu --noconfirm
# Install generic dependencies
RUN pacman -S git wget sudo base-devel --noconfirm
#
# Neovim specific
#
# Install nvim
RUN pacman -S neovim --noconfirm
# Install nvim module dependencies
RUN pacman -S python-pynvim --noconfirm # python3 provider
RUN pacman -S npm --noconfirm # mason requirements
RUN pacman -S fd ripgrep --noconfirm # Telescope requirements
RUN pacman -S powerline-fonts --noconfirm # vim-airline requirements
#RUN pacman -S autopep8 texlive-binextra \
# perl-yaml-tiny perl-file-homedir --noconfirm # neoformat requirements
WORKDIR /tmp
USER build
ARG HOME=/tmp
RUN wget https://aur.archlinux.org/cgit/aur.git/snapshot/neovim-remote.tar.gz
RUN tar xzvf neovim-remote.tar.gz
RUN cd neovim-remote && makepkg -s --noconfirm
USER root
RUN pacman -U neovim-remote/*.pkg.tar.zst --noconfirm # vimtex requirements
WORKDIR /
# Copy configuration
RUN mkdir -p /root/.config/nvim
COPY . /root/.config/nvim

View File

@@ -1,96 +0,0 @@
FROM ubuntu:22.04
#
# General boiler plate
#
# Ready image for installation
ARG DEBIAN_FRONTEND=noninteractive
RUN apt update -y && apt upgrade -y
# Install generic dependencies
RUN apt install git python3 python3-pip sudo -y
# Set up user
ARG UNAME=dev
ARG UID=1000
ARG GID=1000
RUN groupadd -g $GID -o $UNAME
RUN useradd -m -u $UID -g $GID -o -s /bin/bash $UNAME
RUN adduser $UNAME sudo
RUN echo "%sudo ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers.d/nopassword
#
# Install neovim
#
# Install neovim
WORKDIR /tmp
RUN git clone https://github.com/neovim/neovim.git
WORKDIR /tmp/neovim
RUN git checkout stable
RUN apt install ninja-build gettext cmake unzip curl -y
RUN make CMAKE_BUILD_TYPE=Release -j `nproc` && make install
WORKDIR /
# Install package dependencies
RUN python3 -m pip install pynvim # python3 provider
RUN python3 -m pip install jupytext # jupytext requirements
RUN apt install fd-find ripgrep -y # Telescope requirements
RUN apt install fonts-powerline -y # vim-airline requirements
RUN python3 -m pip install neovim-remote # vimtex requirements
RUN apt install curl -y # vim-doge requirements
RUN apt install npm python3-venv luarocks -y # mason build requirements
RUN python3 -m pip install cairosvg pnglatex plotly kaleido pyperclip jupyter-client ipykernel # molten requirements
# Configure
RUN mkdir -p "/home/${UNAME}/.config/nvim"
COPY . "/home/${UNAME}/.config/nvim"
RUN chown -R $UNAME:$UNAME "/home/${UNAME}/.config"
USER $UNAME
RUN nvim --headless "+Lazy! sync" +qa
RUN nvim --headless "+MasonInstall clangd pyright cmake-language-server bash-language-server texlab clang-format latexindent mdformat autopep8" +qa
RUN nvim --headless "+TSInstallSync markdown" +qa # For some reason, without this markdown installation fails the first time
USER root
#
# Install other tools
#
# Install firefox
# (Taken from https://askubuntu.com/a/1404401)
RUN apt install software-properties-common -y
RUN add-apt-repository ppa:mozillateam/ppa
RUN echo '\n\
Package: *\n\
Pin: release o=LP-PPA-mozillateam\n\
Pin-Priority: 1001\n\n\
Package: firefox\n\
Pin: version 1:1snap1-0ubuntu2\n\
Pin-Priority: -1\n\
' | tee /etc/apt/preferences.d/mozilla-firefox
RUN apt install firefox -y
RUN echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox
# Other stuff
RUN apt install fzf xclip -y
USER $UNAME
WORKDIR /home/$UNAME
CMD /bin/bash

View File

@@ -1,52 +0,0 @@
FROM ubuntu:22.04
#
# General boiler plate
#
# Ready image for installation
ARG DEBIAN_FRONTEND=noninteractive
RUN apt update -y && apt upgrade -y
# Install generic dependencies
RUN apt install git python3 python3-pip -y
#
# Install neovim
#
# Install neovim
WORKDIR /tmp
RUN git clone https://github.com/neovim/neovim.git
WORKDIR /tmp/neovim
RUN git checkout stable
RUN apt install ninja-build gettext cmake unzip curl -y
RUN make CMAKE_BUILD_TYPE=Release -j `nproc` && make install
WORKDIR /
# Install package dependencies
RUN python3 -m pip install pynvim # python3 provider
RUN python3 -m pip install jupytext # jupytext requirements
RUN apt install fd-find ripgrep -y # Telescope requirements
RUN apt install fonts-powerline -y # vim-airline requirements
RUN python3 -m pip install neovim-remote # vimtex requirements
RUN apt install curl -y # vim-doge requirements
RUN apt install npm python3-venv luarocks -y # mason build requirements
RUN python3 -m pip install cairosvg pnglatex plotly kaleido pyperclip jupyter-client ipykernel # molten requirements
# Configure
RUN mkdir -p /root/.config/nvim
COPY . /root/.config/nvim
RUN nvim --headless "+Lazy! sync" +qa
RUN nvim --headless "+MasonInstall clangd pyright cmake-language-server bash-language-server texlab clang-format latexindent luaformatter mdformat autopep8" +qa
RUN nvim --headless "+TSInstallSync markdown" +qa # For some reason, without this markdown installation fails the first time

View File

@@ -1,17 +1,27 @@
require("set") require('set')
require("remap") require('keymaps')
require('lsp')
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then if not (vim.uv or vim.loop).fs_stat(lazypath) then
vim.fn.system({ local lazyrepo = "https://github.com/folke/lazy.nvim.git"
"git", local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
"clone", if vim.v.shell_error ~= 0 then
"--filter=blob:none", vim.api.nvim_echo({
"https://github.com/folke/lazy.nvim.git", { "Failed to clone lazy.nvim:\n", "ErrorMsg" },
"--branch=stable", -- latest stable release { out, "WarningMsg" },
lazypath, { "\nPress any key to exit..." },
}) }, true, {})
vim.fn.getchar()
os.exit(1)
end
end end
vim.opt.rtp:prepend(lazypath) vim.opt.rtp:prepend(lazypath)
require("lazy").setup("plugins") require("lazy").setup({
spec = {
{ import = "plugins" },
},
change_detection = { enabled = false },
})

View File

@@ -1,50 +1,39 @@
{ {
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, "LuaSnip": { "branch": "master", "commit": "3732756842a2f7e0e76a7b0487e9692072857277" },
"alpha-nvim": { "branch": "main", "commit": "41283fb402713fc8b327e60907f74e46166f4cfd" }, "alpha-nvim": { "branch": "main", "commit": "3979b01cb05734331c7873049001d3f2bb8477f4" },
"auto-session": { "branch": "main", "commit": "af2219b9fa99c1d7ac409bd9eac094c459d3f52d" }, "auto-session": { "branch": "main", "commit": "292492ab7af4bd8b9e37e28508bc8ce995722fd5" },
"cellular-automaton.nvim": { "branch": "main", "commit": "b7d056dab963b5d3f2c560d92937cb51db61cb5b" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "copilot.lua": { "branch": "master", "commit": "e919876a5523b06406f0bc7285477da87a338a61" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"copilot.vim": { "branch": "release", "commit": "1dcaf72099b436b5832d6117d9cd7a4a098a8d77" }, "gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" },
"dressing.nvim": { "branch": "master", "commit": "e3714c8049b2243e792492c4149e4cc395c68eb9" }, "harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" },
"friendly-snippets": { "branch": "main", "commit": "700c4a25caacbb4648c9a27972c2fe203948e0c2" }, "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
"gruvbox.nvim": { "branch": "main", "commit": "d4cde3853a172485961b515c36d51d757728d6e6" }, "lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
"harpoon": { "branch": "master", "commit": "ccae1b9bec717ae284906b0bf83d720e59d12b91" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "b1d9a914b02ba5660f1e272a03314b31d4576fe2" },
"lazy.nvim": { "branch": "main", "commit": "fafe1f7c640aed75e70a10e6649612cd96f39149" }, "mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" },
"lsp-colors.nvim": { "branch": "main", "commit": "2bbe7541747fd339bdd8923fc45631a09bb4f1e5" }, "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
"lsp-zero.nvim": { "branch": "v3.x", "commit": "16de3b18c5f7b6230d89b8e64ce9a4801b6f8d08" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, "nvim-cmp": { "branch": "main", "commit": "d78fb3b64eedb701c9939f97361c06483af575e0" },
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "nvim-lspconfig": { "branch": "master", "commit": "abf6d190f2c06818489c0bd4b926e7e3a06c5e51" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "8db12610bcb7ce67013cfdfaba4dd47a23c6e851" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, "nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
"molten-nvim": { "branch": "main", "commit": "8346bba69e0de96278dad2038e9be74605908b7d" }, "oil.nvim": { "branch": "master", "commit": "7e1cd7703ff2924d7038476dcbc04b950203b902" },
"neoformat": { "branch": "master", "commit": "82864d6c7926c4f3b535a2fd7eab919b116fc969" }, "outline.nvim": { "branch": "main", "commit": "6b62f73a6bf317531d15a7ae1b724e85485d8148" },
"noice.nvim": { "branch": "main", "commit": "e5cb20c6e14305d24025ecb77d7d4dd9d61f1a64" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"nui.nvim": { "branch": "main", "commit": "322978c734866996274467de084a95e4f9b5e0b1" }, "sqlite.nvim": { "branch": "master", "commit": "a8466c830a89794c2eafa41b41dd11fdf4a0d7ca" },
"nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"nvim-dap": { "branch": "master", "commit": "6f79b822997f2e8a789c6034e147d42bc6706770" }, "telescope.nvim": { "branch": "master", "commit": "3a12a853ebf21ec1cce9a92290e3013f8ae75f02" },
"nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, "time-tracker.nvim": { "branch": "master", "commit": "4127c4b5fecaf5f5cb3aa840707e58bb88eb9bf0" },
"nvim-lspconfig": { "branch": "master", "commit": "4d38bece98300e3e5cd24a9aa0d0ebfea4951c16" }, "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
"nvim-nio": { "branch": "master", "commit": "7969e0a8ffabdf210edd7978ec954a47a737bbcc" }, "toggleterm.nvim": { "branch": "main", "commit": "9a88eae817ef395952e08650b3283726786fb5fb" },
"nvim-tree.lua": { "branch": "master", "commit": "2086e564c4d23fea714e8a6d63b881e551af2f41" }, "undotree": { "branch": "master", "commit": "0f1c9816975b5d7f87d5003a19c53c6fd2ff6f7f" },
"nvim-treesitter": { "branch": "master", "commit": "eb59a3df509322924631c1ed85b0d2ec696bb78d" }, "vim-flog": { "branch": "master", "commit": "665b16ac8915f746bc43c9572b4581a5e9047216" },
"nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, "vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" },
"overseer.nvim": { "branch": "master", "commit": "6271cab7ccc4ca840faa93f54440ffae3a3918bd" },
"plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" },
"session-lens": { "branch": "main", "commit": "1b65d8e1bcd1836c5135cce118ba18d662a9dabd" },
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
"todo-comments.nvim": { "branch": "main", "commit": "9c104cf7868f1c739b43a07e5593666cc9de2d67" },
"toggleterm.nvim": { "branch": "main", "commit": "066cccf48a43553a80a210eb3be89a15d789d6e6" },
"trouble.nvim": { "branch": "main", "commit": "38915023a777b7f2422e503dc603f6a64b465bf5" },
"undotree": { "branch": "master", "commit": "56c684a805fe948936cda0d1b19505b84ad7e065" },
"vim-doge": { "branch": "master", "commit": "188351964c8b2540a69c1d2648b3c6e7877a016f" },
"vim-flog": { "branch": "master", "commit": "2f0836128cac9368176a564b237382d1766723f0" },
"vim-fugitive": { "branch": "master", "commit": "4f59455d2388e113bd510e85b310d15b9228ca0d" },
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" }, "vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" },
"vimtex": { "branch": "master", "commit": "0587a064f675fd85cdfb8a76d6a3ff698af3944b" }, "vimtex": { "branch": "master", "commit": "32bcb3922c20588e00de68f73c86312eda2141ad" },
"which-key.nvim": { "branch": "main", "commit": "0099511294f16b81c696004fa6a403b0ae61f7a0" } "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
} }

View File

@@ -1,11 +0,0 @@
return {
{
"utilyre/barbecue.nvim",
name = "barbecue",
version = "*",
dependencies = {"SmiteshP/nvim-navic", "nvim-tree/nvim-web-devicons"},
config = function()
require("barbecue").setup()
end,
}
}

View File

@@ -1,6 +0,0 @@
return {
{
"GCBallesteros/jupytext.nvim",
config = true
}
}

View File

@@ -1,15 +0,0 @@
return {
{
"seandewar/killersheep.nvim",
config = function()
require("killersheep").setup {
gore = true, -- Enables/disables blood and gore.
keymaps = {
move_left = "h", -- Keymap to move cannon to the left.
move_right = "l", -- Keymap to move cannon to the right.
shoot = "<Space>" -- Keymap to shoot the cannon.
}
}
end
}
}

View File

@@ -1,8 +0,0 @@
return {
{
"ThePrimeagen/vim-be-good",
cmd = {
"VimBeGood"
}
}
}

View File

@@ -9,7 +9,6 @@ vim.keymap.set("n", "n", "nzzzv")
vim.keymap.set("n", "N", "Nzzzv") vim.keymap.set("n", "N", "Nzzzv")
vim.keymap.set("x", "<leader>p", "\"_dP") vim.keymap.set("x", "<leader>p", "\"_dP")
vim.keymap.set("n", "<leader>d", "\"_d")
vim.keymap.set("v", "<leader>d", "\"_d") vim.keymap.set("v", "<leader>d", "\"_d")
vim.keymap.set("n", "<leader>y", "\"+y") vim.keymap.set("n", "<leader>y", "\"+y")
@@ -20,4 +19,4 @@ vim.keymap.set("n", "Q", "<nop>")
vim.keymap.set("n", "q:", "<nop>") vim.keymap.set("n", "q:", "<nop>")
vim.cmd [[call nvim_create_user_command('W', 'w', {'nargs': 0})]] vim.cmd [[call nvim_create_user_command('W', 'w', {'nargs': 0})]]
-- vim.keymap.set("n", "<leader>cb", [[:up | %bd | e#<CR>]]) vim.keymap.set("n", "QQ", ":q!<CR>")

View File

@@ -0,0 +1,119 @@
--
--
-- LSP configs
--
--
vim.lsp.config("texlab", {
settings = {
texlab = {
rootDirectory = nil,
build = {
executable = 'latexmk',
args = { '-pdf', '-interaction=nonstopmode', '-synctex=1', '%f' },
onSave = false,
forwardSearchAfter = false,
},
forwardSearch = {
executable = nil,
args = {},
},
chktex = {
onOpenAndSave = false,
onEdit = false,
},
diagnosticsDelay = 300,
latexFormatter = 'tex-fmt',
bibtexFormatter = 'tex-fmt',
},
},
})
vim.lsp.config('clangd', {
cmd = {
"clangd",
"--background-index",
"--clang-tidy",
"--completion-style=bundled",
"--cross-file-rename",
"--header-insertion=iwyu",
-- Required for embedded system compilers
"--query-driver=/**/*g++",
"--offset-encoding=utf-16"
-- "-j=8",
-- "--malloc-trim",
-- "--pch-storage=memory"
}
})
--
--
-- Diagnostics config
--
--
vim.diagnostic.config({
virtual_text = true,
severity_sort = true,
})
vim.api.nvim_create_autocmd("CursorHold", {
callback = function()
local width = vim.api.nvim_win_get_width(0);
vim.diagnostic.open_float(nil, {
scope = "cursor",
close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" },
source = true,
relative = "editor",
width = 40,
focusable = false,
focused = false,
border = "rounded",
title = "Diagnostics",
header = "",
title_pos = "center",
offset_x = width,
offset_y = -1,
})
end,
})
--
--
-- Keymaps
--
--
-- TODO: Do I need this if I use nvim-cmp?
vim.o.completeopt = "menu,menuone,noinsert,fuzzy"
vim.api.nvim_set_keymap("i", "<C-Space>", "<C-x><C-o>", { noremap = true })
vim.api.nvim_create_autocmd('LspAttach', {
group = vim.api.nvim_create_augroup('my.lsp', {}),
callback = function(args)
vim.keymap.set('n', '<M-L>',
function() vim.lsp.buf.format() end, {
desc = "Format",
noremap = true,
silent = true
})
vim.keymap.set('i', '<M-L>',
function() vim.lsp.buf.format() end, {
desc = "Format",
noremap = true,
silent = true
})
vim.keymap.set("n", "gd",
function() vim.lsp.buf.definition() end, {
desc = "Go to definition"
})
end,
})

View File

@@ -1,5 +1,5 @@
return { return {
name = "Cargog Test", name = "Cargo Test",
builder = function() builder = function()
return { return {
cmd = { cmd = {

View File

@@ -9,7 +9,7 @@ return {
"RelWithDebInfo", "RelWithDebInfo",
"MinSizeRel" "MinSizeRel"
}, },
default = "Debug" default = "Release"
}, },
generator = { generator = {
type = "enum", type = "enum",

View File

@@ -1,10 +1,11 @@
------------------- --
--
-- Helper functions -- Helper functions
------------------- --
local function clamp(x, min, max) return math.max(math.min(x, max), min) end --
local function get_random_image() local function get_random_image()
images = { local images = {
{ {
[[██╗ █████╗ ██████╗██╗ ██╗███████╗]], [[██╗ █████╗ ██████╗██╗ ██╗███████╗]],
[[██║ ██╔══██╗██╔════╝██║ ██║██╔════╝]], [[██║ ██╔══██╗██╔════╝██║ ██║██╔════╝]],
@@ -29,29 +30,62 @@ local function get_random_image()
[[██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║]], [[██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║]],
[[██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║]], [[██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║]],
[[╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝]] [[╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝]]
},
{
[[ ▄ ]],
[[ ▟█▙ ]],
[[ ▟███▙ ]],
[[ ▟█████▙ ]],
[[ ▟███████▙ ]],
[[ ▂▔▀▜██████▙ ]],
[[ ▟██▅▂▝▜█████▙ ]],
[[ ▟█████████████▙ ]],
[[ ▟███████████████▙ ]],
[[ ▟█████████████████▙ ]],
[[ ▟███████████████████▙ ]],
[[ ▟█████████▛▀▀▜████████▙ ]],
[[ ▟████████▛ ▜███████▙ ]],
[[ ▟█████████ ████████▙ ]],
[[ ▟██████████ █████▆▅▄▃▂ ]],
[[ ▟██████████▛ ▜█████████▙ ]],
[[ ▟██████▀▀▀ ▀▀██████▙ ]],
[[ ▟███▀▘ ▝▀███▙ ]],
[[▟▛▀ ▀▜▙]],
[[ btw ]]
} }
} }
local i = 3 local pmf = { 0.25, 0.25, 0.25, 0.25 }
local cdf = {}
cdf[1] = 0
for j = 2, #pmf + 1 do
cdf[j] = cdf[j - 1] + pmf[j - 1]
end
if math.abs(cdf[#cdf] - 1) > 0.01 then
error("Probabilities do not add up to 1")
elseif #images ~= #pmf then
error("Number of images and probabilities do not match")
end
math.randomseed(os.time()) math.randomseed(os.time())
if math.fmod(math.random(100), 5) == 0 then local r = math.random(100)
if math.random(0, 1) == 0 then
i = 1 for j = 2, #cdf do
else if r <= cdf[j] * 100 then
i = 2 return images[j - 1]
end
end end
end end
return images[i] --
end --
-- Plugin configuration
----------------- --
-- Configurtation --
-----------------
return { return {
{
"goolord/alpha-nvim", "goolord/alpha-nvim",
lazy = false, lazy = false,
config = function() config = function()
@@ -70,4 +104,3 @@ return {
require("alpha").setup(dashboard.opts) require("alpha").setup(dashboard.opts)
end end
} }
}

View File

@@ -1,44 +0,0 @@
return {
{
"rmagatti/auto-session",
dependencies = {
"nvim-lualine/lualine.nvim"
},
event = "VimEnter",
init = function()
vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions"
vim.keymap.set('n', '<leader>ss', '<cmd>SessionSave<CR>', {
desc = "Save"
})
vim.keymap.set('n', '<leader>sd', '<cmd>SessionDelete<CR>', {
desc = "Delete"
})
end,
opts = {
log_level = "error",
auto_save_enabled = false
}
},
{
'rmagatti/session-lens',
cmd = {
"Autosession",
"SearchSession"
},
dependencies = {
'rmagatti/auto-session',
'nvim-telescope/telescope.nvim'
},
init = function()
vim.keymap.set('n', '<leader>sf', function() require('session-lens').search_session() end, {
desc = "Find"
})
end,
config = function()
require('session-lens').setup({
prompt_title = 'Sessions'
})
end
}
}

View File

@@ -0,0 +1,32 @@
return {
"https://github.com/rmagatti/auto-session",
-- TODO: This forces telescope to be loaded non-lazily. Fix this
dependencies = {
"https://github.com/nvim-lua/plenary.nvim",
"https://github.com/nvim-telescope/telescope.nvim",
"https://github.com/nvim-lualine/lualine.nvim"
},
init = function()
vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions"
end,
keys = {
{ '<leader>ss', '<cmd>AutoSession save<CR>', desc = "Save" },
{ '<leader>sd', '<cmd>AutoSession delete<CR>', desc = "Delete" },
{ '<leader>fs', '<cmd>Telescope session-lens<CR>', desc = "Session" }
},
opts = {
suppressed_dirs = { "~/", "~/Projects", "~/Downloads", "/" },
log_level = "error",
auto_save_enabled = false,
session_lens = {
picker = "telescope",
load_on_setup = true,
mappings = {
delete_session = { "i", "<C-d>" },
alternate_session = { "i", "<C-s>" },
copy_session = { "i", "<C-y>" },
},
}
},
lazy = false,
}

View File

@@ -1,9 +0,0 @@
return {
{
'Eandrju/cellular-automaton.nvim',
cmd = {
"CellularAutomaton"
},
init = function() vim.keymap.set("n", "<leader>fu", "<cmd>CellularAutomaton make_it_rain<CR>") end
}
}

View File

@@ -1,20 +1,13 @@
return { return {
{ "zbirenbaum/copilot.lua",
"github/copilot.vim", cmd = "Copilot",
event = { opts = {
"BufReadPost", suggestion = {
"BufNewFile" enabled = true,
}, auto_trigger = true,
cmd = { keymap = {
"Copilot" accept = "<C-l>"
}, }
init = function() }
vim.g.copilot_no_tab_map = true
vim.g.copilot_assume_mapped = true
vim.api.nvim_set_keymap("i", "<C-y>", 'copilot#Accept("<CR>")', {
silent = true,
expr = true
})
end
} }
} }

View File

@@ -1,154 +0,0 @@
return {
{
'mfussenegger/nvim-dap',
config = function()
local dap = require("dap")
dap.adapters.gdb = {
type = "executable",
command = "gdb",
args = {
"-i",
"dap"
}
}
dap.adapters.python = function(cb, config)
if config.request == 'attach' then
local port = (config.connect or config).port
local host = (config.connect or config).host or '127.0.0.1'
cb({
type = 'server',
port = assert(port, '`connect.port` is required for a python `attach` configuration'),
host = host,
options = {
source_filetype = 'python'
}
})
else
cb({
type = 'executable',
command = 'python',
args = {
'-m',
'debugpy.adapter'
},
options = {
source_filetype = 'python'
}
})
end
end
dap.configurations.c = {
{
name = "Launch",
type = "gdb",
request = "launch",
program = function()
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
end,
cwd = "${workspaceFolder}",
stopAtBeginningOfMainSubprogram = false
}
}
dap.configurations.cpp = {
{
name = "Launch",
type = "gdb",
request = "launch",
program = function()
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
end,
cwd = "${workspaceFolder}",
stopAtBeginningOfMainSubprogram = false
}
}
dap.configurations.python = {
{
type = 'python',
request = 'launch',
name = "Launch file",
program = "${file}",
pythonPath = function()
local cwd = vim.fn.getcwd()
if vim.fn.executable(cwd .. '/venv/bin/python') == 1 then
return cwd .. '/venv/bin/python'
elseif vim.fn.executable(cwd .. '/.venv/bin/python') == 1 then
return cwd .. '/.venv/bin/python'
else
return '/usr/bin/python'
end
end
}
}
vim.keymap.set("n", "<leader>db", "<cmd>DapToggleBreakpoint<cr>", {
desc = "Toggle breakpoint"
})
vim.keymap.set("n", "<leader>dc", "<cmd>DapContinue<cr>", {
desc = "Continue"
})
vim.keymap.set("n", "<leader>dt", "<cmd>DapTerminate<cr>", {
desc = "Terminate"
})
vim.keymap.set("n", "<leader>di", "<cmd>DapStepInto<cr>", {
desc = "Step into"
})
vim.keymap.set("n", "<leader>dn", "<cmd>DapStepOver<cr>", {
desc = "Step over"
})
vim.keymap.set("n", "<leader>do", "<cmd>DapStepOut<cr>", {
desc = "Step out"
})
vim.keymap.set("n", '<Leader>dh', function() require('dap.ui.widgets').hover() end, {
desc = "Hover"
})
end
},
{
"rcarriga/nvim-dap-ui",
dependencies = {
"mfussenegger/nvim-dap",
"nvim-neotest/nvim-nio"
},
config = function()
require("dapui").setup({
controls = {
enabled = false
},
layouts = {
{
elements = {
{
id = "scopes",
size = 0.33
},
{
id = "breakpoints",
size = 0.33
},
{
id = "stacks",
size = 0.33
}
},
position = "left",
size = 60
},
{
elements = {
{
id = "repl",
size = 1
}
},
position = "bottom",
size = 15
}
}
})
vim.keymap.set("n", "<leader>du", function() require("dapui").toggle() end, {
desc = " Toggle UI"
})
end
}
}

View File

@@ -1,15 +0,0 @@
return {
{
'kkoomen/vim-doge',
build = ':call doge#install()',
init = function()
vim.g.doge_enable_mappings = 0
vim.g.doge_doc_standard_cpp = 'doxygen_cpp_comment_slash'
vim.g.doge_mapping_comment_jump_forward = '<c-j>'
vim.g.doge_mapping_comment_jump_backward = '<c-k>'
vim.keymap.set('n', '<leader>gd', '<Plug>(doge-generate)', { silent = true, desc = "Generate doc"})
-- nmap <silent> <Leader>d <Plug>(doge-generate)
end
}
}

View File

@@ -1,6 +0,0 @@
return {
{
'stevearc/dressing.nvim',
event = 'VimEnter'
}
}

View File

@@ -1,22 +1,13 @@
return { return {
{ {
'tpope/vim-fugitive', "https://github.com/tpope/vim-fugitive",
cmd = { keys = { { "<leader>gs", vim.cmd.Git } }
"Git"
},
init = function() vim.keymap.set("n", "<leader>gs", vim.cmd.Git) end
}, },
{ {
'rbong/vim-flog', "https://github.com/rbong/vim-flog",
cmd = {
"Flog",
"Floggit",
"Flogsplit"
},
dependencies = { dependencies = {
{ "https://github.com/tpope/vim-fugitive"
'tpope/vim-fugitive' },
} cmd = "Flog"
}
} }
} }

View File

@@ -1,21 +1,37 @@
return { return
{ {
"ThePrimeagen/harpoon", "ThePrimeagen/harpoon",
-- branch = "harpoon2", branch = "harpoon2",
dependencies = { dependencies = { "nvim-lua/plenary.nvim" },
{ keys = {
"nvim-lua/plenary.nvim" { "<leader>a", function() require("harpoon"):list():add() end },
} { "<C-e>", function() require("harpoon").ui:toggle_quick_menu(require("harpoon"):list()) end },
{ "<C-h>", function() require("harpoon"):list():select(1) end },
{ "<C-t>", function() require("harpoon"):list():select(2) end },
{ "<C-n>", function() require("harpoon"):list():select(3) end },
{ "<C-s>", function() require("harpoon"):list():select(4) end },
}, },
init = function() config = true
vim.keymap.set("n", "<C-e>", function() require("harpoon.ui").toggle_quick_menu() end, {desc = "Toggle harpoon ui"})
vim.keymap.set("n", "<leader>a", function() require("harpoon.mark").add_file() end, {desc = "Add to harpoon list"})
vim.keymap.set("n", "<C-h>", function() require("harpoon.ui").nav_file(1) end)
vim.keymap.set("n", "<C-t>", function() require("harpoon.ui").nav_file(2) end)
vim.keymap.set("n", "<C-n>", function() require("harpoon.ui").nav_file(3) end)
vim.keymap.set("n", "<C-s>", function() require("harpoon.ui").nav_file(4) end)
end
} }
} -- vim.pack.add({
-- {
-- src = "https://github.com/nvim-lua/plenary.nvim"
-- },
-- {
-- src = "https://github.com/ThePrimeagen/harpoon",
-- version = "harpoon2",
-- }
-- })
--
-- local harpoon = require("harpoon")
--
-- harpoon:setup()
--
-- vim.keymap.set("n", "<leader>a", function() harpoon:list():add() end)
-- vim.keymap.set("n", "<C-e>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
--
-- vim.keymap.set("n", "<C-h>", function() harpoon:list():select(1) end)
-- vim.keymap.set("n", "<C-t>", function() harpoon:list():select(2) end)
-- vim.keymap.set("n", "<C-n>", function() harpoon:list():select(3) end)
-- vim.keymap.set("n", "<C-s>", function() harpoon:list():select(4) end)

View File

@@ -1,6 +0,0 @@
return {
{
"folke/lazy.nvim",
tag = "stable"
}
}

View File

@@ -1,189 +0,0 @@
return {
{
{
'VonHeikemen/lsp-zero.nvim',
branch = 'v3.x',
lazy = true,
config = false,
init = function()
-- Disable automatic setup, we are doing it manually
vim.g.lsp_zero_extend_cmp = 0
vim.g.lsp_zero_extend_lspconfig = 0
end
},
{
'williamboman/mason.nvim',
lazy = false,
config = true
},
-- Autocompletion
{
'hrsh7th/nvim-cmp',
event = 'InsertEnter',
dependencies = {
'L3MON4D3/LuaSnip',
'hrsh7th/cmp-buffer',
'hrsh7th/cmp-path',
'hrsh7th/cmp-cmdline',
'hrsh7th/cmp-nvim-lsp-signature-help',
'saadparwaiz1/cmp_luasnip'
},
config = function()
local lsp_zero = require('lsp-zero')
lsp_zero.extend_cmp()
local cmp = require('cmp')
cmp.setup({
sources = {
-- LuaFormatter off
{ name = 'path' },
{ name = 'nvim_lsp' },
{ name = 'nvim_lua' },
{ name = 'luasnip', keyword_length = 2 },
{ name = 'buffer', keyword_length = 3 },
{ name = 'nvim_lsp_signature_help' }
-- LuaFormatter on
},
formatting = lsp_zero.cmp_format(),
mapping = cmp.mapping.preset.insert({
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
['<Tab>'] = cmp.mapping.confirm({
select = true
}),
['<C-Space>'] = cmp.mapping.complete()
}),
snippet = {
expand = function(args) require('luasnip').lsp_expand(args.body) end
}
})
cmp.setup.filetype('gitcommit', {
-- LuaFormatter off
sources = cmp.config.sources(
{ { name = 'git' } },
{ { name = 'buffer' } }
)
-- LuaFormatter on
})
cmp.setup.cmdline({
'/',
'?'
}, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{
name = 'buffer'
}
}
})
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{
name = 'path'
}
}, {
{
name = 'cmdline'
}
})
})
end
},
-- LSP
{
'neovim/nvim-lspconfig',
cmd = {
'LspInfo',
'LspInstall',
'LspStart'
},
event = {
'BufReadPre',
'BufNewFile'
},
dependencies = {
'hrsh7th/cmp-nvim-lsp',
'williamboman/mason-lspconfig.nvim',
"folke/trouble.nvim"
},
config = function()
local lsp_zero = require('lsp-zero')
lsp_zero.extend_lspconfig()
lsp_zero.on_attach(function(client, bufnr)
vim.keymap.set("n", "<leader>ld", function() vim.lsp.buf.definition() end, {
desc = "Go to definition"
})
vim.keymap.set("n", "<leader>lh", function() vim.lsp.buf.hover() end, {
desc = "Hover"
})
vim.keymap.set("n", "<leader>lr", ":Trouble lsp_references<CR>", {
desc = "Show references"
})
vim.keymap.set("n", "<leader>ln", function() vim.lsp.buf.rename() end, {
desc = "Rename"
})
vim.keymap.set("n", "<leader>ls", function() vim.lsp.buf.signature_help() end, {
desc = "Signature help"
})
vim.keymap.set("n", "<leader>la", function() vim.lsp.buf.code_action() end, {
desc = "Code actions"
})
vim.keymap.set("n", "<leader>la", function() vim.lsp.buf.code_action() end, {
desc = "Code actions"
})
end)
require('mason-lspconfig').setup({
ensure_installed = {
'clangd',
'pyright',
'cmake',
'texlab'
},
handlers = {
lsp_zero.default_setup,
lua_ls = function()
local lua_opts = lsp_zero.nvim_lua_ls()
require('lspconfig').lua_ls.setup(lua_opts)
end
}
})
require('lspconfig')['clangd'].setup {
cmd = {
"clangd",
"--background-index",
"--clang-tidy",
"--completion-style=bundled",
"--cross-file-rename",
"--header-insertion=iwyu",
-- Required for embedded system compilers
"--query-driver=/**/*g++",
"--offset-encoding=utf-16"
-- "-j=8",
-- "--malloc-trim",
-- "--pch-storage=memory"
}
}
require('lspconfig').matlab_ls.setup({
settings = {
filetypes = {"matlab"},
matlab = {
installPath = "/opt/matlab/R2023a/"
},
},
single_file_support = true
})
end
}
}
}

View File

@@ -1,20 +1,35 @@
return { return {
{
'nvim-lualine/lualine.nvim', 'nvim-lualine/lualine.nvim',
event = "VimEnter", dependencies = { 'nvim-tree/nvim-web-devicons' },
dependencies = { event = "VeryLazy",
'nvim-tree/nvim-web-devicons'
},
opts = { opts = {
options = { options = { theme = 'gruvbox_dark' },
theme = 'gruvbox_dark'
},
extensions = { extensions = {
'nvim-tree',
'trouble',
'mason', 'mason',
'lazy',
'toggleterm' 'toggleterm'
},
sections = {
lualine_c = {
{
"filename",
path = 1,
shorting_target = 50,
}
},
lualine_b = { 'branch' },
lualine_x = { 'encoding' },
lualine_y = {
{
function()
local reg = vim.fn.reg_recording()
if reg ~= "" then
return "Recording @" .. reg
else
return ""
end
end,
color = { fg = "#fabd2f" }
}
} }
} }
} }

View File

@@ -1,48 +1,17 @@
return { return {
{ "https://github.com/rafamadriz/friendly-snippets",
"L3MON4D3/LuaSnip", dependencies = { "https://github.com/L3MON4D3/LuaSnip" },
dependencies = { event = "InsertEnter",
{
'rafamadriz/friendly-snippets'
}
},
version = "v2.*",
build = "make install_jsregexp",
event = {
"InsertEnter"
},
init = function()
vim.keymap.set({
"i"
}, "<c-j>", function() require("luasnip").expand() end, {
silent = true
})
vim.keymap.set({
"i",
"s"
}, "<c-j>", function() require("luasnip").jump(1) end, {
silent = true
})
vim.keymap.set({
"i",
"s"
}, "<c-k>", function() require("luasnip").jump(-1) end, {
silent = true
})
end,
config = function() config = function()
local loader = require("luasnip.loaders.from_lua") local loader = require("luasnip.loaders.from_lua")
loader.lazy_load({ loader.lazy_load({ paths = { "./snippets" } })
paths = {
"./snippets"
}
})
require("luasnip").config.set_config({ require("luasnip").config.set_config({
enable_autosnippets = true, enable_autosnippets = true,
store_selection_keys = "<leader>v" store_selection_keys = "<leader>v"
}) })
vim.keymap.set({ "i", "s" }, "<c-j>", function() require("luasnip").jump(1) end, { silent = true })
vim.keymap.set({ "i", "s" }, "<c-k>", function() require("luasnip").jump(-1) end, { silent = true })
end end
} }
}

View File

@@ -1,15 +0,0 @@
return {
{
"iamcco/markdown-preview.nvim",
cmd = {
"MarkdownPreviewToggle",
"MarkdownPreview",
"MarkdownPreviewStop"
},
ft = {
"markdown"
},
build = function() vim.fn["mkdp#util#install"]() end
}
}

View File

@@ -0,0 +1,9 @@
return {
"mason-org/mason-lspconfig.nvim",
dependencies = {
{ "mason-org/mason.nvim", config = true },
"neovim/nvim-lspconfig",
},
event = "VeryLazy",
config = true,
}

View File

@@ -1,33 +0,0 @@
return {
{
"benlubas/molten-nvim",
build = ":UpdateRemotePlugins",
version = "v1.7.0",
init = function()
vim.keymap.set("n", "<localleader>mi", ":MoltenInit<CR>", {
silent = true,
desc = "Initialize the plugin"
})
vim.keymap.set("n", "<localleader>e", ":MoltenEvaluateOperator<CR>", {
silent = true,
desc = "run operator selection"
})
vim.keymap.set("n", "<localleader>rl", ":MoltenEvaluateLine<CR>", {
silent = true,
desc = "evaluate line"
})
vim.keymap.set("n", "<localleader>rr", ":MoltenReevaluateCell<CR>", {
silent = true,
desc = "re-evaluate cell"
})
vim.keymap.set("v", "<localleader>r", ":<C-u>MoltenEvaluateVisual<CR>gv", {
silent = true,
desc = "evaluate visual selection"
})
vim.g.molten_auto_open_output = false
vim.g.molten_virt_text_output = true
vim.g.molten_virt_text_max_lines = 32
end
}
}

View File

@@ -1,37 +0,0 @@
return {
{
'sbdchd/neoformat',
event = {
"BufReadPost",
"BufNewFile"
},
init = function()
vim.cmd([[
let g:neoformat_enabled_python = ['autopep8']
let g:neoformat_enabled_cpp = ['clangformat']
let g:neoformat_enabled_c = ['clangformat']
let g:neoformat_enable_lua = ['luaformatter']
let g:neoformat_enabled_cmake = ['cmakeformat']
let g:neoformat_markdown_mdformat = {
\ 'exe': 'mdformat',
\ 'args': ['--wrap=79'],
\ 'replace': 1,
\ }
let g:neoformat_enabled_markdown = ['mdformat']
let g:neoformat_enabled_latex = ['latexindent']
let g:latexindent_opt="-m -l -g=/dev/null"
]])
vim.api.nvim_set_keymap('n', '<M-L>', '<cmd>Neoformat<cr>', {
noremap = true,
silent = true
})
vim.api.nvim_set_keymap('i', '<M-L>', '<cmd>Neoformat<cr>', {
noremap = true,
silent = true
})
end
}
}

View File

@@ -1,17 +1,13 @@
-- lazy.nvim
return { return {
"folke/noice.nvim", "https://github.com/folke/noice.nvim",
dependencies = { "https://github.com/MunifTanjim/nui.nvim" },
event = "VeryLazy", event = "VeryLazy",
opts = { opts = {
lsp = { -- messages = { enabled = false },
signature = {
enabled = false
},
hover = {
enabled = false
}
},
views = { views = {
history = {
{ event = "lsp", kind = "" },
},
cmdline_popup = { cmdline_popup = {
backend = "popup", backend = "popup",
relative = "editor", relative = "editor",
@@ -19,9 +15,7 @@ return {
row = -1, row = -1,
col = "0%" col = "0%"
}, },
border = { border = { style = "none" }
style = "none"
}
}, },
cmdline_popupmenu = { cmdline_popupmenu = {
relative = "editor", relative = "editor",
@@ -29,10 +23,18 @@ return {
row = -2, row = -2,
col = "0%" col = "0%"
} }
}
}
}, },
dependencies = { mini = {
"MunifTanjim/nui.nvim" border = { style = "rounded" },
position = {
row = -2,
col = "100%",
},
size = {
max_width = 50,
max_height = 4,
},
}
}
} }
} }

View File

@@ -0,0 +1,70 @@
return
{
'hrsh7th/nvim-cmp',
event = 'InsertEnter',
dependencies = {
'L3MON4D3/LuaSnip',
'hrsh7th/cmp-buffer',
'hrsh7th/cmp-path',
'hrsh7th/cmp-nvim-lsp',
-- TODO: Do I need these?
'hrsh7th/cmp-cmdline',
-- 'hrsh7th/cmp-nvim-lsp-signature-help',
'saadparwaiz1/cmp_luasnip'
},
config = function()
local cmp = require('cmp')
cmp.setup({
snippet = {
-- REQUIRED - you must specify a snippet engine
expand = function(args)
require('luasnip').lsp_expand(args.body)
end,
},
-- window = {
-- -- completion = cmp.config.window.bordered(),
-- -- documentation = cmp.config.window.bordered(),
-- },
mapping = cmp.mapping.preset.insert({
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<Tab>'] = cmp.mapping.confirm({ select = true }),
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
}, {
{ name = 'buffer' },
})
})
-- -- To use git you need to install the plugin petertriho/cmp-git and uncomment lines below
-- -- Set configuration for specific filetype.
-- cmp.setup.filetype('gitcommit', {
-- sources = cmp.config.sources({
-- { name = 'git' },
-- }, {
-- { name = 'buffer' },
-- })
-- })
-- require("cmp_git").setup()
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline({ '/', '?' }, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = 'buffer' }
}
})
-- -- Set up lspconfig.
-- local capabilities = require('cmp_nvim_lsp').default_capabilities()
-- -- Replace <YOUR_LSP_SERVER> with each lsp server you've enabled.
-- vim.lsp.config('<YOUR_LSP_SERVER>', {
-- capabilities = capabilities
-- })
-- vim.lsp.enable('<YOUR_LSP_SERVER>')
end
}

View File

@@ -1,18 +0,0 @@
return {
{
'nvim-tree/nvim-tree.lua',
cmd = {
"NvimTreeToggle",
"NvimTreeFocus"
},
init = function()
vim.opt.termguicolors = true
vim.keymap.set('n', '<leader>e', '<cmd>NvimTreeToggle<cr>', {
noremap = true,
silent = true,
desc = "Explorer"
})
end,
config = function() require("nvim-tree").setup() end
}
}

View File

@@ -0,0 +1,11 @@
return {
"stevearc/oil.nvim",
dependencies = {
"nvim-tree/nvim-web-devicons"
},
lazy = false, -- Make sure oil is available for, e.g., `nvim .`
init = function()
vim.keymap.set("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory" })
end,
config = true
}

View File

@@ -0,0 +1,15 @@
return {
"https://github.com/hedyhli/outline.nvim",
keys = {
{ "<leader>l", "<cmd>Outline<CR>", desc = "Toggle Outline" }
},
opts = {
outline_window = {
focus_on_open = false,
},
symbol_folding = {
autofold_depth = 3,
markers = { '', '' },
},
}
}

View File

@@ -1,32 +0,0 @@
return {
"stevearc/overseer.nvim",
config = function()
require("overseer").setup({
templates = {
-- "builtin",
"user.cargo_build",
"user.cargo_clean",
"user.cargo_run",
"user.cargo_test",
"user.cmake_generate",
"user.cmake_build",
"user.cmake_clean",
"user.cmake_test",
"user.python_run"
}
})
vim.keymap.set("n", "<leader>oo", function() require("overseer").toggle() end, {
desc = "Toggle"
})
vim.keymap.set("n", "<leader>or", ":OverseerRun<CR>", {
desc = "Run"
})
vim.keymap.set("n", "<leader>oq", ":OverseerQuickAction<CR>", {
desc = "Quick Action"
})
vim.keymap.set("n", "<leader>of", ":OverseerQuickAction open float<CR>", {
desc = "Open Float"
})
end
}

View File

@@ -1,6 +1,4 @@
return { return {
{ "https://github.com/tpope/vim-surround",
"tpope/vim-surround",
event = "InsertEnter" event = "InsertEnter"
} }
}

View File

@@ -1,50 +1,24 @@
-- -----------------
-- -- Helper Functions
-- -------------------
-- -- If in a git repo, execute the given function with the option
-- -- "cwd=<git root>". Otherwise, execute the function with no options.
-- local function execute_in_repo_root(func)
-- local function is_git_repo()
-- vim.fn.system("git rev-parse --is-inside-work-tree")
--
-- return vim.v.shell_error == 0
-- end
--
-- local function get_git_root()
-- local dot_git_path = vim.fn.finddir(".git", ".;")
-- return vim.fn.fnamemodify(dot_git_path, ":h")
-- end
--
-- local opts = {}
--
-- if is_git_repo() then opts = {cwd = get_git_root()} end
--
-- func(opts)
-- end
-----------------------
-- Plugin Configuration
-----------------------
return { return {
{ "https://github.com/nvim-telescope/telescope.nvim",
'nvim-telescope/telescope.nvim',
version = '0.1.5',
dependencies = { dependencies = {
{ "https://github.com/nvim-lua/plenary.nvim",
'nvim-lua/plenary.nvim' "https://github.com/nvim-telescope/telescope-ui-select.nvim",
}
}, },
cmd = "Telescope", cmd = { "Telescope" },
init = function() keys = {
-- LuaFormatter off { "<leader>ff", function() require("telescope.builtin").find_files() end, desc = "Files" },
vim.keymap.set('n', '<leader>ff', function() require("telescope.builtin").find_files() end,{desc = "Files"}) { "<leader>fg", function() require("telescope.builtin").live_grep() end, desc = "grep" },
vim.keymap.set('n', '<leader>fg', function() require("telescope.builtin").live_grep() end,{desc = "grep"}) { "<leader>fa", function() require("telescope.builtin").find_files({ hidden = true }) end, desc = "All files" },
vim.keymap.set('n', '<leader>fa', function() { "<leader>fb", function() require("telescope.builtin").buffers() end, desc = "Buffers" },
require("telescope.builtin").find_files({hidden = true}) { "<leader>fh", function() require("telescope.builtin").help_tags() end, desc = "Help tags" }
end, {desc = "All files"}) },
config = function()
vim.keymap.set('n', '<leader>fb', function() require("telescope.builtin").buffers() end, {desc = "Buffers"}) require("telescope").setup {
vim.keymap.set('n', '<leader>fh', function() require("telescope.builtin").help_tags() end, {desc = "Help tags"}) extensions = {
-- LuaFormatter on ["ui-select"] = {
require("telescope.themes").get_dropdown()
}
}
}
end end
} }
}

View File

@@ -0,0 +1,12 @@
return {
"ellisonleao/gruvbox.nvim",
priority = 1000,
opts = {
contrast = "hard",
transparent_mode = true
},
config = function(_, opts)
require("gruvbox").setup(opts)
vim.cmd("colorscheme gruvbox")
end
}

View File

@@ -1,63 +0,0 @@
return {
-- {'doums/darcula', config = function() vim.cmd('colorscheme darcula') end}
-- {
-- "folke/tokyonight.nvim",
-- lazy = false,
-- priority = 1000,
-- opts = {},
-- config = function() vim.cmd('colorscheme tokyonight-moon') end
-- }
-- {
-- 'rose-pine/neovim',
-- config = function()
-- vim.cmd('colorscheme rose-pine-moon')
-- -- LuaFormatter off
-- vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
-- vim.api.nvim_set_hl(0, "FloatBorder", { bg = "none", fg = "none" })
-- vim.api.nvim_set_hl(0, "TelescopeNormal", { bg = "none" })
-- vim.api.nvim_set_hl(0, "TelescopeBorder", { bg = "none" })
-- -- LuaFormatter on
-- end
-- }
-- {
-- 'AlexvZyl/nordic.nvim',
-- lazy = false,
-- priority = 1000,
-- init = function()
-- require('nordic').setup {
-- telescope = {
-- style = 'classic'
-- -- style = 'flat'
-- }
-- }
-- require'nordic'.load()
-- end
-- }
-- {
-- "briones-gabriel/darcula-solid.nvim",
-- dependencies = "rktjmp/lush.nvim",
-- config = function()
-- vim.cmd 'colorscheme darcula-solid'
-- vim.cmd 'set termguicolors'
-- end
-- }
{
"ellisonleao/gruvbox.nvim",
priority = 1000,
config = true,
opts = {
contrast = "hard"
},
init = function()
vim.cmd("colorscheme gruvbox")
-- LuaFormatter off
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
vim.api.nvim_set_hl(0, "NoiceCmdlineIcon", { bg = "#1d2021" })
vim.api.nvim_set_hl(0, "NoiceCmdlinePopupBorder", { bg = "#1d2021" })
vim.api.nvim_set_hl(0, "NoiceCmdlinePopupTitle", { bg = "#1d2021" })
-- LuaFormatter on
end
}
}

View File

@@ -0,0 +1,10 @@
return {
"3rd/time-tracker.nvim",
dependencies = {
"3rd/sqlite.nvim"
},
event = "VeryLazy",
opts = {
data_file = vim.fn.stdpath("data") .. "/time-tracker.db"
}
}

View File

@@ -0,0 +1,9 @@
return {
"folke/todo-comments.nvim",
dependencies = { "nvim-lua/plenary.nvim" },
event = "BufEnter",
keys = {
{"<leader>ft", ":TodoTelescope<CR>", desc = "TODOs"}
},
config = true
}

View File

@@ -1,9 +0,0 @@
return {
{
"folke/todo-comments.nvim",
dependencies = {
"nvim-lua/plenary.nvim"
},
opts = {}
}
}

View File

@@ -1,21 +1,10 @@
return { return {
{ "https://github.com/akinsho/toggleterm.nvim",
"akinsho/toggleterm.nvim", keys = {
version = '*', "<c-\\>"
},
opts = { opts = {
size = 30, size = 30,
open_mapping = [[<c-\>]] open_mapping = "<c-\\>"
},
cmd = {
"ToggleTerm",
"TermExec",
"ToggleTermToggleAll",
"ToggleTermSendCurrentLine",
"ToggleTermSendVisualLines",
"ToggleTermSendVisualSelection"
},
keys = {
[[<c-\>]]
}
} }
} }

View File

@@ -2,17 +2,8 @@ return {
{ {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
build = ":TSUpdate", build = ":TSUpdate",
event = { branxh = "main",
"BufReadPost", lazy = false, -- This plugin doesn't support lazy loading
"BufNewFile"
},
cmd = {
"TSInstall",
"TSBufEnable",
"TSBufDisable",
"TSModuleInfo",
"TSInstallSync"
},
config = function(_, opts) config = function(_, opts)
require("nvim-treesitter.configs").setup({ require("nvim-treesitter.configs").setup({
ensure_installed = { ensure_installed = {
@@ -25,13 +16,9 @@ return {
}, },
sync_install = false, sync_install = false,
auto_install = true, auto_install = true,
highlight = { highlight = {
-- disable = { "latex" },
enable = true, enable = true,
-- additional_vim_regex_highlighting = false,
-- disable = {
-- "latex"
-- },
additional_vim_regex_highlighting = { additional_vim_regex_highlighting = {
"latex" "latex"
} }

View File

@@ -1,57 +0,0 @@
return {
{
"folke/trouble.nvim",
tag="v3.3.0",
dependencies = {
{
"nvim-tree/nvim-web-devicons"
},
{
'folke/lsp-colors.nvim'
},
{
'nvim-telescope/telescope.nvim'
}
},
cmd = {
"Trouble",
"TroubleClose",
"TroubleToggle",
"TroubleRefresh"
},
init = function()
vim.keymap.set("n", "<leader>xx", function() require("trouble").toggle() end, {
desc = "Toggle"
})
vim.keymap.set("n", "<leader>xd", function() require("trouble").toggle("diagnostics") end, {
desc = "Diagnostics"
})
vim.keymap.set("n", "<leader>xq", function() require("trouble").toggle("quickfix") end, {
desc = "Quickfix"
})
vim.keymap.set("n", "<leader>xl", function() require("trouble").toggle("loclist") end, {
desc = "Loclist"
})
-- vim.keymap.set("n", "<leader>xr", function() require("trouble").toggle("lsp_references") end, {
-- desc = "LSP references"
-- })
end,
config = function()
local trouble_provider = require("trouble.sources.telescope")
local telescope = require("telescope")
telescope.setup {
defaults = {
mappings = {
i = {
["<c-t>"] = trouble_provider.open
},
n = {
["<c-t>"] = trouble_provider.open
}
}
}
}
end
}
}

View File

@@ -1,17 +1,6 @@
return { return {
{ "https://github.com/mbbill/undotree",
'mbbill/undotree', keys = {
cmd = { { "<leader>u", "<cmd>UndotreeToggle<CR>", desc = "Undotree" }
"UndotreeToggle",
"UndotreeHide",
"UndotreeShow",
"UndotreeFocus",
"UndotreePersistUndo"
},
init = function()
vim.keymap.set("n", "<leader>u", "<cmd>UndotreeToggle<CR>", {
desc = "Undotree"
})
end
} }
} }

View File

@@ -1,10 +1,6 @@
return { return {
{
"lervag/vimtex", "lervag/vimtex",
ft = { lazy = false, -- For backward search to work, :VimtexInverseSearch must always be available
"tex",
"bib"
},
config = function() config = function()
-- General configuration -- General configuration
@@ -21,43 +17,31 @@ return {
} }
} }
vim.g.vimtex_view_general_viewer = 'sioyek' vim.g.vimtex_view_method = 'zathura_simple'
vim.g.vimtex_quickfix_mode = 0 vim.g.vimtex_quickfix_mode = 0
-- Concealment -- Concealment
vim.cmd([[set conceallevel=1]]) vim.o.conceallevel = 1
vim.cmd([[
let g:vimtex_syntax_conceal = {
\ 'accents': 1,
\ 'ligatures': 1,
\ 'cites': 1,
\ 'fancy': 1,
\ 'spacing': 0,
\ 'greek': 1,
\ 'math_bounds': 1,
\ 'math_delimiters': 1,
\ 'math_fracs': 1,
\ 'math_super_sub': 0,
\ 'math_symbols': 1,
\ 'sections': 0,
\ 'styles': 0,
\}
let g:vimtex_syntax_custom_cmds = [ vim.g.vimtex_syntax_conceal = {
\ {'name': 'bm', 'mathmode': 1, 'argstyle': 'bold', 'conceal': 1}, accents = 1,
\] ligatures = 1,
]]) cites = 1,
fancy = 1,
spacing = 0,
greek = 1,
math_bounds = 1,
math_delimiters = 1,
math_fracs = 1,
math_super_sub = 0,
math_symbols = 1,
sections = 0,
styles = 0,
}
-- Synctex configuration vim.g.vimtex_syntax_custom_cmds = {
{ name = 'bm', mathmode = 1, argstyle = 'bold', conceal = 1 },
vim.g.vimtex_compiler_progname = 'nvr' }
local options = string.format(
'--reuse-window --inverse-search="nvr --servername %s +%%2 %%1" --forward-search-file @tex --forward-search-line @line @pdf',
vim.v.servername)
local command = string.format("let g:vimtex_view_general_options='%s'", options)
vim.cmd(command)
end end
} }
}

View File

@@ -1,42 +1,26 @@
return { return {
{ "https://github.com/folke/which-key.nvim",
"folke/which-key.nvim",
event = "VeryLazy",
init = function() init = function()
vim.o.timeout = true vim.o.timeout = true
vim.o.timeoutlen = 300 vim.o.timeoutlen = 300
end, end,
event = "VeryLazy",
opts = { opts = {
defaults = { -- TODO: Add names for other nameless keymaps, e.g.,
["<leader>x"] = { -- defaults = {
name = "+Trouble" -- ["<leader>x"] = { name = "+Trouble" }
} -- }
}
}, },
config = function() config = function(_, opts)
local wk = require("which-key") require("which-key").setup(opts)
wk.register({
["<leader>"] = { require("which-key").add({
l = { { "<leader>d", group = "Debug" },
name = "+LSP" { "<leader>f", group = "Find" },
}, { "<leader>l", group = "LSP" },
x = { { "<leader>o", group = "Overseer" },
name = "+Trouble" { "<leader>s", group = "Session" },
}, { "<leader>x", group = "Trouble" }
o = {
name = "+Overseer"
},
d = {
name = "+Debug"
},
f = {
name = "+Find"
},
s = {
name = "+Session"
},
}
}) })
end end
} }
}

View File

@@ -1,57 +1,60 @@
vim.g.mapleader = " " vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
vim.opt.nu = true
vim.opt.relativenumber = true
vim.opt.tabstop = 4
vim.opt.softtabstop = 4
vim.opt.shiftwidth = 4 vim.opt.shiftwidth = 4
vim.opt.expandtab = true vim.opt.expandtab = true
vim.opt.smartindent = true
vim.opt.wrap = false vim.opt.wrap = false
vim.opt.swapfile = false
vim.opt.backup = false
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
vim.opt.undofile = true vim.opt.undofile = true
vim.opt.signcolumn = "yes"
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.hlsearch = false vim.opt.hlsearch = false
vim.opt.incsearch = true vim.opt.incsearch = true
vim.opt.termguicolors = true
vim.opt.scrolloff = 8 vim.opt.scrolloff = 8
vim.opt.signcolumn = "yes"
vim.opt.updatetime = 50 vim.opt.exrc = true
vim.api.nvim_create_autocmd('FileType', { vim.api.nvim_create_autocmd('FileType', {
pattern = 'rust', pattern = 'cpp',
callback = function () callback = function() vim.bo.commentstring = '// %s' end
vim.cmd[[
let &efm = ''
" Random non issue stuff
let &efm .= '%-G%.%#aborting due to previous error%.%#,'
let &efm .= '%-G%.%#test failed, to rerun pass%.%#,'
" Capture enter directory events for doc tests
let &efm .= '%D%*\sDoc-tests %f%.%#,'
" Doc Tests
let &efm .= '%E---- %f - %o (line %l) stdout ----,'
let &efm .= '%Cerror%m,'
let &efm .= '%-Z%*\s--> %f:%l:%c,'
" Unit tests && `tests/` dir failures
" This pattern has to come _after_ the doc test one
let &efm .= '%E---- %o stdout ----,'
let &efm .= '%Zthread %.%# panicked at %m\, %f:%l:%c,'
let &efm .= '%Cthread %.%# panicked at %m,'
let &efm .= '%+C%*\sleft: %.%#,'
let &efm .= '%+Z%*\sright: %.%#\, %f:%l:%c,'
" Compiler Errors and Warnings
let &efm .= '%Eerror%m,'
let &efm .= '%Wwarning: %m,'
let &efm .= '%-Z%*\s--> %f:%l:%c,'
]]
end,
}) })
-- TODO: Is this necessary?
--
-- vim.api.nvim_create_autocmd('FileType', {
-- pattern = 'rust',
-- callback = function()
-- vim.cmd [[
-- let &efm = ''
-- " Random non issue stuff
-- let &efm .= '%-G%.%#aborting due to previous error%.%#,'
-- let &efm .= '%-G%.%#test failed, to rerun pass%.%#,'
-- " Capture enter directory events for doc tests
-- let &efm .= '%D%*\sDoc-tests %f%.%#,'
-- " Doc Tests
-- let &efm .= '%E---- %f - %o (line %l) stdout ----,'
-- let &efm .= '%Cerror%m,'
-- let &efm .= '%-Z%*\s--> %f:%l:%c,'
-- " Unit tests && `tests/` dir failures
-- " This pattern has to come _after_ the doc test one
-- let &efm .= '%E---- %o stdout ----,'
-- let &efm .= '%Zthread %.%# panicked at %m\, %f:%l:%c,'
-- let &efm .= '%Cthread %.%# panicked at %m,'
-- let &efm .= '%+C%*\sleft: %.%#,'
-- let &efm .= '%+Z%*\sright: %.%#\, %f:%l:%c,'
-- " Compiler Errors and Warnings
-- let &efm .= '%Eerror%m,'
-- let &efm .= '%Wwarning: %m,'
-- let &efm .= '%-Z%*\s--> %f:%l:%c,'
-- ]]
-- end
-- })
vim.opt.cmdheight = 0
vim.o.updatetime = 50

View File

@@ -13,7 +13,7 @@ local d = ls.dynamic_node
local fmt = require("luasnip.extras.fmt").fmt local fmt = require("luasnip.extras.fmt").fmt
local fmta = require("luasnip.extras.fmt").fmta local fmta = require("luasnip.extras.fmt").fmta
local rep = require("luasnip.extras").rep local rep = require("luasnip.extras").rep
local line_begin = require("luasnip.extras.expand_conditions").line_begin local conds = require("luasnip.extras.expand_conditions")
--------------- ---------------
-- Environments -- Environments
@@ -90,7 +90,7 @@ s({trig="notes"},
) )
), ),
s({trig="beg"}, s({trig="beg", wordTrig=true, snippetType="autosnippet", condition=conds.line_begin},
fmta( fmta(
[[ [[
\begin{<>} \begin{<>}
@@ -105,6 +105,46 @@ s({trig="beg"},
) )
), ),
s({trig="item", wordTrig=true, snippetType="autosnippet",
condition = function(line_to_cursor, matched_trigger, captures)
return tex_utils.in_env("itemize") and conds.line_begin(line_to_cursor, matched_trigger, captures)
end},
fmta(
[[
\item <>
]],
{
i(0),
}
)
),
s({trig="item", wordTrig=true, snippetType="autosnippet", condition=conds.line_begin},
fmta(
[[
\begin{itemize}
\item <>
\end{itemize}
]],
{
i(0),
}
)
),
s({trig="frame", wordTrig=true, snippetType="autosnippet", condition=conds.line_begin},
fmta(
[[
\begin{frame}
\frametitle{<>}
\end{frame}
]],
{
i(0),
}
)
),
s({trig="sec"}, s({trig="sec"},
fmta( fmta(
[[ [[

View File

@@ -13,6 +13,7 @@ local d = ls.dynamic_node
local fmt = require("luasnip.extras.fmt").fmt local fmt = require("luasnip.extras.fmt").fmt
local fmta = require("luasnip.extras.fmt").fmta local fmta = require("luasnip.extras.fmt").fmta
local rep = require("luasnip.extras").rep local rep = require("luasnip.extras").rep
local conds = require("luasnip.extras.expand_conditions")
--------------- ---------------
@@ -56,7 +57,7 @@ end
return { return {
s({trig="ali", snippetType="autosnippet"}, s({trig="ali", wordTrig=true, snippetType="autosnippet", condition=conds.line_begin},
fmta( fmta(
[[ [[
\begin{align*} \begin{align*}
@@ -113,6 +114,21 @@ s({trig="matp"},
{condition = tex_utils.in_mathzone} {condition = tex_utils.in_mathzone}
), ),
s({trig="([^%a])array", regTrig=true, wordTrig=false, snippetType="autosnippet"},
fmta(
[[
<>\begin{array}{c}
<>
\end{array}
]],
{
f( function(_, snip) return snip.captures[1] end ),
i(0),
}
),
{condition = tex_utils.in_mathzone}
),
s({trig='([^%a])int', regTrig=true, wordTrig=false, snippetType="autosnippet"}, s({trig='([^%a])int', regTrig=true, wordTrig=false, snippetType="autosnippet"},
fmta( fmta(
[[<>\int_{<>}^{<>} <> d<> ]], [[<>\int_{<>}^{<>} <> d<> ]],
@@ -228,13 +244,13 @@ s({trig="([^%a])tt", regTrig=true, wordTrig=false, snippetType="autosnippet"},
{condition = tex_utils.in_mathzone} {condition = tex_utils.in_mathzone}
), ),
s({trig=".", snippetType="autosnippet"}, -- s({trig=".", snippetType="autosnippet"},
fmta( -- fmta(
[[\cdot ]], -- [[\cdot ]],
{} -- {}
), -- ),
{condition = tex_utils.in_mathzone} -- {condition = tex_utils.in_mathzone}
), -- ),
s({trig="$$", snippetType="autosnippet"}, s({trig="$$", snippetType="autosnippet"},
fmta( fmta(

View File

@@ -0,0 +1,9 @@
[books]
dir = ~/Documents/literature/books
[keyboard]
dir = ~/Documents/literature/keyboard
[settings]
default-library = keyboard

View File

@@ -18,8 +18,7 @@ bindsym Control+Mod1+l exec $lock
bindsym Print exec grim -g "$(slurp -d)" - | wl-copy bindsym Print exec grim -g "$(slurp -d)" - | wl-copy
bindsym $mod+p exec kitty -e python bindsym $mod+p exec kitty -e /usr/bin/expect -c "spawn python; expect \\"*>>> \\"; send \\"import numpy as np\n\\"; send \\"import sympy as sp\n\\"; send \\"import torch\n\\"; interact"
bindsym $mod+Return exec $term bindsym $mod+Return exec $term
bindsym $mod+Shift+q kill bindsym $mod+Shift+q kill
bindsym $mod+d exec $menu bindsym $mod+d exec $menu
@@ -27,7 +26,7 @@ bindsym $mod+d exec $menu
floating_modifier $mod normal floating_modifier $mod normal
bindsym $mod+Shift+c reload bindsym $mod+Shift+c reload
bindsym $mod+Shift+e exec i3-msg exit bindsym $mod+Shift+e exec swaymsg exit
bar { bar {
swaybar_command waybar swaybar_command waybar
@@ -45,24 +44,34 @@ bindsym XF86AudioPause exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous bindsym XF86AudioPrev exec playerctl previous
bindsym XF86MonBrightnessUp exec brightnessctl set +5% bindsym XF86MonBrightnessUp exec /bin/sh -c ~/.config/sway/scripts/increase_brightness
bindsym XF86MonBrightnessDown exec brightnessctl set 5%- bindsym XF86MonBrightnessDown exec /bin/sh -c ~/.config/sway/scripts/decrease_brightness
bindsym $mod+c exec kitty -e python bindsym $mod+c exec kitty -e python
for_window [title="blueman-manager"] floating enable for_window [title="blueman-manager"] floating enable
for_window [class="^.*"] border pixel 3 for_window [class="^.*"] border pixel 0
default_floating_border none default_floating_border none
default_floating_border normal 0 default_floating_border normal 0
hide_edge_borders smart hide_edge_borders smart
for_window [app_id="org.pwmt.zathura"] opacity 0.94
for_window [app_id="kitty"] opacity 0.94
exec_always --no-startup-id bash -c "killall flashfocus; flashfocus --flash-opacity 0.92 -l never"
gaps inner 15 gaps inner 15
smart_gaps on smart_gaps on
bindsym $mod+g exec swaymsg gaps inner current toggle 15
# blur enable
# blur_radius 1
# blur_passes 4
# blur_noise 0.1
blur enable
blur_radius 8
exec dbus-update-activation-environment DISPLAY exec dbus-update-activation-environment DISPLAY

View File

@@ -1,2 +1,2 @@
exec_always nm-applet & exec_always nm-applet &
exec_always blueman-applet & #exec_always blueman-applet &

View File

@@ -2,9 +2,11 @@ input "type:touchpad" {
tap enabled tap enabled
natural_scroll enabled natural_scroll enabled
scroll_factor 0.4 scroll_factor 0.4
dwt disable dwt enable
accel_profile "adaptive" accel_profile "adaptive"
pointer_accel 0 pointer_accel 0
drag enabled
drag_lock disabled
} }
input type:keyboard { input type:keyboard {

View File

@@ -1,9 +1,9 @@
set $ws1 "1: Dev" set $ws1 "1: Dev"
set $ws2 "2: Firefox" set $ws2 "2: Firefox"
set $ws3 "3: Management" set $ws3 "3: Management"
set $ws4 "4" set $ws4 "4: Mehscellaneous"
set $ws5 "5: Doc" set $ws5 "5: Doc"
set $ws6 "6" set $ws6 "6: 3D-Printing"
set $ws7 "7: Music" set $ws7 "7: Music"
set $ws8 "8" set $ws8 "8"
set $ws9 "9" set $ws9 "9"
@@ -33,19 +33,27 @@ bindsym $mod+Shift+0 move container to workspace number $ws10
assign [class="Spotify"] $ws7 assign [class="Spotify"] $ws7
exec i3-msg 'workspace $ws1; exec kitty; $ws1' exec swaymsg 'workspace $ws1; exec kitty; $ws1'
exec i3-msg 'workspace $ws2; exec firefox' exec swaymsg 'workspace $ws2; exec firefox'
# #
## Multiple monitors ## Multiple monitors
# #
workspace $ws1 output DP-3 eDP-1 set $this_disp "eDP-1"
workspace $ws2 output eDP-1 DP-3 set $other_disp "DP-3"
workspace $ws3 output eDP-1 DP-3 # set $this_disp "eDP-1"
workspace $ws4 output DP-3 eDP-1 # set $other_disp "DP-3"
workspace $ws5 output eDP-1
workspace $ws6 output eDP-1 # output edP-1 mode 1920x1080@120Hz
workspace $ws7 output eDP-1 # output edP-1
workspace $ws8 output eDP-1
workspace $ws1 output $other_disp $this_disp
workspace $ws2 output $this_disp
workspace $ws3 output $this_disp
workspace $ws4 output $other_disp $this_disp
workspace $ws5 output $this_disp
workspace $ws6 output $this_disp
workspace $ws7 output $this_disp
workspace $ws8 output $this_disp

View File

@@ -0,0 +1,18 @@
#!/bin/sh
export BRIGHTNESS=`brightnessctl g`
if [ $BRIGHTNESS -gt 0 ]; then
brightnessctl set 5%-
else
killall gammastep &> /dev/null
export BRIGHTNESS=`cat /tmp/brightness 2> /dev/null || echo 1`
if [ `echo "$BRIGHTNESS > 0.1" | bc -l` == 1 ]; then
export BRIGHTNESS=`echo "$BRIGHTNESS - 0.1" | bc`
echo $BRIGHTNESS > /tmp/brightness
gammastep -O 6500 -b $BRIGHTNESS:0.1 &
else
gammastep -O 6500 -b 0.1:0.1 &
fi
fi

View File

@@ -0,0 +1,18 @@
#!/bin/sh
export BRIGHTNESS=`brightnessctl g`
if [ $BRIGHTNESS == 0 ]; then
killall gammastep &> /dev/null
export BRIGHTNESS=`cat /tmp/brightness 2> /dev/null || echo 1`
if [ `echo "$BRIGHTNESS < 1.0" | bc -l` == 1 ]; then
export BRIGHTNESS=`echo "$BRIGHTNESS + 0.1" | bc`
echo $BRIGHTNESS > /tmp/brightness
gammastep -O 6500 -b $BRIGHTNESS:0.1 &
else
brightnessctl set 5%
fi
else
brightnessctl set +5%
fi

View File

@@ -1,3 +1,10 @@
#
#
# General options
#
#
set-option -g default-shell /bin/zsh set-option -g default-shell /bin/zsh
setw -g mode-keys vi setw -g mode-keys vi
@@ -11,42 +18,35 @@ set -g status-right-length 90
set -g status-justify centre set -g status-justify centre
set -s escape-time 0 set -s escape-time 0
## COLORSCHEME: gruvbox dark (medium) set -g allow-passthrough on
# TODO: Do we need this? What does it do?
# vim: set ft=tmux tw=0 nowrap:
#
#
# Theme: gruvbox dark (medium)
#
#
set-option -g status "on" set-option -g status "on"
# default statusbar color
set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1 set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1
# default window title colors
set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1 set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1
# default window with an activity alert
set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3 set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3
# active window title colors
set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1 set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1
# pane border
set-option -g pane-active-border-style fg=colour250 #fg2 set-option -g pane-active-border-style fg=colour250 #fg2
set-option -g pane-border-style fg=colour237 #bg1 set-option -g pane-border-style fg=colour237 #bg1
# message infos
set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1 set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1
# writing commands inactive
set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1 set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1
# pane number display
set-option -g display-panes-active-colour colour250 #fg2 set-option -g display-panes-active-colour colour250 #fg2
set-option -g display-panes-colour colour237 #bg1 set-option -g display-panes-colour colour237 #bg1
# clock
set-window-option -g clock-mode-colour colour109 #blue set-window-option -g clock-mode-colour colour109 #blue
# bell
set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg
## Theme settings mixed with colors (unfortunately, but there is no cleaner way)
set-option -g status-justify "left" set-option -g status-justify "left"
set-option -g status-left-style none set-option -g status-left-style none
set-option -g status-left-length "80" set-option -g status-left-length "80"
@@ -55,10 +55,9 @@ set-option -g status-right-length "80"
set-window-option -g window-status-separator "" set-window-option -g window-status-separator ""
set-option -g status-left "#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]" set-option -g status-left "#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]"
set-option -g status-right "#[bg=colour237,fg=colour239 nobold, nounderscore, noitalics]#[bg=colour239,fg=colour246] %Y-%m-%d  %H:%M #[bg=colour239,fg=colour248,nobold,noitalics,nounderscore]#[bg=colour248,fg=colour237] #h " set-option -g status-right "#[fg=colour248,nobold,noitalics,nounderscore]#[bg=colour248,fg=colour237] #h "
set-window-option -g window-status-current-format "#[bg=colour214,fg=colour237,nobold,noitalics,nounderscore]#[bg=colour214,fg=colour239] #I #[bg=colour214,fg=colour239,bold] #W#{?window_zoomed_flag,*Z,} #[bg=colour237,fg=colour214,nobold,noitalics,nounderscore]" set-window-option -g window-status-current-format "#[bg=colour214,fg=colour237,nobold,noitalics,nounderscore]#[bg=colour214,fg=colour239] #I #[bg=colour214,fg=colour239,bold] #W#{?window_zoomed_flag,*Z,} #[bg=colour237,fg=colour214,nobold,noitalics,nounderscore]"
set-window-option -g window-status-format "#[bg=colour239,fg=colour237,noitalics]#[bg=colour239,fg=colour223] #I #[bg=colour239,fg=colour223] #W #[bg=colour237,fg=colour239,noitalics]" set-window-option -g window-status-format "#[bg=colour239,fg=colour237,noitalics]#[bg=colour239,fg=colour223] #I #[bg=colour239,fg=colour223] #W #[bg=colour237,fg=colour239,noitalics]"
# vim: set ft=tmux tw=0 nowrap:

View File

@@ -8,7 +8,7 @@
"modules-center": [ "modules-center": [
"clock#1", "clock#1",
"clock#2", "clock#2",
"clock#3", "custom/clock",
], ],
"modules-right": [ "modules-right": [
"pulseaudio", "pulseaudio",
@@ -37,8 +37,9 @@
"format": "{:%d-%m-%Y}", "format": "{:%d-%m-%Y}",
"tooltip": false "tooltip": false
}, },
"clock#3": { "custom/clock": {
"format": "{:%H:%M}", "exec": "date +\"%H:%M\"",
"interval": 10,
"tooltip": false "tooltip": false
}, },

View File

@@ -0,0 +1,40 @@
set notification-error-bg "rgba(29,32,33,1)" # bg
set notification-error-fg "rgba(251,73,52,1)" # bright:red
set notification-warning-bg "rgba(29,32,33,1)" # bg
set notification-warning-fg "rgba(250,189,47,1)" # bright:yellow
set notification-bg "rgba(29,32,33,1)" # bg
set notification-fg "rgba(184,187,38,1)" # bright:green
set completion-bg "rgba(80,73,69,1)" # bg2
set completion-fg "rgba(235,219,178,1)" # fg
set completion-group-bg "rgba(60,56,54,1)" # bg1
set completion-group-fg "rgba(146,131,116,1)" # gray
set completion-highlight-bg "rgba(131,165,152,1)" # bright:blue
set completion-highlight-fg "rgba(80,73,69,1)" # bg2
# Define the color in index mode
# set index-bg "rgba(80,73,69,1)" # bg2
# set index-fg "rgba(235,219,178,1)" # fg
# set index-active-bg "rgba(131,165,152,1)" # bright:blue
# set index-active-fg "rgba(80,73,69,1)" # bg2
set inputbar-bg "rgba(29,32,33,1)" # bg
set inputbar-fg "rgba(235,219,178,1)" # fg
set statusbar-bg "rgba(80,73,69,1)" # bg2
set statusbar-fg "rgba(235,219,178,1)" # fg
set highlight-color "rgba(250,189,47,0.5)" # bright:yellow
set highlight-active-color "rgba(254,128,25,0.5)" # bright:orange
set default-bg "rgba(29,32,33,1)" # bg
set default-fg "rgba(235,219,178,1)" # fg
set render-loading true
set render-loading-bg "rgba(29,32,33,1)" # bg
set render-loading-fg "rgba(235,219,178,1)" # fg
# Recolor book content's color
set recolor-lightcolor "rgba(29,32,33,1)" # bg
set recolor-darkcolor "rgba(235,219,178,1)" # fg
set recolor "true"
set recolor-keephue "true" # keep original color

View File

@@ -5,6 +5,7 @@ SAVEHIST=5000
setopt hist_ignore_all_dups setopt hist_ignore_all_dups
setopt extendedglob setopt extendedglob
unsetopt beep unsetopt beep
setopt interactivecomments
bindkey -v bindkey -v
# End of lines configured by zsh-newuser-install # End of lines configured by zsh-newuser-install
# The following lines were added by compinstall # The following lines were added by compinstall
@@ -23,6 +24,7 @@ setopt PROMPT_SUBST
PROMPT='%F{magenta}[%m] %F{blue}%~%f %F{red}${vcs_info_msg_0_}%f$ ' PROMPT='%F{magenta}[%m] %F{blue}%~%f %F{red}${vcs_info_msg_0_}%f$ '
source /usr/share/fzf/key-bindings.zsh source /usr/share/fzf/key-bindings.zsh
source /usr/share/fzf/completion.zsh
alias ssh='kitty +kitten ssh' alias ssh='kitty +kitten ssh'
@@ -37,22 +39,23 @@ alias ....="cd ../../.."
export PATH=$PATH:/home/andreas/.local/bin export PATH=$PATH:/home/andreas/.local/bin
export EDITOR=nvim export EDITOR=nvim
alias get-idf='. $HOME/ext_sw/esp-idf/export.sh' alias get-idf='. $HOME/ext-sw/esp-idf/export.sh'
alias sc='z ~/.config/sway' alias c='cd ~/.dotfiles'
alias nc='z ~/.config/nvim' alias sc='cd ~/.config/sway && nvim'
alias ezc='nvim ~/.zshrc' alias nc='cd ~/.config/nvim && nvim'
alias flog='nvim -c "Flog -all"'
alias bin='cd ~/.local/bin && nvim'
alias ait='z ~/Documents/kit/AIT && clear' export PATH=$PATH:"$HOME/.cargo/bin"
alias kit='z ~/Documents/kit && clear'
alias eml='z ~/Documents/kit/EMLLAB/emllab-challenge && . venv/bin/activate && clear'
alias hyp='z ~/git/HyperLink_SW && clear'
. "$HOME/.cargo/env"
eval "$(zoxide init zsh)" eval "$(zoxide init zsh)"
eval "$(thefuck --alias)" eval "$(thefuck --alias)"
. "$HOME/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh" . "/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh"
bindkey '^y' autosuggest-accept
bindkey '^l' autosuggest-accept
# . "$HOME/.cargo/env"
# export PYENV_ROOT="$HOME/.pyenv"
# [[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
# eval "$(pyenv init - zsh)"