use pywal to color alacritty and vim

This commit is contained in:
2024-05-15 22:27:50 +02:00
parent ebe7002e78
commit bfda0a9e27
41 changed files with 1532 additions and 658 deletions

View File

@@ -1,8 +1,10 @@
import = ["~/.cache/wal/colors-alacritty.toml"]
[env] [env]
TERM = "alacritty" TERM = "alacritty"
[font] [font]
size = 11.0 size = 10
[font.glyph_offset] [font.glyph_offset]
x = 0 x = 0

View File

@@ -54,8 +54,8 @@ new_window pixel 1
# hide_edge_borders both # hide_edge_borders both
# Set inner/outer gaps # Set inner/outer gaps
gaps inner 2 gaps inner 16
gaps outer 4 gaps outer 0
# smart gaps # smart gaps
smart_gaps on smart_gaps on
@@ -265,6 +265,7 @@ bindsym $mod+a focus child
# open new empty workspace # open new empty workspace
bindsym $mod+Shift+n exec --no-startup-id ~/.config/i3/scripts/empty_workspace bindsym $mod+Shift+n exec --no-startup-id ~/.config/i3/scripts/empty_workspace
bindsym $mod+Shift+w exec --no-startup-id wal -i /usr/share/endeavouros/backgrounds/eos_wallpapers_community/
# Multimedia Keys # Multimedia Keys
# volume # volume
@@ -406,7 +407,8 @@ exec --no-startup-id ~/.screenlayout/monitor.sh
# set wallpaper # set wallpaper
# exec --no-startup-id sleep 2 && nitrogen --restore # exec --no-startup-id sleep 2 && nitrogen --restore
exec --no-startup-id sleep 1 && feh --bg-fill /usr/share/endeavouros/backgrounds/eos_wallpapers_community/SaturnV-2.png #exec --no-startup-id sleep 1 && feh --bg-fill /usr/share/endeavouros/backgrounds/eos_wallpapers_community/krimkerre_2_poly.jpg
exec --no-startup-id wal -R
# set powersavings for display: # set powersavings for display:
exec --no-startup-id xset s 480 dpms 600 600 600 exec --no-startup-id xset s 480 dpms 600 600 600
@@ -502,6 +504,8 @@ set $darkgrey #383c4a
set $grey #b0b5bd set $grey #b0b5bd
set $mediumgrey #8b8b8b set $mediumgrey #8b8b8b
set $yellowbrown #e1b700 set $yellowbrown #e1b700
#set_from_resource $bg i3wm.color1 #f0f0f0
#set_from_resource $fg i3wm.color7 #f0f0f0
# define colors for windows: # define colors for windows:
#class border bground text indicator child_border #class border bground text indicator child_border
@@ -533,9 +537,9 @@ strip_workspace_numbers yes
##strip_workspace_name no ##strip_workspace_name no
colors { colors {
separator $purple separator $fg
background $darkgrey background $darkgrey
statusline $white statusline $fg
# border bg txt indicator # border bg txt indicator
focused_workspace $mediumgrey $grey $darkgrey $purple focused_workspace $mediumgrey $grey $darkgrey $purple
active_workspace $lightblue $mediumgrey $darkgrey $purple active_workspace $lightblue $mediumgrey $darkgrey $purple
@@ -602,7 +606,7 @@ bindsym $mod+t exec --no-startup-id rofi -show window \
# -config ~/.config/rofi/rofidmenu.rasi # -config ~/.config/rofi/rofidmenu.rasi
# ranger # ranger
bindsym $mod+r exec --no-startup-id alacritty -e ranger bindsym $mod+r exec --no-startup-id $HOME/.config/ranger/ranger-launcher.sh
# brave # brave
bindsym $mod+b exec --no-startup-id brave bindsym $mod+b exec --no-startup-id brave

View File

@@ -1,551 +0,0 @@
# i3 config file (v4)
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
# Set mod key (Mod1=<Alt>, Mod4=<Super>)
set $mod Mod4
# set default desktop layout (default is tiling)
# workspace_layout tabbed <stacking|tabbed>
# Configure border style <normal|1pixel|pixel xx|none|pixel>
default_border pixel 1
default_floating_border normal
# Hide borders
hide_edge_borders none
# change borders
#bindsym $mod+u border none
#bindsym $mod+y border pixel 1
#bindsym $mod+n border normal
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font xft:URWGothic-Book 11
# Use Mouse+$mod to drag floating windows
floating_modifier $mod
################################################################################################
## sound-section - DO NOT EDIT if you wish to automatically upgrade Alsa -> Pulseaudio later! ##
################################################################################################
exec --no-startup-id volumeicon
bindsym $mod+Ctrl+m exec terminal -e 'alsamixer'
#exec --no-startup-id pulseaudio
#exec --no-startup-id pa-applet
#bindsym $mod+Ctrl+m exec pavucontrol
################################################################################################
# Screen brightness controls
# bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'"
# bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'"
# Start Applications
bindsym Print exec --no-startup-id i3-scrot
bindsym $mod+Print --release exec --no-startup-id i3-scrot -w
bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s
focus_follows_mouse no
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# workspace back and forth (with/without active container)
workspace_auto_back_and_forth yes
#bindsym $mod+b workspace back_and_forth
#bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
# split orientation
bindsym $mod+Ctrl+h split h;exec notify-send 'tile horizontally'
bindsym $mod+Ctrl+v split v;exec notify-send 'tile vertically'
#bindsym $mod+q split toggle
# toggle fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# toggle sticky
bindsym $mod+Shift+s sticky toggle
# focus the parent container
bindsym $mod+q focus parent
# focus the child container
bindsym $mod+a focus child
# move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
#navigate workspaces next / previous
bindsym $mod+Ctrl+Right workspace next
bindsym $mod+Ctrl+Left workspace prev
# Workspace names
# to display names or symbols instead of plain workspace numbers you can use
# something like: set $ws1 1:mail
# set $ws2 2:
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws0 "10"
# switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws0
# Move focused container to workspace
bindsym $mod+Ctrl+1 move container to workspace $ws1
bindsym $mod+Ctrl+2 move container to workspace $ws2
bindsym $mod+Ctrl+3 move container to workspace $ws3
bindsym $mod+Ctrl+4 move container to workspace $ws4
bindsym $mod+Ctrl+5 move container to workspace $ws5
bindsym $mod+Ctrl+6 move container to workspace $ws6
bindsym $mod+Ctrl+7 move container to workspace $ws7
bindsym $mod+Ctrl+8 move container to workspace $ws8
bindsym $mod+Ctrl+9 move container to workspace $ws9
bindsym $mod+Ctrl+0 move container to workspace $ws0
# Move to workspace with focused container
bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws0; workspace $ws0
# Open applications on specific workspaces
# assign [class="Thunderbird"] $ws1
# assign [class="Pale moon"] $ws2
# assign [class="Pcmanfm"] $ws3
# assign [class="Skype"] $ws5
# Open specific applications in floating mode
for_window [title="alsamixer"] floating enable border pixel 1
for_window [class="calamares"] floating enable border normal
for_window [class="Clipgrab"] floating enable
for_window [title="File Transfer*"] floating enable
for_window [class="fpakman"] floating enable
for_window [class="Galculator"] floating enable border pixel 1
for_window [class="GParted"] floating enable border normal
for_window [title="i3_help"] floating enable sticky enable border normal
for_window [class="Lightdm-settings"] floating enable
for_window [class="Lxappearance"] floating enable sticky enable border normal
for_window [class="Manjaro-hello"] floating enable
for_window [class="Manjaro Settings Manager"] floating enable border normal
for_window [title="MuseScore: Play Panel"] floating enable
for_window [class="Nitrogen"] floating enable sticky enable border normal
for_window [class="Oblogout"] fullscreen enable
for_window [class="octopi"] floating enable
for_window [title="About Pale Moon"] floating enable
for_window [class="Pamac-manager"] floating enable
for_window [class="Pavucontrol"] floating enable
for_window [class="qt5ct"] floating enable sticky enable border normal
for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal
for_window [class="Simple-scan"] floating enable border normal
for_window [class="(?i)System-config-printer.py"] floating enable border normal
for_window [class="Skype"] floating enable border normal
for_window [class="Timeset-gui"] floating enable border normal
for_window [class="(?i)virtualbox"] floating enable border normal
for_window [class="Xfburn"] floating enable
# switch to workspace with urgent window automatically
for_window [urgent=latest] focus
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
# Set shut down, restart and locking features
bindsym $mod+F12 mode "$mode_system"
set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown
mode "$mode_system" {
bindsym l exec --no-startup-id i3exit lock, mode "default"
bindsym s exec --no-startup-id i3exit suspend, mode "default"
bindsym u exec --no-startup-id i3exit switch_user, mode "default"
bindsym e exec --no-startup-id i3exit logout, mode "default"
bindsym h exec --no-startup-id i3exit hibernate, mode "default"
bindsym r exec --no-startup-id i3exit reboot, mode "default"
bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"
# exit system mode: "Enter" or "Escape"
bindsym Return mode "default"
bindsym Escape mode "default"
}
# Resize window (you can also use the mouse for that)
#bindsym $mod+r mode "resize"
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym j resize shrink width 5 px or 5 ppt
bindsym k resize grow height 5 px or 5 ppt
bindsym l resize shrink height 5 px or 5 ppt
bindsym semicolon resize grow width 5 px or 5 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# exit resize mode: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
# Lock screen
bindsym $mod+Escape exec --no-startup-id blurlock
# Autostart applications
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec --no-startup-id nitrogen --restore; sleep 1; picom -b
exec --no-startup-id manjaro-hello
exec --no-startup-id nm-applet
exec --no-startup-id xfce4-power-manager
exec --no-startup-id pamac-tray
exec --no-startup-id clipit
# exec --no-startup-id blueman-applet
# exec_always --no-startup-id sbxkb
exec --no-startup-id start_conky_maia
# exec --no-startup-id start_conky_green
exec --no-startup-id xautolock -time 20 -locker blurlock
exec_always --no-startup-id ff-theme-util
exec_always --no-startup-id fix_xcursor
# Color palette used for the terminal ( ~/.Xresources file )
# Colors are gathered based on the documentation:
# https://i3wm.org/docs/userguide.html#xresources
# Change the variable name at the place you want to match the color
# of your terminal like this:
# [example]
# If you want your bar to have the same background color as your
# terminal background change the line 362 from:
# background #14191D
# to:
# background $term_background
# Same logic applied to everything else.
set_from_resource $term_background background
set_from_resource $term_foreground foreground
set_from_resource $term_color0 color0
set_from_resource $term_color1 color1
set_from_resource $term_color2 color2
set_from_resource $term_color3 color3
set_from_resource $term_color4 color4
set_from_resource $term_color5 color5
set_from_resource $term_color6 color6
set_from_resource $term_color7 color7
set_from_resource $term_color8 color8
set_from_resource $term_color9 color9
set_from_resource $term_color10 color10
set_from_resource $term_color11 color11
set_from_resource $term_color12 color12
set_from_resource $term_color13 color13
set_from_resource $term_color14 color14
set_from_resource $term_color15 color15
# Start i3bar to display a workspace bar (plus the system information i3status if available)
bar {
i3bar_command i3bar
status_command i3status
position bottom
## please set your primary output first. Example: 'xrandr --output eDP1 --primary'
# tray_output primary
# tray_output eDP1
bindsym button4 nop
bindsym button5 nop
# font xft:URWGothic-Book 11
strip_workspace_numbers yes
colors {
background #222D31
statusline #F9FAF9
separator #454947
# border backgr. text
focused_workspace #F9FAF9 #16a085 #292F34
active_workspace #595B5B #353836 #FDF6E3
inactive_workspace #595B5B #222D31 #EEE8D5
binding_mode #16a085 #2C2C2C #F9FAF9
urgent_workspace #16a085 #FDF6E3 #E5201D
}
}
# hide/unhide i3status bar
bindsym $mod+m bar mode toggle
# Theme colors
# class border backgr. text indic. child_border
client.focused #556064 #556064 #80FFF9 #FDF6E3
client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948
client.unfocused #2F3D44 #2F3D44 #1ABC9C #454948
client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2
client.placeholder #000000 #0c0c0c #ffffff #000000
client.background #2B2C2B
#############################
### settings for i3-gaps: ###
#############################
# Set inner/outer gaps
gaps inner 2
gaps outer 4
# Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
# gaps inner|outer current|all set|plus|minus <px>
# gaps inner all set 10
# gaps outer all plus 5
# Smart gaps (gaps used if only more than one container on the workspace)
smart_gaps on
# Smart borders (draw borders around container only if it is not the only container on this workspace)
# on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0)
smart_borders on
# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces.
set $mode_gaps Gaps: (o) outer, (i) inner
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
bindsym $mod+Shift+g mode "$mode_gaps"
mode "$mode_gaps" {
bindsym o mode "$mode_gaps_outer"
bindsym i mode "$mode_gaps_inner"
bindsym Return mode "default"
bindsym Escape mode "default"
}
mode "$mode_gaps_inner" {
bindsym plus gaps inner current plus 5
bindsym minus gaps inner current minus 5
bindsym 0 gaps inner current set 0
bindsym Shift+plus gaps inner all plus 5
bindsym Shift+minus gaps inner all minus 5
bindsym Shift+0 gaps inner all set 0
bindsym Return mode "default"
bindsym Escape mode "default"
}
mode "$mode_gaps_outer" {
bindsym plus gaps outer current plus 5
bindsym minus gaps outer current minus 5
bindsym 0 gaps outer current set 0
bindsym Shift+plus gaps outer all plus 5
bindsym Shift+minus gaps outer all minus 5
bindsym Shift+0 gaps outer all set 0
bindsym Return mode "default"
bindsym Escape mode "default"
}
# F1
# F2
bindsym $mod+F2 exec palemoon
# F3
bindsym $mod+F3 exec pcmanfm
#bindsym $mod+Shift+F3 exec $HOME/.config/ranger/ranger-launcher.sh
#bindsym $mod+Shift+F3 exec pcmanfm_pkexec
# F4
# F5
bindsym $mod+F5 exec terminal -e 'mocp'
# F6
# F7
# F8
# F9
# F10
# F11
# F12
# bindsym $mod+F12 mode "$mode_system"
# q
# kill focused window
bindsym $mod+Shift+q kill
# bindsym $mod+q split toggle
# w
# bindsym $mod+w layout tabbed
# e
# bindsym $mod+e layout toggle split
# exit i3 (logs you out of your X session)
# bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
# r
# ranger
bindsym $mod+r exec $HOME/.config/ranger/ranger-launcher.sh
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
# bindsym $mod+Shift+r restart
# t
bindsym $mod+t exec --no-startup-id pkill picom
bindsym $mod+Ctrl+t exec --no-startup-id picom -b
# z
# launch categorized menu
bindsym $mod+z exec --no-startup-id morc_menu
# u
# i
# o
# p
# ü
# a
# focus the parent container
# bindsym $mod+a focus parent
# s
# bindsym $mod+s layout stacking
# bindsym $mod+Shift+s sticky toggle
# d
# start program launcher
bindsym $mod+d exec --no-startup-id dmenu_recency
bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'"
# f
# bindsym $mod+f fullscreen toggle
# g
# h
# bindsym $mod+h focus left
# bindsym $mod+Shift+h move left
# bindsym $mod+Shift+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf # disabled for window moving
# bindsym $mod+Ctrl+h split h;exec notify-send 'tile horizontally'
# j
# bindsym $mod+j focus down
# bindsym $mod+Shift+j move down
# k
# bindsym $mod+k focus up
# bindsym $mod+Shift+k move up
# l
# bindsym $mod+l focus right
# bindsym $mod+Shift+l move right
# ö
# y
# x
bindsym $mod+Ctrl+x --release exec --no-startup-id xkill
# c
# reload the configuration file
# bindsym $mod+Shift+c reload
# v
# bindsym $mod+Ctrl+v split v;exec notify-send 'tile vertically'
# b
# brave
bindsym $mod+b exec brave
# alternate browser
bindsym $mod+Shift+b exec palemoon
# bindsym $mod+Shift+b exec google-chrome-stable
bindsym $mod+Ctrl+b exec terminal -e 'bmenu'
# n
# m
# bindsym $mod+Ctrl+m exec terminal -e 'alsamixer' # defined above
# bindsym $mod+m bar mode toggle
# ,
# .
# -
# Return
# start a terminal
bindsym $mod+Return exec alacritty
bindsym $mod+Shift+Return exec terminal

8
config/nvim-lazy/.gitignore vendored Normal file
View File

@@ -0,0 +1,8 @@
tt.*
.tests
doc/tags
debug
.repro
foo.*
*.log
data

View File

@@ -0,0 +1,15 @@
{
"neodev": {
"library": {
"enabled": true,
"plugins": true
}
},
"neoconf": {
"plugins": {
"lua_ls": {
"enabled": true
}
}
}
}

201
config/nvim-lazy/LICENSE Normal file
View File

@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@@ -0,0 +1,4 @@
# 💤 LazyVim
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.

View File

@@ -0,0 +1,4 @@
-- bootstrap lazy.nvim, LazyVim and your plugins
require("config.lazy")
vim.opt.termguicolors = false

View File

@@ -0,0 +1,59 @@
{
"LazyVim": { "branch": "main", "commit": "b601ade71c7f8feacf62a762d4e81cf99c055ea7" },
"LuaSnip": { "branch": "master", "commit": "7b1dda0dfdefc10b2501295eba5e463dbd7c338f" },
"SchemaStore.nvim": { "branch": "main", "commit": "3c32d6a7bc56d56d4e3cc16fb21b59465a527aeb" },
"bufferline.nvim": { "branch": "main", "commit": "73540cb95f8d95aa1af3ed57713c6720c78af915" },
"catppuccin": { "branch": "main", "commit": "d97387aea8264f484bb5d5e74f2182a06c83e0d8" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"conform.nvim": { "branch": "master", "commit": "59d0dd233a2cafacfa1235ab22054c4d80a72319" },
"crates.nvim": { "branch": "main", "commit": "d556c00d60c9421c913ee54ff690df2a34f6264e" },
"dashboard-nvim": { "branch": "master", "commit": "a0a78099658c7d4be3714f657b18ca8285d5d106" },
"dressing.nvim": { "branch": "master", "commit": "5162edb1442a729a885c45455a07e9a89058be2f" },
"flash.nvim": { "branch": "main", "commit": "11a2e667d19d8f48c93c6ed2e2e525ac6b1b79be" },
"friendly-snippets": { "branch": "main", "commit": "3e9a3f5a0cfcef1741e352c37bda4e82e5eb846a" },
"gitsigns.nvim": { "branch": "main", "commit": "805610a9393fa231f2c2b49cb521bfa413fadb3d" },
"indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" },
"lazy.nvim": { "branch": "main", "commit": "758bb5de98b805acc5eeed8cdc8ac7f0bc4b0b86" },
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "9ae570e206360e47d30b4c35a4550c165f4ea7b7" },
"mason.nvim": { "branch": "main", "commit": "49ff59aded1047a773670651cfa40e76e63c6377" },
"mini.ai": { "branch": "main", "commit": "55e9b7217f29e62f734e239bfeed5731a065d801" },
"mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" },
"mini.comment": { "branch": "main", "commit": "f9f1a646fd3d9df7397aa1b9550a875fe8189eb0" },
"mini.indentscope": { "branch": "main", "commit": "a8274b6ea2d868198d27bd91a31ed5ea3a6a5744" },
"mini.pairs": { "branch": "main", "commit": "5c975d8f68dc1e11bf4b20ced71e7987ed782513" },
"mini.surround": { "branch": "main", "commit": "eb89a88a51655e46a93595204a9251a012918883" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "7aad1bf3f6b849cbf108e02c55ad4d701cb4d33a" },
"neoconf.nvim": { "branch": "main", "commit": "d94663fc86813b00bbb99ed40f9822e18cf4e831" },
"neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" },
"noice.nvim": { "branch": "main", "commit": "61947de3d5904375ea94e0c13db2537488ad9829" },
"nui.nvim": { "branch": "main", "commit": "a3597dc88b53489d3fddbddbbd13787355253bb0" },
"nvim-cmp": { "branch": "main", "commit": "24122371810089d390847d8ba66325c1f1aa64c0" },
"nvim-lint": { "branch": "master", "commit": "f3bcc28ffccb768212247294acccc106e029fc3c" },
"nvim-lspconfig": { "branch": "master", "commit": "a27179f56c6f98a4cdcc79ee2971b514815a4940" },
"nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" },
"nvim-spectre": { "branch": "master", "commit": "4651801ba37a9407b7257287aec45b6653ffc5e9" },
"nvim-treesitter": { "branch": "master", "commit": "aa0c7dd29631ee8c2df738d99bd33b762b3a6e22" },
"nvim-treesitter-context": { "branch": "master", "commit": "7068ad6d16c682db0f6bf25f64ccfee34ec5d452" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "84cc9ed772f1fee2f47c1e076f518829583d8347" },
"nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "0bdccb9c67a42a5e2d99384dc9bfa29b1451528f" },
"nvim-web-devicons": { "branch": "master", "commit": "e37bb1feee9e7320c76050a55443fa843b4b6f83" },
"persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" },
"plenary.nvim": { "branch": "master", "commit": "08e301982b9a057110ede7a735dd1b5285eb341f" },
"rustaceanvim": { "branch": "master", "commit": "1c3d3a75bebcb16df2a093b147ba498185e4ab17" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" },
"telescope.nvim": { "branch": "master", "commit": "6f6bb8065567b56c42e283b06e8a1c670c0092a1" },
"todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" },
"tokyonight.nvim": { "branch": "main", "commit": "c91aef1125e052c9d862e68389e4185ec56f6cde" },
"trouble.nvim": { "branch": "main", "commit": "b9cf677f20bb2faa2dacfa870b084e568dca9572" },
"venv-selector.nvim": { "branch": "main", "commit": "6a1b15eb35bbb827b6db428055087e2dbf32838f" },
"vim-illuminate": { "branch": "master", "commit": "e522e0dd742a83506db0a72e1ced68c9c130f185" },
"vim-startuptime": { "branch": "master", "commit": "ac2cccb5be617672add1f4f3c0a55ce99ba34e01" },
"vimtex": { "branch": "master", "commit": "9665df7f51ee24aa81dbd81782e0a22480209753" },
"wal.vim": { "branch": "master", "commit": "c72ba0d18946f29aab9c95eb6975d321c68b3681" },
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }
}

