diff options
| author | Nathan Reiner <nathan@nathanreiner.xyz> | 2024-04-13 21:39:37 +0200 |
|---|---|---|
| committer | Nathan Reiner <nathan@nathanreiner.xyz> | 2024-04-13 21:39:37 +0200 |
| commit | 201e36c823925ccb6d0b608b2ce985ec32b2e276 (patch) | |
| tree | 123fbb34bf911dbdbcd556b50786c7c90b66568b | |
| parent | f933fa6863fd689b4a2c30dca865baa051ca441e (diff) | |
rollback dotfiles and fix dotter
| -rw-r--r-- | .config/dunst/dunstrc | 229 | ||||
| -rw-r--r-- | .config/hypr/hyprland.conf | 137 | ||||
| -rw-r--r-- | .config/mimeapps.list | 8 | ||||
| -rw-r--r-- | .config/nvim/init.lua | 4 | ||||
| -rw-r--r-- | .config/nvim/lua/keymap.lua | 37 | ||||
| -rw-r--r-- | .config/nvim/lua/plug.lua | 66 | ||||
| -rw-r--r-- | .config/nvim/lua/settings.lua | 10 | ||||
| -rw-r--r-- | .config/qutebrowser/autoconfig.yml | 142 | ||||
| -rw-r--r-- | .config/waybar/config | 65 | ||||
| -rw-r--r-- | .config/waybar/style.css | 16 | ||||
| -rw-r--r-- | .config/zsh/.zshrc | 2 | ||||
| -rw-r--r-- | .config/zsh/knight | 4 | ||||
| -rw-r--r-- | .local/share/nvim/site/autoload/statusbar.vim | 34 | ||||
| -rw-r--r-- | .local/share/nvim/site/colors/n8.vim | 111 | ||||
| -rw-r--r-- | .profile | 15 | ||||
| -rwxr-xr-x | dotter | 9 |
16 files changed, 448 insertions, 441 deletions
diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc index 3411ddd..e2fcdf9 100644 --- a/.config/dunst/dunstrc +++ b/.config/dunst/dunstrc @@ -1,3 +1,5 @@ +# See dunst(5) for all configuration options + [global] ### Display ### @@ -15,43 +17,69 @@ # # If this option is set to mouse or keyboard, the monitor option # will be ignored. - follow = mouse + follow = none - # The geometry of the window: - # [{width}]x{height}[+/-{x}+/-{y}] - # The geometry of the message window. - # The height is measured in number of notifications everything else - # in pixels. If the width is omitted but the height is given - # ("-geometry x2"), the message window expands over the whole screen - # (dmenu-like). If width is 0, the window expands to the longest - # message displayed. A positive x is measured from the left, a - # negative from the right side of the screen. Y is measured from - # the top and down respectively. - # The width can be negative. In this case the actual width is the - # screen width minus the width defined in within the geometry option. - geometry = "300x5-15+42" + ### Geometry ### - # Show how many messages are currently hidden (because of geometry). - indicate_hidden = yes + # dynamic width from 0 to 300 + # width = (0, 300) + # constant width of 300 + width = 300 + + # The maximum height of a single notification, excluding the frame. + height = 300 + + # Position the notification in the top right corner + origin = top-right + + # Offset from the origin + offset = 20x20 + + # Scale factor. It is auto-detected if value is 0. + scale = 0 + + # Maximum number of notification (0 means no limit) + notification_limit = 20 + + ### Progress bar ### + + # Turn on the progess bar. It appears when a progress hint is passed with + # for example dunstify -h int:value:12 + progress_bar = true - # Shrink window if it's smaller than the width. Will be ignored if - # width is 0. - shrink = no + # Set the progress bar height. This includes the frame, so make sure + # it's at least twice as big as the frame width. + progress_bar_height = 10 + + # Set the frame width of the progress bar + progress_bar_frame_width = 0 + + # Set the minimum width for the progress bar + progress_bar_min_width = 150 + + # Set the maximum width for the progress bar + progress_bar_max_width = 300 + + # Corner radius for the progress bar. 0 disables rounded corners. + progress_bar_corner_radius = 5 + + # Corner radius for the icon image. + icon_corner_radius = 0 + + # Show how many messages are currently hidden (because of + # notification_limit). + indicate_hidden = yes # The transparency of the window. Range: [0; 100]. # This option will only work if a compositing window manager is - # present (e.g. xcompmgr, compiz, etc.). - transparency = 0 - - # The height of the entire notification. If the height is smaller - # than the font height and padding combined, it will be raised - # to the font height and padding. - notification_height = 0 + # present (e.g. xcompmgr, compiz, etc.). (X11 only) + transparency = 50 # Draw a line of "separator_height" pixel height between two # notifications. # Set to 0 to disable. - separator_height = 1 + # If gap_size is greater than 0, this setting will be ignored. + separator_height = 2 # Padding between text and separator. padding = 8 @@ -59,12 +87,21 @@ # Horizontal padding. horizontal_padding = 8 + # Padding between text and icon. + text_icon_padding = 0 + # Defines width in pixels of frame around the notification window. # Set to 0 to disable. frame_width = 3 # Defines color of the frame around the notification window. - frame_color = "#b1628688" + frame_color = "#b16286" + + # Size of gap to display between notifications - requires a compositor. + # If value is greater than 0, separator_height will be ignored and a border + # of size frame_width will be drawn around each notification instead. + # Click events on gaps do not currently propagate to applications below. + gap_size = 10 # Define a color for the separator. # possible values are: @@ -82,7 +119,7 @@ # Set to 0 to disable. # A client can set the 'transient' hint to bypass this. See the rules # section for how to disable this if necessary - idle_threshold = 120 + # idle_threshold = 120 ### Text ### @@ -100,7 +137,7 @@ # <u>underline</u> # # For a complete reference see - # <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>. + # <https://docs.gtk.org/Pango/pango_markup.html>. # # strip: This setting is provided for compatibility with some broken # clients that send markup even though it's not enabled on the @@ -132,16 +169,16 @@ # Possible values are "left", "center" and "right". alignment = left + # Vertical alignment of message text and icon. + # Possible values are "top", "center" and "bottom". + vertical_alignment = center + # Show age of message if message is older than show_age_threshold # seconds. # Set to -1 to disable. show_age_threshold = 60 - # Split notifications into multiple lines if they don't fit into - # geometry. - word_wrap = yes - - # When word_wrap is set to no, specify where to make an ellipsis in long lines. + # Specify where to make an ellipsis in long lines. # Possible values are "start", "middle" and "end". ellipsize = middle @@ -159,13 +196,27 @@ ### Icons ### - # Align icons left/right/off - icon_position = off + # Recursive icon lookup. You can set a single theme, instead of having to + # define all lookup paths. + enable_recursive_icon_lookup = true + + # Set icon theme (only used for recursive icon lookup) + icon_theme = Adwaita + # You can also set multiple icon themes, with the leftmost one being used first. + # icon_theme = "Adwaita, breeze" + + # Align icons left/right/top/off + icon_position = left + + # Scale small icons up to this size, set to 0 to disable. Helpful + # for e.g. small files or high-dpi screens. In case of conflict, + # max_icon_size takes precedence over this. + min_icon_size = 16 # Scale larger icons down to this size, set to 0 to disable max_icon_size = 32 - # Paths to default icons. + # Paths to default icons (only neccesary when not using recursive icon lookup) icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ ### History ### @@ -183,7 +234,7 @@ dmenu = /usr/bin/dmenu -p dunst: # Browser for opening urls in context menu. - browser = /usr/bin/brave -new-tab + browser = /usr/bin/xdg-open # Always run rule-defined scripts, even if the notification is suppressed always_run_script = true @@ -194,26 +245,28 @@ # Define the class of the windows spawned by dunst class = Dunst - # Print a notification on startup. - # This is mainly for error detection, since dbus (re-)starts dunst - # automatically after a crash. - startup_notification = false - - # Manage dunst's desire for talking - # Can be one of the following values: - # crit: Critical features. Dunst aborts - # warn: Only non-fatal warnings - # mesg: Important Messages - # info: all unimportant stuff - # debug: all less than unimportant stuff - verbosity = mesg - # Define the corner radius of the notification window # in pixel size. If the radius is 0, you have no rounded # corners. # The radius will be automatically lowered if it exceeds half of the # notification height to avoid clipping text and/or icons. - corner_radius = 0 + corner_radius = 10 + + # Ignore the dbus closeNotification message. + # Useful to enforce the timeout set by dunst configuration. Without this + # parameter, an application may close the notification sent before the + # user defined timeout. + ignore_dbusclose = false + + ### Wayland ### + # These settings are Wayland-specific. They have no effect when using X11 + + # Uncomment this if you want to let notications appear under fullscreen + # applications (default: overlay) + # layer = top + + # Set this to true to use X11 output on Wayland. + force_xwayland = false ### Legacy @@ -229,15 +282,21 @@ ### mouse - # Defines action of mouse event + # Defines list of actions for each mouse event # Possible values are: # * none: Don't do anything. - # * do_action: If the notification has exactly one action, or one is marked as default, - # invoke it. If there are multiple and no default, open the context menu. + # * do_action: Invoke the action determined by the action_name rule. If there is no + # such action, open the context menu. + # * open_url: If the notification has exactly one url, open it. If there are multiple + # ones, open the context menu. # * close_current: Close current notification. # * close_all: Close all notifications. + # * context: Open context menu for the notification. + # * context_all: Open context menu for all notifications. + # These values can be strung together for each mouse event, and + # will be executed in sequence. mouse_left_click = close_current - mouse_middle_click = do_action + mouse_middle_click = do_action, close_current mouse_right_click = close_all # Experimental features that may or may not work correctly. Do not expect them @@ -250,50 +309,33 @@ # where there are multiple screens with very different dpi values. per_monitor_dpi = false -[shortcuts] - - # Shortcuts are specified as [modifier+][modifier+]...key - # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2", - # "mod3" and "mod4" (windows-key). - # Xev might be helpful to find names for keys. - - # Close notification. - close = ctrl+space - - # Close all notifications. - close_all = ctrl+shift+space - - # Redisplay last message(s). - # On the US keyboard layout "grave" is normally above TAB and left - # of "1". Make sure this key actually exists on your keyboard layout, - # e.g. check output of 'xmodmap -pke' - history = ctrl+grave - - # Context menu. - context = ctrl+shift+period [urgency_low] # IMPORTANT: colors have to be defined in quotation marks. # Otherwise the "#" and following would be interpreted as a comment. - background = "#28282888" + background = "#282828" foreground = "#ebdbb2" + highlight = "#ebdbb2" timeout = 10 # Icon for notifications with low urgency, uncomment to enable - #icon = /path/to/icon + #default_icon = /path/to/icon [urgency_normal] - background = "#28282888" - foreground = "#ebdbb2" + background = "#b16286" + foreground = "#dbdbb2" + highlight = "#ebdbb2" timeout = 10 # Icon for notifications with normal urgency, uncomment to enable - #icon = /path/to/icon + #default_icon = /path/to/icon [urgency_critical] - background = "#cc241d88" - foreground = "#ffffff" + background = "#fb4934" + foreground = "#282828" + frame_color = "#fb4934" + highlight = "#282828" timeout = 0 # Icon for notifications with critical urgency, uncomment to enable - #icon = /path/to/icon + #default_icon = /path/to/icon # Every section that isn't one of the above is interpreted as a rules to # override settings for certain messages. @@ -318,8 +360,17 @@ # new_icon # set_stack_tag # set_transient +# set_category # timeout # urgency +# icon_position +# skip_display +# history_ignore +# action_name +# word_wrap +# ellipsize +# alignment +# hide_text # # Shell-like globbing will get expanded. # @@ -334,8 +385,6 @@ # script appname summary body icon urgency # where urgency can be "LOW", "NORMAL" or "CRITICAL". # -# NOTE: if you don't want a notification to be displayed, set the format -# to "". # NOTE: It might be helpful to run dunst -print in a terminal in order # to find fitting options for rules. @@ -374,7 +423,7 @@ #[ignore] # # This notification will not be displayed # summary = "foobar" -# format = "" +# skip_display = true #[history-ignore] # # This notification will not be saved in history diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 52d71e8..98e9945 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -4,20 +4,18 @@ # # See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=DP-2,preferred,0x0,1 -monitor=DP-3,preferred,1920x0,1 -monitor=HDMI-A-1,preferred,3840x0,1 +monitor=,preferred,auto,1 +monitor=DP-2,prefered,0x0,1 +monitor=DP-3,preferred,1920x0,1,transform,1 +monitor=HDMI-A-1,preferred,3000x0,1 # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch -exec-once = waybar -exec-once = swaybg -i .config/bg/orion.png -exec-once = nextcloud --background -exec-once = blueberry-tray -exec-once = element-desktop --hidden -exec-once = /usr/lib/kdeconnectd && kdeconnect-indicator +exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP +exec-once = waybar-autostart +exec-once = cat .config/bg/hyprland.ff | ffbg # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf @@ -27,78 +25,86 @@ env = XCURSOR_SIZE,24 # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { - kb_layout = us - kb_variant = - kb_model = - kb_options = caps:escape - kb_rules = + kb_layout = us + kb_variant = + kb_model = + kb_options = caps:escape + kb_rules = - follow_mouse = 1 + follow_mouse = 1 - touchpad { - natural_scroll = no - } + touchpad { + natural_scroll = yes + clickfinger_behavior = true + } - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more + # See https://wiki.hyprland.org/Configuring/Variables/ for more - gaps_in = 10 - gaps_out = 10 - border_size = 3 - col.active_border = rgba(b16286ff) - col.inactive_border = rgba(3c3836ff) - layout = dwindle + gaps_in = 10 + gaps_out = 10 + border_size = 3 + col.active_border = rgba(b16286ff) + col.inactive_border = rgba(3c3836ff) + layout = dwindle } decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more + # See https://wiki.hyprland.org/Configuring/Variables/ for more - rounding = 10 + rounding = 5 - drop_shadow = yes - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) } animations { - enabled = yes + enabled = yes - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - animation = windows, 1, 3, myBezier - animation = windowsOut, 1, 3, default, popin 80% - animation = border, 1, 10, default - animation = borderangle, 1, 8, default - animation = fade, 1, 5, default - animation = workspaces, 1, 3, default + animation = windows, 1, 3, myBezier + animation = windowsOut, 1, 3, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 5, default + animation = workspaces, 1, 3, default } dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = yes # you probably want this + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this } master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - new_is_master = true + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true } gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = off + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = on + workspace_swipe_fingers = 4 } # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more -device:epic-mouse-v1 { - sensitivity = -0.5 +device { + name = epic-mouse-v1 + sensitivity = -0.5 +} + +device { + name = wacom-intuos-pt-m-2-pen + output = DP-3 } # Example windowrule v1 @@ -111,6 +117,16 @@ windowrulev2 = center,title:^(Hyprmenu)$ windowrulev2 = pin,class:^(floating)$ windowrulev2 = float,class:^(floating)$ windowrulev2 = center,class:^(floating)$ + +windowrulev2 = float,class:^(waydroid.com.*)$ + +windowrulev2 = pin,class:^(com.nextcloud.desktopclient.nextcloud)$ +windowrulev2 = float,class:^(com.nextcloud.desktopclient.nextcloud)$ +windowrulev2 = size 300 500,class:^(com.nextcloud.desktopclient.nextcloud)$ +windowrulev2 = move 100%-600 50,class:^(com.nextcloud.desktopclient.nextcloud)$ +windowrulev2 = float,class:^(syncthingtray)$ +windowrulev2 = size 400 500,class:^(syncthingtray)$ +windowrulev2 = move 100%-600 50,class:^(syncthingtray)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more @@ -124,16 +140,24 @@ bind = $mainMod, V, togglefloating, bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, S, togglesplit, # dwindle bind = $mainMod, Space, exec, hyprmenu_run +bind = $mainMod+Shift, Space, exec, android-launch bind = $mainMod+Shift, P, exec, passmenu -bind = $mainMod+Shift, B, exec, qutebrowser +bind = $mainMod+Shift, B, exec, firefox +bind = $mainMod+Alt, B, exec, torbrowser-launcher bind = $mainMod+Shift, E, exec, alacritty -e neomutt bind = $mainMod+Shift, Return, exec, alacritty +bind = $mainMod+Alt, Return, exec, torcritty bind = $mainMod, F, fullscreen, 0 bind = $mainMod, M, exec, doc -binde=, XF86AudioMute, exec, wpctl set-mute toggle +bind = $mainMod+Shift, T, exec, alacritty --class floating -e btop +bind = $mainMod+Alt+Shift, T, exec, alacritty --class floating -e remotebtop n8-srv +bind = $mainMod+Alt, W, exec, sh -c 'killall waybar && waybar' +binde=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle binde=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+ binde=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bind =, XF86AudioPlay, exec, playerctl play-pause +bind =, XF86MonBrightnessDown, exec, brightnessctl set 10%- +bind =, XF86MonBrightnessUp, exec, brightnessctl set +10% bind =, Scroll_Lock, exec, wlock bind = $mainMod, Escape, exec, wlock bind = , Print, exec, grimshot copy area @@ -198,3 +222,12 @@ bind = $mainMod+Shift, l, movewindow, r bind = $mainMod+Shift, h, movewindow, l bind = $mainMod+Shift, j, movewindow, d bind = $mainMod+Shift, k, movewindow, u + +# Misc +misc { + disable_hyprland_logo = true + disable_splash_rendering = true + enable_swallow = true + swallow_regex = ^(Alacritty)$ + animate_manual_resizes = true +} diff --git a/.config/mimeapps.list b/.config/mimeapps.list index d1e166b..47f0b11 100644 --- a/.config/mimeapps.list +++ b/.config/mimeapps.list @@ -1,12 +1,12 @@ [Default Applications] -text/html=qutebrowser.desktop +text/html=firefox.desktop x-scheme-handler/lbry=lbry.desktop x-scheme-handler/etcher=balena-etcher.desktop -x-scheme-handler/http=org.qutebrowser.qutebrowser.desktop -x-scheme-handler/https=org.qutebrowser.qutebrowser.desktop -x-scheme-handler/qute=org.qutebrowser.qutebrowser.desktop +x-scheme-handler/http=firefox.desktop +x-scheme-handler/https=firefox.desktop +x-scheme-handler/qute=firefox.desktop x-scheme-handler/mailto=neomutt.desktop applications/pdf=org.pwmt.zathura.desktop diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 9e039af..c75aed9 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -7,4 +7,6 @@ require('plug') require('keymap') require('settings') -require('coc') +require('lsp') +require('cmp-config') +require('tree') diff --git a/.config/nvim/lua/keymap.lua b/.config/nvim/lua/keymap.lua index ccab671..5b709cb 100644 --- a/.config/nvim/lua/keymap.lua +++ b/.config/nvim/lua/keymap.lua @@ -12,18 +12,9 @@ vim.api.nvim_set_keymap("n", "<leader>ec", ":e $MYVIMRC<CR>", {noremap = true}) vim.api.nvim_set_keymap("n", "<leader>tn", ":tabnew<CR>", {noremap = true}) vim.api.nvim_set_keymap("n", "<leader>tc", ":tabclose<CR>", {noremap = true}) vim.api.nvim_set_keymap("n", "<leader>tt", ":tabnew<CR>:term<CR>a", {noremap = true}) -vim.api.nvim_set_keymap("n", "<leader>Tn", ":tnext<CR>", {noremap = true}) -vim.api.nvim_set_keymap("n", "<leader>Tp", ":tprevious<CR>", {noremap = true}) -vim.api.nvim_set_keymap("n", "<leader>Tf", ":tfirst<CR>", {noremap = true}) -vim.api.nvim_set_keymap("n", "<leader>Tl", ":tlast<CR>", {noremap = true}) -vim.api.nvim_set_keymap("n", "<leader>tselect", ":tselect<Space>", {noremap = true}) -vim.api.nvim_set_keymap("n", "<leader>Tc", ":!ctags -R --sort=yes --c++-kins=+p --filed=+iaS --extras=+q . <CR><CR>", {noremap = true}) -vim.api.nvim_set_keymap("n", "<leader>f", ":Lexplore<CR>", {noremap = true}) -vim.api.nvim_set_keymap("n", "<leader>F", ":Lexplore %:p:h<CR>", {noremap = true}) - -vim.api.nvim_set_keymap("n", "<leader>zt", ":VZKFindTag<CR>", {noremap = true}) -vim.api.nvim_set_keymap("n", "<leader>zh", ":VZKHistory<CR>", {noremap = true}) +vim.api.nvim_set_keymap("n", "<leader>f", ":NvimTreeToggle<CR>", {noremap = true}) +vim.api.nvim_set_keymap("n", "<leader>F", ":NvimTreeFindFileToggle<CR>", {noremap = true}) vim.api.nvim_set_keymap("i", "(", "()<Esc>i", {noremap = true}) vim.api.nvim_set_keymap("i", ")", "<ESC>:call brackify#putbracket(')')<CR>la", {noremap = true}) @@ -31,25 +22,27 @@ vim.api.nvim_set_keymap("i", "[", "[]<Esc>i", {noremap = true}) vim.api.nvim_set_keymap("i", "]", "<ESC>:call brackify#putbracket(']')<CR>la", {noremap = true}) vim.api.nvim_set_keymap("i", "{", "{}<Esc>i", {noremap = true}) vim.api.nvim_set_keymap("i", "}", "<ESC>:call brackify#putbracket('}')<CR>la", {noremap = true}) +vim.api.nvim_set_keymap("i", '"', "<ESC>:call brackify#putquotes('\"')<CR>a", {noremap = true}) +vim.api.nvim_set_keymap("i", "'", "<ESC>:call brackify#putquotes(\"'\")<CR>a", {noremap = true}) vim.cmd('autocmd Filetype html inoremap <buffer> < <><ESC>i') vim.cmd('autocmd Filetype html inoremap <buffer> > <ESC>:call brackify#putbracket(">")<CR>la') +vim.cmd('autocmd FileType tex inoremap <buffer> " "') +vim.cmd('autocmd FileType tex inoremap <buffer> \' \'') -vim.api.nvim_set_keymap("i", '"', "<ESC>:call brackify#putquotes('\"')<CR>a", {noremap = true}) -vim.api.nvim_set_keymap("i", "'", "<ESC>:call brackify#putquotes(\"'\")<CR>a", {noremap = true}) vim.api.nvim_set_keymap("v", "(", "s(<ESC>pa)", {noremap = true}) vim.api.nvim_set_keymap("v", "[", "s[<ESC>pa]", {noremap = true}) vim.api.nvim_set_keymap("v", "{", "s{<ESC>pa}", {noremap = true}) vim.api.nvim_set_keymap("v", '"', 's"<ESC>pa"', {noremap = true}) vim.api.nvim_set_keymap("v", "'", "s'<ESC>pa'", {noremap = true}) -vim.cmd('autocmd Filetype c nnoremap <buffer> <tab> :CSelNextArg<Cr>') -vim.cmd('autocmd Filetype rust nnoremap <buffer> <leader>r :!cargo run<Cr>') -vim.cmd('autocmd Filetype rust nnoremap <buffer> <leader>R :!cargo run --release<Cr>') -vim.api.nvim_set_keymap("n", "<leader>dB", ":GdbBreakpointToggle", {noremap = true}) -vim.api.nvim_set_keymap("n", "<leader>dn", ":GdbNext", {noremap = true}) -vim.api.nvim_set_keymap("n", "<leader>ds", ":GdbStep", {noremap = true}) -vim.api.nvim_set_keymap("n", "<leader>dr", ":GdbRun", {noremap = true}) -vim.api.nvim_set_keymap("n", "<leader>dc", ":GdbContinue", {noremap = true}) +vim.api.nvim_set_keymap("i", "<C-u>a", "ä", {noremap = true}) +vim.api.nvim_set_keymap("i", "<C-u>A", "Ä", {noremap = true}) +vim.api.nvim_set_keymap("i", "<C-u>o", "ö", {noremap = true}) +vim.api.nvim_set_keymap("i", "<C-u>O", "Ö", {noremap = true}) +vim.api.nvim_set_keymap("i", "<C-u>u", "ü", {noremap = true}) +vim.api.nvim_set_keymap("i", "<C-u>U", "Ü", {noremap = true}) -vim.cmd("autocmd TextChangedI * lua vim.lsp.omnifunc(1)") +vim.api.nvim_set_keymap("n", "<space>T", ":lua require('cargotest').test_crate()<cr>", {noremap = true}) +vim.api.nvim_set_keymap("n", "<space>t", ":lua require('cargotest').test_module()<cr>", {noremap = true}) +vim.api.nvim_set_keymap("n", "<leader>z", "va{zfzz", {noremap = true}) diff --git a/.config/nvim/lua/plug.lua b/.config/nvim/lua/plug.lua index 904b496..1a78aa8 100644 --- a/.config/nvim/lua/plug.lua +++ b/.config/nvim/lua/plug.lua @@ -4,16 +4,60 @@ -- ┃ ╹ ╹┗━┛ ┗┛ ╹╹ ╹ ╹ ┗━╸┗━┛┗━┛╹╹ ╹┗━┛ ┃ -- ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ -local Plug = vim.fn['plug#'] - - -vim.call('plug#begin', '~/.local/share/nvim/plugged') - -Plug 'neovim/nvim-lspconfig' -Plug 'nvim-treesitter/nvim-treesitter' -Plug('neoclide/coc.nvim', {branch = 'release'}) -Plug("theRealCarneiro/hyprland-vim-syntax", { ft = "hypr" }) - -vim.call('plug#end') +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.loop.fs_stat(lazypath) then + vim.fn.system({ + "git", + "clone", + "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", -- latest stable release + lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) +require("lazy").setup({ + { "nvim-treesitter/nvim-treesitter" }, + { "neovim/nvim-lspconfig" }, + { "L3MON4D3/LuaSnip" }, + { "rafamadriz/friendly-snippets" }, + { "saadparwaiz1/cmp_luasnip" }, + { "hrsh7th/cmp-nvim-lua" }, + { "hrsh7th/cmp-nvim-lsp" }, + { "hrsh7th/cmp-path" }, + { + 'hrsh7th/nvim-cmp', + event = "InsertEnter", + dependencies = { + { + -- snippet plugin + "L3MON4D3/LuaSnip", + dependencies = "rafamadriz/friendly-snippets", + opts = { history = true, updateevents = "TextChanged,TextChangedI" }, + config = function(_, opts) + require("luasnip").config.set_config(opts) + end, + }, + }, + { + "saadparwaiz1/cmp_luasnip", + "hrsh7th/cmp-nvim-lua", + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-path", + }, + }, + { 'cargotest.nvim', url = 'https://git.nathanreiner.xyz/cargotest.nvim' }, + { + "nvim-tree/nvim-tree.lua", + version = "*", + lazy = false, + dependencies = { + "nvim-tree/nvim-web-devicons", + }, + config = function() + require("nvim-tree").setup {} + end, + }, +}) diff --git a/.config/nvim/lua/settings.lua b/.config/nvim/lua/settings.lua index 02cc457..ca2b1e8 100644 --- a/.config/nvim/lua/settings.lua +++ b/.config/nvim/lua/settings.lua @@ -26,7 +26,9 @@ vim.opt.showcmd = true vim.opt.wildmenu = true vim.opt.hlsearch = true vim.opt.conceallevel = 2 -vim.opt.colorcolumn = "80" +vim.opt.colorcolumn = "120" +vim.opt.foldmethod = "manual" +vim.opt.cursorline = true vim.cmd('filetype indent on') vim.opt.completeopt = { "menuone", "menu", "longest", "preview", "noinsert", "noselect" } @@ -40,8 +42,6 @@ vim.g.netrw_keepdir = true vim.g.netrw_winsize = 30 vim.cmd('autocmd Filetype netrw setlocal nolist') -vim.g.airline_powerline_fonts = true - vim.cmd("call statusbar#refresh()") local status_ok, configs = pcall(require, "nvim-treesitter.configs") @@ -63,3 +63,7 @@ configs.setup({ enable = true, }, }) + +vim.filetype.add({ + pattern = { [".*/hypr/.*%.conf"] = "hyprlang" }, +}) diff --git a/.config/qutebrowser/autoconfig.yml b/.config/qutebrowser/autoconfig.yml index 602025d..e004fa3 100644 --- a/.config/qutebrowser/autoconfig.yml +++ b/.config/qutebrowser/autoconfig.yml @@ -6,144 +6,6 @@ config_version: 2 settings: - bindings.commands: - global: - normal: - gle: spawn --userscript leo-eng - glf: spawn --userscript leo-fr - colors.completion.category.bg: - global: '#282828' - colors.completion.category.border.bottom: - global: '#282828' - colors.completion.category.border.top: - global: '#282828' - colors.completion.even.bg: - global: '#1d2021' - colors.completion.item.selected.bg: - global: '#b16286' - colors.completion.item.selected.border.bottom: - global: '#b16286' - colors.completion.item.selected.border.top: - global: '#b16286' - colors.completion.item.selected.match.fg: - global: '#ffffff' - colors.completion.match.fg: - global: '#b16286' - colors.completion.odd.bg: - global: '#1d2021' - colors.completion.scrollbar.bg: - global: '#282828' - colors.completion.scrollbar.fg: - global: '#b16286' - colors.messages.error.bg: - global: '#cc241d' - colors.messages.info.bg: - global: '#1d2021' - colors.messages.warning.bg: - global: '#e8c75c' - colors.statusbar.command.bg: - global: '#1d2021' - colors.statusbar.insert.bg: - global: '#282828' - colors.statusbar.normal.bg: - global: '#1d2021' - colors.statusbar.progress.bg: - global: '#b16286' - colors.statusbar.url.error.fg: - global: '#cc241d' - colors.statusbar.url.hover.fg: - global: '#458588' - colors.statusbar.url.success.http.fg: - global: '#989898' - colors.statusbar.url.success.https.fg: - global: '#b16286' - colors.tabs.bar.bg: - global: '#1d2021' - colors.tabs.even.bg: - global: '#1d2021' - colors.tabs.even.fg: - global: '#999' - colors.tabs.indicator.error: - global: '#e8c75c' - colors.tabs.indicator.start: - global: '#458588' - colors.tabs.indicator.stop: - global: '#b16286' - colors.tabs.odd.bg: - global: '#1d2021' - colors.tabs.odd.fg: - global: '#999' - colors.tabs.selected.even.bg: - global: '#b16286' - colors.tabs.selected.odd.bg: - global: '#b16286' - colors.webpage.darkmode.algorithm: - global: lightness-cielab - colors.webpage.darkmode.enabled: - global: false - colors.webpage.darkmode.grayscale.all: - global: true - colors.webpage.darkmode.grayscale.images: - global: 0.5 - colors.webpage.darkmode.policy.images: - global: never - colors.webpage.darkmode.policy.page: - global: always - colors.webpage.darkmode.threshold.background: - global: 24 - content.blocking.enabled: - global: true - content.blocking.method: - global: both content.desktop_capture: - https://live-samples.mdn.mozilla.net: true - https://live.mdnplay.dev: true - https://meet.element.io: true - content.media.audio_capture: - https://meet.element.io: true - content.notifications.enabled: - https://chat.nathanreiner.xyz: true - https://lichess.org: true - https://www.chess.com: false - https://www.reddit.com: false - downloads.location.directory: - global: ~/ - qt.force_platformtheme: - global: null - qt.workarounds.locale: - global: true - qt.workarounds.remove_service_workers: - global: false - statusbar.padding: - global: - bottom: 5 - left: 5 - right: 5 - top: 5 - statusbar.position: - global: bottom - tabs.indicator.padding: - global: - bottom: 4 - left: 2 - right: 5 - top: 4 - tabs.indicator.width: - global: 9 - tabs.max_width: - global: 250 - tabs.padding: - global: - bottom: 5 - left: 5 - right: 5 - top: 5 - tabs.position: - global: top - url.default_page: - global: https://search.nathanreiner.xyz - url.searchengines: - global: - DEFAULT: https://duckduckgo.com/?q={} - url.start_pages: - global: https://search.nathanreiner.xyz + https://call.element.io: true + https://mozilla.github.io: true diff --git a/.config/waybar/config b/.config/waybar/config index 1a5e021..ac10670 100644 --- a/.config/waybar/config +++ b/.config/waybar/config @@ -8,24 +8,12 @@ "margin-right": 13, "modules-left": ["hyprland/workspaces"], "modules-center": ["hyprland/window"], - "modules-right": ["tray","custom/keylock","custom/media","pulseaudio","memory","cpu","clock"], + "modules-right": ["tray","battery","custom/keylock","mpris","pulseaudio","clock"], // custom modules //////////////// "wlr/workspaces": { "format": "{icon}", "format-active": "{icon}", "on-click": "activate", - "format-icons":{ - "1": "α", - "2": "β", - "3": "γ", - "4": "δ", - "5": "ε", - "6": "ζ", - "7": "η", - "8": "θ", - "9": "ι", - "10":"κ" - } }, "hyprland/window": { "format": "{}", @@ -34,7 +22,8 @@ "(.*) - qutebrowser": "$1", "": "Hyprland" }, - "separate-outputs": true + "separate-outputs": true, + "max-length": 20 }, "tray": { // "icon-size": 21, @@ -56,31 +45,22 @@ "format": "{}% " }, "pulseaudio": { - // "scroll-step": 1, // %, can be a float - "format": "{format_source}", - "format-bluetooth": "{volume}% {icon} {format_source}", - "format-bluetooth-muted": " {icon} {format_source}", - "format-muted": " {format_source}", + "format": "{volume}% {icon}", + "format-bluetooth": "{volume}% {icon} ", + "format-muted": "", "format-icons": { - "headphone": "", - "hands-free": "", + "alsa_output.pci-0000_00_1f.3.analog-stereo": "", + "headphones": "", + "handsfree": "", "headset": "", "phone": "", "portable": "", "car": "", - "default": ["", "", ""] + "default": ["", ""] }, + "scroll-step": 1, "on-click": "pavucontrol" }, - "custom/media": { - "interval": "once", - "format": "{}", - "max-length": 40, - "on-click": "playerctl play-pause && pkill -RTMIN+9 waybar", - "on-click-right": "playerctl stop && pkill -RTMIN+9 waybar", - "exec": "sleep 0.1 && playerctl status", - "signal": 9 - }, "custom/keylock": { "interval": "once", "format": "{}", @@ -88,5 +68,28 @@ "exec": "keylock", "exec-on-event" : true, "signal": 10 + }, + "battery": { + "interval": 60, + "states": { + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-icons": ["", "", "", "", ""], + }, + "mpris": { + "format": "{player_icon} {dynamic}", + "format-paused": "{status_icon} <i>{dynamic}</i>", + "player-icons": { + "default": "▶", + "mpv": "🎵" + }, + "status-icons": { + "paused": "⏸" + }, + "interval": 0.1, + "dynamic-len": 20, + // "ignored-players": ["firefox"] } } diff --git a/.config/waybar/style.css b/.config/waybar/style.css index b9e2e8a..724a084 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -1,5 +1,5 @@ * { - font-family: SauceCodePro Nerd Font,FontAwesome, Roboto, Helvetica, Arial, sans-serif; + font-family: SauceCodePro NF,FontAwesome, Roboto, Helvetica, Arial, sans-serif; font-size: 13px; font-weight: bold; color: #ebdbb2; @@ -7,7 +7,6 @@ window#waybar { background-color: transparent; - /*background-color: #1d2021;*/ } #workspaces{ @@ -40,11 +39,13 @@ window#waybar { #tray, #custom-media, #custom-keylock, +#mpris, #pulseaudio, #memory, #cpu, #clock, -#window +#window, +#battery { background-color: rgba(60, 56, 54, 0.8); border-radius: 5px; @@ -52,6 +53,15 @@ window#waybar { padding: 5px 10px; } +#battery { + padding: 5px 10px; + padding-right: 18px; +} + #custom-keylock { padding: 5px 13px; } + +#mpris.playing { + background-color: #b16286; +} diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index 7eb08bb..80f68eb 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -30,7 +30,6 @@ setopt COMPLETE_ALIASES # History export HISTSIZE=1000 export SAVEHIST=1000 -export HISTFILE=~/.zsh_history setopt INC_APPEND_HISTORY setopt HIST_IGNORE_DUPS @@ -43,3 +42,4 @@ source ~/.profile setopt AUTO_CD export HISTFILE="$XDG_CACHE_HOME"/zsh/history +mkdir -p $(dirname $HISTFILE) diff --git a/.config/zsh/knight b/.config/zsh/knight index 74fd69b..15f8b4a 100644 --- a/.config/zsh/knight +++ b/.config/zsh/knight @@ -13,6 +13,8 @@ update_prompt() { export RPROMPT="$(prompt_git_status)" } -PROMPT="%F{cyan}%F{0}%K{cyan}%n%k%f%F{cyan}%k%f %F{cyan}%f%k%K{cyan}%F{0}%m%k%f%F{cyan}%k %f%k%F{magenta}%F{0}%K{magenta}%~%f%k%F{magenta}%k%f " +TOR_PROMPT="%F{red}$(torsocks show | grep -o '"..*"' | sed 's/.*/ %f%K{red}%F{0}tor%f%k%F{red}/g')%f" + +PROMPT="%F{cyan}%F{0}%K{cyan}%n%k%f%F{cyan}%k%f %F{cyan}%f%k%K{cyan}%F{0}%m%k%f%F{cyan}%k %f%k%F{magenta}%F{0}%K{magenta}%~%f%k%F{magenta}%k%f${TOR_PROMPT} " [[ -z "$precmd_functions" ]] && precmd_functions=() precmd_functions=($precmd_functions update_prompt) diff --git a/.local/share/nvim/site/autoload/statusbar.vim b/.local/share/nvim/site/autoload/statusbar.vim index 4dc8e31..8b9473c 100644 --- a/.local/share/nvim/site/autoload/statusbar.vim +++ b/.local/share/nvim/site/autoload/statusbar.vim @@ -1,27 +1,33 @@ function TabLabel(n) let buflist = tabpagebuflist(a:n) let winnr = tabpagewinnr(a:n) - return bufname(buflist[winnr - 1]) + return fnamemodify(bufname(buflist[winnr - 1]), ':t') endfunction function! TabLine() let s = '' for i in range(tabpagenr('$')) + let s ..= '%#TabLineFill# ' + " set the tab page number (for mouse clicks) + let s ..= '%' .. (i + 1) .. 'T' " select the highlighting if i + 1 == tabpagenr() - let s ..= '%#TablineC#%#TabLineSel#' + let s ..= '%#TabLineSel# ' else - let s ..= ' %#TabLine#' + let s ..= '%#TabLine# ' endif - " set the tab page number (for mouse clicks) - let s ..= '%' .. (i + 1) .. 'T' + " the label is made by TabLabel() + if TabLabel(i + 1) == "" + let s ..= "No Name" + else + let s ..= TabLabel(i + 1) + endif - " the label is made by MyTabLabel() - let s ..= '%{TabLabel(' .. (i + 1) .. ')}' + let s ..= " %" .. (i + 1) .. "X" if i + 1 == tabpagenr() - let s ..= '%#StatusLine#%#TabLine#' + let s ..= ' %#StatusLine#%#TabLine#' else let s ..= ' ' endif @@ -30,11 +36,6 @@ function! TabLine() " after the last tab fill with TabLineFill and reset tab page nr let s ..= '%#TabLineFill#%T' - " right-align the label to close the current tab page - if tabpagenr('$') > 1 - let s ..= '%=%#TablineC#%#TabLineSel#%999X ' - endif - return s endfunction @@ -52,13 +53,14 @@ function! statusbar#refresh() \ 'R' : 'R', \ 'Rv' : 'V·Replace', \ 'c' : 'Command', + \ 's' : 'Snipped' \} set statusline= - set statusline+=%#StatusLineBlock#\ %{toupper(g:currentmode[mode()])}%#StatusLine# - set statusline+=\ %#StatusLine#%#StatusLineBlock#%f%#StatusLine# + set statusline+=%#StatusLineBlock#\ %{toupper(g:currentmode[mode()])}\ %#StatusLine#" + set statusline+=\ %#StatusLine#%#StatusLineBlock#\ %f\ %#StatusLine# set statusline+=%= - set statusline+=%#StatusLine#%#StatusLineBlock#%l/%L\ %p%%\ + set statusline+=%#StatusLine#%#StatusLineBlock#\ %l/%L\ %p%%\ set tabline=%!TabLine() endfunction diff --git a/.local/share/nvim/site/colors/n8.vim b/.local/share/nvim/site/colors/n8.vim index 816b7ef..bc966fc 100644 --- a/.local/share/nvim/site/colors/n8.vim +++ b/.local/share/nvim/site/colors/n8.vim @@ -1,86 +1,85 @@ " Vim color file -" Maintainer: Nathan P. Reiner <nathan.p.reiner@gmail.com> +" Maintainer: Nathan P. Reiner <nathan@nathanreiner.xyz> " -syntax reset set cursorline " Default UI -hi Normal ctermfg=white -hi NonText ctermfg=darkgrey -hi LineNr ctermfg=darkgrey -hi CursorLine cterm=none -hi CursorLineNr cterm=bold ctermfg=gray -hi VertSplit cterm=NONE ctermfg=darkgrey ctermbg=black -hi FloatBorder ctermfg='darkgrey' ctermbg='darkgrey' +hi Normal ctermfg=white guifg=#ebdbb2 +hi NonText ctermfg=darkgrey +hi LineNr ctermfg=darkgrey +hi CursorLine cterm=NONE ctermbg=236 +hi CursorLineNr cterm=bold ctermbg=237 ctermfg=gray +hi VertSplit cterm=NONE ctermbg=black ctermfg=darkgrey +hi FloatBorder ctermbg=NONE ctermfg=darkgray +hi NormalFloat ctermbg=NONE ctermfg=white " Statusline -hi StatusLine cterm=NONE ctermfg=darkcyan -hi StatusLineNC cterm=NONE ctermfg=black ctermbg=darkgrey -hi StatusLineBlock cterm=NONE ctermbg=darkcyan ctermfg=black +hi StatusLine cterm=NONE ctermbg=237 ctermfg=NONE +hi StatusLineNC cterm=NONE ctermbg=none ctermfg=black +hi StatusLineBlock cterm=NONE ctermbg=magenta ctermfg=black +hi SignColumn cterm=NONE ctermbg=none ctermfg=none " Tab -hi TabLine cterm=italic ctermbg=black ctermfg=darkgrey -hi TabLineFill cterm=bold ctermbg=black ctermfg=darkgrey -hi TabLineSel cterm=none ctermbg=darkcyan ctermfg=black -hi TabLineC cterm=none ctermbg=black ctermfg=darkcyan +hi TabLine cterm=NONE ctermbg=black ctermfg=darkgrey +hi TabLineFill cterm=NONE ctermbg=black ctermfg=darkgrey +hi TabLineSel cterm=NONE ctermbg=magenta ctermfg=black +hi TabLineC cterm=NONE ctermbg=black ctermfg=darkcyan " Highlight -hi Visual ctermbg=darkgrey ctermfg=black +hi Visual ctermbg=237 " Text -hi Title cterm=bold ctermfg=brown ctermbg=black +hi Title cterm=NONE ctermbg=237 ctermfg=darkgray " Tooltip -hi Tooltip ctermbg=lightgray -hi Menu ctermbg=lightgray +hi Tooltip ctermbg=lightgray +hi Menu ctermbg=lightgray " Menu -hi Pmenu ctermbg=darkgrey ctermfg=black -hi PmenuSel cterm=reverse ctermbg=darkgrey ctermfg=black -hi PmenuSbar ctermbg=lightgray ctermfg=black -hi PmenuThumb ctermbg=black +hi Pmenu cterm=NONE ctermbg=237 ctermfg=white +hi PmenuSel cterm=bold ctermbg=darkgrey ctermfg=white +hi PmenuSbar ctermbg=236 ctermfg=darkgray +hi PmenuThumb ctermbg=darkgray " Search -hi Search ctermbg=darkblue ctermfg=black +hi Search ctermbg=239 ctermfg=none " Programming GUI -hi Type cterm=italic ctermfg=darkcyan -hi Comment ctermfg=darkgrey -hi ColorColumn cterm=none ctermbg=black ctermfg=gray -hi identifier cterm=NONE ctermfg=grey -hi Error cterm=italic ctermfg=darkred ctermbg=black -hi Constant cterm=italic ctermfg=darkblue -hi String cterm=italic ctermfg=cyan -hi Character cterm=italic ctermfg=yellow -hi Number cterm=NONE ctermfg=darkblue -hi Boolean cterm=italic ctermfg=green -hi PreProc ctermfg=darkgreen -hi Statement cterm=italic ctermfg=yellow -hi Todo cterm=italic ctermbg=black ctermfg=darkred -hi SignColumn ctermbg=black -" -" Git -hi GitGutterAdd cterm=NONE ctermbg=black ctermfg=green -hi GitGutterDelete cterm=NONE ctermbg=black ctermfg=red -hi GitGutterChange cterm=NONE ctermbg=black ctermfg=darkyellow +hi Type cterm=italic ctermfg=darkcyan +hi Comment ctermfg=darkgrey +hi ColorColumn cterm=NONE ctermbg=none ctermfg=none +hi identifier cterm=NONE ctermfg=grey +hi Error cterm=italic ctermbg=black ctermfg=darkred +hi Constant cterm=italic ctermfg=darkblue +hi String cterm=italic ctermfg=cyan +hi Character cterm=italic ctermfg=yellow +hi Number cterm=NONE ctermfg=darkblue +hi Boolean cterm=italic ctermfg=green +hi PreProc ctermfg=darkgreen +hi Statement cterm=italic ctermfg=yellow +hi Todo cterm=italic ctermbg=black ctermfg=darkred " Spell -hi SpellBad cterm=underline ctermbg=black ctermfg=darkred +hi SpellBad cterm=underline ctermbg=black ctermfg=darkred " NerdTree -hi Directory cterm=NONE ctermbg=black ctermfg=darkcyan +hi Directory cterm=NONE ctermbg=black ctermfg=darkcyan " Markdown -hi markdownH1 cterm=bold,italic ctermbg=black ctermfg=brown -hi markdownH2 cterm=bold,italic ctermbg=black ctermfg=brown -hi markdownH3 cterm=bold,italic ctermbg=black ctermfg=brown -hi markdownH4 cterm=bold,italic ctermbg=black ctermfg=brown -hi markdownH5 cterm=bold,italic ctermbg=black ctermfg=brown -hi markdownH6 cterm=bold,italic ctermbg=black ctermfg=brown -hi markdownBlockquote cterm=NONE ctermbg=black ctermfg=darkgrey -hi markdownCode cterm=italic ctermbg=black ctermfg=white -hi markdownCodeDelimiter cterm=italic ctermbg=black ctermfg=darkgrey +hi markdownH1 cterm=bold,italic ctermbg=black ctermfg=brown +hi markdownH2 cterm=bold,italic ctermbg=black ctermfg=brown +hi markdownH3 cterm=bold,italic ctermbg=black ctermfg=brown +hi markdownH4 cterm=bold,italic ctermbg=black ctermfg=brown +hi markdownH5 cterm=bold,italic ctermbg=black ctermfg=brown +hi markdownH6 cterm=bold,italic ctermbg=black ctermfg=brown +hi markdownBlockquote cterm=NONE ctermbg=black ctermfg=darkgrey +hi markdownCode cterm=italic ctermbg=black ctermfg=white +hi markdownCodeDelimiter cterm=italic ctermbg=black ctermfg=darkgrey " Folds -hi Folded ctermbg=gray +hi Folded ctermbg=black ctermfg=gray + +" Completion +hi CmpItemKind cterm=italic ctermbg=NONE ctermfg=magenta +hi CmpSel ctermbg=magenta ctermfg=black @@ -3,7 +3,7 @@ export XDG_CONFIG_HOME="$HOME/.config" export XDG_CACHE_HOME="$HOME/.cache" export XDG_DATA_HOME="$HOME/.local/share" export XDG_STATE_HOME="$HOME/.local/state" -export XDG_DOCUMENTS_DIR="$HOME/documents/" +export XDG_DOCUMENTS_DIR="$HOME/docs/" export XDG_DOWNLOADS_DIR="$HOME/" export JAVA_HOME=/usr/lib/jvm/default @@ -12,7 +12,7 @@ export PATH="$HOME/.gem/ruby/2.7.0/bin":$PATH export PATH="/opt/rocm/bin":$PATH export EDITOR="nvim" export TERMINAL="st" -export BROWSER="qutebrowser" +export BROWSER="firefox" export READER="zathura" export LOCKSCREEN="wlock" export GEM_HOME="$XDG_DATA_HOME"/gem @@ -40,8 +40,11 @@ export CABAL_CONFIG="$XDG_CONFIG_HOME"/cabal/config export CABAL_DIR="$XDG_DATA_HOME"/cabal export HISTFILE="${XDG_STATE_HOME}"/bash/history export ANDROID_HOME="$XDG_DATA_HOME"/android +export WINEPREFIX="$XDG_DATA_HOME"/wineprefixes/default export PAGER="nvimpager -p" export MANPAGER="$PAGER" +export QT_STYLE_OVERRIDE=adwaita-dark +export CLANGD_FLAGS='--enable-config' alias gpg2=gpg2 --homedir "$XDG_DATA_HOME/gnupg" alias wget=wget --hsts-file="$XDG_DATA_HOME/wget-hsts" @@ -50,6 +53,7 @@ alias v=nvim alias fmount=udisksctl mount -b alias funmount=udisksctl unmount -b alias open=setsid xdg-open +alias p=paru export LESSHISTFILE="$XDG_CACHE_HOME/less/history" export MYSQL_HISTFILE="$XDG_DATA_HOME/mysql/history" @@ -86,7 +90,10 @@ compactbutton=white,black ' if [ -z "${DISPLAY}${WAYLAND_DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then - #start_dwl Hyprland 2> /dev/null > /dev/null - exit +else + echo + toilet -f future $(whoami) @ $(cat /etc/hostname).local | sed 's/.*/ &/g' + echo + sleep 0.01 # prevent to write return to term at spawn fi @@ -7,12 +7,9 @@ PROFILE=.profile; for f in $CONFIG $LOCAL $ZSH_ENV $PROFILE; do - test "$f" -nt "$HOME/$f" && echo "updating $f" - test "$f" -ot "$HOME/$f" && echo "fetching $f" - test ! -e "$HOME/$f" && echo "installing $f" + test "$f" -nt "$HOME/$f" && echo "updating $f" && cp -u "$f" "$HOME/$f" + test "$f" -ot "$HOME/$f" && echo "fetching $f" && cp -u "$HOME/$f" "$f" + test ! -e "$HOME/$f" && echo "installing $f" && cp -u "$f" "$HOME/$f" test ! -e "$(dirname "$HOME/$f")" && mkdir -p "$(dirname "$HOME/$f")" - - cp -u "$f" "$HOME/$f" - cp -u "$HOME/$f" "$f" done |