diff --git a/.bash_aliases b/.bash_aliases
index ad71b1f..82a7bdd 100644
--- a/.bash_aliases
+++ b/.bash_aliases
@@ -1,4 +1,4 @@
-#
+#!/bin/bash
#
#
# Please include these in the `.bashrc`
@@ -6,7 +6,7 @@
# ~/.bash_aliases
#
-
+alias svim='sudo -E -s nvim'
# dotfiles
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
@@ -15,13 +15,18 @@ alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
#alias cfgp2om="config push -u origin master"
# Assumes `exa` package is installed
-alias ll='exa -l'
+alias l='exa -l'
alias la='exa -la'
alias lh='exa -lha'
alias ltnew='exa -lrah --sort=newest --git'
alias lg='exa -Ga'
alias ltr='exa --tree --level=3 --long'
+
+# utils
+
+alias cat='bat'
+
# Add a function to open ranger in either a new tmux
# or a new window if already in a tmux.
# Note: Refuse to Nest!!!
@@ -32,14 +37,19 @@ alias gh='history|grep'
# count files in directory
alias count='find . -type f | wc -l'
-# shareutils
+############
+# shareutils - uploads and pastes
+# privatebin
+#alias pbsend="
+
+#alias hugz="curl -sT '$*' https://hugz.io"
alias uploadhgz='curl -sT - https://hugz.io/' # upload
alias ixio="curl -F 'f:1=<-' ix.io" # pipe output to ix.io
alias termbin="nc termbin.com 9999" # needs netcat
## commit faster, you git!
-alias gconsolidate="git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done"
+#alias gconsolidate="git branch -r | grep -v '\->' | while read remote; do git branch --track '${remote#origin/}' '$remote'; done"
alias gad='git add'
alias gst='git status'
alias gfa='git fetch --all --prune'
@@ -67,4 +77,39 @@ alias aurepwkv='aureport --start this-week --key --summary'
alias aurfilist='ausearch --start this-week -k access --raw | aureport --file --summary'
# check the user accounts implicated
alias aurlusfi='ausearch --start this-week -k access --raw | aureport --user --summary'
-~
+
+
+# kitty
+
+# needs ImageMagick
+alias icat="kitty +kitten icat"
+
+# diff
+alias d="kitty +kitten diff"
+
+# hyperlinked grep
+alias hg="kitty +kitten hyperlinked_grep"
+
+
+# hugz.io
+
+
+
+# Packaging
+#
+# Open Build Service
+#
+# osc
+
+alias oscb="osc build --ccache"
+alias oscsd="osc service runall download_files"
+
+
+
+
+# folder travel
+
+alias cdsof="cd /home/mogad0n/litter/Software"
+alias cdpic="cd /home/mogad0n/Pictures"
+
+alias yaygitsyu="pacman -Qmq | grep -Ee '-(cvs|svn|git|hg|bzr|darcs)$' | yay -S --needed -"
diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc
index 0aef78d..0a8c8b7 100644
--- a/.config/dunst/dunstrc
+++ b/.config/dunst/dunstrc
@@ -1,3 +1,5 @@
+# See dunst(5) for all configuration options
+
[global]
### Display ###
@@ -15,23 +17,34 @@
#
# 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-13+39"
+ ### Geometry ###
- # Turn on the progess bar
+ # 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 = 10x50
+
+ # Scale factor. It is auto-detected if value is 0.
+ scale = 0
+
+ # Maximum number of notification (0 means no limit)
+ notification_limit = 0
+
+ ### 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
# Set the progress bar height. This includes the frame, so make sure
@@ -48,26 +61,19 @@
progress_bar_max_width = 300
- # Show how many messages are currently hidden (because of geometry).
+ # Show how many messages are currently hidden (because of
+ # notification_limit).
indicate_hidden = yes
- # Shrink window if it's smaller than the width. Will be ignored if
- # width is 0.
- shrink = no
-
# 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 = 10
-
- # 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 = 0
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
+ # If gap_size is greater than 0, this setting will be ignored.
separator_height = 2
# Padding between text and separator.
@@ -84,7 +90,13 @@
frame_width = 3
# Defines color of the frame around the notification window.
- frame_color = "#BD93F9"
+ frame_color = "#aaaaaa"
+
+ # 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 = 0
# Define a color for the separator.
# possible values are:
@@ -102,11 +114,11 @@
# 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 ###
- font = Source Code Pro 8
+ font = Monospace 8
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
@@ -120,7 +132,7 @@
# underline
#
# For a complete reference see
- # .
+ # .
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
@@ -146,7 +158,7 @@
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
- format = "%s\n\n%b"
+ format = "%s\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
@@ -161,11 +173,7 @@
# 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
@@ -183,18 +191,27 @@
### Icons ###
- # Align icons left/right/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 = 0
+ min_icon_size = 32
# Scale larger icons down to this size, set to 0 to disable
- max_icon_size = 32
+ max_icon_size = 128
- # 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 ###
@@ -212,7 +229,7 @@
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
- browser = /usr/bin/firefox -new-tab
+ browser = /usr/bin/xdg-open
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
@@ -223,20 +240,6 @@
# 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.
@@ -277,10 +280,14 @@
# 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
@@ -297,32 +304,6 @@
# where there are multiple screens with very different dpi values.
per_monitor_dpi = false
-# The internal keyboard shortcut support in dunst is now considered deprecated
-# and should be replaced by dunstctl calls. You can use the configuration of your
-# WM or DE to bind these to shortcuts of your choice.
-# Check the dunstctl manual page for more info.
-[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. Equivalent dunstctl command:
- # dunstctl close
- close = ctrl+space
-
- # Close all notifications. Equivalent dunstctl command:
- # dunstctl close-all
- close_all = ctrl+shift+space
-
- # Redisplay last message(s). Equivalent dunstctl command:
- # dunstctl history-pop
- # history = ctrl+grave
-
- # Context menu. Equivalent dunstctl command:
- # dunstctl context
- # context = ctrl+shift+period
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
@@ -331,14 +312,14 @@
foreground = "#888888"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
- #icon = /path/to/icon
+ #default_icon = /path/to/icon
[urgency_normal]
background = "#285577"
foreground = "#ffffff"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
- #icon = /path/to/icon
+ #default_icon = /path/to/icon
[urgency_critical]
background = "#900000"
@@ -346,7 +327,7 @@
frame_color = "#ff0000"
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.
@@ -371,8 +352,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.
#
@@ -387,8 +377,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.
@@ -427,7 +415,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/nvim/plugin/packer_compiled.lua b/.config/nvim/plugin/packer_compiled.lua
new file mode 100644
index 0000000..4e3e2af
--- /dev/null
+++ b/.config/nvim/plugin/packer_compiled.lua
@@ -0,0 +1,204 @@
+-- Automatically generated packer.nvim plugin loader code
+
+if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
+ vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
+ return
+end
+
+vim.api.nvim_command('packadd packer.nvim')
+
+local no_errors, error_msg = pcall(function()
+
+_G._packer = _G._packer or {}
+_G._packer.inside_compile = true
+
+local time
+local profile_info
+local should_profile = false
+if should_profile then
+ local hrtime = vim.loop.hrtime
+ profile_info = {}
+ time = function(chunk, start)
+ if start then
+ profile_info[chunk] = hrtime()
+ else
+ profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
+ end
+ end
+else
+ time = function(chunk, start) end
+end
+
+local function save_profiles(threshold)
+ local sorted_times = {}
+ for chunk_name, time_taken in pairs(profile_info) do
+ sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
+ end
+ table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
+ local results = {}
+ for i, elem in ipairs(sorted_times) do
+ if not threshold or threshold and elem[2] > threshold then
+ results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
+ end
+ end
+ if threshold then
+ table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
+ end
+
+ _G._packer.profile_output = results
+end
+
+time([[Luarocks path setup]], true)
+local package_path_str = "/home/mogad0n/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/mogad0n/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/mogad0n/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/mogad0n/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
+local install_cpath_pattern = "/home/mogad0n/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
+if not string.find(package.path, package_path_str, 1, true) then
+ package.path = package.path .. ';' .. package_path_str
+end
+
+if not string.find(package.cpath, install_cpath_pattern, 1, true) then
+ package.cpath = package.cpath .. ';' .. install_cpath_pattern
+end
+
+time([[Luarocks path setup]], false)
+time([[try_loadstring definition]], true)
+local function try_loadstring(s, component, name)
+ local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
+ if not success then
+ vim.schedule(function()
+ vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
+ end)
+ end
+ return result
+end
+
+time([[try_loadstring definition]], false)
+time([[Defining packer_plugins]], true)
+_G.packer_plugins = {
+ LuaSnip = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/LuaSnip",
+ url = "https://github.com/L3MON4D3/LuaSnip"
+ },
+ ["cmp-buffer"] = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/cmp-buffer",
+ url = "https://github.com/hrsh7th/cmp-buffer"
+ },
+ ["cmp-nvim-lsp"] = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
+ url = "https://github.com/hrsh7th/cmp-nvim-lsp"
+ },
+ ["cmp-nvim-lua"] = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua",
+ url = "https://github.com/hrsh7th/cmp-nvim-lua"
+ },
+ ["cmp-path"] = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/cmp-path",
+ url = "https://github.com/hrsh7th/cmp-path"
+ },
+ cmp_luasnip = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
+ url = "https://github.com/saadparwaiz1/cmp_luasnip"
+ },
+ ["friendly-snippets"] = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/friendly-snippets",
+ url = "https://github.com/rafamadriz/friendly-snippets"
+ },
+ harpoon = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/harpoon",
+ url = "https://github.com/theprimeagen/harpoon"
+ },
+ ["lsp-zero.nvim"] = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/lsp-zero.nvim",
+ url = "https://github.com/VonHeikemen/lsp-zero.nvim"
+ },
+ ["mason-lspconfig.nvim"] = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim",
+ url = "https://github.com/williamboman/mason-lspconfig.nvim"
+ },
+ ["mason.nvim"] = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/mason.nvim",
+ url = "https://github.com/williamboman/mason.nvim"
+ },
+ ["nvim-cmp"] = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/nvim-cmp",
+ url = "https://github.com/hrsh7th/nvim-cmp"
+ },
+ ["nvim-lspconfig"] = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
+ url = "https://github.com/neovim/nvim-lspconfig"
+ },
+ ["nvim-treesitter"] = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
+ url = "https://github.com/nvim-treesitter/nvim-treesitter"
+ },
+ ["packer.nvim"] = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/packer.nvim",
+ url = "https://github.com/wbthomason/packer.nvim"
+ },
+ playground = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/playground",
+ url = "https://github.com/nvim-treesitter/playground"
+ },
+ ["plenary.nvim"] = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/plenary.nvim",
+ url = "https://github.com/nvim-lua/plenary.nvim"
+ },
+ ["rose-pine"] = {
+ config = { "\27LJ\2\n9\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0\26colorscheme rose-pine\bcmd\bvim\0" },
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/rose-pine",
+ url = "https://github.com/rose-pine/neovim"
+ },
+ ["telescope.nvim"] = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/telescope.nvim",
+ url = "https://github.com/nvim-telescope/telescope.nvim"
+ },
+ undotree = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/undotree",
+ url = "https://github.com/mbbill/undotree"
+ },
+ ["vim-fugitive"] = {
+ loaded = true,
+ path = "/home/mogad0n/.local/share/nvim/site/pack/packer/start/vim-fugitive",
+ url = "https://github.com/tpope/vim-fugitive"
+ }
+}
+
+time([[Defining packer_plugins]], false)
+-- Config for: rose-pine
+time([[Config for rose-pine]], true)
+try_loadstring("\27LJ\2\n9\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0\26colorscheme rose-pine\bcmd\bvim\0", "config", "rose-pine")
+time([[Config for rose-pine]], false)
+
+_G._packer.inside_compile = false
+if _G._packer.needs_bufread == true then
+ vim.cmd("doautocmd BufRead")
+end
+_G._packer.needs_bufread = false
+
+if should_profile then save_profiles() end
+
+end)
+
+if not no_errors then
+ error_msg = error_msg:gsub('"', '\\"')
+ vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
+end
diff --git a/.config/starship.toml b/.config/starship.toml
index aab780e..e7febd3 100644
--- a/.config/starship.toml
+++ b/.config/starship.toml
@@ -1,7 +1,5 @@
# ~/.config/starship.toml
-
-
-
+format = "$all"
# custom prompt
@@ -85,5 +83,3 @@ full_symbol = "🔋 "
charging_symbol = "⚡️ "
discharging_symbol = "💀 "
-[prompt]
-format = "$all$directory$character"