View File

@@ -0,0 +1,14 @@
{
"extras": [
"lazyvim.plugins.extras.lang.docker",
"lazyvim.plugins.extras.lang.json",
"lazyvim.plugins.extras.lang.python",
"lazyvim.plugins.extras.lang.rust",
"lazyvim.plugins.extras.lang.tex",
"lazyvim.plugins.extras.lang.yaml"
],
"news": {
"NEWS.md": "3314"
},
"version": 3
}

View File

@@ -0,0 +1,3 @@
-- Autocmds are automatically loaded on the VeryLazy event
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
-- Add any additional autocmds here

View File

@@ -0,0 +1,3 @@
-- Keymaps are automatically loaded on the VeryLazy event
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
-- Add any additional keymaps here

View File

@@ -0,0 +1,47 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
-- bootstrap lazy.nvim
-- stylua: ignore
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
end
vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
require("lazy").setup({
spec = {
-- add LazyVim and import its plugins
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
-- import any extras modules here
-- { import = "lazyvim.plugins.extras.lang.typescript" },
-- { import = "lazyvim.plugins.extras.lang.json" },
-- { import = "lazyvim.plugins.extras.ui.mini-animate" },
-- import/override with your plugins
{ import = "plugins" },
},
defaults = {
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
lazy = false,
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
-- have outdated releases, which may break your Neovim install.
version = false, -- always use the latest git commit
-- version = "*", -- try installing the latest stable version for plugins that support semver
},
install = { colorscheme = { "tokyonight", "habamax" } },
checker = { enabled = true }, -- automatically check for plugin updates
performance = {
rtp = {
-- disable some rtp plugins
disabled_plugins = {
"gzip",
-- "matchit",
-- "matchparen",
-- "netrwPlugin",
"tarPlugin",
"tohtml",
"tutor",
"zipPlugin",
},
},
},
})

