diff options
20 files changed, 1405 insertions, 0 deletions
diff --git a/.config/neofetch/config.conf b/.config/neofetch/config.conf new file mode 100644 index 0000000..cdba4c6 --- /dev/null +++ b/.config/neofetch/config.conf @@ -0,0 +1,864 @@ +# See this wiki page for more info: +# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info +print_info() { + info title + info underline + + info "OS" distro + info "Host" model + info "Kernel" kernel + info "Uptime" uptime + info "Packages" packages + info "Shell" shell + info "Resolution" resolution + info "DE" de + info "WM" wm + info "WM Theme" wm_theme + info "Theme" theme + info "Icons" icons + info "Terminal" term + info "Terminal Font" term_font + info "CPU" cpu + info "GPU" gpu + info "Memory" memory + + # info "GPU Driver" gpu_driver # Linux/macOS only + # info "CPU Usage" cpu_usage + # info "Disk" disk + # info "Battery" battery + # info "Font" font + # info "Song" song + # [[ "$player" ]] && prin "Music Player" "$player" + # info "Local IP" local_ip + # info "Public IP" public_ip + # info "Users" users + # info "Locale" locale # This only works on glibc systems. + + info cols +} + +# Title + + +# Hide/Show Fully qualified domain name. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --title_fqdn +title_fqdn="off" + + +# Kernel + + +# Shorten the output of the kernel function. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --kernel_shorthand +# Supports: Everything except *BSDs (except PacBSD and PC-BSD) +# +# Example: +# on: '4.8.9-1-ARCH' +# off: 'Linux 4.8.9-1-ARCH' +kernel_shorthand="on" + + +# Distro + + +# Shorten the output of the distro function +# +# Default: 'off' +# Values: 'on', 'tiny', 'off' +# Flag: --distro_shorthand +# Supports: Everything except Windows and Haiku +distro_shorthand="off" + +# Show/Hide OS Architecture. +# Show 'x86_64', 'x86' and etc in 'Distro:' output. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --os_arch +# +# Example: +# on: 'Arch Linux x86_64' +# off: 'Arch Linux' +os_arch="on" + + +# Uptime + + +# Shorten the output of the uptime function +# +# Default: 'on' +# Values: 'on', 'tiny', 'off' +# Flag: --uptime_shorthand +# +# Example: +# on: '2 days, 10 hours, 3 mins' +# tiny: '2d 10h 3m' +# off: '2 days, 10 hours, 3 minutes' +uptime_shorthand="on" + + +# Memory + + +# Show memory pecentage in output. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --memory_percent +# +# Example: +# on: '1801MiB / 7881MiB (22%)' +# off: '1801MiB / 7881MiB' +memory_percent="off" + +# Change memory output unit. +# +# Default: 'mib' +# Values: 'kib', 'mib', 'gib' +# Flag: --memory_unit +# +# Example: +# kib '1020928KiB / 7117824KiB' +# mib '1042MiB / 6951MiB' +# gib: ' 0.98GiB / 6.79GiB' +memory_unit="mib" + + +# Packages + + +# Show/Hide Package Manager names. +# +# Default: 'tiny' +# Values: 'on', 'tiny' 'off' +# Flag: --package_managers +# +# Example: +# on: '998 (pacman), 8 (flatpak), 4 (snap)' +# tiny: '908 (pacman, flatpak, snap)' +# off: '908' +package_managers="on" + + +# Shell + + +# Show the path to $SHELL +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --shell_path +# +# Example: +# on: '/bin/bash' +# off: 'bash' +shell_path="off" + +# Show $SHELL version +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --shell_version +# +# Example: +# on: 'bash 4.4.5' +# off: 'bash' +shell_version="on" + + +# CPU + + +# CPU speed type +# +# Default: 'bios_limit' +# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'. +# Flag: --speed_type +# Supports: Linux with 'cpufreq' +# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value. +speed_type="bios_limit" + +# CPU speed shorthand +# +# Default: 'off' +# Values: 'on', 'off'. +# Flag: --speed_shorthand +# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz +# +# Example: +# on: 'i7-6500U (4) @ 3.1GHz' +# off: 'i7-6500U (4) @ 3.100GHz' +speed_shorthand="off" + +# Enable/Disable CPU brand in output. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --cpu_brand +# +# Example: +# on: 'Intel i7-6500U' +# off: 'i7-6500U (4)' +cpu_brand="on" + +# CPU Speed +# Hide/Show CPU speed. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --cpu_speed +# +# Example: +# on: 'Intel i7-6500U (4) @ 3.1GHz' +# off: 'Intel i7-6500U (4)' +cpu_speed="on" + +# CPU Cores +# Display CPU cores in output +# +# Default: 'logical' +# Values: 'logical', 'physical', 'off' +# Flag: --cpu_cores +# Support: 'physical' doesn't work on BSD. +# +# Example: +# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores) +# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores) +# off: 'Intel i7-6500U @ 3.1GHz' +cpu_cores="logical" + +# CPU Temperature +# Hide/Show CPU temperature. +# Note the temperature is added to the regular CPU function. +# +# Default: 'off' +# Values: 'C', 'F', 'off' +# Flag: --cpu_temp +# Supports: Linux, BSD +# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable +# coretemp kernel module. This only supports newer Intel processors. +# +# Example: +# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]' +# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]' +# off: 'Intel i7-6500U (4) @ 3.1GHz' +cpu_temp="off" + + +# GPU + + +# Enable/Disable GPU Brand +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gpu_brand +# +# Example: +# on: 'AMD HD 7950' +# off: 'HD 7950' +gpu_brand="on" + +# Which GPU to display +# +# Default: 'all' +# Values: 'all', 'dedicated', 'integrated' +# Flag: --gpu_type +# Supports: Linux +# +# Example: +# all: +# GPU1: AMD HD 7950 +# GPU2: Intel Integrated Graphics +# +# dedicated: +# GPU1: AMD HD 7950 +# +# integrated: +# GPU1: Intel Integrated Graphics +gpu_type="all" + + +# Resolution + + +# Display refresh rate next to each monitor +# Default: 'off' +# Values: 'on', 'off' +# Flag: --refresh_rate +# Supports: Doesn't work on Windows. +# +# Example: +# on: '1920x1080 @ 60Hz' +# off: '1920x1080' +refresh_rate="off" + + +# Gtk Theme / Icons / Font + + +# Shorten output of GTK Theme / Icons / Font +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --gtk_shorthand +# +# Example: +# on: 'Numix, Adwaita' +# off: 'Numix [GTK2], Adwaita [GTK3]' +gtk_shorthand="off" + + +# Enable/Disable gtk2 Theme / Icons / Font +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gtk2 +# +# Example: +# on: 'Numix [GTK2], Adwaita [GTK3]' +# off: 'Adwaita [GTK3]' +gtk2="on" + +# Enable/Disable gtk3 Theme / Icons / Font +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gtk3 +# +# Example: +# on: 'Numix [GTK2], Adwaita [GTK3]' +# off: 'Numix [GTK2]' +gtk3="on" + + +# IP Address + + +# Website to ping for the public IP +# +# Default: 'http://ident.me' +# Values: 'url' +# Flag: --ip_host +public_ip_host="http://ident.me" + +# Public IP timeout. +# +# Default: '2' +# Values: 'int' +# Flag: --ip_timeout +public_ip_timeout=2 + + +# Desktop Environment + + +# Show Desktop Environment version +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --de_version +de_version="on" + + +# Disk + + +# Which disks to display. +# The values can be any /dev/sdXX, mount point or directory. +# NOTE: By default we only show the disk info for '/'. +# +# Default: '/' +# Values: '/', '/dev/sdXX', '/path/to/drive'. +# Flag: --disk_show +# +# Example: +# disk_show=('/' '/dev/sdb1'): +# 'Disk (/): 74G / 118G (66%)' +# 'Disk (/mnt/Videos): 823G / 893G (93%)' +# +# disk_show=('/'): +# 'Disk (/): 74G / 118G (66%)' +# +disk_show=('/') + +# Disk subtitle. +# What to append to the Disk subtitle. +# +# Default: 'mount' +# Values: 'mount', 'name', 'dir', 'none' +# Flag: --disk_subtitle +# +# Example: +# name: 'Disk (/dev/sda1): 74G / 118G (66%)' +# 'Disk (/dev/sdb2): 74G / 118G (66%)' +# +# mount: 'Disk (/): 74G / 118G (66%)' +# 'Disk (/mnt/Local Disk): 74G / 118G (66%)' +# 'Disk (/mnt/Videos): 74G / 118G (66%)' +# +# dir: 'Disk (/): 74G / 118G (66%)' +# 'Disk (Local Disk): 74G / 118G (66%)' +# 'Disk (Videos): 74G / 118G (66%)' +# +# none: 'Disk: 74G / 118G (66%)' +# 'Disk: 74G / 118G (66%)' +# 'Disk: 74G / 118G (66%)' +disk_subtitle="mount" + +# Disk percent. +# Show/Hide disk percent. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --disk_percent +# +# Example: +# on: 'Disk (/): 74G / 118G (66%)' +# off: 'Disk (/): 74G / 118G' +disk_percent="on" + + +# Song + + +# Manually specify a music player. +# +# Default: 'auto' +# Values: 'auto', 'player-name' +# Flag: --music_player +# +# Available values for 'player-name': +# +# amarok +# audacious +# banshee +# bluemindo +# clementine +# cmus +# deadbeef +# deepin-music +# dragon +# elisa +# exaile +# gnome-music +# gmusicbrowser +# gogglesmm +# guayadeque +# io.elementary.music +# iTunes +# juk +# lollypop +# mocp +# mopidy +# mpd +# muine +# netease-cloud-music +# olivia +# playerctl +# pogo +# pragha +# qmmp +# quodlibet +# rhythmbox +# sayonara +# smplayer +# spotify +# strawberry +# tauonmb +# tomahawk +# vlc +# xmms2d +# xnoise +# yarock +music_player="auto" + +# Format to display song information. +# +# Default: '%artist% - %album% - %title%' +# Values: '%artist%', '%album%', '%title%' +# Flag: --song_format +# +# Example: +# default: 'Song: Jet - Get Born - Sgt Major' +song_format="%artist% - %album% - %title%" + +# Print the Artist, Album and Title on separate lines +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --song_shorthand +# +# Example: +# on: 'Artist: The Fratellis' +# 'Album: Costello Music' +# 'Song: Chelsea Dagger' +# +# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger' +song_shorthand="off" + +# 'mpc' arguments (specify a host, password etc). +# +# Default: '' +# Example: mpc_args=(-h HOST -P PASSWORD) +mpc_args=() + + +# Text Colors + + +# Text Colors +# +# Default: 'distro' +# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' +# Flag: --colors +# +# Each number represents a different part of the text in +# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info' +# +# Example: +# colors=(distro) - Text is colored based on Distro colors. +# colors=(4 6 1 8 8 6) - Text is colored in the order above. +colors=(distro) + + +# Text Options + + +# Toggle bold text +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --bold +bold="on" + +# Enable/Disable Underline +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --underline +underline_enabled="on" + +# Underline character +# +# Default: '-' +# Values: 'string' +# Flag: --underline_char +underline_char="-" + + +# Info Separator +# Replace the default separator with the specified string. +# +# Default: ':' +# Flag: --separator +# +# Example: +# separator="->": 'Shell-> bash' +# separator=" =": 'WM = dwm' +separator=":" + + +# Color Blocks + + +# Color block range +# The range of colors to print. +# +# Default: '0', '15' +# Values: 'num' +# Flag: --block_range +# +# Example: +# +# Display colors 0-7 in the blocks. (8 colors) +# neofetch --block_range 0 7 +# +# Display colors 0-15 in the blocks. (16 colors) +# neofetch --block_range 0 15 +block_range=(0 15) + +# Toggle color blocks +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --color_blocks +color_blocks="on" + +# Color block width in spaces +# +# Default: '3' +# Values: 'num' +# Flag: --block_width +block_width=3 + +# Color block height in lines +# +# Default: '1' +# Values: 'num' +# Flag: --block_height +block_height=1 + +# Color Alignment +# +# Default: 'auto' +# Values: 'auto', 'num' +# Flag: --col_offset +# +# Number specifies how far from the left side of the terminal (in spaces) to +# begin printing the columns, in case you want to e.g. center them under your +# text. +# Example: +# col_offset="auto" - Default behavior of neofetch +# col_offset=7 - Leave 7 spaces then print the colors +col_offset="auto" + +# Progress Bars + + +# Bar characters +# +# Default: '-', '=' +# Values: 'string', 'string' +# Flag: --bar_char +# +# Example: +# neofetch --bar_char 'elapsed' 'total' +# neofetch --bar_char '-' '=' +bar_char_elapsed="-" +bar_char_total="=" + +# Toggle Bar border +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --bar_border +bar_border="on" + +# Progress bar length in spaces +# Number of chars long to make the progress bars. +# +# Default: '15' +# Values: 'num' +# Flag: --bar_length +bar_length=15 + +# Progress bar colors +# When set to distro, uses your distro's logo colors. +# +# Default: 'distro', 'distro' +# Values: 'distro', 'num' +# Flag: --bar_colors +# +# Example: +# neofetch --bar_colors 3 4 +# neofetch --bar_colors distro 5 +bar_color_elapsed="distro" +bar_color_total="distro" + + +# Info display +# Display a bar with the info. +# +# Default: 'off' +# Values: 'bar', 'infobar', 'barinfo', 'off' +# Flags: --cpu_display +# --memory_display +# --battery_display +# --disk_display +# +# Example: +# bar: '[---=======]' +# infobar: 'info [---=======]' +# barinfo: '[---=======] info' +# off: 'info' +cpu_display="off" +memory_display="off" +battery_display="off" +disk_display="off" + + +# Backend Settings + + +# Image backend. +# +# Default: 'ascii' +# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off', +# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty' +# Flag: --backend +image_backend="ascii" + +# Image Source +# +# Which image or ascii file to display. +# +# Default: 'auto' +# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/' +# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")' +# Flag: --source +# +# NOTE: 'auto' will pick the best image source for whatever image backend is used. +# In ascii mode, distro ascii art will be used and in an image mode, your +# wallpaper will be used. +image_source="auto" + + +# Ascii Options + + +# Ascii distro +# Which distro's ascii art to display. +# +# Default: 'auto' +# Values: 'auto', 'distro_name' +# Flag: --ascii_distro +# NOTE: AIX, Alpine, Anarchy, Android, Antergos, antiX, "AOSC OS", +# "AOSC OS/Retro", Apricity, ArcoLinux, ArchBox, ARCHlabs, +# ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya, Bedrock, +# Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD, +# BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS, +# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover, +# Condres, Container_Linux, CRUX, Cucumber, Debian, Deepin, +# DesaOS, Devuan, DracOS, DarkOs, DragonFly, Drauger, Elementary, +# EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD, +# FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo, +# gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra, +# Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion, +# Korora, KSLinux, Kubuntu, LEDE, LFS, Linux_Lite, +# LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva, +# Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib, +# Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner, +# NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba, +# OpenMandriva, OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD, +# Parabola, Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint, +# popos, Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix, +# Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan, +# Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific, +# Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz, +# SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS, +# openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, +# Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio, +# Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin, +# and IRIX have ascii logos +# NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants. +# Use '{distro name}_old' to use the old logos. +# NOTE: Ubuntu has flavor variants. +# Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME, +# Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors. +# NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu, +# CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android, +# Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola, +# Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS, +# Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian, +# postmarketOS, and Void have a smaller logo variant. +# Use '{distro name}_small' to use the small variants. +ascii_distro="auto" + +# Ascii Colors +# +# Default: 'distro' +# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' +# Flag: --ascii_colors +# +# Example: +# ascii_colors=(distro) - Ascii is colored based on Distro colors. +# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors. +ascii_colors=(distro) + +# Bold ascii logo +# Whether or not to bold the ascii logo. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --ascii_bold +ascii_bold="on" + + +# Image Options + + +# Image loop +# Setting this to on will make neofetch redraw the image constantly until +# Ctrl+C is pressed. This fixes display issues in some terminal emulators. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --loop +image_loop="off" + +# Thumbnail directory +# +# Default: '~/.cache/thumbnails/neofetch' +# Values: 'dir' +thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch" + +# Crop mode +# +# Default: 'normal' +# Values: 'normal', 'fit', 'fill' +# Flag: --crop_mode +# +# See this wiki page to learn about the fit and fill options. +# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F +crop_mode="normal" + +# Crop offset +# Note: Only affects 'normal' crop mode. +# +# Default: 'center' +# Values: 'northwest', 'north', 'northeast', 'west', 'center' +# 'east', 'southwest', 'south', 'southeast' +# Flag: --crop_offset +crop_offset="center" + +# Image size +# The image is half the terminal width by default. +# +# Default: 'auto' +# Values: 'auto', '00px', '00%', 'none' +# Flags: --image_size +# --size +image_size="auto" + +# Gap between image and text +# +# Default: '3' +# Values: 'num', '-num' +# Flag: --gap +gap=3 + +# Image offsets +# Only works with the w3m backend. +# +# Default: '0' +# Values: 'px' +# Flags: --xoffset +# --yoffset +yoffset=0 +xoffset=0 + +# Image background color +# Only works with the w3m backend. +# +# Default: '' +# Values: 'color', 'blue' +# Flag: --bg_color +background_color= + + +# Misc Options + +# Stdout mode +# Turn off all colors and disables image backend (ASCII/Image). +# Useful for piping into another command. +# Default: 'off' +# Values: 'on', 'off' +stdout="off" diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua new file mode 100644 index 0000000..53abcdc --- /dev/null +++ b/.config/nvim/init.lua @@ -0,0 +1,2 @@ +require("chronoziel") +print("Welcome, Kashieru") diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json new file mode 100644 index 0000000..6d24299 --- /dev/null +++ b/.config/nvim/lazy-lock.json @@ -0,0 +1,20 @@ +{ + "cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" }, + "harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" }, + "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, + "lsp-zero.nvim": { "branch": "v4.x", "commit": "df80878a8ac6f855a6290389340fd089870ea7a5" }, + "lualine.nvim": { "branch": "master", "commit": "1517caa8fff05e4b4999857319d3b0609a7f57fa" }, + "markview.nvim": { "branch": "main", "commit": "b3c0f3caf78518d33a0b5ad8af944a3c70aa0389" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" }, + "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" }, + "nvim-cmp": { "branch": "main", "commit": "1e1900b0769324a9675ef85b38f99cca29e203b3" }, + "nvim-lspconfig": { "branch": "master", "commit": "0a1ac55d7d4ec2b2ed9616dfc5406791234d1d2b" }, + "nvim-surround": { "branch": "main", "commit": "caf6f633d4d77a29b6e265b560c5a035d171a913" }, + "nvim-treesitter": { "branch": "master", "commit": "86768fdd002c75833414010052a1e95a4760ee32" }, + "nvim-web-devicons": { "branch": "master", "commit": "4c3a5848ee0b09ecdea73adcd2a689190aeb728c" }, + "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, + "rose-pine": { "branch": "main", "commit": "7d1b5c7dcd274921f0f58e90a8bf935f6a95fbf3" }, + "telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" }, + "undotree": { "branch": "master", "commit": "b951b87b46c34356d44aa71886aecf9dd7f5788a" }, + "vim-be-good": { "branch": "master", "commit": "0ae3de14eb8efc6effe7704b5e46495e91931cc5" } +} diff --git a/.config/nvim/lua/chronoziel/hover.lua b/.config/nvim/lua/chronoziel/hover.lua new file mode 100644 index 0000000..0a49574 --- /dev/null +++ b/.config/nvim/lua/chronoziel/hover.lua @@ -0,0 +1,35 @@ + +-- Function to enable the hover autocmd +function EnableHoverAutocmd() + vim.cmd [[ + augroup HoverInfo + autocmd! + autocmd CursorHold * lua vim.lsp.buf.hover() + augroup END + ]] +end + +-- Function to disable the hover autocmd +function DisableHoverAutocmd() + vim.cmd [[ + augroup HoverInfo + autocmd! + augroup END + ]] +end + +-- Variable to keep track of the autocmd state +local hover_autocmd_enabled = false + +-- Toggle function +function ToggleHoverAutocmd() + if hover_autocmd_enabled then + DisableHoverAutocmd() + hover_autocmd_enabled = false + print("Hover autocmd disabled") + else + EnableHoverAutocmd() + hover_autocmd_enabled = true + print("Hover autocmd enabled") + end +end diff --git a/.config/nvim/lua/chronoziel/init.lua b/.config/nvim/lua/chronoziel/init.lua new file mode 100644 index 0000000..6c7c0e9 --- /dev/null +++ b/.config/nvim/lua/chronoziel/init.lua @@ -0,0 +1,4 @@ +require("chronoziel.remap") +require("chronoziel.set") +require("chronoziel.lazy") +require("chronoziel.hover") diff --git a/.config/nvim/lua/chronoziel/lazy.lua b/.config/nvim/lua/chronoziel/lazy.lua new file mode 100644 index 0000000..605c0b0 --- /dev/null +++ b/.config/nvim/lua/chronoziel/lazy.lua @@ -0,0 +1,23 @@ +-- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +-- Make sure to setup `mapleader` and `maplocalleader` before +-- loading lazy.nvim so that mappings are correct. +-- This is also a good place to setup other settings (vim.opt) + +-- Setup lazy.nvim +require("lazy").setup("chronoziel.plugins") diff --git a/.config/nvim/lua/chronoziel/plugins/colours.lua b/.config/nvim/lua/chronoziel/plugins/colours.lua new file mode 100644 index 0000000..b952d54 --- /dev/null +++ b/.config/nvim/lua/chronoziel/plugins/colours.lua @@ -0,0 +1,13 @@ +return { + "rose-pine/neovim", + name = "rose-pine", + config = function() + vim.cmd("colorscheme rose-pine"); + -- vim.cmd.colorscheme(color) + + vim.api.nvim_set_hl(0, "Normal", {bg = "none"}) + vim.api.nvim_set_hl(0, "NormalFloat", {bg = "none"}) + + + end +} diff --git a/.config/nvim/lua/chronoziel/plugins/harpoon.lua b/.config/nvim/lua/chronoziel/plugins/harpoon.lua new file mode 100644 index 0000000..b22c104 --- /dev/null +++ b/.config/nvim/lua/chronoziel/plugins/harpoon.lua @@ -0,0 +1,15 @@ +return { + "theprimeagen/harpoon", + config = function() + local mark = require("harpoon.mark") + local ui = require("harpoon.ui") + + vim.keymap.set("n", "<leader>a", mark.add_file) + vim.keymap.set("n", "<C-e>", ui.toggle_quick_menu) + + vim.keymap.set("n", "<C-h>", function() ui.nav_file(1) end) + vim.keymap.set("n", "<C-j>", function() ui.nav_file(2) end) + vim.keymap.set("n", "<C-k>", function() ui.nav_file(3) end) + vim.keymap.set("n", "<C-l>", function() ui.nav_file(4) end) + end +} diff --git a/.config/nvim/lua/chronoziel/plugins/lsp-zero.lua b/.config/nvim/lua/chronoziel/plugins/lsp-zero.lua new file mode 100644 index 0000000..dd58ee4 --- /dev/null +++ b/.config/nvim/lua/chronoziel/plugins/lsp-zero.lua @@ -0,0 +1,168 @@ +return { + "VonHeikemen/lsp-zero.nvim", + + dependencies = { + {'williamboman/mason.nvim'}, + {'williamboman/mason-lspconfig.nvim'}, + + {'neovim/nvim-lspconfig'}, + {'hrsh7th/nvim-cmp'}, + {'hrsh7th/cmp-nvim-lsp'}, + }, + + config = function() + -- "Avoids annoying layout shift in the screen" + vim.opt.signcolumn = 'yes' + + -- Adds cmp_nvim_lsp capabilities settings to lspconfig + local lspconfig_defaults = require('lspconfig').util.default_config + lspconfig_defaults.capabilities = vim.tbl_deep_extend( + 'force', + lspconfig_defaults.capabilities, + require('cmp_nvim_lsp').default_capabilities() + ) + + -- This is where you enable features that only work + -- if there is a language server active in the file + vim.api.nvim_create_autocmd('LspAttach', { + desc = 'LSP actions', + callback = function(event) + local opts = {buffer = event.buf} + + vim.keymap.set('n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>', opts) + vim.keymap.set('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<cr>', opts) + vim.keymap.set('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<cr>', opts) + vim.keymap.set('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<cr>', opts) + vim.keymap.set('n', 'go', '<cmd>lua vim.lsp.buf.type_definition()<cr>', opts) + vim.keymap.set('n', 'gr', '<cmd>lua vim.lsp.buf.references()<cr>', opts) + vim.keymap.set('n', 'gs', '<cmd>lua vim.lsp.buf.signature_help()<cr>', opts) + vim.keymap.set('n', '<F2>', '<cmd>lua vim.lsp.buf.rename()<cr>', opts) + vim.keymap.set({'n', 'x'}, '<F3>', '<cmd>lua vim.lsp.buf.format({async = true})<cr>', opts) + vim.keymap.set('n', '<F4>', '<cmd>lua vim.lsp.buf.code_action()<cr>', opts) + end, + }) + + -- to learn how to use mason.nvim + -- read this: https://github.com/VonHeikemen/lsp-zero.nvim/blob/v3.x/doc/md/guides/integrate-with-mason-nvim.md + require('mason').setup({}) + + require('mason-lspconfig').setup({ + ensure_installed = {}, + handlers = { + function(server_name) + require('lspconfig')[server_name].setup({}) + end, + }, + }) + + require('lspconfig').harper_ls.setup { + settings = { + ["harper-ls"] = { + linters = { + spell_check = false, + spelled_numbers = false, + an_a = true, + sentence_capitalization = false, + unclosed_quotes = true, + wrong_quotes = false, + long_sentences = false, + repeated_words = false, + spaces = true, + matcher = true, + correct_number_suffix = true, + number_suffix_capitalization = true, + multiple_sequential_pronouns = true, + linking_verbs = false, + avoid_curses = false, + terminating_conjunctions = true + } + } + }, + } + + local cmp = require('cmp') + + cmp.setup({ + sources = { + {name = 'nvim_lsp'}, + }, + snippet = { + expand = function(args) + -- You need Neovim v0.10 to use vim.snippet + vim.snippet.expand(args.body) + end, + }, +-- mapping = cmp.mapping.preset.insert({}), + + mapping = { + ["<Tab>"] = cmp.mapping.select_next_item(), + ["<S-Tab>"] = cmp.mapping.select_prev_item(), + ["<C-Tab>"] = cmp.mapping.complete(), + } + + }) + + + end, + + -- "VonHeikemen/lsp-zero.nvim", + -- dependencies = { + -- {'williamboman/mason.nvim'}, + -- {'williamboman/mason-lspconfig.nvim'}, + -- + -- {'neovim/nvim-lspconfig'}, + -- {'hrsh7th/nvim-cmp'}, + -- {'hrsh7th/cmp-nvim-lsp'}, + -- + -- {'L3MON4D3/LuaSnip'}, + -- }, + -- + -- config = function() + -- local lsp_zero = require('lsp-zero') + -- + -- lsp_zero.on_attach(function(client, bufnr) + -- -- see :help lsp-zero-keybindings + -- -- to learn the available actions + -- lsp_zero.default_keymaps({buffer = bufnr}) + -- end) + -- + -- + -- -- to learn how to use mason.nvim + -- -- read this: https://github.com/VonHeikemen/lsp-zero.nvim/blob/v3.x/doc/md/guides/integrate-with-mason-nvim.md + -- require('mason').setup({}) + -- + -- require('mason-lspconfig').setup({ + -- ensure_installed = {}, + -- handlers = { + -- function(server_name) + -- require('lspconfig')[server_name].setup({}) + -- end, + -- }, + -- }) + -- + -- require('lspconfig').harper_ls.setup { + -- settings = { + -- ["harper-ls"] = { + -- linters = { + -- spell_check = false, + -- spelled_numbers = false, + -- an_a = true, + -- sentence_capitalization = false, + -- unclosed_quotes = true, + -- wrong_quotes = false, + -- long_sentences = false, + -- repeated_words = false, + -- spaces = true, + -- matcher = true, + -- correct_number_suffix = true, + -- number_suffix_capitalization = true, + -- multiple_sequential_pronouns = true, + -- linking_verbs = false, + -- avoid_curses = false, + -- terminating_conjunctions = true + -- } + -- } + -- }, + -- } + -- end + } diff --git a/.config/nvim/lua/chronoziel/plugins/lualine.lua b/.config/nvim/lua/chronoziel/plugins/lualine.lua new file mode 100644 index 0000000..bf0fb8e --- /dev/null +++ b/.config/nvim/lua/chronoziel/plugins/lualine.lua @@ -0,0 +1,50 @@ +return { + "nvim-lualine/lualine.nvim", + dependencies = { + "nvim-tree/nvim-web-devicons" + }, + config = function() + local lualine = require('lualine') + + lualine.setup { + options = { + icons_enabled = true, + theme = 'horizon', + component_separators = { left = '', right = ''}, + section_separators = { left = '', right = ''}, + disabled_filetypes = { + statusline = {}, + winbar = {}, + }, + ignore_focus = {}, + always_divide_middle = true, + globalstatus = false, + refresh = { + statusline = 1000, + tabline = 1000, + winbar = 1000, + } + }, + sections = { + lualine_a = {'mode'}, + lualine_b = {'branch', 'diff', 'diagnostics'}, + lualine_c = {'filename'}, + lualine_x = {'encoding', 'fileformat', 'filetype'}, + lualine_y = {'progress'}, + lualine_z = {'location'} + }, + inactive_sections = { + lualine_a = {}, + lualine_b = {}, + lualine_c = {'filename'}, + lualine_x = {'location'}, + lualine_y = {}, + lualine_z = {} + }, + tabline = {}, + winbar = {}, + inactive_winbar = {}, + extensions = {} + } + end +} diff --git a/.config/nvim/lua/chronoziel/plugins/markview.lua b/.config/nvim/lua/chronoziel/plugins/markview.lua new file mode 100644 index 0000000..d2af8fd --- /dev/null +++ b/.config/nvim/lua/chronoziel/plugins/markview.lua @@ -0,0 +1,4 @@ +return { + "OXY2DEV/markview.nvim", + lazy = false +}; diff --git a/.config/nvim/lua/chronoziel/plugins/noice.lua b/.config/nvim/lua/chronoziel/plugins/noice.lua new file mode 100644 index 0000000..dc9de97 --- /dev/null +++ b/.config/nvim/lua/chronoziel/plugins/noice.lua @@ -0,0 +1,36 @@ +return { +-- "folke/noice.nvim", +-- event = "VeryLazy", +-- opts = { +-- -- add any options here +-- }, +-- dependencies = { +-- -- if you lazy-load any plugin below, make sure to add proper `module="..."` entries +-- "MunifTanjim/nui.nvim", +-- -- OPTIONAL: +-- -- `nvim-notify` is only needed, if you want to use the notification view. +-- -- If not available, we use `mini` as the fallback +-- "rcarriga/nvim-notify", +-- }, +-- config = function() +-- require("noice").setup({ +-- lsp = { +-- -- override markdown rendering so that **cmp** and other plugins use **Treesitter** +-- override = { +-- ["vim.lsp.util.convert_input_to_markdown_lines"] = true, +-- ["vim.lsp.util.stylize_markdown"] = true, +-- ["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp +-- }, +-- }, +-- -- you can enable a preset for easier configuration +-- presets = { +-- bottom_search = true, -- use a classic bottom cmdline for search +-- command_palette = true, -- position the cmdline and popupmenu together +-- long_message_to_split = true, -- long messages will be sent to a split +-- inc_rename = false, -- enables an input dialog for inc-rename.nvim +-- lsp_doc_border = false, -- add a border to hover docs and signature help +-- }, +-- }) +-- vim.keymap.set("n", "<leader>nd", "<cmd>NoiceDismiss<CR>") +-- end +} diff --git a/.config/nvim/lua/chronoziel/plugins/nvim-surround.lua b/.config/nvim/lua/chronoziel/plugins/nvim-surround.lua new file mode 100644 index 0000000..2e2e019 --- /dev/null +++ b/.config/nvim/lua/chronoziel/plugins/nvim-surround.lua @@ -0,0 +1,3 @@ +return { + "kylechui/nvim-surround", +} diff --git a/.config/nvim/lua/chronoziel/plugins/telescope.lua b/.config/nvim/lua/chronoziel/plugins/telescope.lua new file mode 100644 index 0000000..7740e83 --- /dev/null +++ b/.config/nvim/lua/chronoziel/plugins/telescope.lua @@ -0,0 +1,16 @@ +return { + "nvim-telescope/telescope.nvim", + dependencies = { + "nvim-lua/plenary.nvim" + }, + config = function() + local builtin = require('telescope.builtin') + + -- PRIMEAGEN KEYBINDS + vim.keymap.set('n', '<leader>pf', builtin.find_files, {}) + vim.keymap.set('n', '<C-p>', builtin.git_files, {}) + vim.keymap.set('n', '<leader>ps', function() + builtin.grep_string({ search = vim.fn.input("Grep > ") }); + end) + end +} diff --git a/.config/nvim/lua/chronoziel/plugins/treesitter.lua b/.config/nvim/lua/chronoziel/plugins/treesitter.lua new file mode 100644 index 0000000..710a6f4 --- /dev/null +++ b/.config/nvim/lua/chronoziel/plugins/treesitter.lua @@ -0,0 +1,26 @@ +return { + "nvim-treesitter/nvim-treesitter", + config = function() + require'nvim-treesitter.configs'.setup { + -- A list of parser names, or "all" (the listed parsers MUST always be installed) + ensure_installed = { "c", "lua", "java", "rust", "vim", "vimdoc", "query", "markdown", "markdown_inline" }, + + -- Install parsers synchronously (only applied to `ensure_installed`) + sync_install = false, + + -- Automatically install missing parsers when entering buffer + -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally + auto_install = true, + + highlight = { + enable = true, + + -- Setting this to true will run `:h syntax` and tree-sitter at the same time. + -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). + -- Using this option may slow down your editor, and you may see some duplicate highlights. + -- Instead of true it can also be a list of languages + additional_vim_regex_highlighting = false, + }, + } + end +} diff --git a/.config/nvim/lua/chronoziel/plugins/undotree.lua b/.config/nvim/lua/chronoziel/plugins/undotree.lua new file mode 100644 index 0000000..1404add --- /dev/null +++ b/.config/nvim/lua/chronoziel/plugins/undotree.lua @@ -0,0 +1,6 @@ +return { + "mbbill/undotree", + config = function() + vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle) + end +} diff --git a/.config/nvim/lua/chronoziel/plugins/vim-be-good.lua b/.config/nvim/lua/chronoziel/plugins/vim-be-good.lua new file mode 100644 index 0000000..e27b7b1 --- /dev/null +++ b/.config/nvim/lua/chronoziel/plugins/vim-be-good.lua @@ -0,0 +1,3 @@ +return { + "ThePrimeagen/vim-be-good" +} diff --git a/.config/nvim/lua/chronoziel/remap.lua b/.config/nvim/lua/chronoziel/remap.lua new file mode 100644 index 0000000..edf5d7b --- /dev/null +++ b/.config/nvim/lua/chronoziel/remap.lua @@ -0,0 +1,57 @@ +vim.g.mapleader = " " + +--PERSONAL ADDITIONS + +--Allows Control Delete +vim.keymap.set("i", "<C-H>", "<C-W>") + +--Java compile and run mappings +vim.keymap.set("n", "<leader>jc", ":!javac %:p<CR>", { noremap = true }) +vim.keymap.set("n", "<leader>jr", ":!javac %:t:r<CR>", { noremap = true }) + +--Open terminal +vim.keymap.set("n", "<leader>t", ":term<CR>a") + +--Show properties from LSP +vim.keymap.set("n", "<leader>1", ":lua vim.lsp.buf.hover()<CR>", { noremap = true }) + +--Toggle cursor hover auto-show properties +vim.keymap.set("n", "<leader>2", ":lua ToggleHoverAutocmd()<CR>", { noremap = true, silent = true}); + +--PRIMEAGEN KEYBINDS + +vim.keymap.set("n", "<leader>pv", vim.cmd.Ex) +--cool moving and auto-indent with visual mode +vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv") +vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv") + + +--keeps cursor in same place when removing newline +vim.keymap.set("n", "J", "mzJ`z") + +--centers cursor on half page jumps +vim.keymap.set("n", "<C-d>", "<C-d>zz") +vim.keymap.set("n", "<C-u>", "<C-u>zz") + +--centers cursor on search terms +vim.keymap.set("n", "n", "nzzzv") +vim.keymap.set("n", "N", "Nzzzv") + +--pastes and preserves current paste buffer +vim.keymap.set("x", "<leader>pp", "\"_dP") + +--copying to system clipboard : asbjornHaland +vim.keymap.set("n", "<leader>y", "\"+y") +vim.keymap.set("v", "<leader>y", "\"+y") +vim.keymap.set("n", "<leader>Y", "\"+Y") + +--deleting to void register : asbjornHaland +vim.keymap.set("n", "<leader>d", "\"_d") +vim.keymap.set("v", "<leader>d", "\"_d") + +--annex capital Q +vim.keymap.set("n", "Q", "<nop>") + +--edit all instances of selected word in file +vim.keymap.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]]) + diff --git a/.config/nvim/lua/chronoziel/set.lua b/.config/nvim/lua/chronoziel/set.lua new file mode 100644 index 0000000..b42c4a8 --- /dev/null +++ b/.config/nvim/lua/chronoziel/set.lua @@ -0,0 +1,41 @@ + +--changes the directory for cmd to the directory in netrw +vim.g.netrw_keepdir = 0 + +--allows clipboard to work +vim.opt.clipboard = "unnamedplus" + +--primeagen keys +vim.opt.nu = true +vim.opt.relativenumber = true + +vim.opt.tabstop = 4 +vim.opt.softtabstop = 4 +vim.opt.shiftwidth = 4 +vim.opt.expandtab = true + +vim.opt.smartindent = true + +vim.opt.wrap = false +vim.opt.linebreak = true + +vim.opt.swapfile = false +vim.opt.backup = false +vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir" +vim.opt.undofile = true + +vim.opt.hlsearch = false +vim.opt.incsearch = true + +vim.opt.termguicolors = true + +vim.opt.scrolloff = 8 +vim.opt.signcolumn = "yes" +vim.opt.isfname:append("@-@") + +vim.opt.updatetime = 50 + +vim.opt.colorcolumn = "100" + +vim.g.mapleader = " " + diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf new file mode 100644 index 0000000..ab269aa --- /dev/null +++ b/.config/tmux/tmux.conf @@ -0,0 +1,19 @@ +# Fix colours +# set -g default-terminal "${TERM}" +# set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' # undercurl support +# set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # underscore colours - needs tmux-3.0 + +# fix escape key +set -g escape-time 10 + +set-option -sa terminal-overrides ",xterm*:Tc" + +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'tmux-plugins/tmux-sensible' + +unbind C-b +set -g prefix C-Space +bind-key C-a send-prefix + +run '~/.tmux/plugins/tpm/tpm' + |