Compare commits
39 Commits
darwin-suc
...
btw
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3f76901864 | ||
|
|
100c0f16d7 | ||
|
|
331939657c | ||
|
|
5a990fb35c | ||
|
|
c03bb420fd | ||
|
|
4e27e6c419 | ||
|
|
b8bc1fbb46 | ||
|
|
58beb6ba41 | ||
|
|
52d123e6cf | ||
|
|
bbbe31edef | ||
|
|
13e0c80873 | ||
|
|
d3886e267e | ||
|
|
6b8a0ae751 | ||
|
|
554306870d | ||
|
|
6a9e822249 | ||
|
|
fecfab2d64 | ||
|
|
20e4e7539d | ||
|
|
ef360f5705 | ||
|
|
742011ae6d | ||
|
|
d567640a26 | ||
|
|
01c641ef0e | ||
|
|
510950d5dd | ||
|
|
db28d94007 | ||
|
|
3499cc0de8 | ||
|
|
a008233c7b | ||
|
|
449cb4bc6c | ||
|
|
5270082cc0 | ||
|
|
4966457528 | ||
|
|
0c16f49f16 | ||
|
|
a260286c40 | ||
|
|
e80ee5d017 | ||
|
|
4519042414 | ||
|
|
c1865cf4d7 | ||
|
|
0a88470d41 | ||
|
|
64b610c59c | ||
|
|
c3e692d02a | ||
|
|
1e4dcc5546 | ||
|
|
f85a079b90 | ||
|
|
db0ef4bcc3 |
18
.bashrc
Normal file
18
.bashrc
Normal file
@@ -0,0 +1,18 @@
|
||||
# ----------------------
|
||||
# Aliases
|
||||
# ----------------------
|
||||
alias ls='lsd'
|
||||
alias nv='nvim'
|
||||
alias neofetch="fastfetch"
|
||||
|
||||
# ---- Air for GO ----
|
||||
alias air="~/go/bin/air"
|
||||
|
||||
# ---- starship ----
|
||||
eval "$(starship init bash)"
|
||||
|
||||
# ---- zoxide ----
|
||||
eval "$(zoxide init --cmd cd bash)"
|
||||
|
||||
# ---- fzf ----
|
||||
eval "$(fzf --bash)"
|
||||
78
.config/alacritty/alacritty.toml
Normal file
78
.config/alacritty/alacritty.toml
Normal file
@@ -0,0 +1,78 @@
|
||||
import = ["~/.config/alacritty/themes/rose-pine.toml"]
|
||||
|
||||
[env]
|
||||
TERM = "xterm-256color"
|
||||
|
||||
[font]
|
||||
size = 16.0
|
||||
|
||||
[font.bold]
|
||||
style = "Bold"
|
||||
|
||||
[font.glyph_offset]
|
||||
x = 0
|
||||
y = 1
|
||||
|
||||
[font.normal]
|
||||
family = "JetBrainsMono Nerd Font"
|
||||
|
||||
[font.italic]
|
||||
style = "Italic"
|
||||
|
||||
[mouse]
|
||||
hide_when_typing = true
|
||||
|
||||
[cursor]
|
||||
style = "Beam"
|
||||
|
||||
[scrolling]
|
||||
history = 1000
|
||||
|
||||
[window]
|
||||
decorations = "none"
|
||||
opacity = 0.95
|
||||
|
||||
[window.dimensions]
|
||||
columns = 98
|
||||
lines = 28
|
||||
|
||||
[window.padding]
|
||||
x = 0
|
||||
y = 0
|
||||
|
||||
# macOS copy/paste
|
||||
[[keyboard.bindings]]
|
||||
action = "Paste"
|
||||
key = "v"
|
||||
mods = "Command"
|
||||
|
||||
[[keyboard.bindings]]
|
||||
action = "Copy"
|
||||
key = "c"
|
||||
mods = "Command"
|
||||
|
||||
[[keyboard.bindings]]
|
||||
action = "ToggleFullscreen"
|
||||
key = "Return"
|
||||
mods = "Control"
|
||||
|
||||
[[keyboard.bindings]]
|
||||
chars = "\u001B[1;5C"
|
||||
key = "Right"
|
||||
mods = "Option"
|
||||
|
||||
[[keyboard.bindings]]
|
||||
chars = "\u001B[1;5D"
|
||||
key = "Left"
|
||||
mods = "Option"
|
||||
|
||||
[[keyboard.bindings]]
|
||||
chars = "\u0015"
|
||||
key = "Backspace"
|
||||
mods = "Command"
|
||||
|
||||
[[keyboard.bindings]]
|
||||
key = "K"
|
||||
mods = "Command"
|
||||
mode = "~Vi|~Search"
|
||||
action = "ClearHistory"
|
||||
75
.config/alacritty/themes/rose-pine.toml
Normal file
75
.config/alacritty/themes/rose-pine.toml
Normal file
@@ -0,0 +1,75 @@
|
||||
# Colors section of "Alacritty - TOML configuration file format"
|
||||
# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd#colors
|
||||
|
||||
[colors.primary]
|
||||
foreground = "#e0def4"
|
||||
background = "#191724"
|
||||
dim_foreground = "#908caa"
|
||||
bright_foreground = "#e0def4"
|
||||
|
||||
[colors.cursor]
|
||||
text = "#e0def4"
|
||||
cursor = "#524f67"
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
text = "#e0def4"
|
||||
cursor = "#524f67"
|
||||
|
||||
[colors.search.matches]
|
||||
foreground = "#908caa"
|
||||
background = "#26233a"
|
||||
|
||||
[colors.search.focused_match]
|
||||
foreground = "#191724"
|
||||
background = "#ebbcba"
|
||||
|
||||
[colors.hints.start]
|
||||
foreground = "#908caa"
|
||||
background = "#1f1d2e"
|
||||
|
||||
[colors.hints.end]
|
||||
foreground = "#6e6a86"
|
||||
background = "#1f1d2e"
|
||||
|
||||
[colors.line_indicator]
|
||||
foreground = "None"
|
||||
background = "None"
|
||||
|
||||
[colors.footer_bar]
|
||||
foreground = "#e0def4"
|
||||
background = "#1f1d2e"
|
||||
|
||||
[colors.selection]
|
||||
text = "#e0def4"
|
||||
background = "#403d52"
|
||||
|
||||
[colors.normal]
|
||||
black = "#26233a"
|
||||
red = "#eb6f92"
|
||||
green = "#31748f"
|
||||
yellow = "#f6c177"
|
||||
blue = "#9ccfd8"
|
||||
magenta = "#c4a7e7"
|
||||
cyan = "#ebbcba"
|
||||
white = "#e0def4"
|
||||
|
||||
[colors.bright]
|
||||
black = "#6e6a86"
|
||||
red = "#eb6f92"
|
||||
green = "#31748f"
|
||||
yellow = "#f6c177"
|
||||
blue = "#9ccfd8"
|
||||
magenta = "#c4a7e7"
|
||||
cyan = "#ebbcba"
|
||||
white = "#e0def4"
|
||||
|
||||
[colors.dim]
|
||||
black = "#6e6a86"
|
||||
red = "#eb6f92"
|
||||
green = "#31748f"
|
||||
yellow = "#f6c177"
|
||||
blue = "#9ccfd8"
|
||||
magenta = "#c4a7e7"
|
||||
cyan = "#ebbcba"
|
||||
white = "#e0def4"
|
||||
|
||||
221
.config/btop/btop.conf
Normal file
221
.config/btop/btop.conf
Normal file
@@ -0,0 +1,221 @@
|
||||
#? Config file for btop v. 1.4.1
|
||||
|
||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||
color_theme = "Default"
|
||||
|
||||
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||
theme_background = False
|
||||
|
||||
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
||||
truecolor = True
|
||||
|
||||
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
||||
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
||||
force_tty = False
|
||||
|
||||
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
||||
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
||||
#* Use whitespace " " as separator between different presets.
|
||||
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
|
||||
presets = "cpu:0:default mem:0:default net:0:default"
|
||||
|
||||
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
|
||||
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
||||
vim_keys = True
|
||||
|
||||
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||
rounded_corners = True
|
||||
|
||||
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
||||
#* "braille" offers the highest resolution but might not be included in all fonts.
|
||||
#* "block" has half the resolution of braille but uses more common characters.
|
||||
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
||||
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
||||
graph_symbol = "braille"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_cpu = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_mem = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_net = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_proc = "default"
|
||||
|
||||
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
||||
shown_boxes = "cpu mem net proc"
|
||||
|
||||
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||
update_ms = 2000
|
||||
|
||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||
proc_sorting = "memory"
|
||||
|
||||
#* Reverse sorting order, True or False.
|
||||
proc_reversed = False
|
||||
|
||||
#* Show processes as a tree.
|
||||
proc_tree = True
|
||||
|
||||
#* Use the cpu graph colors in the process list.
|
||||
proc_colors = True
|
||||
|
||||
#* Use a darkening gradient in the process list.
|
||||
proc_gradient = True
|
||||
|
||||
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
||||
proc_per_core = False
|
||||
|
||||
#* Show process memory as bytes instead of percent.
|
||||
proc_mem_bytes = True
|
||||
|
||||
#* Show cpu graph for each process.
|
||||
proc_cpu_graphs = True
|
||||
|
||||
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
|
||||
proc_info_smaps = False
|
||||
|
||||
#* Show proc box on left side of screen instead of right.
|
||||
proc_left = False
|
||||
|
||||
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
||||
proc_filter_kernel = False
|
||||
|
||||
#* In tree-view, always accumulate child process resources in the parent process.
|
||||
proc_aggregate = False
|
||||
|
||||
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
||||
#* Select from a list of detected attributes from the options menu.
|
||||
cpu_graph_upper = "Auto"
|
||||
|
||||
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
||||
#* Select from a list of detected attributes from the options menu.
|
||||
cpu_graph_lower = "Auto"
|
||||
|
||||
#* Toggles if the lower CPU graph should be inverted.
|
||||
cpu_invert_lower = True
|
||||
|
||||
#* Set to True to completely disable the lower CPU graph.
|
||||
cpu_single_graph = False
|
||||
|
||||
#* Show cpu box at bottom of screen instead of top.
|
||||
cpu_bottom = False
|
||||
|
||||
#* Shows the system uptime in the CPU box.
|
||||
show_uptime = True
|
||||
|
||||
#* Show cpu temperature.
|
||||
check_temp = True
|
||||
|
||||
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
|
||||
cpu_sensor = "Auto"
|
||||
|
||||
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
|
||||
show_coretemp = True
|
||||
|
||||
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
|
||||
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
||||
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
|
||||
#* Example: "4:0 5:1 6:3"
|
||||
cpu_core_map = ""
|
||||
|
||||
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
|
||||
temp_scale = "celsius"
|
||||
|
||||
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
||||
base_10_sizes = False
|
||||
|
||||
#* Show CPU frequency.
|
||||
show_cpu_freq = True
|
||||
|
||||
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
||||
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
||||
clock_format = "%X"
|
||||
|
||||
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
||||
background_update = True
|
||||
|
||||
#* Custom cpu model name, empty string to disable.
|
||||
custom_cpu_name = ""
|
||||
|
||||
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
||||
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
|
||||
disks_filter = ""
|
||||
|
||||
#* Show graphs instead of meters for memory values.
|
||||
mem_graphs = True
|
||||
|
||||
#* Show mem box below net box instead of above.
|
||||
mem_below_net = False
|
||||
|
||||
#* Count ZFS ARC in cached and available memory.
|
||||
zfs_arc_cached = True
|
||||
|
||||
#* If swap memory should be shown in memory box.
|
||||
show_swap = True
|
||||
|
||||
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
||||
swap_disk = True
|
||||
|
||||
#* If mem box should be split to also show disks info.
|
||||
show_disks = True
|
||||
|
||||
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
||||
only_physical = True
|
||||
|
||||
#* Read disks list from /etc/fstab. This also disables only_physical.
|
||||
use_fstab = True
|
||||
|
||||
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
|
||||
zfs_hide_datasets = False
|
||||
|
||||
#* Set to true to show available disk space for privileged users.
|
||||
disk_free_priv = False
|
||||
|
||||
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
||||
show_io_stat = True
|
||||
|
||||
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
||||
io_mode = False
|
||||
|
||||
#* Set to True to show combined read/write io graphs in io mode.
|
||||
io_graph_combined = False
|
||||
|
||||
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
|
||||
#* Example: "/mnt/media:100 /:20 /boot:1".
|
||||
io_graph_speeds = ""
|
||||
|
||||
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
||||
net_download = 100
|
||||
|
||||
net_upload = 100
|
||||
|
||||
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
||||
net_auto = True
|
||||
|
||||
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
||||
net_sync = True
|
||||
|
||||
#* Starts with the Network Interface specified here.
|
||||
net_iface = ""
|
||||
|
||||
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
|
||||
base_10_bitrate = "Auto"
|
||||
|
||||
#* Show battery stats in top right if battery is present.
|
||||
show_battery = True
|
||||
|
||||
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
||||
selected_battery = "Auto"
|
||||
|
||||
#* Show power stats of battery next to charge indicator.
|
||||
show_battery_watts = True
|
||||
|
||||
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
||||
log_level = "WARNING"
|
||||
93
.config/fastfetch/config.jsonc
Normal file
93
.config/fastfetch/config.jsonc
Normal file
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
"padding": {
|
||||
"top": 2
|
||||
}
|
||||
},
|
||||
"display": {
|
||||
"separator": " ➜ "
|
||||
},
|
||||
"modules": [
|
||||
"break",
|
||||
"break",
|
||||
"break",
|
||||
{
|
||||
"type": "os",
|
||||
"key": "OS ",
|
||||
"keyColor": "red"
|
||||
},
|
||||
{
|
||||
"type": "kernel",
|
||||
"key": " ├ ",
|
||||
"keyColor": "red"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"key": " └ ",
|
||||
"keyColor": "red"
|
||||
},
|
||||
"break",
|
||||
{
|
||||
"type": "wm",
|
||||
"key": "WM ",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "terminal",
|
||||
"key": " ├ ",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "terminalfont",
|
||||
"key": " └ ",
|
||||
"keyColor": "green"
|
||||
},
|
||||
"break",
|
||||
{
|
||||
"type": "host",
|
||||
"format": "{5} {1} Type {2}",
|
||||
"key": "PC ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "cpu",
|
||||
"format": "{1} ({3}) @ {7} GHz",
|
||||
"key": " ├ ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "gpu",
|
||||
"format": "{1} {2} @ {12} GHz",
|
||||
"key": " ├ ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "uptime",
|
||||
"key": " └ ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "memory",
|
||||
"key": " ├ ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "swap",
|
||||
"key": " ├ ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "disk",
|
||||
"key": " ├ ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "monitor",
|
||||
"key": " └ ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
"break",
|
||||
"break"
|
||||
]
|
||||
}
|
||||
30
.config/ghostty/config
Normal file
30
.config/ghostty/config
Normal file
@@ -0,0 +1,30 @@
|
||||
theme = "catppuccin-mocha"
|
||||
cursor-text = 181825
|
||||
|
||||
font-size = 12
|
||||
font-family = "JetbrainsMono Nerd Font"
|
||||
font-thicken = true
|
||||
|
||||
cursor-style = bar
|
||||
cursor-style-blink = false
|
||||
|
||||
background-opacity = 0.9
|
||||
background-blur-radius = 8
|
||||
|
||||
mouse-hide-while-typing = true
|
||||
|
||||
font-feature = -calt
|
||||
font-feature = -liga
|
||||
font-feature = -dlig
|
||||
|
||||
clipboard-read = allow
|
||||
clipboard-write = allow
|
||||
copy-on-select = clipboard
|
||||
clipboard-trim-trailing-spaces = true
|
||||
clipboard-paste-protection = true
|
||||
|
||||
window-decoration = false
|
||||
|
||||
window-padding-x = 2
|
||||
window-padding-y = 2
|
||||
window-padding-balance = true
|
||||
11
.config/git/config
Normal file
11
.config/git/config
Normal file
@@ -0,0 +1,11 @@
|
||||
[credential]
|
||||
helper = cache
|
||||
[user]
|
||||
name = Kulvir Singh
|
||||
email = kulvirs734@gmail.com
|
||||
[init]
|
||||
defaultBranch = trunk
|
||||
[lfs]
|
||||
enable = true
|
||||
[push]
|
||||
autoSetupRemote = true
|
||||
203
.config/hypr/hyprland.conf
Normal file
203
.config/hypr/hyprland.conf
Normal file
@@ -0,0 +1,203 @@
|
||||
source=~/.config/hypr/mocha.conf
|
||||
|
||||
# exec-once = hyprctl setcursor catppuccin-mocha-dark-cursors 28
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor=,preferred,auto,auto
|
||||
|
||||
# Set programs that you use
|
||||
$terminal = ghostty
|
||||
$menu = rofi -show drun drun
|
||||
$powerMenu = rofi -show power-menu -modi "power-menu:rofi-power-menu --choices=shutdown/reboot/logout/lockscreen/suspend"
|
||||
|
||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||
# Or execute your favorite apps at launch like this:
|
||||
exec-once=waybar & swaync & hyprpaper & hypridle
|
||||
|
||||
# env variables
|
||||
env = XCURSOR_SIZE,18
|
||||
env = HYPRCURSOR_SIZE,18
|
||||
|
||||
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
kb_options =
|
||||
# kb_options = ctrl:nocaps
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
sensitivity = 0 # -1.0 to 1.0, 0 means no modification.
|
||||
|
||||
touchpad {
|
||||
natural_scroll = yes
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures {
|
||||
workspace_swipe = false
|
||||
}
|
||||
|
||||
general {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
border_size = 1
|
||||
|
||||
col.active_border = $peach
|
||||
col.inactive_border = $surface2
|
||||
|
||||
resize_on_border = true
|
||||
|
||||
gaps_in = 2
|
||||
gaps_out = 3
|
||||
|
||||
layout = dwindle
|
||||
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false
|
||||
}
|
||||
|
||||
decoration {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
rounding = 4
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
|
||||
new_optimizations = true
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = false
|
||||
|
||||
bezier = linear, 0.0, 0.0, 1, 1
|
||||
animation = borderangle, 1, 50, linear, loop
|
||||
|
||||
animation=workspaces,1,0.5,default
|
||||
animation=windows,0,0.1,default
|
||||
animation=fade,0,0.1,default
|
||||
}
|
||||
|
||||
dwindle {
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true # you probably want this
|
||||
}
|
||||
|
||||
misc {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
$mainMod = super
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = $mainMod, W, killactive,
|
||||
bind = $mainMod, Q, exit,
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $mainMod, F, fullscreen, # dwindle
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
# bind = $mainMod, E, togglesplit, # dwindle
|
||||
|
||||
bind = $mainMod, space, exec, $menu
|
||||
bind = $mainMod, return, exec, $terminal
|
||||
bind = $mainMod, F1, exec, powermenu
|
||||
# bind = $mainMod, period, exec, $emojiPicker # install emoji picker first
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, h, movefocus, l
|
||||
bind = $mainMod, l, movefocus, r
|
||||
bind = $mainMod, k, movefocus, u
|
||||
bind = $mainMod, j, movefocus, d
|
||||
|
||||
|
||||
# bind = $SUPER_SHIFT, l, exec, hyprlock
|
||||
# bind = $SUPER_SHIFT, R, exec, hyprctl reload
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# screenshots w Hyprshot
|
||||
# bind = , Print, exec, hyprshot -m window
|
||||
# bind = shift, Print, exec, hyprshot -m region
|
||||
bind = $mainMod, PRINT, exec, hyprshot --freeze -m window --clipboard-only
|
||||
bind = , PRINT, exec, hyprshot --freeze -m output #--clipboard-only
|
||||
bind = SHIFT, PRINT, exec, hyprshot --freeze -m region --clipboard-only
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
# Sound through pactl
|
||||
bindel = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +10%
|
||||
bindel = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -10%
|
||||
bindel = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
|
||||
# Brightness through brightnessctl
|
||||
bindel = , XF86MonBrightnessUp, exec, brightnessctl set +5%
|
||||
bindel = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
|
||||
|
||||
# Requires playerctl
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
|
||||
# Example windowrule
|
||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
|
||||
# Ignore maximize requests from apps. You'll probably like this.
|
||||
windowrule = suppressevent maximize, class:.*
|
||||
layerrule = noanim, rofi
|
||||
|
||||
# Fix some dragging issues with XWayland
|
||||
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||
|
||||
# windowrulev2 = workspace 9, class:zen
|
||||
# windowrulev2 = fullscreen,class:^steam_app\d+$
|
||||
|
||||
3
.config/hypr/hyprpaper.conf
Normal file
3
.config/hypr/hyprpaper.conf
Normal file
@@ -0,0 +1,3 @@
|
||||
preload = ~/wall/lofiwallpaper.png
|
||||
wallpaper = , ~/wall/lofiwallpaper.png
|
||||
|
||||
77
.config/hypr/mocha.conf
Normal file
77
.config/hypr/mocha.conf
Normal file
@@ -0,0 +1,77 @@
|
||||
$rosewater = rgb(f5e0dc)
|
||||
$rosewaterAlpha = f5e0dc
|
||||
|
||||
$flamingo = rgb(f2cdcd)
|
||||
$flamingoAlpha = f2cdcd
|
||||
|
||||
$pink = rgb(f5c2e7)
|
||||
$pinkAlpha = f5c2e7
|
||||
|
||||
$mauve = rgb(cba6f7)
|
||||
$mauveAlpha = cba6f7
|
||||
|
||||
$red = rgb(f38ba8)
|
||||
$redAlpha = f38ba8
|
||||
|
||||
$maroon = rgb(eba0ac)
|
||||
$maroonAlpha = eba0ac
|
||||
|
||||
$peach = rgb(fab387)
|
||||
$peachAlpha = fab387
|
||||
|
||||
$yellow = rgb(f9e2af)
|
||||
$yellowAlpha = f9e2af
|
||||
|
||||
$green = rgb(a6e3a1)
|
||||
$greenAlpha = a6e3a1
|
||||
|
||||
$teal = rgb(94e2d5)
|
||||
$tealAlpha = 94e2d5
|
||||
|
||||
$sky = rgb(89dceb)
|
||||
$skyAlpha = 89dceb
|
||||
|
||||
$sapphire = rgb(74c7ec)
|
||||
$sapphireAlpha = 74c7ec
|
||||
|
||||
$blue = rgb(89b4fa)
|
||||
$blueAlpha = 89b4fa
|
||||
|
||||
$lavender = rgb(b4befe)
|
||||
$lavenderAlpha = b4befe
|
||||
|
||||
$text = rgb(cdd6f4)
|
||||
$textAlpha = cdd6f4
|
||||
|
||||
$subtext1 = rgb(bac2de)
|
||||
$subtext1Alpha = bac2de
|
||||
|
||||
$subtext0 = rgb(a6adc8)
|
||||
$subtext0Alpha = a6adc8
|
||||
|
||||
$overlay2 = rgb(9399b2)
|
||||
$overlay2Alpha = 9399b2
|
||||
|
||||
$overlay1 = rgb(7f849c)
|
||||
$overlay1Alpha = 7f849c
|
||||
|
||||
$overlay0 = rgb(6c7086)
|
||||
$overlay0Alpha = 6c7086
|
||||
|
||||
$surface2 = rgb(585b70)
|
||||
$surface2Alpha = 585b70
|
||||
|
||||
$surface1 = rgb(45475a)
|
||||
$surface1Alpha = 45475a
|
||||
|
||||
$surface0 = rgb(313244)
|
||||
$surface0Alpha = 313244
|
||||
|
||||
$base = rgb(1e1e2e)
|
||||
$baseAlpha = 1e1e2e
|
||||
|
||||
$mantle = rgb(181825)
|
||||
$mantleAlpha = 181825
|
||||
|
||||
$crust = rgb(11111b)
|
||||
$crustAlpha = 11111b
|
||||
38
.config/kitty/kitty.conf
Normal file
38
.config/kitty/kitty.conf
Normal file
@@ -0,0 +1,38 @@
|
||||
include themes/Catppuccin_Mocha.conf
|
||||
|
||||
font_family JetBrainsMono Nerd Font
|
||||
font_size 12.0
|
||||
|
||||
cursor_shape beam
|
||||
|
||||
background_opacity 0.9
|
||||
background_blur 12
|
||||
|
||||
enable_audio_bell no
|
||||
hide_window_decorations yes
|
||||
|
||||
shell_integration enabled
|
||||
|
||||
map kitty_mod+enter no_op
|
||||
map cmd+enter no_op
|
||||
|
||||
# # tab bar at bottom
|
||||
# tab_bar_style powerline
|
||||
# tab_bar_min_tabs 2
|
||||
# tab_title_template "{index}:{tab.active_exe}"
|
||||
# active_tab_title_template "{index}:{tab.active_exe}*"
|
||||
# tab_bar_background none
|
||||
|
||||
# # Jump to tabs
|
||||
# map cmd+1 goto_tab 1
|
||||
# map cmd+2 goto_tab 2
|
||||
# map cmd+3 goto_tab 3
|
||||
# map cmd+4 goto_tab 4
|
||||
# map cmd+5 goto_tab 5
|
||||
# map cmd+6 goto_tab 6
|
||||
# map cmd+7 goto_tab 7
|
||||
# map cmd+8 goto_tab 8
|
||||
# map cmd+9 goto_tab 9
|
||||
#
|
||||
# map cmd+t new_tab_with_cwd
|
||||
|
||||
80
.config/kitty/themes/Catppuccin_Mocha.conf
Normal file
80
.config/kitty/themes/Catppuccin_Mocha.conf
Normal file
@@ -0,0 +1,80 @@
|
||||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin-Mocha
|
||||
## author: Pocco81 (https://github.com/Pocco81)
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
|
||||
|
||||
# The basic colors
|
||||
foreground #CDD6F4
|
||||
background #1E1E2E
|
||||
selection_foreground #1E1E2E
|
||||
selection_background #F5E0DC
|
||||
|
||||
# Cursor colors
|
||||
cursor #F5E0DC
|
||||
cursor_text_color #1E1E2E
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color #F5E0DC
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #B4BEFE
|
||||
inactive_border_color #6C7086
|
||||
bell_border_color #F9E2AF
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #11111B
|
||||
active_tab_background #CBA6F7
|
||||
inactive_tab_foreground #CDD6F4
|
||||
inactive_tab_background #181825
|
||||
tab_bar_background #11111B
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #1E1E2E
|
||||
mark1_background #B4BEFE
|
||||
mark2_foreground #1E1E2E
|
||||
mark2_background #CBA6F7
|
||||
mark3_foreground #1E1E2E
|
||||
mark3_background #74C7EC
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #45475A
|
||||
color8 #585B70
|
||||
|
||||
# red
|
||||
color1 #F38BA8
|
||||
color9 #F38BA8
|
||||
|
||||
# green
|
||||
color2 #A6E3A1
|
||||
color10 #A6E3A1
|
||||
|
||||
# yellow
|
||||
color3 #F9E2AF
|
||||
color11 #F9E2AF
|
||||
|
||||
# blue
|
||||
color4 #89B4FA
|
||||
color12 #89B4FA
|
||||
|
||||
# magenta
|
||||
color5 #F5C2E7
|
||||
color13 #F5C2E7
|
||||
|
||||
# cyan
|
||||
color6 #94E2D5
|
||||
color14 #94E2D5
|
||||
|
||||
# white
|
||||
color7 #BAC2DE
|
||||
color15 #A6ADC8
|
||||
5
.config/nvim/.luarc.json
Normal file
5
.config/nvim/.luarc.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"diagnostics.globals": [
|
||||
"vim"
|
||||
]
|
||||
}
|
||||
28
.config/nvim/lazy-lock.json
Normal file
28
.config/nvim/lazy-lock.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
||||
"SchemaStore.nvim": { "branch": "main", "commit": "b20f287e59a5376ca0de23140c6d94563d64695d" },
|
||||
"blink.cmp": { "branch": "main", "commit": "022521a8910a5543b0251b21c9e1a1e989745796" },
|
||||
"catpuccin": { "branch": "main", "commit": "1bf070129c0b6f77cc23f6a2212dcdc868308c52" },
|
||||
"conform.nvim": { "branch": "master", "commit": "2b2b30260203af3b93a7470ac6c8457ddd6e32d9" },
|
||||
"fidget.nvim": { "branch": "main", "commit": "d9ba6b7bfe29b3119a610892af67602641da778e" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "e399f9748d7cfd8859747c8d6c4e9c8b4d50a1bd" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "d39a75bbce4b8aad5d627191ea915179c77c100f" },
|
||||
"mason-tool-installer.nvim": { "branch": "main", "commit": "75d60a8f928decd8b38897f80849768b7c540a5b" },
|
||||
"mason.nvim": { "branch": "main", "commit": "7c7318e8bae7e3536ef6b9e86b9e38e74f2e125e" },
|
||||
"mdx.nvim": { "branch": "main", "commit": "464a74be368dce212cff02f6305845dc7f209ab3" },
|
||||
"mini.nvim": { "branch": "main", "commit": "009435c6c3653d54bc62997ca6b2e8513bc52cf4" },
|
||||
"nvim-lint": { "branch": "master", "commit": "fdb04e9285edefbe25a02a31a35e8fbb10fe054d" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "ac1dfbe3b60e5e23a2cff90e3bd6a3bc88031a57" },
|
||||
"nvim-tmux-navigation": { "branch": "main", "commit": "4898c98702954439233fdaf764c39636681e2861" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "b0debd5c424969b4baeabdc8f54db3036c691732" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "d360317f8f509b99229bb31d42269987696df6ff" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
|
||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }
|
||||
}
|
||||
52
.config/nvim/lua/lilJ/health.lua
Normal file
52
.config/nvim/lua/lilJ/health.lua
Normal file
@@ -0,0 +1,52 @@
|
||||
--[[
|
||||
--
|
||||
-- This file is not required for your own configuration,
|
||||
-- but helps people determine if their system is setup correctly.
|
||||
--
|
||||
--]]
|
||||
|
||||
local check_version = function()
|
||||
local verstr = string.format("%s.%s.%s", vim.version().major, vim.version().minor, vim.version().patch)
|
||||
if not vim.version.cmp then
|
||||
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
|
||||
return
|
||||
end
|
||||
|
||||
if vim.version.cmp(vim.version(), { 0, 9, 4 }) >= 0 then
|
||||
vim.health.ok(string.format("Neovim version is: '%s'", verstr))
|
||||
else
|
||||
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
|
||||
end
|
||||
end
|
||||
|
||||
local check_external_reqs = function()
|
||||
-- Basic utils: `git`, `make`, `unzip`
|
||||
for _, exe in ipairs { "git", "make", "unzip", "rg" } do
|
||||
local is_executable = vim.fn.executable(exe) == 1
|
||||
if is_executable then
|
||||
vim.health.ok(string.format("Found executable: '%s'", exe))
|
||||
else
|
||||
vim.health.warn(string.format("Could not find executable: '%s'", exe))
|
||||
end
|
||||
end
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
return {
|
||||
check = function()
|
||||
vim.health.start "kickstart.nvim"
|
||||
|
||||
vim.health.info [[NOTE: Not every warning is a 'must-fix' in `:checkhealth`
|
||||
|
||||
Fix only warnings for plugins and languages you intend to use.
|
||||
Mason will give warnings for languages that are not installed.
|
||||
You do not need to install, unless you want to use those languages!]]
|
||||
|
||||
local uv = vim.uv or vim.loop
|
||||
vim.health.info("System Information: " .. vim.inspect(uv.os_uname()))
|
||||
|
||||
check_version()
|
||||
check_external_reqs()
|
||||
end,
|
||||
}
|
||||
51
.config/nvim/lua/lilJ/plugins/blink.lua
Normal file
51
.config/nvim/lua/lilJ/plugins/blink.lua
Normal file
@@ -0,0 +1,51 @@
|
||||
return {
|
||||
"saghen/blink.cmp",
|
||||
event = "InsertEnter",
|
||||
|
||||
-- use a release tag to download pre-built binaries
|
||||
version = "1.*",
|
||||
dependencies = {
|
||||
"folke/lazydev.nvim",
|
||||
},
|
||||
|
||||
---@module 'blink.cmp'
|
||||
---@type blink.cmp.Config
|
||||
opts = {
|
||||
-- See :h blink-cmp-config-keymap for defining your own keymap
|
||||
keymap = { preset = "default" },
|
||||
|
||||
appearance = {
|
||||
nerd_font_variant = "mono",
|
||||
},
|
||||
|
||||
completion = {
|
||||
documentation = { auto_show = true, auto_show_delay_ms = 500, window = { border = "rounded" } },
|
||||
|
||||
menu = {
|
||||
border = "rounded",
|
||||
draw = {
|
||||
columns = {
|
||||
{ "kind_icon", "label", "label_description", gap = 1 },
|
||||
{ "kind" },
|
||||
},
|
||||
treesitter = { "lsp" },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- Default list of enabled providers defined so that you can extend it
|
||||
-- elsewhere in your config, without redefining it, due to `opts_extend`
|
||||
sources = {
|
||||
default = { "lsp", "path", "lazydev", "snippets", "buffer" },
|
||||
providers = {
|
||||
lazydev = { module = "lazydev.integrations.blink", score_offset = 100 },
|
||||
},
|
||||
},
|
||||
|
||||
fuzzy = { implementation = "prefer_rust_with_warning" },
|
||||
|
||||
-- Shows a signature help window while you type arguments for a function
|
||||
signature = { enabled = true, window = { border = "rounded" } },
|
||||
},
|
||||
opts_extend = { "sources.default" },
|
||||
}
|
||||
12
.config/nvim/lua/lilJ/plugins/catppuccin.lua
Normal file
12
.config/nvim/lua/lilJ/plugins/catppuccin.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
return {
|
||||
"catppuccin/nvim",
|
||||
name = "catpuccin",
|
||||
priority = 1000,
|
||||
lazy = false,
|
||||
init = function()
|
||||
require("catppuccin").setup {
|
||||
transparent_background = true,
|
||||
}
|
||||
vim.cmd.colorscheme "catppuccin"
|
||||
end,
|
||||
}
|
||||
33
.config/nvim/lua/lilJ/plugins/conform.lua
Normal file
33
.config/nvim/lua/lilJ/plugins/conform.lua
Normal file
@@ -0,0 +1,33 @@
|
||||
return {
|
||||
"stevearc/conform.nvim",
|
||||
event = { "BufWritePre" },
|
||||
cmd = { "ConformInfo" },
|
||||
opts = {
|
||||
notify_on_error = false,
|
||||
|
||||
format_on_save = function(bufnr)
|
||||
-- Disable "format_on_save lsp_fallback" for languages that don't
|
||||
-- have a well standardized coding style. You can add additional
|
||||
-- languages here or re-enable it for the disabled ones.
|
||||
local disable_filetypes = { c = true, cpp = true }
|
||||
if disable_filetypes[vim.bo[bufnr].filetype] then
|
||||
return nil
|
||||
else
|
||||
return {
|
||||
timeout_ms = 500,
|
||||
lsp_format = "fallback",
|
||||
}
|
||||
end
|
||||
end,
|
||||
|
||||
formatters_by_ft = {
|
||||
css = { "prettier" },
|
||||
go = { "gofumpt", "goimports_reviser" },
|
||||
html = { "prettier" },
|
||||
lua = { "stylua" },
|
||||
python = { "autopep8" },
|
||||
typescript = { "prettier" },
|
||||
typescriptreact = { "prettier" },
|
||||
},
|
||||
},
|
||||
}
|
||||
9
.config/nvim/lua/lilJ/plugins/indent_line.lua
Normal file
9
.config/nvim/lua/lilJ/plugins/indent_line.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
return {
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
main = "ibl",
|
||||
event = "BufReadPre",
|
||||
opts = {
|
||||
indent = { char = "┊" },
|
||||
whitespace = { highlight = { "Whitespace", "NonText" } },
|
||||
},
|
||||
}
|
||||
12
.config/nvim/lua/lilJ/plugins/lazydev.lua
Normal file
12
.config/nvim/lua/lilJ/plugins/lazydev.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
return {
|
||||
-- `lazydev` configures Lua LSP for your Neovim config, runtime and plugins
|
||||
-- used for completion, annotations and signatures of Neovim apis
|
||||
"folke/lazydev.nvim",
|
||||
ft = "lua",
|
||||
opts = {
|
||||
library = {
|
||||
-- Load luvit types when the `vim.uv` word is found
|
||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
},
|
||||
},
|
||||
}
|
||||
24
.config/nvim/lua/lilJ/plugins/lint.lua
Normal file
24
.config/nvim/lua/lilJ/plugins/lint.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
return {
|
||||
"mfussenegger/nvim-lint",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
config = function()
|
||||
local lint = require "lint"
|
||||
|
||||
lint.linters_by_ft = {
|
||||
json = { "jsonlint" },
|
||||
python = { "mypy" },
|
||||
-- typescript = { "eslint" },
|
||||
-- typescriptreact = { "eslint" },
|
||||
}
|
||||
|
||||
-- Create autocommand which carries out the actual linting
|
||||
-- on the specified events.
|
||||
local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true })
|
||||
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
|
||||
group = lint_augroup,
|
||||
callback = function()
|
||||
require("lint").try_lint()
|
||||
end,
|
||||
})
|
||||
end,
|
||||
}
|
||||
223
.config/nvim/lua/lilJ/plugins/lsp.lua
Normal file
223
.config/nvim/lua/lilJ/plugins/lsp.lua
Normal file
@@ -0,0 +1,223 @@
|
||||
return {
|
||||
"neovim/nvim-lspconfig",
|
||||
|
||||
dependencies = {
|
||||
{ "williamboman/mason.nvim", opts = {} },
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
"WhoIsSethDaniel/mason-tool-installer.nvim",
|
||||
|
||||
-- Useful status updates for LSP.
|
||||
{ "j-hui/fidget.nvim", opts = {} },
|
||||
"b0o/SchemaStore.nvim",
|
||||
|
||||
-- Allows extra capabilities provided by blink.cmp
|
||||
"saghen/blink.cmp",
|
||||
},
|
||||
|
||||
config = function()
|
||||
-- This function gets run when an LSP attaches to a particular buffer.
|
||||
-- That is to say, every time a new file is opened that is associated with
|
||||
-- an lsp (for example, opening `main.rs` is associated with `rust_analyzer`) this
|
||||
-- function will be executed to configure the current buffer
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
group = vim.api.nvim_create_augroup("lsp-attach", { clear = true }),
|
||||
callback = function(event)
|
||||
local map = function(keys, func, desc, mode)
|
||||
mode = mode or "n"
|
||||
vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = "LSP: " .. desc })
|
||||
end
|
||||
|
||||
-- Opens a popup that displays documentation about the word under your cursor
|
||||
-- See `:help K` for why this keymap.
|
||||
map("K", function()
|
||||
vim.lsp.buf.hover { border = "rounded" }
|
||||
end, "Hover Documentation")
|
||||
|
||||
-- Jump to the definition of the word under your cursor.
|
||||
-- This is where a variable was first declared, or where a function is defined, etc.
|
||||
-- To jump back, press <C-t>.
|
||||
map("gd", require("telescope.builtin").lsp_definitions, "[G]oto [D]efinition")
|
||||
|
||||
-- Jump to the implementation of the word under your cursor.
|
||||
-- Useful when your language has ways of declaring types without an actual implementation.
|
||||
map("gI", require("telescope.builtin").lsp_implementations, "[G]oto [I]mplementation")
|
||||
|
||||
-- Rename the variable under your cursor.
|
||||
-- Most Language Servers support renaming across files, etc.
|
||||
map("grn", vim.lsp.buf.rename, "[R]e[n]ame")
|
||||
|
||||
-- Execute a code action, usually your cursor needs to be on top of an error
|
||||
-- or a suggestion from your LSP for this to activate.
|
||||
map("gra", vim.lsp.buf.code_action, "[G]oto Code [A]ction", { "n", "x" })
|
||||
|
||||
-- Find references for the word under your cursor.
|
||||
map("grr", require("telescope.builtin").lsp_references, "[G]oto [R]eferences")
|
||||
|
||||
-- This is not Goto Definition, this is Goto Declaration.
|
||||
-- For example, in C this would take you to the header.
|
||||
map("gD", vim.lsp.buf.declaration, "[G]oto [D]eclaration")
|
||||
|
||||
-- Jump to the type of the word under your cursor.
|
||||
-- Useful when you're not sure what type a variable is and you want to see
|
||||
-- the definition of its *type*, not where it was *defined*.
|
||||
map("grt", require("telescope.builtin").lsp_type_definitions, "[G]oto [T]ype Definition")
|
||||
|
||||
-- NOTE: commenting this untile I figure out when to use it
|
||||
-- Fuzzy find all the symbols in your current workspace.
|
||||
-- Similar to document symbols, except searches over your entire project.
|
||||
-- map("gW", require("telescope.builtin").lsp_dynamic_workspace_symbols, "Open Workspace Symbols")
|
||||
---
|
||||
-- Fuzzy find all the symbols in your current document.
|
||||
-- Symbols are things like variables, functions, types, etc.
|
||||
-- map("gO", require("telescope.builtin").lsp_document_symbols, "Open Document Symbols")
|
||||
|
||||
-- The following two autocommands are used to highlight references of the
|
||||
-- word under your cursor when your cursor rests there for a little while.
|
||||
-- See `:help CursorHold` for information about when this is executed
|
||||
--
|
||||
-- When you move your cursor, the highlights will be cleared (the second autocommand).
|
||||
local client = vim.lsp.get_client_by_id(event.data.client_id)
|
||||
if
|
||||
client
|
||||
and client:supports_method(vim.lsp.protocol.Methods.textDocument_documentHighlight, event.buf)
|
||||
then
|
||||
local highlight_augroup = vim.api.nvim_create_augroup("lsp-highlight", { clear = false })
|
||||
|
||||
vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, {
|
||||
buffer = event.buf,
|
||||
group = highlight_augroup,
|
||||
callback = vim.lsp.buf.document_highlight,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, {
|
||||
buffer = event.buf,
|
||||
group = highlight_augroup,
|
||||
callback = vim.lsp.buf.clear_references,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd("LspDetach", {
|
||||
group = vim.api.nvim_create_augroup("lsp-detach", { clear = true }),
|
||||
callback = function(event2)
|
||||
vim.lsp.buf.clear_references()
|
||||
vim.api.nvim_clear_autocmds { group = "lsp-highlight", buffer = event2.buf }
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
-- NOTE: commenting this untile I figure out when to use it
|
||||
-- The following code creates a keymap to toggle inlay hints in your
|
||||
-- code, if the language server you are using supports them
|
||||
-- This may be unwanted, since they displace some of your code
|
||||
--
|
||||
-- if client and client:supports_method(vim.lsp.protocol.Methods.textDocument_inlayHint, event.buf) then
|
||||
-- map("<leader>th", function()
|
||||
-- vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled { bufnr = event.buf })
|
||||
-- end, "[T]oggle Inlay [H]ints")
|
||||
-- end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Diagnostic Config
|
||||
-- See :help vim.diagnostic.Opts
|
||||
vim.diagnostic.config {
|
||||
severity_sort = true,
|
||||
float = { border = "rounded", source = "if_many" },
|
||||
underline = { severity = vim.diagnostic.severity.ERROR },
|
||||
signs = vim.g.have_nerd_font and {
|
||||
text = {
|
||||
[vim.diagnostic.severity.ERROR] = " ",
|
||||
[vim.diagnostic.severity.WARN] = " ",
|
||||
[vim.diagnostic.severity.INFO] = " ",
|
||||
[vim.diagnostic.severity.HINT] = " ",
|
||||
},
|
||||
} or {},
|
||||
virtual_text = {
|
||||
source = "if_many",
|
||||
spacing = 2,
|
||||
format = function(diagnostic)
|
||||
local diagnostic_message = {
|
||||
[vim.diagnostic.severity.ERROR] = diagnostic.message,
|
||||
[vim.diagnostic.severity.WARN] = diagnostic.message,
|
||||
[vim.diagnostic.severity.INFO] = diagnostic.message,
|
||||
[vim.diagnostic.severity.HINT] = diagnostic.message,
|
||||
}
|
||||
return diagnostic_message[diagnostic.severity]
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
-- LSP servers and clients are able to communicate to each other what features they support.
|
||||
-- By default, Neovim doesn't support everything that is in the LSP specification.
|
||||
-- When you add blink.cmp, luasnip, etc. Neovim now has *more* capabilities.
|
||||
-- So, we create new capabilities with blink.cmp, and then broadcast that to the servers.
|
||||
local capabilities = require("blink.cmp").get_lsp_capabilities()
|
||||
|
||||
-- enable the following language servers
|
||||
-- Add any additional override configuration in the following tables. Available keys are:
|
||||
-- - cmd (table): Override the default command used to start the server
|
||||
-- - filetypes (table): Override the default list of associated filetypes for the server
|
||||
-- - capabilities (table): Override fields in capabilities. Can be used to disable certain LSP features.
|
||||
-- - settings (table): Override the default settings passed when initializing the server.
|
||||
-- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
|
||||
local servers = {
|
||||
gopls = {
|
||||
filetypes = { "go", "gomod", "gowork", "gotmpl" },
|
||||
},
|
||||
jsonls = {
|
||||
settings = {
|
||||
json = {
|
||||
schemas = require("schemastore").json.schemas(),
|
||||
validate = { enable = true },
|
||||
},
|
||||
},
|
||||
},
|
||||
lua_ls = {
|
||||
-- cmd = {...},
|
||||
-- filetypes = { ...},
|
||||
-- capabilities = {},
|
||||
settings = {
|
||||
lua = {
|
||||
completion = {
|
||||
callsnippet = "replace",
|
||||
},
|
||||
-- you can toggle below to ignore lua_ls's noisy `missing-fields` warnings
|
||||
-- diagnostics = { disable = { 'missing-fields' } },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
pyright = {},
|
||||
|
||||
ts_ls = {},
|
||||
|
||||
tailwindcss = {
|
||||
filetypes = { "html", "css", "typescript", "typescriptreact", "astro" },
|
||||
},
|
||||
}
|
||||
|
||||
local ensure_installed = vim.tbl_keys(servers or {})
|
||||
vim.list_extend(ensure_installed, {
|
||||
"gofumpt",
|
||||
"goimports-reviser",
|
||||
"jsonlint",
|
||||
"prettier",
|
||||
"mypy",
|
||||
"autopep8",
|
||||
"stylua",
|
||||
})
|
||||
|
||||
require("mason-tool-installer").setup { ensure_installed = ensure_installed }
|
||||
|
||||
require("mason-lspconfig").setup {
|
||||
ensure_installed = {}, -- explicitly set to an empty table because we populates installs via mason-tool-installer
|
||||
automatic_installation = true,
|
||||
handlers = {
|
||||
function(server_name)
|
||||
local server = servers[server_name] or {}
|
||||
server.capabilities = vim.tbl_deep_extend("force", {}, capabilities, server.capabilities or {})
|
||||
require("lspconfig")[server_name].setup(server)
|
||||
end,
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
||||
5
.config/nvim/lua/lilJ/plugins/mdx.lua
Normal file
5
.config/nvim/lua/lilJ/plugins/mdx.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
"davidmh/mdx.nvim",
|
||||
config = true,
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||
}
|
||||
@@ -1,41 +1,44 @@
|
||||
return {
|
||||
"echasnovski/mini.nvim",
|
||||
|
||||
config = function()
|
||||
-- Better Around/Inside textobjects
|
||||
--
|
||||
-- Examples:
|
||||
-- - va) - [V]isually select [A]round [)]paren
|
||||
-- - yinq - [Y]ank [I]nside [N]ext [']quote
|
||||
-- - ci' - [C]hange [I]nside [']quote
|
||||
require("mini.ai").setup { n_lines = 500 }
|
||||
|
||||
-- Add/delete/replace surroundings (brackets, quotes, etc.)
|
||||
--
|
||||
-- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
|
||||
-- - sd' - [S]urround [D]elete [']quotes
|
||||
-- - sr)' - [S]urround [R]eplace [)] [']
|
||||
require("mini.surround").setup()
|
||||
|
||||
local statusline = require "mini.statusline"
|
||||
statusline.setup { use_icons = vim.g.have_nerd_font }
|
||||
|
||||
local function get_lsp_clients()
|
||||
local clients = vim.lsp.get_clients()
|
||||
|
||||
if #clients == 0 then
|
||||
return ""
|
||||
end
|
||||
|
||||
local names = {}
|
||||
for _, client in ipairs(clients) do
|
||||
table.insert(names, client.name)
|
||||
end
|
||||
|
||||
local lsp_string = table.concat(names, "|")
|
||||
return " " .. lsp_string
|
||||
end
|
||||
|
||||
---@diagnostic disable-next-line: duplicate-set-field
|
||||
statusline.active = function()
|
||||
local mode, mode_hl = statusline.section_mode { trunc_width = 120 }
|
||||
local git = statusline.section_git
|
||||
local diagnostics = statusline.section_diagnostics
|
||||
local filename = statusline.section_filename { trunc_width = 140 }
|
||||
-- local fileinfo = statusline.section_fileinfo()
|
||||
local diff = statusline.section_diff { trunc_width = 75 }
|
||||
local git = statusline.section_git()
|
||||
local diagnostics = statusline.section_diagnostics()
|
||||
local fileinfo = MiniStatusline.section_fileinfo { trunc_width = 120 }
|
||||
local location = statusline.section_location()
|
||||
local lsp = get_lsp_clients()
|
||||
|
||||
return statusline.combine_groups {
|
||||
{ hl = mode_hl, strings = { mode } },
|
||||
{ hl = "MiniStatuslineDevinfo", strings = { diagnostics } },
|
||||
{ hl = "MiniStatuslineDevinfo", strings = { git, diff } },
|
||||
"%<",
|
||||
{ hl = "MiniStatuslineFilename", strings = { filename } },
|
||||
{ hl = "MiniStatuslineFilename", strings = { fileinfo } },
|
||||
"%=",
|
||||
-- { hl = "MiniStatuslineFileinfo", strings = { fileinfo } },
|
||||
{ hl = "MiniStatuslineDevinfo", strings = { git } },
|
||||
{ hl = "MiniStatuslineFilename", strings = { lsp } },
|
||||
{ hl = "MiniStatuslineDevinfo", strings = { diagnostics } },
|
||||
{ hl = mode_hl, strings = { location } },
|
||||
}
|
||||
end
|
||||
@@ -51,16 +54,16 @@ return {
|
||||
|
||||
local diagnostics = {}
|
||||
if buffer_diagnostics.errors > 0 then
|
||||
table.insert(diagnostics, string.format(":%d", buffer_diagnostics.errors))
|
||||
table.insert(diagnostics, string.format(" :%d", buffer_diagnostics.errors))
|
||||
end
|
||||
if buffer_diagnostics.warnings > 0 then
|
||||
table.insert(diagnostics, string.format(":%d", buffer_diagnostics.warnings))
|
||||
table.insert(diagnostics, string.format(" :%d", buffer_diagnostics.warnings))
|
||||
end
|
||||
if buffer_diagnostics.info > 0 then
|
||||
table.insert(diagnostics, string.format(":%d", buffer_diagnostics.info))
|
||||
table.insert(diagnostics, string.format(" :%d", buffer_diagnostics.info))
|
||||
end
|
||||
if buffer_diagnostics.hints > 0 then
|
||||
table.insert(diagnostics, string.format(":%d", buffer_diagnostics.hints))
|
||||
table.insert(diagnostics, string.format(" :%d", buffer_diagnostics.hints))
|
||||
end
|
||||
return table.concat(diagnostics, " ")
|
||||
end
|
||||
@@ -1,11 +1,7 @@
|
||||
return {
|
||||
"alexghergh/nvim-tmux-navigation",
|
||||
|
||||
lazy = false,
|
||||
|
||||
config = function()
|
||||
local nvim_tmux_nav = require "nvim-tmux-navigation"
|
||||
|
||||
nvim_tmux_nav.setup {
|
||||
disable_when_zoomed = true,
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
return {
|
||||
"folke/todo-comments.nvim",
|
||||
event = "VimEnter",
|
||||
event = "BufRead",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
opts = { signs = false },
|
||||
}
|
||||
@@ -5,7 +5,7 @@ return {
|
||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
||||
},
|
||||
opts = {
|
||||
ensure_installed = { "go", "lua" },
|
||||
ensure_installed = { "go", "lua", "typescript" },
|
||||
auto_install = true,
|
||||
highlight = {
|
||||
enable = true,
|
||||
@@ -38,7 +38,6 @@ vim.keymap.set("n", "<leader>sh", builtin.help_tags, { desc = "[S]earch [H]elp"
|
||||
vim.keymap.set("n", "<leader>sk", builtin.keymaps, { desc = "[S]earch [K]eymaps" })
|
||||
vim.keymap.set("n", "<leader>ss", builtin.builtin, { desc = "[S]earch [S]elect Telescope" })
|
||||
|
||||
-- IDK how to make grep work on my machine... (skill issues tbh)
|
||||
vim.keymap.set("n", "<leader>sw", builtin.grep_string, { desc = "[S]earch current [W]ord" })
|
||||
vim.keymap.set("n", "<leader>sg", builtin.live_grep, { desc = "[S]earch by [G]rep" })
|
||||
|
||||
@@ -50,7 +49,7 @@ vim.keymap.set("n", "<leader><leader>", builtin.buffers, { desc = "[ ] Find exis
|
||||
-- Slightly advanced example of overriding default behavior and theme
|
||||
vim.keymap.set("n", "<leader>/", function()
|
||||
builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown {
|
||||
winblend = 50,
|
||||
winblend = 10,
|
||||
previewer = false,
|
||||
})
|
||||
end, { desc = "[/] Fuzzily search in current buffer" })
|
||||
@@ -34,8 +34,14 @@ vim.opt.hlsearch = true
|
||||
set("n", "<Esc>", "<cmd>nohlsearch<CR>")
|
||||
|
||||
-- Diagnostic keymaps
|
||||
set("n", "[d", vim.diagnostic.goto_prev, { desc = "Go to previous [D]iagnostic message" })
|
||||
set("n", "]d", vim.diagnostic.goto_next, { desc = "Go to next [D]iagnostic message" })
|
||||
set("n", "[d", function()
|
||||
vim.diagnostic.jump { count = -1, float = true }
|
||||
end, { desc = "Go to previous [D]iagnostic message" })
|
||||
|
||||
set("n", "]d", function()
|
||||
vim.diagnostic.jump { count = 1, float = true }
|
||||
end, { desc = "Go to next [D]iagnostic message" })
|
||||
|
||||
set("n", "<leader>q", vim.diagnostic.setloclist, { desc = "Open diagnostic [Q]uickfix list" })
|
||||
set("n", "<leader>e", vim.diagnostic.open_float, { desc = "Show diagnostic [E]rror messages" })
|
||||
|
||||
@@ -50,6 +56,6 @@ vim.api.nvim_create_autocmd("TextYankPost", {
|
||||
desc = "Highlight when yanking (copying) text",
|
||||
group = vim.api.nvim_create_augroup("highlight-yank", { clear = true }),
|
||||
callback = function()
|
||||
vim.highlight.on_yank()
|
||||
vim.hl.on_yank()
|
||||
end,
|
||||
})
|
||||
@@ -1,6 +1,5 @@
|
||||
local opt = vim.opt
|
||||
|
||||
-- Use 4 space tabs
|
||||
opt.tabstop = 4
|
||||
opt.softtabstop = 4
|
||||
opt.shiftwidth = 4
|
||||
@@ -45,3 +44,4 @@ vim.o.linebreak = true
|
||||
vim.o.wrap = true
|
||||
vim.o.breakindent = true
|
||||
vim.o.showbreak = "↳ "
|
||||
-- vim.o.winborder = "rounded"
|
||||
99
.config/rofi/config.rasi
Normal file
99
.config/rofi/config.rasi
Normal file
@@ -0,0 +1,99 @@
|
||||
configuration{
|
||||
modi: "drun,run,window";
|
||||
icon-theme: "Papirus-Dark";
|
||||
show-icons: true;
|
||||
drun-display-format: "{icon} {name}";
|
||||
location: 0;
|
||||
disable-history: false;
|
||||
hide-scrollbar: true;
|
||||
display-drun: " Apps ";
|
||||
display-run: " Run ";
|
||||
display-window: " Window";
|
||||
display-Network: " Network";
|
||||
sidebar-mode: true;
|
||||
}
|
||||
|
||||
@theme "catpuccin-mocha"
|
||||
|
||||
element-text, element-icon , mode-switcher {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
window {
|
||||
height: 360px;
|
||||
border: 3px;
|
||||
border-color: @border-col;
|
||||
background-color: @bg-col;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
background-color: @bg-col;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
children: [prompt,entry];
|
||||
background-color: @bg-col;
|
||||
border-radius: 5px;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
prompt {
|
||||
background-color: @blue;
|
||||
padding: 6px;
|
||||
text-color: @bg-col;
|
||||
border-radius: 3px;
|
||||
margin: 20px 0px 0px 20px;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: ":";
|
||||
}
|
||||
|
||||
entry {
|
||||
padding: 6px;
|
||||
margin: 20px 0px 0px 10px;
|
||||
text-color: @fg-col;
|
||||
background-color: @bg-col;
|
||||
}
|
||||
|
||||
listview {
|
||||
border: 0px 0px 0px;
|
||||
padding: 6px 0px 0px;
|
||||
margin: 10px 0px 0px 20px;
|
||||
columns: 2;
|
||||
background-color: @bg-col;
|
||||
}
|
||||
|
||||
element {
|
||||
padding: 5px;
|
||||
background-color: @bg-col;
|
||||
text-color: @fg-col ;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 25px;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @selected-col ;
|
||||
text-color: @fg-col2 ;
|
||||
}
|
||||
|
||||
mode-switcher {
|
||||
spacing: 0;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 10px;
|
||||
background-color: @bg-col-light;
|
||||
text-color: @grey;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
button selected {
|
||||
background-color: @bg-col;
|
||||
text-color: @blue;
|
||||
}
|
||||
13
.config/rofi/themes/catpuccin-mocha.rasi
Normal file
13
.config/rofi/themes/catpuccin-mocha.rasi
Normal file
@@ -0,0 +1,13 @@
|
||||
* {
|
||||
bg-col: #1e1e2e;
|
||||
bg-col-light: #1e1e2e;
|
||||
border-col: #1e1e2e;
|
||||
selected-col: #1e1e2e;
|
||||
blue: #89b4fa;
|
||||
fg-col: #cdd6f4;
|
||||
fg-col2: #f38ba8;
|
||||
grey: #6c7086;
|
||||
|
||||
width: 600;
|
||||
font: "JetBrainsMono Nerd Font 14";
|
||||
}
|
||||
81
.config/starship.toml
Normal file
81
.config/starship.toml
Normal file
@@ -0,0 +1,81 @@
|
||||
"$schema" = 'https://starship.rs/config-schema.json'
|
||||
|
||||
format = "$directory$bun$golang$python$git_branch$git_status$git_state[ ❯](bold yellow)[❯](bold mauve)[❯](bold sapphire)\n$character"
|
||||
palette = "catppuccin_mocha"
|
||||
|
||||
[bun]
|
||||
format = '[bun ${version}](bold yellow)'
|
||||
version_format = 'v${major}.${minor}'
|
||||
|
||||
[character]
|
||||
success_symbol = "[➜](bold peach)"
|
||||
error_symbol = "[✗](bold maroon)"
|
||||
|
||||
[cmd_duration]
|
||||
disabled = true
|
||||
|
||||
[directory]
|
||||
home_symbol= " "
|
||||
truncation_length = 2
|
||||
truncate_to_repo = true
|
||||
truncation_symbol = " "
|
||||
style = "bold lavender"
|
||||
|
||||
[git_branch]
|
||||
format='[ $symbol$branch]($style)'
|
||||
style='bold mauve'
|
||||
symbol=" "
|
||||
|
||||
[git_state]
|
||||
cherry_pick = '[🍒](bold maroon)'
|
||||
|
||||
[git_status]
|
||||
format = '([\[$all_status$ahead_behind\]]($style))'
|
||||
style = 'peach'
|
||||
staged = '[++\($count\)](green)'
|
||||
up_to_date = '[✓](green)'
|
||||
untracked = '[ \($count\)](maroon)'
|
||||
modified = '[ \($count\)](yellow)'
|
||||
deleted = '[✘\($count\)](red)'
|
||||
ahead = '⇡${count}'
|
||||
diverged = '⇕⇡${ahead_count}⇣${behind_count}'
|
||||
behind = '⇣${count}'
|
||||
renamed = '»\($count\)'
|
||||
stashed = '襁'
|
||||
|
||||
[golang]
|
||||
format = '[ ${version}](bold $style)'
|
||||
version_format = 'v${major}.${minor}'
|
||||
|
||||
[palettes.catppuccin_mocha]
|
||||
rosewater = "#f5e0dc"
|
||||
flamingo = "#f2cdcd"
|
||||
pink = "#f5c2e7"
|
||||
mauve = "#cba6f7"
|
||||
red = "#f38ba8"
|
||||
maroon = "#eba0ac"
|
||||
peach = "#fab387"
|
||||
yellow = "#f9e2af"
|
||||
green = "#a6e3a1"
|
||||
teal = "#94e2d5"
|
||||
sky = "#89dceb"
|
||||
sapphire = "#74c7ec"
|
||||
blue = "#89b4fa"
|
||||
lavender = "#b4befe"
|
||||
text = "#cdd6f4"
|
||||
subtext1 = "#bac2de"
|
||||
subtext0 = "#a6adc8"
|
||||
overlay2 = "#9399b2"
|
||||
overlay1 = "#7f849c"
|
||||
overlay0 = "#6c7086"
|
||||
surface2 = "#585b70"
|
||||
surface1 = "#45475a"
|
||||
surface0 = "#313244"
|
||||
base = "#1e1e2e"
|
||||
mantle = "#181825"
|
||||
crust = "#11111b"
|
||||
|
||||
[python]
|
||||
symbol = " "
|
||||
format = '[(\($virtualenv\))${symbol}${version}]($style)'
|
||||
version_format = 'v${major}.${minor}'
|
||||
44
.config/tmux/tmux.conf
Normal file
44
.config/tmux/tmux.conf
Normal file
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set-option -sa terminal-overrides ",xterm*:Tc"
|
||||
set -g mouse on
|
||||
|
||||
unbind C-b
|
||||
set -g prefix C-x
|
||||
bind C-x send-prefix
|
||||
|
||||
# Start windows and panes at 1, not 0
|
||||
set -g base-index 1
|
||||
set -g pane-base-index 1
|
||||
set-window-option -g pane-base-index 1
|
||||
set-option -g renumber-windows on
|
||||
|
||||
set -g @plugin 'christoomey/vim-tmux-navigator'
|
||||
|
||||
# Better split window keybind and same directory for new panes
|
||||
unbind '"'
|
||||
unbind %
|
||||
bind - split-window -v -c "#{pane_current_path}"
|
||||
bind _ split-window -h -c "#{pane_current_path}"
|
||||
|
||||
bind -r k select-pane -U
|
||||
bind -r j select-pane -D
|
||||
bind -r h select-pane -L
|
||||
bind -r l select-pane -R
|
||||
|
||||
set -g @plugin 'catppuccin/tmux'
|
||||
# Catpuccin Theme....
|
||||
set -g status-left ""
|
||||
set -g status-right "#{E:@catppuccin_status_application}"
|
||||
set -ag status-right "#{E:@catppuccin_status_session}"
|
||||
set -g @catppuccin_window_current_number_color "#{@thm_peach}"
|
||||
|
||||
set -ogq @catppuccin_window_text " #W"
|
||||
set -ogq @catppuccin_window_current_text " #W"
|
||||
set -ogq @catppuccin_status_left_separator "█"
|
||||
set -ogq @catppuccin_window_flags "icon"
|
||||
|
||||
|
||||
# RUN TPM
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
run '~/.config/tmux/plugins/tpm/tpm'
|
||||
120
.config/waybar/config.jsonc
Normal file
120
.config/waybar/config.jsonc
Normal file
@@ -0,0 +1,120 @@
|
||||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"height": 26,
|
||||
"spacing": 0,
|
||||
"margin-top": 4,
|
||||
"margin-right": 4,
|
||||
"margin-bottom": 0,
|
||||
"margin-left": 4,
|
||||
"modules-left": [
|
||||
"custom/icon",
|
||||
"hyprland/workspaces",
|
||||
"hyprland/window"
|
||||
],
|
||||
"modules-center": [
|
||||
"clock"
|
||||
],
|
||||
"modules-right": [
|
||||
"tray",
|
||||
"network",
|
||||
"pulseaudio",
|
||||
"memory",
|
||||
"battery"
|
||||
// "custom/lock"
|
||||
],
|
||||
"custom/icon": {
|
||||
"format": "",
|
||||
// "on-click": "rofi -show drun",
|
||||
"tooltip": false
|
||||
},
|
||||
"hyprland/workspaces": {
|
||||
"on-click": "activate",
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"urgent": "",
|
||||
"active": "",
|
||||
"default": ""
|
||||
},
|
||||
"persistent-workspaces": {
|
||||
"*": 3
|
||||
}
|
||||
},
|
||||
"hyprland/window": {
|
||||
"format": " {class}",
|
||||
"empty_format": "",
|
||||
"rewrite": {
|
||||
"(.*)zen(.*)": " Zen Browser",
|
||||
"(.*)ghostty(.*)": " Neovim"
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
"format": "<b> {:%H:%M %d.%m}</b> ",
|
||||
"tooltip-format": "<tt>{calendar}</tt>"
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 14,
|
||||
"spacing": 10
|
||||
},
|
||||
"network": {
|
||||
"interval": 30,
|
||||
"format-wifi": " ",
|
||||
"format-ethernet": " Wired",
|
||||
"fomat-disconnected": " Disconnected",
|
||||
"tooltip-format-wifi": "{essid} ({signalStrength}% | {bandwidthDownBits}, {bandwidthUpBits})",
|
||||
"tooltip-format-ethernet": "{ifname} ",
|
||||
"tooltip-format-disconnected": "Disconnected"
|
||||
},
|
||||
"memory": {
|
||||
"interval": 30,
|
||||
"format": " {used:0.1f}G/{total:0.1f}G"
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-muted": " Muted",
|
||||
"scroll-step": 1,
|
||||
// "on-click": "pavucontrol",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
]
|
||||
}
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 20
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
"format-alt": "{time} {icon}",
|
||||
"format-icons": [
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
]
|
||||
},
|
||||
"custom/lock": {
|
||||
"format": "",
|
||||
"on-click": "wlogout"
|
||||
}
|
||||
}
|
||||
25
.config/waybar/mocha.css
Normal file
25
.config/waybar/mocha.css
Normal file
@@ -0,0 +1,25 @@
|
||||
@define-color rosewater #f5e0dc;
|
||||
@define-color fl #f2cdcd;
|
||||
@define-color pink #f5c2e7;
|
||||
@define-color vl #cba6f7;
|
||||
@define-color red #eba0ac;
|
||||
@define-color peach #fab387;
|
||||
@define-color yellow #f9e2af;
|
||||
@define-color green #a6e3a1;
|
||||
@define-color teal #94e2d5;
|
||||
@define-color sky #89dceb;
|
||||
@define-color sapphire #74c7ec;
|
||||
@define-color blue #89b4fa;
|
||||
@define-color lavender #b4befe;
|
||||
@define-color fg #cdd6f4;
|
||||
@define-color subtext1 #bac2de;
|
||||
@define-color subtext0 #a6adc8;
|
||||
@define-color overlay2 #9399b2;
|
||||
@define-color overlay1 #7f849c;
|
||||
@define-color overlay0 #6c7086;
|
||||
@define-color surface2 #585b70;
|
||||
@define-color surface1 #45475a;
|
||||
@define-color surface0 #313244;
|
||||
@define-color bg #1e1e2e;
|
||||
@define-color bg2 #181825;
|
||||
@define-color crust #11111b;
|
||||
116
.config/waybar/style.css
Normal file
116
.config/waybar/style.css
Normal file
@@ -0,0 +1,116 @@
|
||||
@import "mocha.css";
|
||||
|
||||
* {
|
||||
font-family: "JetBrainsMono Nerd Font";
|
||||
font-weight: bold;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
color: @fg;
|
||||
background-color: @bg2;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
/* ------ Custom Modules ------ */
|
||||
#custom-icon {
|
||||
font-size: 18px;
|
||||
color: @blue;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
/* Workspaces */
|
||||
#workspaces {
|
||||
padding: 0px 3px;
|
||||
margin: 5px;
|
||||
font-family: JetBrainsMono Nerd Font;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0px 2px;
|
||||
color: @peach;
|
||||
background-color: transparent;
|
||||
font-family: JetBrainsMono Nerd Font;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: @fg;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
color: @red;
|
||||
}
|
||||
|
||||
/* ------ Window Title ------ */
|
||||
#window {
|
||||
padding: 2px 8px;
|
||||
color: @fg;
|
||||
}
|
||||
|
||||
/* ------ Clock ------ */
|
||||
#clock {
|
||||
padding: 2px 12px;
|
||||
margin: 5px;
|
||||
color: @lavender;
|
||||
background-color: @bg;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
/* ------ Tray ------ */
|
||||
#tray {
|
||||
padding: 2px 12px;
|
||||
margin: 5px;
|
||||
background-color: @bg;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
/* ------ Network ------ */
|
||||
#network {
|
||||
padding: 2px 8px;
|
||||
margin: 4px 2px;
|
||||
color: @text;
|
||||
background-color: @bg;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
padding: 2px 8px;
|
||||
margin: 5px;
|
||||
color: @yellow;
|
||||
background-color: @bg;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
color: @red;
|
||||
}
|
||||
|
||||
#memory {
|
||||
padding: 2px 8px;
|
||||
margin: 5px;
|
||||
color: @red;
|
||||
background-color: @bg;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
/* ------ Battery ------ */
|
||||
#battery {
|
||||
padding: 2px 8px;
|
||||
margin: 5px;
|
||||
color: @green;
|
||||
background-color: @bg;
|
||||
}
|
||||
|
||||
/* #custom-power { */
|
||||
/* color: @red; */
|
||||
/* background-color: @surface1; */
|
||||
/* padding: 2px 9px; */
|
||||
/* margin: 4px 2px; */
|
||||
/* font-size: 15px; */
|
||||
/* } */
|
||||
|
||||
tooltip {
|
||||
border: 1px solid @blue;
|
||||
background: @bg2;
|
||||
margin: 20px;
|
||||
padding: 15px;
|
||||
border-radius: 14px;
|
||||
}
|
||||
16
.gitignore
vendored
Normal file
16
.gitignore
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
*.DS_Store**
|
||||
|
||||
# tmux plugin files etc
|
||||
tmux/**
|
||||
**!tmux/tmux.conf
|
||||
|
||||
# btop files
|
||||
*btop/**
|
||||
!btop/btop.conf
|
||||
|
||||
procps
|
||||
pulse
|
||||
systemd
|
||||
yay
|
||||
lazygit
|
||||
dconf
|
||||
31
.stow-local-ignore
Normal file
31
.stow-local-ignore
Normal file
@@ -0,0 +1,31 @@
|
||||
# Comments and blank lines are allowed.
|
||||
|
||||
RCS
|
||||
.+,v
|
||||
|
||||
CVS
|
||||
\.\#.+ # CVS conflict files / emacs lock files
|
||||
\.cvsignore
|
||||
|
||||
\.svn
|
||||
_darcs
|
||||
\.hg
|
||||
|
||||
\.git
|
||||
\.gitignore
|
||||
\.gitmodules
|
||||
|
||||
.+~ # emacs backup files
|
||||
\#.*\# # emacs autosave files
|
||||
|
||||
^/README.*
|
||||
^/readme.*
|
||||
^/LICENSE.*
|
||||
^/COPYING
|
||||
|
||||
# extra stuff not part of configs
|
||||
install.sh
|
||||
assets
|
||||
|
||||
.bashrc
|
||||
^/alacritty*
|
||||
21
.zshrc
Normal file
21
.zshrc
Normal file
@@ -0,0 +1,21 @@
|
||||
# ---- Aliases ----
|
||||
alias ls='lsd'
|
||||
alias lg='lazygit'
|
||||
alias nv='nvim'
|
||||
alias neofetch="fastfetch"
|
||||
alias python='python3'
|
||||
|
||||
# ---- Air GO hot reload ----
|
||||
alias air="~/go/bin/air"
|
||||
|
||||
# ---- starship ----
|
||||
eval "$(starship init zsh)"
|
||||
|
||||
# ---- zoxide ----
|
||||
eval "$(zoxide init --cmd cd zsh)"
|
||||
|
||||
# ---- fzf ----
|
||||
source <(fzf --zsh)
|
||||
|
||||
export EDITOR="nvim"
|
||||
export MANPAGER="nvim +Man!"
|
||||
86
flake.lock
generated
86
flake.lock
generated
@@ -1,86 +0,0 @@
|
||||
{
|
||||
"nodes": {
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1740494361,
|
||||
"narHash": "sha256-Dd/GhJ9qKmUwuhgt/PAROG8J6YdU2ZjtJI9SQX5sVQI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "74f0a8546e3f2458c870cf90fc4b38ac1f498b17",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1740452771,
|
||||
"narHash": "sha256-/tI1vFJ7/dXJqUmI+s0EV1F0DPe6dZvT444mrLUkrlU=",
|
||||
"owner": "LnL7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "42be12b510253d750138ec90c66decc282298b44",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "LnL7",
|
||||
"repo": "nix-darwin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1740396192,
|
||||
"narHash": "sha256-ATMHHrg3sG1KgpQA5x8I+zcYpp5Sf17FaFj/fN+8OoQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d9b69c3ec2a2e2e971c534065bdd53374bd68b97",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1740567784,
|
||||
"narHash": "sha256-vtNes0DPo720tDDVTKrvLBhW/kY0EMHB1ik1Bw4bWZI=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8c97496b319743c0ac82205fc6ba2197bf7db9a7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "release-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
47
flake.nix
47
flake.nix
@@ -1,47 +0,0 @@
|
||||
{
|
||||
description = "lilJ's nix-config";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
nixpkgs-stable.url = "github:nixos/nixpkgs/release-24.11";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nix-darwin = {
|
||||
url = "github:LnL7/nix-darwin";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = inputs @ {
|
||||
self,
|
||||
nixpkgs,
|
||||
nix-darwin,
|
||||
home-manager,
|
||||
...
|
||||
}: let
|
||||
username = "lilj";
|
||||
email = "kulvir@duck.com";
|
||||
|
||||
system = "aarch64-darwin"; # apple
|
||||
forAllSystems = nixpkgs.lib.genAttrs [
|
||||
"aarch64-darwin"
|
||||
];
|
||||
inherit (self) outputs;
|
||||
in {
|
||||
# own packages and some modifications
|
||||
packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
|
||||
overlays = import ./overlays {inherit inputs;};
|
||||
|
||||
# darwin-rebuild switch --flake .#mba
|
||||
darwinConfigurations."mba" = nix-darwin.lib.darwinSystem {
|
||||
specialArgs = {inherit inputs username email outputs system;};
|
||||
modules = [
|
||||
./hosts/mba
|
||||
];
|
||||
};
|
||||
|
||||
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra);
|
||||
};
|
||||
}
|
||||
@@ -1,85 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
security.pam.services.sudo_local.touchIdAuth = true;
|
||||
|
||||
# Set Git commit hash for darwin-version.
|
||||
system.configurationRevision = inputs.self.rev or inputs.self.dirtyRev or null;
|
||||
|
||||
system.defaults = {
|
||||
controlcenter = {
|
||||
BatteryShowPercentage = true;
|
||||
NowPlaying = false;
|
||||
};
|
||||
dock = {
|
||||
autohide = false;
|
||||
tilesize = 22;
|
||||
mineffect = "genie";
|
||||
largesize = 32;
|
||||
mru-spaces = true;
|
||||
show-recents = false;
|
||||
|
||||
# don't ned hotcorners
|
||||
wvous-bl-corner = null;
|
||||
wvous-br-corner = null;
|
||||
wvous-tl-corner = null;
|
||||
wvous-tr-corner = null;
|
||||
};
|
||||
finder = {
|
||||
CreateDesktop = false;
|
||||
FXDefaultSearchScope = "SCcf";
|
||||
FXPreferredViewStyle = "Nlsv";
|
||||
NewWindowTarget = "Other";
|
||||
NewWindowTargetPath = "file:///Users/lilj/Downloads";
|
||||
ShowPathbar = true;
|
||||
ShowStatusBar = true;
|
||||
ShowRemovableMediaOnDesktop = false;
|
||||
};
|
||||
menuExtraClock = {
|
||||
Show24Hour = false;
|
||||
ShowAMPM = false;
|
||||
ShowSeconds = false;
|
||||
ShowDate = 1;
|
||||
ShowDayOfWeek = true;
|
||||
};
|
||||
NSGlobalDomain = {
|
||||
AppleInterfaceStyle = "Dark";
|
||||
AppleICUForce24HourTime = false;
|
||||
AppleSpacesSwitchOnActivate = true; # Switch to other workspace when switching application
|
||||
"com.apple.keyboard.fnState" = false;
|
||||
"com.apple.sound.beep.feedback" = 0;
|
||||
"com.apple.sound.beep.volume" = 0.7788008;
|
||||
"com.apple.swipescrolldirection" = true;
|
||||
"com.apple.trackpad.scaling" = 1.35;
|
||||
InitialKeyRepeat = 15;
|
||||
KeyRepeat = 3;
|
||||
|
||||
NSAutomaticCapitalizationEnabled = false;
|
||||
NSAutomaticDashSubstitutionEnabled = false;
|
||||
NSAutomaticSpellingCorrectionEnabled = false;
|
||||
NSAutomaticWindowAnimationsEnabled = true;
|
||||
NSScrollAnimationEnabled = true;
|
||||
NSTableViewDefaultSizeMode = 2; # finder sidebar icons size
|
||||
};
|
||||
screencapture = {
|
||||
include-date = false;
|
||||
location = "~/Documents/screenshots";
|
||||
type = "png";
|
||||
};
|
||||
trackpad = {
|
||||
ActuationStrength = 0;
|
||||
Clicking = true;
|
||||
TrackpadRightClick = true;
|
||||
};
|
||||
WindowManager = {
|
||||
EnableStandardClickToShowDesktop = true;
|
||||
EnableTiledWindowMargins = true;
|
||||
};
|
||||
};
|
||||
|
||||
system.stateVersion = 5;
|
||||
|
||||
time.timeZone = "Asia/Calcutta";
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
{
|
||||
inputs,
|
||||
outputs,
|
||||
username,
|
||||
email,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
inputs.home-manager.darwinModules.home-manager
|
||||
|
||||
./configuration.nix
|
||||
./mac-apps.nix
|
||||
./nix.nix
|
||||
./users.nix
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
overlays = [
|
||||
outputs.overlays.additions
|
||||
outputs.overlays.modifications
|
||||
outputs.overlays.stable-packages
|
||||
];
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
backupFileExtension = "hnm";
|
||||
extraSpecialArgs = {inherit username email outputs;};
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.${username} = import ./home.nix;
|
||||
};
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
username,
|
||||
email,
|
||||
outputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
# ../../modules/alacritty.nix
|
||||
../../modules/git.nix
|
||||
../../modules/fastfetch.nix
|
||||
../../modules/kitty.nix
|
||||
../../modules/nvim.nix
|
||||
../../modules/shell.nix
|
||||
../../modules/starship.nix
|
||||
../../modules/tmux.nix
|
||||
];
|
||||
|
||||
home.packages = [
|
||||
pkgs.air
|
||||
pkgs.bun
|
||||
pkgs.go
|
||||
pkgs.nodejs_23
|
||||
pkgs.pnpm
|
||||
|
||||
pkgs.discord # nigga ain't working properly
|
||||
pkgs.redis
|
||||
pkgs.postgresql_17_jit
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
overlays = [
|
||||
outputs.overlays.additions
|
||||
outputs.overlays.modifications
|
||||
outputs.overlays.stable-packages
|
||||
];
|
||||
};
|
||||
|
||||
home.stateVersion = "24.11";
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = [];
|
||||
|
||||
environment.variables = {
|
||||
MANPAGER = "nvim +Man!";
|
||||
};
|
||||
|
||||
# Enable alternative shell support in nix-darwin.
|
||||
# environment.shells = [
|
||||
# pkgs.fish
|
||||
# ];
|
||||
|
||||
fonts.packages = [
|
||||
pkgs.nerd-fonts.jetbrains-mono
|
||||
# Alternate Fonts
|
||||
# pkgs.nerd-fonts.caskaydia-mono
|
||||
# pkgs.nerd-fonts.iosevka
|
||||
];
|
||||
|
||||
homebrew = {
|
||||
enable = true;
|
||||
|
||||
brews = [
|
||||
# "bun"
|
||||
];
|
||||
|
||||
caskArgs = {
|
||||
appdir = "/Applications";
|
||||
};
|
||||
|
||||
# darwin support for packages sucks
|
||||
casks = [
|
||||
"docker"
|
||||
"obsidian"
|
||||
"raycast"
|
||||
"spotify"
|
||||
"zen-browser"
|
||||
|
||||
# not me using em :(
|
||||
"postman"
|
||||
"slack"
|
||||
"zoom"
|
||||
];
|
||||
|
||||
global.autoUpdate = true;
|
||||
|
||||
onActivation = {
|
||||
autoUpdate = true;
|
||||
upgrade = true;
|
||||
cleanup = "zap";
|
||||
};
|
||||
|
||||
taps = [
|
||||
# "oven-sh/bun"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
# This file seems like generic nix config options could be moved to common in future
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# Cross-compile GNU/Linux binaries, or even full GNU/Linux system images
|
||||
nix.linux-builder.enable = true;
|
||||
|
||||
nix.settings.experimental-features = "nix-command flakes";
|
||||
|
||||
nixpkgs.hostPlatform = "${system}";
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
# same as nix.nix file, could be moved to common
|
||||
{username, ...}: {
|
||||
system.defaults.smb.NetBIOSName = "lilJ's mba";
|
||||
|
||||
users.users."${username}" = {
|
||||
name = "${username}";
|
||||
home = "/Users/${username}";
|
||||
};
|
||||
|
||||
nix.settings.trusted-users = [username];
|
||||
}
|
||||
21
install.sh
Executable file
21
install.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ---- Terminal ----
|
||||
|
||||
echo "Installing your Teminal and other thingies..."
|
||||
yay -S git ghostty starship neovim ttf-jetbrains-mono-nerd tmux fzf lsd ripgrep zoxide lazygit fastfetch stow btop
|
||||
|
||||
echo "Creating symlinks using GNU STOW"
|
||||
stow .
|
||||
|
||||
echo "changing default shell to z-shell"
|
||||
sudo chsh -s $(which zsh)
|
||||
source ~/.zshrc
|
||||
|
||||
yay -S bun-bin go node npm
|
||||
|
||||
# ---- Applications ----
|
||||
echo "Installing the Applications..."
|
||||
yay -S zen-browser-bin discord docker spotify
|
||||
|
||||
echo "setup complete...\n"
|
||||
@@ -1,115 +0,0 @@
|
||||
{...}: {
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
env = {
|
||||
TERM = "xterm-256color";
|
||||
};
|
||||
|
||||
cursor = {
|
||||
style = "Beam";
|
||||
};
|
||||
|
||||
font = {
|
||||
normal.family = "JetBrainsMono Nerd Font";
|
||||
bold.family = "JetBrainsMono Nerd Font";
|
||||
italic.family = "JetBrainsMono Nerd Font";
|
||||
bold_italic.family = "JetBrainsMono Nerd Font";
|
||||
size = 16;
|
||||
};
|
||||
|
||||
mouse.hide_when_typing = true;
|
||||
|
||||
selection.save_to_clipboard = true;
|
||||
|
||||
window = {
|
||||
decorations = "none";
|
||||
opacity = 0.95;
|
||||
padding = {
|
||||
x = 2;
|
||||
y = 2;
|
||||
};
|
||||
};
|
||||
|
||||
# ROSE-PINE theme
|
||||
colors = {
|
||||
primary = {
|
||||
foreground = "#e0def4";
|
||||
background = "#191724";
|
||||
dim_foreground = "#908caa";
|
||||
bright_foreground = "#e0def4";
|
||||
};
|
||||
cursor = {
|
||||
text = "#e0def4";
|
||||
cursor = "#524f67";
|
||||
};
|
||||
vi_mode_cursor = {
|
||||
text = "#e0def4";
|
||||
cursor = "#524f67";
|
||||
};
|
||||
search = {
|
||||
matches = {
|
||||
foreground = "#908caa";
|
||||
background = "#26233a";
|
||||
};
|
||||
focused_match = {
|
||||
foreground = "#191724";
|
||||
background = "#ebbcba";
|
||||
};
|
||||
};
|
||||
hints = {
|
||||
start = {
|
||||
foreground = "#908caa";
|
||||
background = "#1f1d2e";
|
||||
};
|
||||
end = {
|
||||
foreground = "#6e6a86";
|
||||
background = "#1f1d2e";
|
||||
};
|
||||
};
|
||||
line_indicator = {
|
||||
foreground = "None";
|
||||
background = "None";
|
||||
};
|
||||
footer_bar = {
|
||||
foreground = "#e0def4";
|
||||
background = "#1f1d2e";
|
||||
};
|
||||
selection = {
|
||||
text = "#e0def4";
|
||||
background = "#403d52";
|
||||
};
|
||||
normal = {
|
||||
black = "#26233a";
|
||||
red = "#eb6f92";
|
||||
green = "#31748f";
|
||||
yellow = "#f6c177";
|
||||
blue = "#9ccfd8";
|
||||
magenta = "#c4a7e7";
|
||||
cyan = "#ebbcba";
|
||||
white = "#e0def4";
|
||||
};
|
||||
bright = {
|
||||
black = "#6e6a86";
|
||||
red = "#eb6f92";
|
||||
green = "#31748f";
|
||||
yellow = "#f6c177";
|
||||
blue = "#9ccfd8";
|
||||
magenta = "#c4a7e7";
|
||||
cyan = "#ebbcba";
|
||||
white = "#e0def4";
|
||||
};
|
||||
dim = {
|
||||
black = "#6e6a86";
|
||||
red = "#eb6f92";
|
||||
green = "#31748f";
|
||||
yellow = "#f6c177";
|
||||
blue = "#9ccfd8";
|
||||
magenta = "#c4a7e7";
|
||||
cyan = "#ebbcba";
|
||||
white = "#e0def4";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,99 +0,0 @@
|
||||
{...}: {
|
||||
programs.fastfetch = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
logo = {
|
||||
padding = {
|
||||
top = 2;
|
||||
};
|
||||
};
|
||||
|
||||
display = {
|
||||
separator = " ➜ ";
|
||||
};
|
||||
|
||||
modules = [
|
||||
"break"
|
||||
"break"
|
||||
"break"
|
||||
{
|
||||
type = "os";
|
||||
key = "OS ";
|
||||
keyColor = "red";
|
||||
}
|
||||
{
|
||||
type = "kernel";
|
||||
key = " ├ ";
|
||||
keyColor = "red";
|
||||
}
|
||||
{
|
||||
type = "shell";
|
||||
key = " └ ";
|
||||
keyColor = "red";
|
||||
}
|
||||
"break"
|
||||
{
|
||||
type = "wm";
|
||||
key = "WM ";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "icons";
|
||||
key = " ├ ";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "cursor";
|
||||
key = " ├ ";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "terminal";
|
||||
key = " └ ";
|
||||
keyColor = "green";
|
||||
}
|
||||
"break"
|
||||
{
|
||||
type = "host";
|
||||
format = "{5} {1} Type {2}";
|
||||
key = "PC ";
|
||||
keyColor = "yellow";
|
||||
}
|
||||
{
|
||||
type = "cpu";
|
||||
format = "{1} ({3}) @ {7} GHz";
|
||||
key = " ├ ";
|
||||
keyColor = "yellow";
|
||||
}
|
||||
{
|
||||
type = "memory";
|
||||
key = " ├ ";
|
||||
keyColor = "yellow";
|
||||
}
|
||||
{
|
||||
type = "swap";
|
||||
key = " ├ ";
|
||||
keyColor = "yellow";
|
||||
}
|
||||
{
|
||||
type = "disk";
|
||||
key = " ├ ";
|
||||
keyColor = "yellow";
|
||||
}
|
||||
{
|
||||
type = "uptime";
|
||||
key = " ├ ";
|
||||
keyColor = "yellow";
|
||||
}
|
||||
{
|
||||
type = "monitor";
|
||||
key = " └ ";
|
||||
keyColor = "yellow";
|
||||
}
|
||||
"break"
|
||||
"break"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
{
|
||||
username,
|
||||
email,
|
||||
...
|
||||
}: {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
|
||||
userName = "Kulvir Singh";
|
||||
userEmail = "kulvirs734@gmail.com";
|
||||
|
||||
aliases = {};
|
||||
|
||||
ignores = [
|
||||
".DS_Store"
|
||||
".env"
|
||||
];
|
||||
|
||||
lfs.enable = true; # make ptr to large files(audio/video) locally
|
||||
|
||||
extraConfig = {
|
||||
init.defaultBranch = "trunk";
|
||||
credential.helper = "cache";
|
||||
push.autoSetupRemote = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
{...}: {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
|
||||
font = {
|
||||
name = "JetBrainsMono Nerd Font";
|
||||
size = 14.0;
|
||||
};
|
||||
|
||||
keybindings = {
|
||||
"kitty_mod+enter" = "no_op";
|
||||
"cmd+enter" = "no_op";
|
||||
"cmd+t" = "new_tab_with_cwd";
|
||||
|
||||
"cmd+1" = "goto_tab 1";
|
||||
"cmd+2" = "goto_tab 2";
|
||||
"cmd+3" = "goto_tab 3";
|
||||
"cmd+4" = "goto_tab 4";
|
||||
"cmd+5" = "goto_tab 5";
|
||||
"cmd+6" = "goto_tab 6";
|
||||
"cmd+7" = "goto_tab 7";
|
||||
"cmd+8" = "goto_tab 8";
|
||||
"cmd+9" = "goto_tab 9";
|
||||
};
|
||||
|
||||
shellIntegration.enableZshIntegration = true;
|
||||
|
||||
themeFile = "Catppuccin-Mocha";
|
||||
|
||||
extraConfig = ''
|
||||
cursor_shape beam
|
||||
|
||||
background_opacity 0.95
|
||||
background_blur 12
|
||||
|
||||
macos_quit_when_last_window_closed yes
|
||||
macos_show_window_title_in none
|
||||
|
||||
enable_audio_bell no
|
||||
hide_window_decorations yes
|
||||
|
||||
# tab bar at bottom stlying
|
||||
tab_bar_style powerline
|
||||
tab_bar_min_tabs 2
|
||||
tab_title_template "{index}"
|
||||
active_tab_title_template "{index}"
|
||||
tab_bar_background none
|
||||
|
||||
# macOS - CMD/Option navs
|
||||
map cmd+backspace send_text all \x15
|
||||
map alt+backspace send_text all \x17
|
||||
map cmd+left send_text all \x01
|
||||
map cmd+right send_text all \x05
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
home.file = {
|
||||
".config/nvim" = {
|
||||
recursive = true;
|
||||
source = "${pkgs.lilj-nvim-config}";
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
neovim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
vimAlias = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
programs = {
|
||||
zsh = {
|
||||
enable = true;
|
||||
envExtra = ''
|
||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||
export PATH="/opt/homebrew/bin:$PATH"
|
||||
'';
|
||||
shellAliases = {
|
||||
ls = "lsd";
|
||||
lg = "lazygit";
|
||||
neofetch = "fastfetch";
|
||||
nv = "nvim";
|
||||
python = "python3";
|
||||
};
|
||||
syntaxHighlighting.enable = true;
|
||||
};
|
||||
|
||||
btop = {
|
||||
enable = true;
|
||||
settings = {
|
||||
theme_background = false;
|
||||
presets = "cpu:0:default mem:0:default net:0:default";
|
||||
proc_sorting = "memory";
|
||||
update_ms = 1000;
|
||||
vim_keys = true;
|
||||
};
|
||||
};
|
||||
|
||||
fzf = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
|
||||
lazygit.enable = true;
|
||||
|
||||
ripgrep.enable = true;
|
||||
|
||||
zoxide = {
|
||||
enable = true;
|
||||
options = ["--cmd cd"];
|
||||
};
|
||||
};
|
||||
|
||||
# environment.sessionVariables = {};
|
||||
|
||||
home.packages = [
|
||||
pkgs.lsd
|
||||
];
|
||||
}
|
||||
@@ -1,98 +0,0 @@
|
||||
{...}: {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
add_newline = true;
|
||||
continuation_prompt = "▶▶ ";
|
||||
format = "$directory$c$bun$golang$nodejs(bold blue)$git_branch$git_status[❯](bold yellow)[❯](bold purple)[❯](bold blue)\n$character";
|
||||
# format = ''$directory$all$character'';
|
||||
palette = "catppuccin_mocha";
|
||||
scan_timeout = 120;
|
||||
|
||||
bun = {
|
||||
format = "[🍞 $version ](bold green)";
|
||||
version_format = "\${major}.\${minor}";
|
||||
};
|
||||
|
||||
c = {
|
||||
detect_extensions = ["c" "cpp"];
|
||||
format = "[$symbol $version ]($style)";
|
||||
symbol = "";
|
||||
version_format = "\${major}.\${minor}";
|
||||
};
|
||||
|
||||
character = {
|
||||
success_symbol = "[➜](bold green)";
|
||||
error_symbol = "[✗](bold red)";
|
||||
};
|
||||
|
||||
cmd_duration = {
|
||||
disabled = true;
|
||||
};
|
||||
|
||||
directory = {
|
||||
home_symbol = " ";
|
||||
truncation_length = 2;
|
||||
truncate_to_repo = true;
|
||||
truncation_symbol = " ";
|
||||
style = "bold blue";
|
||||
};
|
||||
|
||||
git_branch = {
|
||||
format = "[$symbol$branch ]($style)";
|
||||
style = "bold purple";
|
||||
symbol = " ";
|
||||
always_show_remote = true;
|
||||
};
|
||||
|
||||
golang = {
|
||||
format = "[$symbol $version ](bold cyan)";
|
||||
version_format = "\${major}.\${minor}";
|
||||
symbol = " ";
|
||||
};
|
||||
|
||||
hostname = {
|
||||
ssh_only = true;
|
||||
format = "[$ssh_symbol$hostname ]($style)";
|
||||
style = "bold green";
|
||||
ssh_symbol = " ";
|
||||
disabled = false;
|
||||
};
|
||||
|
||||
nodejs = {
|
||||
detect_files = ["!bun.lock"];
|
||||
format = "[$symbol$version ]($style)";
|
||||
version_format = "\${major}.\${minor}";
|
||||
};
|
||||
|
||||
palettes.catppuccin_mocha = {
|
||||
rosewater = "#f5e0dc";
|
||||
flamingo = "#f2cdcd";
|
||||
pink = "#f5c2e7";
|
||||
mauve = "#cba6f7";
|
||||
red = "#f38ba8";
|
||||
maroon = "#eba0ac";
|
||||
peach = "#fab387";
|
||||
yellow = "#f9e2af";
|
||||
green = "#a6e3a1";
|
||||
teal = "#94e2d5";
|
||||
sky = "#89dceb";
|
||||
sapphire = "#74c7ec";
|
||||
blue = "#89b4fa";
|
||||
lavender = "#b4befe";
|
||||
text = "#cdd6f4";
|
||||
subtext1 = "#bac2de";
|
||||
subtext0 = "#a6adc8";
|
||||
overlay2 = "#9399b2";
|
||||
overlay1 = "#7f849c";
|
||||
overlay0 = "#6c7086";
|
||||
surface2 = "#585b70";
|
||||
surface1 = "#45475a";
|
||||
surface0 = "#313244";
|
||||
base = "#1e1e2e";
|
||||
mantle = "#181825";
|
||||
crust = "#11111b";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
|
||||
baseIndex = 1;
|
||||
|
||||
historyLimit = 10000;
|
||||
|
||||
mouse = true;
|
||||
|
||||
prefix = "C-x";
|
||||
|
||||
plugins = [
|
||||
pkgs.tmuxPlugins.vim-tmux-navigator
|
||||
{
|
||||
plugin = pkgs.tmuxPlugins.catppuccin;
|
||||
}
|
||||
];
|
||||
|
||||
extraConfig = ''
|
||||
set-option -sa terminal-overrides ",xterm*:Tc"
|
||||
|
||||
set -s escape-time 0
|
||||
|
||||
# split panes using | and -
|
||||
unbind '"'
|
||||
unbind %
|
||||
bind - split-window -v -c "#{pane_current_path}"
|
||||
bind _ split-window -h -c "#{pane_current_path}"
|
||||
|
||||
bind -r k select-pane -U
|
||||
bind -r j select-pane -D
|
||||
bind -r h select-pane -L
|
||||
bind -r l select-pane -R
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,81 +0,0 @@
|
||||
{...}: {
|
||||
programs.zed-editor = {
|
||||
enable = true;
|
||||
|
||||
extensions = [];
|
||||
|
||||
userSettings = {
|
||||
auto_update = false;
|
||||
|
||||
buffer_font_size = 14;
|
||||
buffer_font_family = "JetBrainsMono Nerd Font";
|
||||
|
||||
ensure_final_newline_on_save = false;
|
||||
|
||||
hard_tabs = true;
|
||||
|
||||
languages = {
|
||||
"TypeScript" = {
|
||||
code_actions_on_format = {
|
||||
"source.fixAll.eslint" = true;
|
||||
"source.organizeImports" = true;
|
||||
};
|
||||
codeActionOnSave = {
|
||||
rules = ["import/order"];
|
||||
};
|
||||
formatter = "prettier";
|
||||
};
|
||||
};
|
||||
|
||||
lsp = {
|
||||
};
|
||||
|
||||
search = {
|
||||
regex = true;
|
||||
};
|
||||
|
||||
show_whitespaces = "boundary";
|
||||
|
||||
tab_size = 4;
|
||||
|
||||
tab_bar = {
|
||||
show_nav_history_buttons = false;
|
||||
};
|
||||
|
||||
tabs = {
|
||||
file_icons = true;
|
||||
git_status = true;
|
||||
};
|
||||
|
||||
telemetery = {
|
||||
diagnostics = false;
|
||||
metrics = false;
|
||||
};
|
||||
|
||||
terminal = {
|
||||
font_size = 13;
|
||||
line_height = "standard";
|
||||
toolbar = {
|
||||
breadcrumbs = false;
|
||||
};
|
||||
};
|
||||
|
||||
theme = {
|
||||
mode = "dark";
|
||||
light = "Rosé Pine";
|
||||
dark = "Rosé Pine";
|
||||
};
|
||||
|
||||
toolbar = {
|
||||
breadcrumbs = false;
|
||||
quick_actions = false;
|
||||
};
|
||||
|
||||
ui_font_size = 14;
|
||||
|
||||
ui_font_family = "JetBrainsMono Nerd Font";
|
||||
|
||||
vim_mode = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{inputs, ...}: {
|
||||
additions = final: _prev: import ../pkgs {pkgs = final;};
|
||||
|
||||
modifications = final: prev: {
|
||||
discord = prev.discord.override {
|
||||
withOpenASAR = true;
|
||||
withVencord = true;
|
||||
};
|
||||
};
|
||||
|
||||
# The stable nixpkgs set (declared in the flake inputs) will be accessible through 'pkgs.stable'
|
||||
stable-packages = final: _prev: {
|
||||
stable = import inputs.nixpkgs-stable {
|
||||
system = final.system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
lilj-nvim-config = pkgs.callPackage ./nvim-conf {};
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
}: let
|
||||
nvim = ./nvim;
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "lilj-nvim-config";
|
||||
version = "1.0.0";
|
||||
|
||||
buildCommand = ''
|
||||
mkdir -p $out
|
||||
cp -r ${nvim}/* "$out/"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "lilJ's nvim config";
|
||||
homepage = "https://kulvir.gg";
|
||||
platforms = platforms.all;
|
||||
license = licenses.gpl3;
|
||||
};
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
{
|
||||
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
||||
"LuaSnip": { "branch": "master", "commit": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d" },
|
||||
"SchemaStore.nvim": { "branch": "main", "commit": "55d2ae33ce57de9fcd0cc3c8ee2f225ddbf2cd6a" },
|
||||
"catpuccin": { "branch": "main", "commit": "faf15ab0201b564b6368ffa47b56feefc92ce3f4" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||
"conform.nvim": { "branch": "master", "commit": "f4e8837878fc5712d053ba3091a73d27d96a09e2" },
|
||||
"fidget.nvim": { "branch": "main", "commit": "9238947645ce17d96f30842e61ba81147185b657" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "259357fa4097e232730341fa60988087d189193a" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
|
||||
"lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "2daa8921b7afdcfa47419a21ea343c3df6d74fa0" },
|
||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" },
|
||||
"mason-tool-installer.nvim": { "branch": "main", "commit": "c5e07b8ff54187716334d585db34282e46fa2932" },
|
||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||
"mini.nvim": { "branch": "main", "commit": "2faada1cffce5609d78ac5e81eaf3754e0476758" },
|
||||
"neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "b555203ce4bd7ff6192e759af3362f9d217e8c89" },
|
||||
"nvim-dap": { "branch": "master", "commit": "a6070b4e9e9a8ff1bc513c3748eff27080b0f44a" },
|
||||
"nvim-dap-go": { "branch": "main", "commit": "6aa88167ea1224bcef578e8c7160fe8afbb44848" },
|
||||
"nvim-dap-python": { "branch": "master", "commit": "34282820bb713b9a5fdb120ae8dd85c2b3f49b51" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" },
|
||||
"nvim-dap-virtual-text": { "branch": "master", "commit": "76d80c3d171224315b61c006502a1e30c213a9ab" },
|
||||
"nvim-lint": { "branch": "master", "commit": "1fea92f1d9908eaa5eb8bafe08b4293d7aadaa55" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "8b15a1a597a59f4f5306fad9adfe99454feab743" },
|
||||
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
|
||||
"nvim-tmux-navigation": { "branch": "main", "commit": "4898c98702954439233fdaf764c39636681e2861" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "7e0fcf0d456fc5818da1af35b1a3f5c784fce457" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "0eb18da56e2ba6ba24de7130a12bcc4e31ad11cb" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
|
||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
|
||||
"vim-dadbod": { "branch": "master", "commit": "f740950d0703099e0f172016f10e0e39f50fd0ba" },
|
||||
"vim-dadbod-completion": { "branch": "master", "commit": "9e354e86fcc67a5ec2c104f312e374ea2f89c799" },
|
||||
"vim-dadbod-ui": { "branch": "master", "commit": "0fec59e3e1e619e302198cd491b7d27f8d398b7c" }
|
||||
}
|
||||
@@ -1,82 +0,0 @@
|
||||
local luasnip = require "luasnip"
|
||||
luasnip.config.setup {
|
||||
history = false,
|
||||
updateevents = "TextChanged,TextChangedI",
|
||||
}
|
||||
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
|
||||
local lspkind = require "lspkind"
|
||||
lspkind.init {}
|
||||
|
||||
local cmp = require "cmp"
|
||||
cmp.setup {
|
||||
window = {
|
||||
documentation = {
|
||||
border = "rounded",
|
||||
},
|
||||
completion = {
|
||||
border = "rounded",
|
||||
},
|
||||
},
|
||||
sources = {
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "path" },
|
||||
{ name = "buffer" },
|
||||
},
|
||||
completion = {
|
||||
completeopt = "menu, menuone, noinsert, noselect",
|
||||
},
|
||||
formatting = {
|
||||
fields = { "kind", "abbr", "menu" },
|
||||
expandable_indicator = true,
|
||||
format = lspkind.cmp_format {
|
||||
mode = "symbol",
|
||||
},
|
||||
},
|
||||
|
||||
-- No, but seriously. Please read `:help ins-completion`, it is really good!
|
||||
mapping = cmp.mapping.preset.insert {
|
||||
["<C-n>"] = cmp.mapping.select_next_item(),
|
||||
["<C-p>"] = cmp.mapping.select_prev_item(),
|
||||
|
||||
["<C-b>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||
|
||||
["<C-y>"] = cmp.mapping.confirm { select = true },
|
||||
|
||||
["<C-Space>"] = cmp.mapping.complete {},
|
||||
|
||||
-- Think of <c-l> as moving to the right of your snippet expansion.
|
||||
-- So if you have a snippet that's like:
|
||||
-- function $name($args)
|
||||
-- $body
|
||||
-- end
|
||||
--
|
||||
-- <c-l> will move you to the right of each of the expansion locations.
|
||||
-- <c-h> is similar, except moving you backwards.
|
||||
["<C-l>"] = cmp.mapping(function()
|
||||
if luasnip.expand_or_locally_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<C-h>"] = cmp.mapping(function()
|
||||
if luasnip.locally_jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
},
|
||||
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require("luasnip").lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
cmp.setup.filetype({ "sql" }, {
|
||||
sources = {
|
||||
{ name = "vim-dadbod-completion" },
|
||||
{ name = "buffer" },
|
||||
},
|
||||
})
|
||||
@@ -1,52 +0,0 @@
|
||||
--[[
|
||||
--
|
||||
-- This file is not required for your own configuration,
|
||||
-- but helps people determine if their system is setup correctly.
|
||||
--
|
||||
--]]
|
||||
|
||||
local check_version = function()
|
||||
local verstr = string.format("%s.%s.%s", vim.version().major, vim.version().minor, vim.version().patch)
|
||||
if not vim.version.cmp then
|
||||
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
|
||||
return
|
||||
end
|
||||
|
||||
if vim.version.cmp(vim.version(), { 0, 9, 4 }) >= 0 then
|
||||
vim.health.ok(string.format("Neovim version is: '%s'", verstr))
|
||||
else
|
||||
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
|
||||
end
|
||||
end
|
||||
|
||||
local check_external_reqs = function()
|
||||
-- Basic utils: `git`, `make`, `unzip`
|
||||
for _, exe in ipairs({ "git", "make", "unzip", "rg" }) do
|
||||
local is_executable = vim.fn.executable(exe) == 1
|
||||
if is_executable then
|
||||
vim.health.ok(string.format("Found executable: '%s'", exe))
|
||||
else
|
||||
vim.health.warn(string.format("Could not find executable: '%s'", exe))
|
||||
end
|
||||
end
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
return {
|
||||
check = function()
|
||||
vim.health.start("kickstart.nvim")
|
||||
|
||||
vim.health.info([[NOTE: Not every warning is a 'must-fix' in `:checkhealth`
|
||||
|
||||
Fix only warnings for plugins and languages you intend to use.
|
||||
Mason will give warnings for languages that are not installed.
|
||||
You do not need to install, unless you want to use those languages!]])
|
||||
|
||||
local uv = vim.uv or vim.loop
|
||||
vim.health.info("System Information: " .. vim.inspect(uv.os_uname()))
|
||||
|
||||
check_version()
|
||||
check_external_reqs()
|
||||
end,
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
return {
|
||||
"catppuccin/nvim",
|
||||
name = "catpuccin",
|
||||
priority = 1000,
|
||||
lazy = false,
|
||||
init = function()
|
||||
require("catppuccin").setup {
|
||||
transparent_background = true,
|
||||
}
|
||||
vim.cmd.colorscheme "catppuccin"
|
||||
|
||||
vim.cmd.hi "Comment gui=none"
|
||||
vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
|
||||
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
|
||||
vim.api.nvim_set_hl(0, "NormalNC", { bg = "none" })
|
||||
|
||||
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
|
||||
border = "rounded",
|
||||
})
|
||||
|
||||
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
|
||||
border = "rounded",
|
||||
})
|
||||
|
||||
vim.diagnostic.config {
|
||||
float = { border = "rounded" },
|
||||
}
|
||||
end,
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
return {
|
||||
"hrsh7th/nvim-cmp",
|
||||
event = "InsertEnter",
|
||||
dependencies = {
|
||||
"onsails/lspkind.nvim",
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/cmp-path",
|
||||
"hrsh7th/cmp-buffer",
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
build = "make install_jsregexp",
|
||||
dependencies = {
|
||||
-- https://github.com/rafamadriz/friendly-snippets
|
||||
{
|
||||
"rafamadriz/friendly-snippets",
|
||||
config = function()
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
},
|
||||
config = function()
|
||||
require "lilJ.completions"
|
||||
end,
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
return {
|
||||
"stevearc/conform.nvim",
|
||||
opts = {
|
||||
notify_on_error = false,
|
||||
format_on_save = function(bufnr)
|
||||
local disable_filetypes = {}
|
||||
return {
|
||||
timeout_ms = 500,
|
||||
lsp_fallback = not disable_filetypes[vim.bo[bufnr].filetype],
|
||||
}
|
||||
end,
|
||||
formatters_by_ft = {
|
||||
c = { "clang-format" },
|
||||
css = { "prettier" },
|
||||
go = { "gofumpt", "goimports-reviser" },
|
||||
html = { "prettier" },
|
||||
lua = { "stylua" },
|
||||
typescript = { "prettier" },
|
||||
typescriptreact = { "prettier" },
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,88 +0,0 @@
|
||||
-- debug.lua
|
||||
-- Shows how to use the DAP plugin to debug your code.
|
||||
--
|
||||
-- Primarily focused on configuring the debugger for Go, but can
|
||||
-- be extended to other languages as well. That's why it's called
|
||||
-- kickstart.nvim and not kitchen-sink.nvim ;)
|
||||
|
||||
return {
|
||||
"mfussenegger/nvim-dap",
|
||||
dependencies = {
|
||||
"rcarriga/nvim-dap-ui",
|
||||
"nvim-neotest/nvim-nio",
|
||||
"theHamsta/nvim-dap-virtual-text",
|
||||
"williamboman/mason.nvim",
|
||||
"jay-babu/mason-nvim-dap.nvim",
|
||||
|
||||
-- GO DEBUG
|
||||
"leoluz/nvim-dap-go",
|
||||
},
|
||||
config = function()
|
||||
local dap = require "dap"
|
||||
local ui = require "dapui"
|
||||
|
||||
require("dapui").setup()
|
||||
require("dap-go").setup()
|
||||
|
||||
require("nvim-dap-virtual-text").setup {
|
||||
-- This just tries to mitigate the chance that I leak tokens here. Probably won't stop it from happening...
|
||||
-- But I am not a streamer, so I may not want this, or prolly change it in future, but rn its commented
|
||||
--
|
||||
-- display_callback = function(variable)
|
||||
-- local name = string.lower(variable.name)
|
||||
-- local value = string.lower(variable.value)
|
||||
-- if name:match "secret" or name:match "api" or value:match "secret" or value:match "api" then
|
||||
-- return "*****"
|
||||
-- end
|
||||
--
|
||||
-- if #variable.value > 15 then
|
||||
-- return " " .. string.sub(variable.value, 1, 15) .. "... "
|
||||
-- end
|
||||
--
|
||||
-- return " " .. variable.value
|
||||
-- end,
|
||||
}
|
||||
|
||||
require("mason-nvim-dap").setup {
|
||||
automatic_setup = true,
|
||||
|
||||
automatic_installation = true,
|
||||
|
||||
handlers = {},
|
||||
ensure_installed = {
|
||||
"debugpy",
|
||||
"delve",
|
||||
},
|
||||
}
|
||||
|
||||
-- the very common keybind `<leader>db` overlaps with some other keybind
|
||||
vim.keymap.set("n", "<leader>dt", dap.toggle_breakpoint, { desc = "Debug: Toggle Breakpoint" })
|
||||
|
||||
vim.keymap.set("n", "<Space>?", function()
|
||||
require("dapui").eval(nil, { enter = true })
|
||||
end)
|
||||
|
||||
-- Basic debugging keymaps, feel free to change to your liking!
|
||||
vim.keymap.set("n", "<F5>", dap.continue, { desc = "Start/Continue" })
|
||||
vim.keymap.set("n", "<F4>", dap.step_into, { desc = "Step Into" })
|
||||
vim.keymap.set("n", "<F3>", dap.step_over, { desc = "Step Over" })
|
||||
vim.keymap.set("n", "<F2>", dap.step_out, { desc = "Step Out" })
|
||||
vim.keymap.set("n", "<F1>", dap.step_back, { desc = "Step Back" })
|
||||
vim.keymap.set("n", "<F10>", dap.restart, { desc = "Restart" })
|
||||
|
||||
dap.listeners.before.attach.dapui_config = function()
|
||||
ui.open()
|
||||
end
|
||||
dap.listeners.before.launch.dapui_config = function()
|
||||
ui.open()
|
||||
end
|
||||
dap.listeners.before.event_terminated.dapui_config = function()
|
||||
ui.close()
|
||||
end
|
||||
dap.listeners.before.event_exited.dapui_config = function()
|
||||
ui.close()
|
||||
end
|
||||
|
||||
require("dap-go").setup()
|
||||
end,
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
main = "ibl",
|
||||
opts = {
|
||||
indent = { char = "┊" },
|
||||
whitespace = { highlight = { "Whitespace", "NonText" } },
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"mfussenegger/nvim-lint",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
config = function()
|
||||
local lint = require "lint"
|
||||
|
||||
lint.linters_by_ft = {
|
||||
-- python = { "ruff", "mypy" },
|
||||
dockerfile = { "hadolint" },
|
||||
-- json = { "jsonlint" },
|
||||
-- markdown = { "vale" },
|
||||
}
|
||||
|
||||
-- To allow other plugins to add linters to require('lint').linters_by_ft,
|
||||
-- instead set linters_by_ft like this:
|
||||
-- lint.linters_by_ft = lint.linters_by_ft or {}
|
||||
-- lint.linters_by_ft['markdown'] = { 'markdownlint' }
|
||||
--
|
||||
-- However, note that this will enable a set of default linters,
|
||||
-- which will cause errors unless these tools are available:
|
||||
-- {
|
||||
-- dockerfile = { "hadolint" },
|
||||
-- json = { "jsonlint" },
|
||||
-- markdown = { "vale" },
|
||||
-- text = { "vale" }
|
||||
-- }
|
||||
--
|
||||
-- You can disable the default linters by setting their filetypes to nil:
|
||||
-- lint.linters_by_ft['dockerfile'] = nil
|
||||
-- lint.linters_by_ft['json'] = nil
|
||||
-- lint.linters_by_ft['text'] = nil
|
||||
|
||||
-- Create autocommand which carries out the actual linting
|
||||
-- on the specified events.
|
||||
local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true })
|
||||
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
|
||||
group = lint_augroup,
|
||||
callback = function()
|
||||
require("lint").try_lint()
|
||||
end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
@@ -1,161 +0,0 @@
|
||||
return {
|
||||
"neovim/nvim-lspconfig",
|
||||
|
||||
dependencies = {
|
||||
"williamboman/mason.nvim",
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
"WhoIsSethDaniel/mason-tool-installer.nvim",
|
||||
|
||||
{ "j-hui/fidget.nvim", opts = {} },
|
||||
|
||||
{ "folke/neodev.nvim", opts = {} },
|
||||
|
||||
"b0o/SchemaStore.nvim",
|
||||
},
|
||||
|
||||
config = function()
|
||||
local capabilities = nil
|
||||
if pcall(require, "cmp_nvim_lsp") then
|
||||
capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||
end
|
||||
|
||||
-- Enable the following language servers
|
||||
local servers = {
|
||||
clangd = {},
|
||||
gopls = {
|
||||
filetypes = { "go", "gomod", "gowork", "gotmpl" },
|
||||
},
|
||||
html = {
|
||||
filetypes = { "html", "tmpl" },
|
||||
},
|
||||
jsonls = {
|
||||
settings = {
|
||||
json = {
|
||||
schemas = require("schemastore").json.schemas(),
|
||||
validate = { enable = true },
|
||||
},
|
||||
},
|
||||
},
|
||||
lua_ls = {
|
||||
-- cmd = {...},
|
||||
-- filetypes = { ...},
|
||||
-- capabilities = {},
|
||||
settings = {
|
||||
Lua = {
|
||||
completion = {
|
||||
callSnippet = "Replace",
|
||||
},
|
||||
-- You can toggle below to ignore Lua_LS's noisy `missing-fields` warnings
|
||||
-- diagnostics = { disable = { 'missing-fields' } },
|
||||
},
|
||||
},
|
||||
},
|
||||
pyright = {},
|
||||
ts_ls = {},
|
||||
|
||||
tailwindcss = {
|
||||
filetypes = { "html", "css", "typescript", "typescriptreact" },
|
||||
},
|
||||
}
|
||||
|
||||
require("mason").setup()
|
||||
|
||||
local ensure_installed = vim.tbl_keys(servers or {})
|
||||
vim.list_extend(ensure_installed, {
|
||||
"clang-format",
|
||||
"gofumpt",
|
||||
"goimports-reviser",
|
||||
"hadolint",
|
||||
-- "jsonlint",
|
||||
-- "mypy",
|
||||
"prettier",
|
||||
-- "ruff",
|
||||
"stylua",
|
||||
-- "vale",
|
||||
})
|
||||
require("mason-tool-installer").setup { ensure_installed = ensure_installed }
|
||||
|
||||
require("mason-lspconfig").setup {
|
||||
handlers = {
|
||||
function(server_name)
|
||||
local server = servers[server_name] or {}
|
||||
server.capabilities = vim.tbl_deep_extend("force", {}, capabilities, server.capabilities or {})
|
||||
require("lspconfig")[server_name].setup(server)
|
||||
end,
|
||||
},
|
||||
ensure_installed = {},
|
||||
automatic_installation = true,
|
||||
}
|
||||
|
||||
local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " }
|
||||
for type, icon in pairs(signs) do
|
||||
local hl = "DiagnosticSign" .. type
|
||||
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
|
||||
end
|
||||
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
group = vim.api.nvim_create_augroup("kickstart-lsp-attach", { clear = true }),
|
||||
callback = function(event)
|
||||
local map = function(keys, func, desc)
|
||||
vim.keymap.set("n", keys, func, { buffer = event.buf, desc = "LSP: " .. desc })
|
||||
end
|
||||
|
||||
-- Jump to the definition of the word under your cursor.
|
||||
-- This is where a variable was first declared, or where a function is defined, etc.
|
||||
-- To jump back, press <C-t>.
|
||||
map("gd", require("telescope.builtin").lsp_definitions, "[G]oto [D]efinition")
|
||||
|
||||
-- Find references for the word under your cursor.
|
||||
map("gr", require("telescope.builtin").lsp_references, "[G]oto [R]eferences")
|
||||
|
||||
-- Jump to the implementation of the word under your cursor.
|
||||
-- Useful when your language has ways of declaring types without an actual implementation.
|
||||
map("gI", require("telescope.builtin").lsp_implementations, "[G]oto [I]mplementation")
|
||||
|
||||
-- Jump to the type of the word under your cursor.
|
||||
-- Useful when you're not sure what type a variable is and you want to see
|
||||
-- the definition of its *type*, not where it was *defined*.
|
||||
map("<leader>D", require("telescope.builtin").lsp_type_definitions, "Type [D]efinition")
|
||||
|
||||
-- Fuzzy find all the symbols in your current document.
|
||||
-- Symbols are things like variables, functions, types, etc.
|
||||
map("<leader>ds", require("telescope.builtin").lsp_document_symbols, "[D]ocument [S]ymbols")
|
||||
|
||||
-- Fuzzy find all the symbols in your current workspace.
|
||||
-- Similar to document symbols, except searches over your entire project.
|
||||
map("<leader>ws", require("telescope.builtin").lsp_dynamic_workspace_symbols, "[W]orkspace [S]ymbols")
|
||||
|
||||
-- Rename the variable under your cursor.
|
||||
-- Most Language Servers support renaming across files, etc.
|
||||
map("<leader>rn", vim.lsp.buf.rename, "[R]e[n]ame")
|
||||
|
||||
-- Execute a code action, usually your cursor needs to be on top of an error
|
||||
-- or a suggestion from your LSP for this to activate.
|
||||
map("<leader>ca", vim.lsp.buf.code_action, "[C]ode [A]ction")
|
||||
|
||||
-- Opens a popup that displays documentation about the word under your cursor
|
||||
-- See `:help K` for why this keymap.
|
||||
map("K", vim.lsp.buf.hover, "Hover Documentation")
|
||||
|
||||
-- WARN: This is not Goto Definition, this is Goto Declaration.
|
||||
-- For example, in C this would take you to the header.
|
||||
map("gD", vim.lsp.buf.declaration, "[G]oto [D]eclaration")
|
||||
|
||||
-- The following two autocommands are used to highlight references of the
|
||||
-- word under your cursor when your cursor rests there for a little while.
|
||||
local client = vim.lsp.get_client_by_id(event.data.client_id)
|
||||
if client and client.server_capabilities.documentHighlightProvider then
|
||||
vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, {
|
||||
buffer = event.buf,
|
||||
callback = vim.lsp.buf.document_highlight,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, {
|
||||
buffer = event.buf,
|
||||
callback = vim.lsp.buf.clear_references,
|
||||
})
|
||||
end
|
||||
end,
|
||||
})
|
||||
end,
|
||||
}
|
||||
28
readme.md
28
readme.md
@@ -1 +1,27 @@
|
||||
# lilJ Nix configs
|
||||
<h2 align="center">
|
||||
<b style="font-size:24px;line-height:24px;vertical-align:middle;">
|
||||
<i>lilJs dotfiles</i>
|
||||
</b>
|
||||
</h2>
|
||||
|
||||

|
||||
|
||||
### 🚀 Installation
|
||||
|
||||
1. Clone this repository.
|
||||
|
||||
```sh
|
||||
git clone https://github.com/kulvirdotgg/dotFiles.git
|
||||
```
|
||||
|
||||
2. Run `install.sh` script.
|
||||
|
||||
```sh
|
||||
cd dotFiles
|
||||
./install.sh
|
||||
```
|
||||
|
||||
3. Install `tmux tpm` from their [repo](https://github.com/tmux-plugins/tpm)
|
||||
```sh
|
||||
git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user