View File

@@ -0,0 +1,5 @@
-- Options are automatically loaded before lazy.nvim startup
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
-- Add any additional options here
vim.opt.termguicolors = false

View File

@@ -0,0 +1,10 @@
return {
---- add wal
{
"dylanaraps/wal.vim",
lazy = false,
config = function()
vim.cmd([[colorscheme wal]])
end,
},
}

View File

@@ -0,0 +1,245 @@
-- since this is just an example spec, don't actually load anything here and return an empty spec
-- stylua: ignore
if true then return {} end
-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
--
-- In your plugin files, you can:
-- * add extra plugins
-- * disable/enabled LazyVim plugins
-- * override the configuration of LazyVim plugins
return {
-- add gruvbox
{ "ellisonleao/gruvbox.nvim" },
-- Configure LazyVim to load gruvbox
{
"LazyVim/LazyVim",
opts = {
colorscheme = "gruvbox",
},
},
-- change trouble config
{
"folke/trouble.nvim",
-- opts will be merged with the parent spec
opts = { use_diagnostic_signs = true },
},
-- disable trouble
{ "folke/trouble.nvim", enabled = false },
-- override nvim-cmp and add cmp-emoji
{
"hrsh7th/nvim-cmp",
dependencies = { "hrsh7th/cmp-emoji" },
---@param opts cmp.ConfigSchema
opts = function(_, opts)
table.insert(opts.sources, { name = "emoji" })
end,
},
-- change some telescope options and a keymap to browse plugin files
{
"nvim-telescope/telescope.nvim",
keys = {
-- add a keymap to browse plugin files
-- stylua: ignore
{
"<leader>fp",
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
desc = "Find Plugin File",
},
},
-- change some options
opts = {
defaults = {
layout_strategy = "horizontal",
layout_config = { prompt_position = "top" },
sorting_strategy = "ascending",
winblend = 0,
},
},
},
-- add pyright to lspconfig
{
"neovim/nvim-lspconfig",
---@class PluginLspOpts
opts = {
---@type lspconfig.options
servers = {
-- pyright will be automatically installed with mason and loaded with lspconfig
pyright = {},
},
},
},
-- add tsserver and setup with typescript.nvim instead of lspconfig
{
"neovim/nvim-lspconfig",
dependencies = {
"jose-elias-alvarez/typescript.nvim",
init = function()
require("lazyvim.util").lsp.on_attach(function(_, buffer)
-- stylua: ignore
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
end)
end,
},
---@class PluginLspOpts
opts = {
---@type lspconfig.options
servers = {
-- tsserver will be automatically installed with mason and loaded with lspconfig
tsserver = {},
},
-- you can do any additional lsp server setup here
-- return true if you don't want this server to be setup with lspconfig
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
setup = {
-- example to setup with typescript.nvim
tsserver = function(_, opts)
require("typescript").setup({ server = opts })
return true
end,
-- Specify * to use this function as a fallback for any server
-- ["*"] = function(server, opts) end,
},
},
},
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
{ import = "lazyvim.plugins.extras.lang.typescript" },
-- add more treesitter parsers
{
"nvim-treesitter/nvim-treesitter",
opts = {
ensure_installed = {
"bash",
"html",
"javascript",
"json",
"lua",
"markdown",
"markdown_inline",
"python",
"query",
"regex",
"tsx",
"typescript",
"vim",
"yaml",
},
},
},
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
-- would overwrite `ensure_installed` with the new value.
-- If you'd rather extend the default config, use the code below instead:
{
"nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
-- add tsx and treesitter
vim.list_extend(opts.ensure_installed, {
"tsx",
"typescript",
})
end,
},
-- the opts function can also be used to change the default opts:
{
"nvim-lualine/lualine.nvim",
event = "VeryLazy",
opts = function(_, opts)
table.insert(opts.sections.lualine_x, "😄")
end,
},
-- or you can return new options to override all the defaults
{
"nvim-lualine/lualine.nvim",
event = "VeryLazy",
opts = function()
return {
--[[add your custom lualine config here]]
}
end,
},
-- use mini.starter instead of alpha
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
-- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc
{ import = "lazyvim.plugins.extras.lang.json" },
-- add any tools you want to have installed below
{
"williamboman/mason.nvim",
opts = {
ensure_installed = {
"stylua",
"shellcheck",
"shfmt",
"flake8",
},
},
},
-- Use <tab> for completion and snippets (supertab)
-- first: disable default <tab> and <s-tab> behavior in LuaSnip
{
"L3MON4D3/LuaSnip",
keys = function()
return {}
end,
},
-- then: setup supertab in cmp
{
"hrsh7th/nvim-cmp",
dependencies = {
"hrsh7th/cmp-emoji",
},
---@param opts cmp.ConfigSchema
opts = function(_, opts)
local has_words_before = function()
unpack = unpack or table.unpack
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end
local luasnip = require("luasnip")
local cmp = require("cmp")
opts.mapping = vim.tbl_extend("force", opts.mapping, {
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
-- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable()
-- this way you will only jump inside the snippet region
elseif luasnip.expand_or_jumpable() then
luasnip.expand_or_jump()
elseif has_words_before() then
cmp.complete()
else
fallback()
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { "i", "s" }),
})
end,
},
}

