Compare commits
20 Commits
btw
...
darwin-suc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f1d7435c67 | ||
|
|
77402fa734 | ||
|
|
35a6b009a3 | ||
|
|
bbb4130aae | ||
|
|
678d731ce0 | ||
|
|
996217b767 | ||
|
|
6e78dd71bf | ||
|
|
a1cb7e284c | ||
|
|
249ca358f9 | ||
|
|
03ed96f25d | ||
|
|
37ca2b3724 | ||
|
|
424dadd45f | ||
|
|
d54160c4db | ||
|
|
f3417e1987 | ||
|
|
9c6c668591 | ||
|
|
5158a4c5a4 | ||
|
|
607e480170 | ||
|
|
e0adf7ec6a | ||
|
|
c5cb34ac1c | ||
|
|
149fd7ac90 |
18
.bashrc
18
.bashrc
@@ -1,18 +0,0 @@
|
|||||||
# ----------------------
|
|
||||||
# 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)"
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
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"
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
# 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"
|
|
||||||
|
|
||||||
@@ -1,221 +0,0 @@
|
|||||||
#? 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"
|
|
||||||
@@ -1,93 +0,0 @@
|
|||||||
{
|
|
||||||
"$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"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
[credential]
|
|
||||||
helper = cache
|
|
||||||
[user]
|
|
||||||
name = Kulvir Singh
|
|
||||||
email = kulvirs734@gmail.com
|
|
||||||
[init]
|
|
||||||
defaultBranch = trunk
|
|
||||||
[lfs]
|
|
||||||
enable = true
|
|
||||||
[push]
|
|
||||||
autoSetupRemote = true
|
|
||||||
@@ -1,203 +0,0 @@
|
|||||||
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+$
|
|
||||||
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
preload = ~/wall/lofiwallpaper.png
|
|
||||||
wallpaper = , ~/wall/lofiwallpaper.png
|
|
||||||
|
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
$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
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
# 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
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"diagnostics.globals": [
|
|
||||||
"vim"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
{
|
|
||||||
"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" }
|
|
||||||
}
|
|
||||||
@@ -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,51 +0,0 @@
|
|||||||
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" },
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
return {
|
|
||||||
"catppuccin/nvim",
|
|
||||||
name = "catpuccin",
|
|
||||||
priority = 1000,
|
|
||||||
lazy = false,
|
|
||||||
init = function()
|
|
||||||
require("catppuccin").setup {
|
|
||||||
transparent_background = true,
|
|
||||||
}
|
|
||||||
vim.cmd.colorscheme "catppuccin"
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
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" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
return {
|
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
|
||||||
main = "ibl",
|
|
||||||
event = "BufReadPre",
|
|
||||||
opts = {
|
|
||||||
indent = { char = "┊" },
|
|
||||||
whitespace = { highlight = { "Whitespace", "NonText" } },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
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" } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
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,
|
|
||||||
}
|
|
||||||
@@ -1,223 +0,0 @@
|
|||||||
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,
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
return {
|
|
||||||
"davidmh/mdx.nvim",
|
|
||||||
config = true,
|
|
||||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
|
||||||
}
|
|
||||||
@@ -1,99 +0,0 @@
|
|||||||
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;
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
* {
|
|
||||||
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";
|
|
||||||
}
|
|
||||||
@@ -1,81 +0,0 @@
|
|||||||
"$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}'
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
#!/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'
|
|
||||||
@@ -1,120 +0,0 @@
|
|||||||
{
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
@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;
|
|
||||||
@@ -1,116 +0,0 @@
|
|||||||
@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
16
.gitignore
vendored
@@ -1,16 +0,0 @@
|
|||||||
*.DS_Store**
|
|
||||||
|
|
||||||
# tmux plugin files etc
|
|
||||||
tmux/**
|
|
||||||
**!tmux/tmux.conf
|
|
||||||
|
|
||||||
# btop files
|
|
||||||
*btop/**
|
|
||||||
!btop/btop.conf
|
|
||||||
|
|
||||||
procps
|
|
||||||
pulse
|
|
||||||
systemd
|
|
||||||
yay
|
|
||||||
lazygit
|
|
||||||
dconf
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
# 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
21
.zshrc
@@ -1,21 +0,0 @@
|
|||||||
# ---- 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
Normal file
86
flake.lock
generated
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
{
|
||||||
|
"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
Normal file
47
flake.nix
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
{
|
||||||
|
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);
|
||||||
|
};
|
||||||
|
}
|
||||||
85
hosts/mba/configuration.nix
Normal file
85
hosts/mba/configuration.nix
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
{
|
||||||
|
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";
|
||||||
|
}
|
||||||
32
hosts/mba/default.nix
Normal file
32
hosts/mba/default.nix
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
}
|
||||||
42
hosts/mba/home.nix
Normal file
42
hosts/mba/home.nix
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
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;
|
||||||
|
}
|
||||||
61
hosts/mba/mac-apps.nix
Normal file
61
hosts/mba/mac-apps.nix
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
16
hosts/mba/nix.nix
Normal file
16
hosts/mba/nix.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# 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}";
|
||||||
|
}
|
||||||
11
hosts/mba/users.nix
Normal file
11
hosts/mba/users.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# 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
21
install.sh
@@ -1,21 +0,0 @@
|
|||||||
#!/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"
|
|
||||||
115
modules/alacritty.nix
Normal file
115
modules/alacritty.nix
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
{...}: {
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
99
modules/fastfetch.nix
Normal file
99
modules/fastfetch.nix
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
{...}: {
|
||||||
|
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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
27
modules/git.nix
Normal file
27
modules/git.nix
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
56
modules/kitty.nix
Normal file
56
modules/kitty.nix
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
{...}: {
|
||||||
|
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
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
16
modules/nvim.nix
Normal file
16
modules/nvim.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
home.file = {
|
||||||
|
".config/nvim" = {
|
||||||
|
recursive = true;
|
||||||
|
source = "${pkgs.lilj-nvim-config}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
neovim = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
vimAlias = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
50
modules/shell.nix
Normal file
50
modules/shell.nix
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
{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
|
||||||
|
];
|
||||||
|
}
|
||||||
98
modules/starship.nix
Normal file
98
modules/starship.nix
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
{...}: {
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
37
modules/tmux.nix
Normal file
37
modules/tmux.nix
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
{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
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
81
modules/zed.nix
Normal file
81
modules/zed.nix
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
{...}: {
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
18
overlays/default.nix
Normal file
18
overlays/default.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
3
pkgs/default.nix
Normal file
3
pkgs/default.nix
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
lilj-nvim-config = pkgs.callPackage ./nvim-conf {};
|
||||||
|
}
|
||||||
22
pkgs/nvim-conf/default.nix
Normal file
22
pkgs/nvim-conf/default.nix
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
}
|
||||||
44
pkgs/nvim-conf/nvim/lazy-lock.json
Normal file
44
pkgs/nvim-conf/nvim/lazy-lock.json
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
"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" }
|
||||||
|
}
|
||||||
82
pkgs/nvim-conf/nvim/lua/lilJ/completions.lua
Normal file
82
pkgs/nvim-conf/nvim/lua/lilJ/completions.lua
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
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" },
|
||||||
|
},
|
||||||
|
})
|
||||||
52
pkgs/nvim-conf/nvim/lua/lilJ/health.lua
Normal file
52
pkgs/nvim-conf/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,
|
||||||
|
}
|
||||||
29
pkgs/nvim-conf/nvim/lua/lilJ/plugins/catppuccin.lua
Normal file
29
pkgs/nvim-conf/nvim/lua/lilJ/plugins/catppuccin.lua
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
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,
|
||||||
|
}
|
||||||
27
pkgs/nvim-conf/nvim/lua/lilJ/plugins/completions.lua
Normal file
27
pkgs/nvim-conf/nvim/lua/lilJ/plugins/completions.lua
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
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,
|
||||||
|
}
|
||||||
22
pkgs/nvim-conf/nvim/lua/lilJ/plugins/conform.lua
Normal file
22
pkgs/nvim-conf/nvim/lua/lilJ/plugins/conform.lua
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
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" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
88
pkgs/nvim-conf/nvim/lua/lilJ/plugins/debug.lua
Normal file
88
pkgs/nvim-conf/nvim/lua/lilJ/plugins/debug.lua
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
-- 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,
|
||||||
|
}
|
||||||
10
pkgs/nvim-conf/nvim/lua/lilJ/plugins/indent_line.lua
Normal file
10
pkgs/nvim-conf/nvim/lua/lilJ/plugins/indent_line.lua
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"lukas-reineke/indent-blankline.nvim",
|
||||||
|
main = "ibl",
|
||||||
|
opts = {
|
||||||
|
indent = { char = "┊" },
|
||||||
|
whitespace = { highlight = { "Whitespace", "NonText" } },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
45
pkgs/nvim-conf/nvim/lua/lilJ/plugins/lint.lua
Normal file
45
pkgs/nvim-conf/nvim/lua/lilJ/plugins/lint.lua
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
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,
|
||||||
|
},
|
||||||
|
}
|
||||||
161
pkgs/nvim-conf/nvim/lua/lilJ/plugins/lsp.lua
Normal file
161
pkgs/nvim-conf/nvim/lua/lilJ/plugins/lsp.lua
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
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,
|
||||||
|
}
|
||||||
@@ -1,44 +1,41 @@
|
|||||||
return {
|
return {
|
||||||
"echasnovski/mini.nvim",
|
"echasnovski/mini.nvim",
|
||||||
|
|
||||||
config = function()
|
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"
|
local statusline = require "mini.statusline"
|
||||||
statusline.setup { use_icons = vim.g.have_nerd_font }
|
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
|
---@diagnostic disable-next-line: duplicate-set-field
|
||||||
statusline.active = function()
|
statusline.active = function()
|
||||||
local mode, mode_hl = statusline.section_mode { trunc_width = 120 }
|
local mode, mode_hl = statusline.section_mode { trunc_width = 120 }
|
||||||
local diff = statusline.section_diff { trunc_width = 75 }
|
local git = statusline.section_git
|
||||||
local git = statusline.section_git()
|
local diagnostics = statusline.section_diagnostics
|
||||||
local diagnostics = statusline.section_diagnostics()
|
local filename = statusline.section_filename { trunc_width = 140 }
|
||||||
local fileinfo = MiniStatusline.section_fileinfo { trunc_width = 120 }
|
-- local fileinfo = statusline.section_fileinfo()
|
||||||
local location = statusline.section_location()
|
local location = statusline.section_location()
|
||||||
local lsp = get_lsp_clients()
|
|
||||||
|
|
||||||
return statusline.combine_groups {
|
return statusline.combine_groups {
|
||||||
{ hl = mode_hl, strings = { mode } },
|
{ hl = mode_hl, strings = { mode } },
|
||||||
{ hl = "MiniStatuslineDevinfo", strings = { git, diff } },
|
|
||||||
"%<",
|
|
||||||
{ hl = "MiniStatuslineFilename", strings = { fileinfo } },
|
|
||||||
"%=",
|
|
||||||
{ hl = "MiniStatuslineFilename", strings = { lsp } },
|
|
||||||
{ hl = "MiniStatuslineDevinfo", strings = { diagnostics } },
|
{ hl = "MiniStatuslineDevinfo", strings = { diagnostics } },
|
||||||
|
"%<",
|
||||||
|
{ hl = "MiniStatuslineFilename", strings = { filename } },
|
||||||
|
"%=",
|
||||||
|
-- { hl = "MiniStatuslineFileinfo", strings = { fileinfo } },
|
||||||
|
{ hl = "MiniStatuslineDevinfo", strings = { git } },
|
||||||
{ hl = mode_hl, strings = { location } },
|
{ hl = mode_hl, strings = { location } },
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
@@ -54,16 +51,16 @@ return {
|
|||||||
|
|
||||||
local diagnostics = {}
|
local diagnostics = {}
|
||||||
if buffer_diagnostics.errors > 0 then
|
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
|
end
|
||||||
if buffer_diagnostics.warnings > 0 then
|
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
|
end
|
||||||
if buffer_diagnostics.info > 0 then
|
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
|
end
|
||||||
if buffer_diagnostics.hints > 0 then
|
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
|
end
|
||||||
return table.concat(diagnostics, " ")
|
return table.concat(diagnostics, " ")
|
||||||
end
|
end
|
||||||
@@ -1,7 +1,11 @@
|
|||||||
return {
|
return {
|
||||||
"alexghergh/nvim-tmux-navigation",
|
"alexghergh/nvim-tmux-navigation",
|
||||||
|
|
||||||
|
lazy = false,
|
||||||
|
|
||||||
config = function()
|
config = function()
|
||||||
local nvim_tmux_nav = require "nvim-tmux-navigation"
|
local nvim_tmux_nav = require "nvim-tmux-navigation"
|
||||||
|
|
||||||
nvim_tmux_nav.setup {
|
nvim_tmux_nav.setup {
|
||||||
disable_when_zoomed = true,
|
disable_when_zoomed = true,
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
return {
|
return {
|
||||||
"folke/todo-comments.nvim",
|
"folke/todo-comments.nvim",
|
||||||
event = "BufRead",
|
event = "VimEnter",
|
||||||
dependencies = { "nvim-lua/plenary.nvim" },
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
opts = { signs = false },
|
opts = { signs = false },
|
||||||
}
|
}
|
||||||
@@ -5,7 +5,7 @@ return {
|
|||||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
"nvim-treesitter/nvim-treesitter-textobjects",
|
||||||
},
|
},
|
||||||
opts = {
|
opts = {
|
||||||
ensure_installed = { "go", "lua", "typescript" },
|
ensure_installed = { "go", "lua" },
|
||||||
auto_install = true,
|
auto_install = true,
|
||||||
highlight = {
|
highlight = {
|
||||||
enable = true,
|
enable = true,
|
||||||
@@ -38,6 +38,7 @@ 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>sk", builtin.keymaps, { desc = "[S]earch [K]eymaps" })
|
||||||
vim.keymap.set("n", "<leader>ss", builtin.builtin, { desc = "[S]earch [S]elect Telescope" })
|
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>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" })
|
vim.keymap.set("n", "<leader>sg", builtin.live_grep, { desc = "[S]earch by [G]rep" })
|
||||||
|
|
||||||
@@ -49,7 +50,7 @@ vim.keymap.set("n", "<leader><leader>", builtin.buffers, { desc = "[ ] Find exis
|
|||||||
-- Slightly advanced example of overriding default behavior and theme
|
-- Slightly advanced example of overriding default behavior and theme
|
||||||
vim.keymap.set("n", "<leader>/", function()
|
vim.keymap.set("n", "<leader>/", function()
|
||||||
builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown {
|
builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown {
|
||||||
winblend = 10,
|
winblend = 50,
|
||||||
previewer = false,
|
previewer = false,
|
||||||
})
|
})
|
||||||
end, { desc = "[/] Fuzzily search in current buffer" })
|
end, { desc = "[/] Fuzzily search in current buffer" })
|
||||||
@@ -34,14 +34,8 @@ vim.opt.hlsearch = true
|
|||||||
set("n", "<Esc>", "<cmd>nohlsearch<CR>")
|
set("n", "<Esc>", "<cmd>nohlsearch<CR>")
|
||||||
|
|
||||||
-- Diagnostic keymaps
|
-- Diagnostic keymaps
|
||||||
set("n", "[d", function()
|
set("n", "[d", vim.diagnostic.goto_prev, { desc = "Go to previous [D]iagnostic message" })
|
||||||
vim.diagnostic.jump { count = -1, float = true }
|
set("n", "]d", vim.diagnostic.goto_next, { desc = "Go to next [D]iagnostic message" })
|
||||||
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>q", vim.diagnostic.setloclist, { desc = "Open diagnostic [Q]uickfix list" })
|
||||||
set("n", "<leader>e", vim.diagnostic.open_float, { desc = "Show diagnostic [E]rror messages" })
|
set("n", "<leader>e", vim.diagnostic.open_float, { desc = "Show diagnostic [E]rror messages" })
|
||||||
|
|
||||||
@@ -56,6 +50,6 @@ vim.api.nvim_create_autocmd("TextYankPost", {
|
|||||||
desc = "Highlight when yanking (copying) text",
|
desc = "Highlight when yanking (copying) text",
|
||||||
group = vim.api.nvim_create_augroup("highlight-yank", { clear = true }),
|
group = vim.api.nvim_create_augroup("highlight-yank", { clear = true }),
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.hl.on_yank()
|
vim.highlight.on_yank()
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
local opt = vim.opt
|
local opt = vim.opt
|
||||||
|
|
||||||
|
-- Use 4 space tabs
|
||||||
opt.tabstop = 4
|
opt.tabstop = 4
|
||||||
opt.softtabstop = 4
|
opt.softtabstop = 4
|
||||||
opt.shiftwidth = 4
|
opt.shiftwidth = 4
|
||||||
@@ -44,4 +45,3 @@ vim.o.linebreak = true
|
|||||||
vim.o.wrap = true
|
vim.o.wrap = true
|
||||||
vim.o.breakindent = true
|
vim.o.breakindent = true
|
||||||
vim.o.showbreak = "↳ "
|
vim.o.showbreak = "↳ "
|
||||||
-- vim.o.winborder = "rounded"
|
|
||||||
28
readme.md
28
readme.md
@@ -1,27 +1 @@
|
|||||||
<h2 align="center">
|
# lilJ Nix configs
|
||||||
<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