View File

@@ -0,0 +1,3 @@
indent_type = "Spaces"
indent_width = 2
column_width = 120

View File

@@ -2,17 +2,17 @@ vim.opt.tabstop = 4
vim.opt.expandtab = true vim.opt.expandtab = true
-- move to first character on line -- move to first character on line
vim.keymap.set('n','0','^') vim.keymap.set("n", "0", "^")
-- jump over lines visually -- jump over lines visually
vim.keymap.set('n','j','gj') vim.keymap.set("n", "j", "gj")
vim.keymap.set('n','k','gk') vim.keymap.set("n", "k", "gk")
-- format -- format
vim.keymap.set('n','<leader>', 'gqip') vim.keymap.set("n", "<leader>", "gqip")
-- fast-saving -- fast-saving
vim.keymap.set('n', '<space>w', ':w!<cr>') vim.keymap.set("n", "<space>w", ":w!<cr>")
-- :W sudo saves that file with sudo persmission -- :W sudo saves that file with sudo persmission
@@ -23,18 +23,18 @@ vim.keymap.set('n', '<space>w', ':w!<cr>')
-- vim.keymap.set('', '<C-l>', '<C-W>l') -- vim.keymap.set('', '<C-l>', '<C-W>l')
-- hightlight last inserted text -- hightlight last inserted text
vim.keymap.set('n', 'gV', '`[v`]', {noremap=true}) vim.keymap.set("n", "gV", "`[v`]", { noremap = true })
-- jk is escape in insert mode -- jk is escape in insert mode
vim.keymap.set('i', 'jk', '<esc>', {noremap=true}) vim.keymap.set("i", "jk", "<esc>", { noremap = true })
-- yank whole line -- yank whole line
vim.keymap.set('n', 'Y', 'y$', {noremap=true}) vim.keymap.set("n", "Y", "y$", { noremap = true })
-- insert empty line below or above -- insert empty line below or above
vim.keymap.set('n', '<CR>', 'o<Esc>k') vim.keymap.set("n", "<CR>", "o<Esc>k")
vim.keymap.set('n', '<C-o>', 'O<Esc>j') vim.keymap.set("n", "<C-o>", "O<Esc>j")
vim.opt.termguicolors = false vim.opt.termguicolors = false
use ('dylanaraps/wal.vim') use("dylanaraps/wal.vim")
vim.cmd 'colorscheme wal' vim.cmd("colorscheme wal")

View File

@@ -1,11 +1,13 @@
from ranger.api.commands import Command from ranger.api.commands import Command
class paste_as_root(Command): class paste_as_root(Command):
def execute(self): def execute(self):
if self.fm.do_cut: if self.fm.do_cut:
self.fm.execute_console('shell sudo mv %c .') self.fm.execute_console("shell sudo mv %c .")
else: else:
self.fm.execute_console('shell sudo cp -r %c .') self.fm.execute_console("shell sudo cp -r %c .")
class fzf_select(Command): class fzf_select(Command):
""" """
@@ -17,21 +19,25 @@ class fzf_select(Command):
See: https://github.com/junegunn/fzf See: https://github.com/junegunn/fzf
""" """
def execute(self): def execute(self):
import subprocess import subprocess
import os.path import os.path
if self.quantifier: if self.quantifier:
# match only directories # match only directories
command="find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune \ command = "find -L . ( -path '*/.*' -o -fstype 'dev' -o -fstype 'proc' ) -prune \
-o -type d -print 2> /dev/null | sed 1d | cut -b3- | fzf +m --reverse --header='Jump to file'" -o -type d -print 2> /dev/null | sed 1d | cut -b3- | fzf +m --reverse --header='Jump to file'"
else: else:
# match files and directories # match files and directories
command="find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune \ command = "find -L . ( -path '*/.*' -o -fstype 'dev' -o -fstype 'proc' ) -prune \
-o -print 2> /dev/null | sed 1d | cut -b3- | fzf +m --reverse --header='Jump to filemap <C-f> fzf_select'" -o -print 2> /dev/null | sed 1d | cut -b3- | fzf +m --reverse --header='Jump to filemap <C-f> fzf_select'"
fzf = self.fm.execute_command(command, universal_newlines=True, stdout=subprocess.PIPE) fzf = self.fm.execute_command(
command, universal_newlines=True, stdout=subprocess.PIPE
)
stdout, stderr = fzf.communicate() stdout, stderr = fzf.communicate()
if fzf.returncode == 0: if fzf.returncode == 0:
fzf_file = os.path.abspath(stdout.rstrip('\n')) fzf_file = os.path.abspath(stdout.rstrip("\n"))
if os.path.isdir(fzf_file): if os.path.isdir(fzf_file):
self.fm.cd(fzf_file) self.fm.cd(fzf_file)
else: else:

View File

@@ -1,4 +1,3 @@
#!/bin/sh #!/bin/sh
export RANGERCD=true export RANGERCD=true
$TERM $TERM

View File

@@ -97,7 +97,7 @@ set show_hidden_bookmarks true
# Which colorscheme to use? These colorschemes are available by default: # Which colorscheme to use? These colorschemes are available by default:
# default, jungle, snow, solarized # default, jungle, snow, solarized
set colorscheme default #set colorscheme default
# Preview files on the rightmost column? # Preview files on the rightmost column?
# And collapse (shrink) the last column if there is nothing to preview? # And collapse (shrink) the last column if there is nothing to preview?
@@ -116,7 +116,7 @@ set status_bar_on_top false
set draw_progress_bar_in_status_bar true set draw_progress_bar_in_status_bar true
# Draw borders around columns? # Draw borders around columns?
set draw_borders true set draw_borders false
# Display the directory name in tabs? # Display the directory name in tabs?
set dirname_in_tabs false set dirname_in_tabs false

View File

@@ -0,0 +1,34 @@
/*******************************************************
* ROFI Arc Dark colors for EndeavourOS
* Maintainer: joekamprad [joekamprad //a_t// endeavouros.com]
*******************************************************/
* {
selected-normal-foreground: rgba ( 249, 249, 249, 100 % );
foreground: rgba ( 196, 203, 212, 100 % );
normal-foreground: @foreground;
alternate-normal-background: rgba ( 64, 69, 82, 59 % );
red: rgba ( 220, 50, 47, 100 % );
selected-urgent-foreground: rgba ( 249, 249, 249, 100 % );
blue: rgba ( 38, 139, 210, 100 % );
urgent-foreground: rgba ( 204, 102, 102, 100 % );
alternate-urgent-background: rgba ( 75, 81, 96, 90 % );
active-foreground: rgba ( 101, 172, 255, 100 % );
lightbg: rgba ( 238, 232, 213, 100 % );
selected-active-foreground: rgba ( 249, 249, 249, 100 % );
alternate-active-background: rgba ( 75, 81, 96, 89 % );
background: rgba ( 45, 48, 59, 95 % );
alternate-normal-foreground: @foreground;
normal-background: @background;
lightfg: rgba ( 88, 104, 117, 100 % );
selected-normal-background: rgba ( 64, 132, 214, 100 % );
border-color: rgba ( 124, 131, 137, 100 % );
spacing: 2;
separatorcolor: rgba ( 29, 31, 33, 100 % );
urgent-background: rgba ( 29, 31, 33, 17 % );
selected-urgent-background: rgba ( 165, 66, 66, 100 % );
alternate-urgent-foreground: @urgent-foreground;
background-color: rgba ( 0, 0, 0, 0 % );
alternate-active-foreground: @active-foreground;
active-background: rgba ( 29, 31, 33, 17 % );
selected-active-background: rgba ( 68, 145, 237, 100 % );
}

View File

@@ -0,0 +1,34 @@
/*******************************************************
* ROFI Arch Dark Transparent colors for EndeavourOS
* Maintainer: joekamprad [joekamprad //a_t// endeavouros.com]
*******************************************************/
* {
selected-normal-foreground: rgba ( 255, 147, 5, 100 % );
foreground: rgba ( 196, 203, 212, 100 % );
normal-foreground: @foreground;
alternate-normal-background: rgba ( 45, 48, 59, 1 % );
red: rgba ( 220, 50, 47, 100 % );
selected-urgent-foreground: rgba ( 249, 249, 249, 100 % );
blue: rgba ( 38, 139, 210, 100 % );
urgent-foreground: rgba ( 204, 102, 102, 100 % );
alternate-urgent-background: rgba ( 75, 81, 96, 90 % );
active-foreground: rgba ( 101, 172, 255, 100 % );
lightbg: rgba ( 238, 232, 213, 100 % );
selected-active-foreground: rgba ( 249, 249, 249, 100 % );
alternate-active-background: rgba ( 45, 48, 59, 88 % );
background: rgba ( 45, 48, 59, 88 % );
alternate-normal-foreground: @foreground;
normal-background: rgba ( 45, 48, 59, 1 % );
lightfg: rgba ( 88, 104, 117, 100 % );
selected-normal-background: rgba ( 24, 26, 32, 100 % );
border-color: rgba ( 124, 131, 137, 100 % );
spacing: 2;
separatorcolor: rgba ( 45, 48, 59, 1 % );
urgent-background: rgba ( 45, 48, 59, 15 % );
selected-urgent-background: rgba ( 165, 66, 66, 100 % );
alternate-urgent-foreground: @urgent-foreground;
background-color: rgba ( 0, 0, 0, 0 % );
alternate-active-foreground: @active-foreground;
active-background: rgba ( 29, 31, 33, 17 % );
selected-active-background: rgba ( 26, 28, 35, 100 % );
}

5
config/rofi/config.rasi Normal file
View File

@@ -0,0 +1,5 @@
/* Dark theme. */
@import "~/.cache/wal/colors-rofi-dark"
/* Light theme. */
@import "~/.cache/wal/colors-rofi-light"

View File

@@ -0,0 +1,121 @@
/*******************************************************
* ROFI configs i3 powermenu for EndeavourOS
* Maintainer: joekamprad [joekamprad //a_t// endeavouros.com]
*******************************************************/
configuration {
font: "Noto Sans Regular 10";
show-icons: false;
icon-theme: "Qogir";
scroll-method: 0;
disable-history: false;
fullscreen: false;
hide-scrollbar: true;
sidebar-mode: false;
}
@import "~/.config/rofi/arc_dark_colors.rasi"
window {
background-color: @background;
border: 0;
padding: 10;
transparency: "real";
width: 170px;
location: east;
/*y-offset: 18;*/
/*x-offset: 850;*/
}
listview {
lines: 4;
columns: 1;
}
element {
border: 0;
padding: 1px;
}
element-text {
background-color: inherit;
text-color: inherit;
}
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
scrollbar {
width: 4px;
border: 0;
handle-color: @normal-foreground;
handle-width: 8px;
padding: 0;
}
mode-switcher {
border: 2px 0px 0px;
border-color: @separatorcolor;
}
button {
spacing: 0;
text-color: @normal-foreground;
}
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px;
}
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
entry {
spacing: 0;
text-color: @normal-foreground;
}
prompt {
spacing: 0;
text-color: @normal-foreground;
}
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
textbox-prompt-colon {
expand: false;
str: "Set Power Profile:";
margin: 0px 0.3em 0em 0em;
text-color: @normal-foreground;
}

124
config/rofi/powermenu.rasi Normal file
View File

@@ -0,0 +1,124 @@
/*******************************************************
* ROFI configs i3 powermenu for EndeavourOS
* Maintainer: joekamprad [joekamprad //a_t// endeavouros.com]
*******************************************************/
configuration {
font: "Noto Sans Regular 10";
show-icons: false;
icon-theme: "Qogir";
scroll-method: 0;
disable-history: false;
sidebar-mode: false;
}
@import "~/.config/rofi/arc_dark_transparent_colors.rasi"
window {
background-color: @background;
border: 0;
padding: 10;
transparency: "real";
width: 120px;
location: east;
/*y-offset: 18;*/
/*x-offset: 850;*/
}
listview {
lines: 7;
columns: 1;
scrollbar: false;
}
element {
border: 0;
padding: 1px;
}
element-text {
background-color: inherit;
text-color: inherit;
}
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
scrollbar {
width: 4px;
border: 0;
handle-color: @normal-foreground;
handle-width: 8px;
padding: 0;
}
mode-switcher {
border: 2px 0px 0px;
border-color: @separatorcolor;
}
button {
spacing: 0;
text-color: @normal-foreground;
}
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px;
}
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
entry {
spacing: 0;
text-color: @normal-foreground;
}
prompt {
spacing: 0;
text-color: @normal-foreground;
}
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em;
text-color: @normal-foreground;
}
/*removes the text input line*/
mainbox {
children: [listview];
}

135
config/rofi/rofidmenu.rasi Normal file
View File

@@ -0,0 +1,135 @@
/*******************************************************
* ROFI configs i3 Apps menu for EndeavourOS
* Maintainer: joekamprad [joekamprad //a_t// endeavouros.com]
*******************************************************/
configuration {
font: "Noto Sans Regular 10";
show-icons: true;
icon-theme: "Qogir";
display-drun: "Apps";
drun-display-format: "{name}";
scroll-method: 0;
disable-history: false;
sidebar-mode: false;
}
@import "~/.config/rofi/arc_dark_transparent_colors.rasi"
window {
background-color: @background;
border: 0;
padding: 30;
}
listview {
lines: 10;
columns: 3;
}
mainbox {
border: 0;
padding: 0;
}
message {
border: 2px 0px 0px;
border-color: @separatorcolor;
padding: 1px;
}
textbox {
text-color: @foreground;
}
listview {
fixed-height: 0;
border: 8px 0px 0px;
border-color: @separatorcolor;
spacing: 8px;
scrollbar: false;
padding: 2px 0px 0px;
}
element {
border: 0;
padding: 1px;
}
element-text {
background-color: inherit;
text-color: inherit;
}
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
scrollbar {
width: 4px;
border: 0;
handle-color: @normal-foreground;
handle-width: 8px;
padding: 0;
}
mode-switcher {
border: 2px 0px 0px;
border-color: @separatorcolor;
}
button {
spacing: 0;
text-color: @normal-foreground;
}
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px;
}
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
entry {
spacing: 0;
text-color: @normal-foreground;
}
prompt {
spacing: 0;
text-color: @normal-foreground;
}
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em;
text-color: @normal-foreground;
}

View File

@@ -0,0 +1,135 @@
/*******************************************************
* ROFI configs i3 Apps menu for EndeavourOS
* Maintainer: joekamprad [joekamprad //a_t// endeavouros.com]
*******************************************************/
configuration {
font: "Noto Sans Regular 10";
show-icons: true;
icon-theme: "Qogir";
display-drun: "Apps";
drun-display-format: "{name}";
scroll-method: 0;
disable-history: false;
sidebar-mode: false;
}
@import "~/.config/rofi/arc_dark_transparent_colors.rasi"
window {
background-color: @background;
border: 0;
padding: 30;
}
listview {
lines: 10;
columns: 3;
}
mainbox {
border: 0;
padding: 0;
}
message {
border: 2px 0px 0px;
border-color: @separatorcolor;
padding: 1px;
}
textbox {
text-color: @foreground;
}
listview {
fixed-height: 0;
border: 8px 0px 0px;
border-color: @separatorcolor;
spacing: 8px;
scrollbar: false;
padding: 2px 0px 0px;
}
element {
border: 0;
padding: 1px;
}
element-text {
background-color: inherit;
text-color: inherit;
}
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
scrollbar {
width: 4px;
border: 0;
handle-color: @normal-foreground;
handle-width: 8px;
padding: 0;
}
mode-switcher {
border: 2px 0px 0px;
border-color: @separatorcolor;
}
button {
spacing: 0;
text-color: @normal-foreground;
}
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px;
}
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
entry {
spacing: 0;
text-color: @normal-foreground;
}
prompt {
spacing: 0;
text-color: @normal-foreground;
}
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em;
text-color: @normal-foreground;
}

View File

@@ -0,0 +1,137 @@
/*******************************************************
* ROFI configs i3 keyhint-menu for EndeavourOS
* Maintainer: joekamprad [joekamprad //a_t// endeavouros.com]
*******************************************************/
configuration {
font: "Noto Sans Regular 10";
show-icons: false;
icon-theme: "Qogir";
display-drun: "KeyHint";
drun-display-format: "{name}";
scroll-method: 0;
disable-history: false;
fullscreen: false;
hide-scrollbar: true;
sidebar-mode: false;
}
@import "~/.config/rofi/arc_dark_transparent_colors.rasi"
window {
background-color: @background;
border: 0;
padding: 30;
}
listview {
lines: 10;
columns: 1;
}
mainbox {
border: 0;
padding: 0;
}
message {
border: 2px 0px 0px;
border-color: @separatorcolor;
padding: 1px;
}
textbox {
text-color: @foreground;
}
listview {
fixed-height: 0;
border: 8px 0px 0px;
border-color: @separatorcolor;
spacing: 8px;
scrollbar: false;
padding: 2px 0px 0px;
}
element {
border: 0;
padding: 1px;
}
element-text {
background-color: inherit;
text-color: inherit;
}
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
scrollbar {
width: 4px;
border: 0;
handle-color: @normal-foreground;
handle-width: 8px;
padding: 0;
}
mode-switcher {
border: 2px 0px 0px;
border-color: @separatorcolor;
}
button {
spacing: 0;
text-color: @normal-foreground;
}
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px;
}
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
entry {
spacing: 0;
text-color: @normal-foreground;
}
prompt {
spacing: 0;
text-color: @normal-foreground;
}
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em;
text-color: @normal-foreground;
}

View File

@@ -52,7 +52,8 @@ bind p paste-buffer
# bind -t vi-copy 'y' copy-selection # bind -t vi-copy 'y' copy-selection
# set default terminal color # set default terminal color
set -g default-terminal "screen-256color" set -g default-terminal "$TERM"
set -ag terminal-overrides ",$TERM:RGB"
# enable activity alerts # enable activity alerts
setw -g monitor-activity on setw -g monitor-activity on

View File

@@ -0,0 +1,27 @@
[colors.primary]
background = '{background}'
foreground = '{foreground}'
[colors.cursor]
text = '{foreground}'
cursor = '{cursor}'
[colors.normal]
black = '{color0}'
red = '{color1}'
green = '{color2}'
yellow = '{color3}'
blue = '{color4}'
magenta = '{color5}'
cyan = '{color6}'
white = '{color7}'
[colors.bright]
black = '{color8}'
red = '{color9}'
green = '{color10}'
yellow = '{color11}'
blue = '{color12}'
magenta = '{color13}'
cyan = '{color14}'
white = '{color15}'

View File

@@ -1,9 +1,6 @@
alias ls='ls --color=auto' alias ls='ls --color=auto'
alias lah='ls -lah' alias lah='ls -lah'
alias ll='lah' alias ll='lah'
alias v=vim
alias vim=nvim
alias nvim=lvim
# folders # folders
alias gh="cd" alias gh="cd"

View File

@@ -9,8 +9,8 @@
[[ $- == *i* ]] && source /usr/share/blesh/ble.sh --noattach [[ $- == *i* ]] && source /usr/share/blesh/ble.sh --noattach
if [[ $- == *i* ]]; then # in interactive session if [[ $- == *i* ]]; then # in interactive session
# vim mode # vim mode
set -o vi set -o vi
fi fi
colors() { colors() {
@@ -36,7 +36,8 @@ colors() {
printf " ${seq0}TEXT\e[m" printf " ${seq0}TEXT\e[m"
printf " \e[${vals:+${vals+$vals;}}1mBOLD\e[m" printf " \e[${vals:+${vals+$vals;}}1mBOLD\e[m"
done done
echo; echo echo
echo
done done
} }
@@ -44,12 +45,12 @@ colors() {
# Change the window title of X terminals # Change the window title of X terminals
case ${TERM} in case ${TERM} in
xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*) xterm* | rxvt* | Eterm* | aterm | kterm | gnome* | interix | konsole*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"' PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"'
;; ;;
screen*) screen*)
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"' PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"'
;; ;;
esac esac
use_color=true use_color=true
@@ -59,26 +60,26 @@ use_color=true
# instead of using /etc/DIR_COLORS. Try to use the external file # instead of using /etc/DIR_COLORS. Try to use the external file
# first to take advantage of user additions. Use internal bash # first to take advantage of user additions. Use internal bash
# globbing instead of external grep binary. # globbing instead of external grep binary.
safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM
match_lhs="" match_lhs=""
[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)" [[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"
[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)" [[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)"
[[ -z ${match_lhs} ]] \ [[ -z ${match_lhs} ]] &&
&& type -P dircolors >/dev/null \ type -P dircolors >/dev/null &&
&& match_lhs=$(dircolors --print-database) match_lhs=$(dircolors --print-database)
[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true [[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true
if ${use_color} ; then if ${use_color}; then
# Enable colors for ls, etc. Prefer ~/.dir_colors #64489 # Enable colors for ls, etc. Prefer ~/.dir_colors #64489
if type -P dircolors >/dev/null ; then if type -P dircolors >/dev/null; then
if [[ -f ~/.dir_colors ]] ; then if [[ -f ~/.dir_colors ]]; then
eval $(dircolors -b ~/.dir_colors) eval $(dircolors -b ~/.dir_colors)
elif [[ -f /etc/DIR_COLORS ]] ; then elif [[ -f /etc/DIR_COLORS ]]; then
eval $(dircolors -b /etc/DIR_COLORS) eval $(dircolors -b /etc/DIR_COLORS)
fi fi
fi fi
if [[ ${EUID} == 0 ]] ; then if [[ ${EUID} == 0 ]]; then
PS1='\[\033[01;31m\][\h\[\033[01;36m\] \W\[\033[01;31m\]]\$\[\033[00m\] ' PS1='\[\033[01;31m\][\h\[\033[01;36m\] \W\[\033[01;31m\]]\$\[\033[00m\] '
else else
PS1='\[\033[01;32m\][\u@\h\[\033[01;37m\] \W\[\033[01;32m\]]\$\[\033[00m\] ' PS1='\[\033[01;32m\][\u@\h\[\033[01;37m\] \W\[\033[01;32m\]]\$\[\033[00m\] '
@@ -89,7 +90,7 @@ if ${use_color} ; then
alias egrep='egrep --colour=auto' alias egrep='egrep --colour=auto'
alias fgrep='fgrep --colour=auto' alias fgrep='fgrep --colour=auto'
else else
if [[ ${EUID} == 0 ]] ; then if [[ ${EUID} == 0 ]]; then
# show root@ when we don't have colors # show root@ when we don't have colors
PS1='\u@\h \W \$ ' PS1='\u@\h \W \$ '
else else
@@ -105,12 +106,12 @@ unset use_color safe_term match_lhs sh
#alias np='nano -w PKGBUILD' #alias np='nano -w PKGBUILD'
#alias more=less #alias more=less
xhost +local:root > /dev/null 2>&1 xhost +local:root >/dev/null 2>&1
set -o vi set -o vi
export EDITOR="nvim" export EDITOR="nvim"
export VISUAL="lvim" export VISUAL="nvim"
# default # default
[[ $- != *i* ]] && return [[ $- != *i* ]] && return
@@ -124,7 +125,7 @@ PS1='[\u@\h \W]\$ '
# load pc individual bashrc content # load pc individual bashrc content
if [ -e $HOME/.bashrc_individual ]; then if [ -e $HOME/.bashrc_individual ]; then
source $HOME/.bashrc_individual source $HOME/.bashrc_individual
fi fi
export PATH=$PATH:$HOME/.local/bin export PATH=$PATH:$HOME/.local/bin
@@ -147,8 +148,8 @@ if [ -e $HOME/.bash_aliases ]; then
source $HOME/.bash_aliases source $HOME/.bash_aliases
fi fi
src_files "$HOME/.profile.d"
src_files "$HOME/.bashrc.d" src_files "$HOME/.bashrc.d"
[[ ${BLE_VERSION-} ]] && ble-attach [[ ${BLE_VERSION-} ]] && ble-attach
BASHRC="loaded"

5
home/bashrc.d/01_wal Normal file
View File

@@ -0,0 +1,5 @@
#(cat $HOME/.cache/wal/sequences &)
#(source $HOME/.cache/wal/colors-tty.sh &)

View File

@@ -1,2 +1,23 @@
alias r=ranger alias r=ranger_cd
ranger() {
if [ -z "$RANGER_LEVEL" ]; then
/usr/bin/ranger "$@"
else
exit
fi
}
ranger_cd() {
temp_file="$(mktemp -t "ranger_cd.XXXXXXXXXX")"
ranger --choosedir="$temp_file" -- "${@:-$PWD}"
if chosen_dir="$(cat -- "$temp_file")" && [ -n "$chosen_dir" ] && [ "$chosen_dir" != "$PWD" ]; then
cd -- "$chosen_dir"
fi
rm -f -- "$temp_file"
}
if [ "$RANGERCD" ]; then unset RANGERCD && ranger_cd; fi
#$RANGERCD && unset RANGERCD && ranger_cd

8
home/bashrc.d/vim Normal file
View File

@@ -0,0 +1,8 @@
alias v=vim
alias vim=nvim
#alias lvim="NVIM_APPNAME=nvim-lazy nvim"
alias lvim="NVIM_APPNAME=nvim nvim"
alias avim="NVIM_APPNAME=nvim-astro nvim"
alias cvim="NVIM_APPNAME=nvim-chad nvim"

View File

@@ -17,8 +17,6 @@ src_files() {
src_files "$HOME/.profile.d" src_files "$HOME/.profile.d"
if [ -f ~/.bashrc ]; [[ -f $HOME/.bashrc ]] && . $HOME/.bashrc
then export PATH=$PATH:$HOME/.local/bin
. ~/.bashrc;
fi
PATH=$PATH:$HOME/bin export PATH

View File

@@ -1 +1 @@
PATH="/opt/forticlient:$PATH" export PATH="/opt/forticlient:$PATH"

4
home/profile.d/vim Normal file
View File

@@ -0,0 +1,4 @@
export EDITOR=nvim
export VISUAL=nvim

View File

@@ -10,47 +10,45 @@ echo "Setting up configs linking to $econfigdir"
echo "" echo ""
function Sudo { function Sudo {
local firstArg=$1 local firstArg=$1
if [ $(type -t $firstArg) = function ] if [ $(type -t $firstArg) = function ]; then
then shift && command sudo bash -c "$(declare -f $firstArg);$firstArg $*"
shift && command sudo bash -c "$(declare -f $firstArg);$firstArg $*" elif [ $(type -t $firstArg) = alias ]; then
elif [ $(type -t $firstArg) = alias ] alias sudo='\sudo '
then eval "sudo $@"
alias sudo='\sudo ' else
eval "sudo $@" command sudo "$@"
else fi
command sudo "$@"
fi
} }
link_file() { link_file() {
echo "linking file $2" echo "linking file $2"
if [ $(readlink -f $2) -ef $1 ]; then if [ $(readlink -f $2) -ef $1 ]; then
echo " is already linked like that" echo " is already linked like that"
else else
ln -sbfv $1 $2 ln -sbfv $1 $2
fi fi
echo "" echo ""
} }
link_folder() { link_folder() {
echo "linking folder $2" echo "linking folder $2"
if [ $(is_link $2) -eq 0 ]; then if [ $(is_link $2) -eq 0 ]; then
# it is still a directory, create backup # it is still a directory, create backup
echo " is a dir (pointing to $(readlink -f $2)), creating backup at $2_original" echo " is a dir (pointing to $(readlink -f $2)), creating backup at $2_original"
mv -fvT --backup=numbered $2 $2_original mv -fvT --backup=numbered $2 $2_original
fi fi
if [ $(readlink -f $2) -ef $1 ]; then if [ $(readlink -f $2) -ef $1 ]; then
echo " is already linked like that" echo " is already linked like that"
else else
ln -sbfvn $1 $2 ln -sbfvn $1 $2
fi fi
echo "" echo ""
} }
is_link() { is_link() {
if [ $(readlink -f $1) = $1 ]; then if [ $(readlink -f $1) = $1 ]; then
echo 0 echo 0
else else
echo 1 echo 1
fi fi
} }
# bashrc # bashrc
@@ -72,11 +70,14 @@ Sudo link_file $econfigdir/etc/pacman.conf /etc/pacman.conf
# i3 config # i3 config
link_folder $econfigdir/config/i3 $HOME/.config/i3 link_folder $econfigdir/config/i3 $HOME/.config/i3
mv $HOME/.i3 $HOME/.i3_original > /dev/null 2>&1 mv $HOME/.i3 $HOME/.i3_original >/dev/null 2>&1
# alacritty # alacritty
link_folder $econfigdir/config/alacritty $HOME/.config/alacritty link_folder $econfigdir/config/alacritty $HOME/.config/alacritty
# pywal
link_folder $econfigdir/config/wal $HOME/.config/wal
# tmux # tmux
link_file $econfigdir/home/tmux.conf $HOME/.tmux.conf link_file $econfigdir/home/tmux.conf $HOME/.tmux.conf
link_folder $econfigdir/config/tmux $HOME/.config/tmux link_folder $econfigdir/config/tmux $HOME/.config/tmux
@@ -93,10 +94,10 @@ link_file $econfigdir/bin/dmount $HOME/.local/bin/dmount
link_file $econfigdir/bin/dumount $HOME/.local/bin/dumount link_file $econfigdir/bin/dumount $HOME/.local/bin/dumount
# nvim # nvim
link_folder $econfigdir/config/nvim $HOME/.config/nvim #link_folder $econfigdir/config/nvim $HOME/.config/nvim
# lvim # lazyvim
link_folder $econfigdir/config/lvim $HOME/.config/lvim link_folder $econfigdir/config/nvim-lazy $HOME/.config/nvim
# gdbinit # gdbinit
link_file $econfigdir/home/gdbinit $HOME/.gdbinit link_file $econfigdir/home/gdbinit $HOME/.gdbinit
@@ -106,4 +107,3 @@ link_folder $econfigdir/config/dunst $HOME/.config/dunst
# mplayer # mplayer
link_folder $econfigdir/home/mplayer $HOME/.mplayer link_folder $econfigdir/home/mplayer $HOME/.mplayer

View File

@@ -16,6 +16,12 @@ sudo pacman -S --noconfirm ueberzug # ranger image previewer
sudo pacman -S --noconfirm feh # background sudo pacman -S --noconfirm feh # background
sudo pacman -S --noconfirm ttf-roboto-mono-nerd # font sudo pacman -S --noconfirm ttf-roboto-mono-nerd # font
sudo pacman -S --noconfirm python-pywal sudo pacman -S --noconfirm python-pywal
sudo pacman -S --noconfirm odt2txt # odt preview
sudo pacman -S --noconfirm atool # archive preview
sudo pacman -S --noconfirm mediainfo # video preview
sudo pacman -S --noconfirm btop # top alternative
sudo pacman -S --noconfirm ripgrep # grep
# nvim # nvim
sudo pacman -S --noconfirm neovim sudo pacman -S --noconfirm neovim