yo
This commit is contained in:
commit
5959a0325c
51 changed files with 1786 additions and 0 deletions
118
.bash_profile
Normal file
118
.bash_profile
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
#!/bin/zsh
|
||||||
|
|
||||||
|
export PATH="$PATH:$(du "$HOME/.local/bin" | cut -f2 | paste -sd ':' -)"
|
||||||
|
|
||||||
|
unsetopt PROMPT_SP
|
||||||
|
|
||||||
|
# Default programs:
|
||||||
|
export EDITOR="nvim"
|
||||||
|
export TERMINAL="kitty"
|
||||||
|
export BROWSER="firefox-developer-edition"
|
||||||
|
|
||||||
|
# Move config files out of home and into .config/
|
||||||
|
export XINITRC="${XDG_CONFIG_HOME:-$HOME/.config}/x11/xinitrc"
|
||||||
|
export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc-2.0"
|
||||||
|
export LESSHISTFILE="-"
|
||||||
|
export INPUTRC="${XDG_CONFIG_HOME:-$HOME/.config}/shell/inputrc"
|
||||||
|
export ZDOTDIR="${XDG_CONFIG_HOME:-$HOME/.config}/zsh"
|
||||||
|
export KODI_DATA="${XDG_DATA_HOME:-$HOME/.local/share}/kodi"
|
||||||
|
export PASSWORD_STORE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/password-store"
|
||||||
|
export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
|
||||||
|
export ANDROID_SDK_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/android"
|
||||||
|
export CARGO_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/cargo"
|
||||||
|
export GOPATH="${XDG_DATA_HOME:-$HOME/.local/share}/go"
|
||||||
|
export HISTFILE="${XDG_DATA_HOME:-$HOME/.local/share}/history"
|
||||||
|
|
||||||
|
# Other program settings:
|
||||||
|
export FZF_DEFAULT_OPTS="--layout=reverse --height 40%"
|
||||||
|
export LESS=-R
|
||||||
|
export LESS_TERMCAP_mb="$(printf '%b' '[1;31m')"
|
||||||
|
export LESS_TERMCAP_md="$(printf '%b' '[1;36m')"
|
||||||
|
export LESS_TERMCAP_me="$(printf '%b' '[0m')"
|
||||||
|
export LESS_TERMCAP_so="$(printf '%b' '[01;44;33m')"
|
||||||
|
export LESS_TERMCAP_se="$(printf '%b' '[0m')"
|
||||||
|
export LESS_TERMCAP_us="$(printf '%b' '[1;32m')"
|
||||||
|
export LESS_TERMCAP_ue="$(printf '%b' '[0m')"
|
||||||
|
export LESSOPEN="| /usr/bin/highlight -O ansi %s 2>/dev/null"
|
||||||
|
export QT_QPA_PLATFORMTHEME="gtk2" # Have QT use gtk2 theme.
|
||||||
|
|
||||||
|
# This is the list for lf icons:
|
||||||
|
export LF_ICONS="di=📁:\
|
||||||
|
fi=📃:\
|
||||||
|
tw=🤝:\
|
||||||
|
ow=📂:\
|
||||||
|
ln=⛓:\
|
||||||
|
or=❌:\
|
||||||
|
ex=🎯:\
|
||||||
|
*.txt=✍:\
|
||||||
|
*.mom=✍:\
|
||||||
|
*.me=✍:\
|
||||||
|
*.ms=✍:\
|
||||||
|
*.png=🖼:\
|
||||||
|
*.webp=🖼:\
|
||||||
|
*.ico=🖼:\
|
||||||
|
*.jpg=📸:\
|
||||||
|
*.jpe=📸:\
|
||||||
|
*.jpeg=📸:\
|
||||||
|
*.gif=🖼:\
|
||||||
|
*.svg=🗺:\
|
||||||
|
*.tif=🖼:\
|
||||||
|
*.tiff=🖼:\
|
||||||
|
*.xcf=🖌:\
|
||||||
|
*.html=🌎:\
|
||||||
|
*.xml=📰:\
|
||||||
|
*.gpg=🔒:\
|
||||||
|
*.css=🎨:\
|
||||||
|
*.pdf=📚:\
|
||||||
|
*.djvu=📚:\
|
||||||
|
*.epub=📚:\
|
||||||
|
*.csv=📓:\
|
||||||
|
*.xlsx=📓:\
|
||||||
|
*.tex=📜:\
|
||||||
|
*.md=📘:\
|
||||||
|
*.r=📊:\
|
||||||
|
*.R=📊:\
|
||||||
|
*.rmd=📊:\
|
||||||
|
*.Rmd=📊:\
|
||||||
|
*.m=📊:\
|
||||||
|
*.mp3=🎵:\
|
||||||
|
*.opus=🎵:\
|
||||||
|
*.ogg=🎵:\
|
||||||
|
*.m4a=🎵:\
|
||||||
|
*.flac=🎼:\
|
||||||
|
*.wav=🎼:\
|
||||||
|
*.mkv=🎥:\
|
||||||
|
*.mp4=🎥:\
|
||||||
|
*.webm=🎥:\
|
||||||
|
*.mpeg=🎥:\
|
||||||
|
*.avi=🎥:\
|
||||||
|
*.mov=🎥:\
|
||||||
|
*.mpg=🎥:\
|
||||||
|
*.wmv=🎥:\
|
||||||
|
*.m4b=🎥:\
|
||||||
|
*.flv=🎥:\
|
||||||
|
*.zip=📦:\
|
||||||
|
*.rar=📦:\
|
||||||
|
*.7z=📦:\
|
||||||
|
*.tar.gz=📦:\
|
||||||
|
*.z64=🎮:\
|
||||||
|
*.v64=🎮:\
|
||||||
|
*.n64=🎮:\
|
||||||
|
*.gba=🎮:\
|
||||||
|
*.nes=🎮:\
|
||||||
|
*.gdi=🎮:\
|
||||||
|
*.1=ℹ:\
|
||||||
|
*.nfo=ℹ:\
|
||||||
|
*.info=ℹ:\
|
||||||
|
*.log=📙:\
|
||||||
|
*.iso=📀:\
|
||||||
|
*.img=📀:\
|
||||||
|
*.bib=🎓:\
|
||||||
|
*.ged=👪:\
|
||||||
|
*.part=💔:\
|
||||||
|
*.torrent=🔽:\
|
||||||
|
*.jar=♨:\
|
||||||
|
*.java=♨:\
|
||||||
|
"
|
||||||
|
|
||||||
|
[ ! -f ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ] && shortcuts >/dev/null 2>&1 &
|
23
.bashrc
Normal file
23
.bashrc
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
stty -ixon
|
||||||
|
shopt -s autocd
|
||||||
|
HISTSIZE= HISTFILESIZE=
|
||||||
|
|
||||||
|
# Set Bash prompt. Capitalize username and host if root user
|
||||||
|
if [ "$EUID" -ne 0 ]
|
||||||
|
then export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][\[$(tput setaf 3)\]\u\[$(tput setaf 2)\]@\[$(tput setaf 4)\]\h \[$(tput setaf 5)\]\W\[$(tput setaf 1)\]]\[$(tput setaf 7)\]\\$ \[$(tput sgr0)\]"
|
||||||
|
else export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][\[$(tput setaf 3)\]ROOT\[$(tput setaf 2)\]@\[$(tput setaf 4)\]$(hostname | awk '{print toupper($0)}') \[$(tput setaf 5)\]\W\[$(tput setaf 1)\]]\[$(tput setaf 7)\]\\$ \[$(tput sgr0)\]"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export GPG_TTY=$(tty)
|
||||||
|
|
||||||
|
alias x="exit"
|
||||||
|
alias push="rsync -avzP "
|
||||||
|
alias ka="killall"
|
||||||
|
alias rf="source ~/.bashrc"
|
||||||
|
alias bb="byobu"
|
||||||
|
alias starwars="telnet towel.blinkenlights.nl"
|
||||||
|
|
||||||
|
# Adding color
|
||||||
|
alias ls='ls -hN --color=auto --group-directories-first'
|
||||||
|
alias crep="grep --color=always" # Color grep - highlight desired sequence.
|
||||||
|
alias ccat="highlight --out-format=xterm256" # Color cat - print file with syntax highlighting.
|
1
.byobu/.tmux.conf
Normal file
1
.byobu/.tmux.conf
Normal file
|
@ -0,0 +1 @@
|
||||||
|
set -g mouse on
|
1
.config/awesome/awesome-wm-widgets
Submodule
1
.config/awesome/awesome-wm-widgets
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit ef70d16c43c2f566a4fe2955b8d6c08f6c185af8
|
21
.config/awesome/binds/client.lua
Normal file
21
.config/awesome/binds/client.lua
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
-- Keys that affect the current window
|
||||||
|
clientkeys = Gears.table.join(
|
||||||
|
Awful.key({ Modkey, }, "f", function (c) c.fullscreen = not c.fullscreen c:raise() end,
|
||||||
|
{description = "toggle fullscreen", group = "client"}),
|
||||||
|
Awful.key({ Modkey, }, "q", function (c) c:kill() end,
|
||||||
|
{description = "close", group = "client"}),
|
||||||
|
Awful.key({ Modkey, }, "o", function (c) c:move_to_screen() end,
|
||||||
|
{description = "move to screen", group = "client"}),
|
||||||
|
Awful.key({ Modkey, }, "t", function (c) c.ontop = not c.ontop end,
|
||||||
|
{description = "toggle keep on top", group = "client"}),
|
||||||
|
Awful.key({ Modkey, "Shift" }, "n", function (c) c.maximized = not c.maximized c:raise() end,
|
||||||
|
{description = "(un)maximize", group = "client"}),
|
||||||
|
Awful.key({ Modkey, "Control" }, "space", Awful.client.floating.toggle ,
|
||||||
|
{description = "toggle floating", group = "client"}),
|
||||||
|
Awful.key({ Modkey, "Control" }, "Return", function (c) c:swap(Awful.client.getmaster()) end,
|
||||||
|
{description = "move to master", group = "client"}),
|
||||||
|
Awful.key({ Modkey, }, "j", function () Awful.client.focus.byidx( 1) end,
|
||||||
|
{description = "focus next by index", group = "client"}),
|
||||||
|
Awful.key({ Modkey, }, "k", function () Awful.client.focus.byidx(-1) end,
|
||||||
|
{description = "focus previous by index", group = "client"})
|
||||||
|
)
|
67
.config/awesome/binds/global.lua
Normal file
67
.config/awesome/binds/global.lua
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
globalkeys = Gears.table.join(
|
||||||
|
Awful.key({ }, "Print", function() os.execute("maimpick") end,
|
||||||
|
{description = "run screenshot script", group="awesome"}),
|
||||||
|
Awful.key({ Modkey, }, "F1", Hotkeys_popup.show_help ,
|
||||||
|
{description = "show help", group="awesome"}),
|
||||||
|
Awful.key({ Modkey, }, "l", function () Awful.screen.focus_relative( 1) end,
|
||||||
|
{description = "focus next screen", group = "screen"}),
|
||||||
|
Awful.key({ Modkey, }, "h", function () Awful.screen.focus_relative(-1) end,
|
||||||
|
{description = "focus previous screen", group = "screen"}),
|
||||||
|
Awful.key({ Modkey, }, "w", function () Awful.spawn(Browser) end,
|
||||||
|
{description = "open firefox", group = "launcher"}),
|
||||||
|
Awful.key({ Modkey, "Shift" }, "w", function () Awful.spawn(Browser2) end,
|
||||||
|
{description = "open brave", group = "launcher"}),
|
||||||
|
Awful.key({ Modkey, }, "e", function () Awful.spawn(Editor_cmd) end,
|
||||||
|
{description = "open editor", group = "launcher"}),
|
||||||
|
Awful.key({ Modkey, "Shift" }, "e", function () Awful.spawn("thunderbird") end,
|
||||||
|
{description = "open thunderbird", group = "launcher"}),
|
||||||
|
Awful.key({ Modkey, }, "m", function () Awful.spawn(Music) end,
|
||||||
|
{description = "open spotify", group = "launcher"}),
|
||||||
|
Awful.key({ Modkey, }, "d", function () Awful.spawn("discord --enable-gpu-rasterization") end,
|
||||||
|
{description = "open discord", group = "launcher"}),
|
||||||
|
Awful.key({ Modkey, }, "c", function () Awful.spawn("caprine") end,
|
||||||
|
{description = "open caprine", group = "launcher"}),
|
||||||
|
Awful.key({ Modkey, "Shift" }, "c", function () Awful.spawn("telegram-desktop") end,
|
||||||
|
{description = "open telegram-desktop", group = "launcher"}),
|
||||||
|
Awful.key({ Modkey, }, "g", function () Awful.spawn("godot") end,
|
||||||
|
{description = "open godot", group = "launcher"}),
|
||||||
|
Awful.key({ Modkey, "Shift" }, "g", function () Awful.spawn("steam-native") end,
|
||||||
|
{description = "open steam", group = "launcher"}),
|
||||||
|
Awful.key({ Modkey, }, "Return", function () Awful.spawn(Terminal) end,
|
||||||
|
{description = "open a terminal", group = "launcher"}),
|
||||||
|
Awful.key({ Modkey, }, "BackSpace", awesome.restart ,
|
||||||
|
{description = "reload awesome", group = "awesome"}),
|
||||||
|
Awful.key({ Modkey, "Shift" }, "Escape", awesome.quit ,
|
||||||
|
{description = "quit awesome", group = "awesome"}),
|
||||||
|
Awful.key({ Modkey, }, "v", function () Awful.spawn("virt-manager") end,
|
||||||
|
{description = "open virt-manager", group = "launcher"}),
|
||||||
|
Awful.key({ Modkey, "Shift" }, "k", function () Awful.tag.incmwfact( 0.05) end,
|
||||||
|
{description = "resize split +", group = "layout"}),
|
||||||
|
Awful.key({ Modkey, "Shift" }, "j", function () Awful.tag.incmwfact(-0.05) end,
|
||||||
|
{description = "resize split -", group = "layout"}),
|
||||||
|
Awful.key({ Modkey, }, "space", function () Awful.layout.inc( 1) end,
|
||||||
|
{description = "select next", group = "layout"}),
|
||||||
|
Awful.key({ Modkey, "Shift" }, "space", function () Awful.layout.inc(-1) end,
|
||||||
|
{description = "select previous", group = "layout"}),
|
||||||
|
Awful.key({ Modkey, }, "r", function () Awful.screen.focused().mypromptbox:run() end,
|
||||||
|
{description = "run prompt", group = "launcher"}),
|
||||||
|
|
||||||
|
-- Media
|
||||||
|
Awful.key({}, "XF86AudioPlay", function() os.execute("playerctl play-pause") end),
|
||||||
|
Awful.key({}, "XF86AudioStop", function() os.execute("playerctl stop") end),
|
||||||
|
Awful.key({}, "XF86AudioNext", function() os.execute("playerctl next") end),
|
||||||
|
Awful.key({}, "XF86AudioPrev", function() os.execute("playerctl previous") end),
|
||||||
|
Awful.key({}, "XF86AudioRaiseVolume", function() os.execute("pamixer -i 3") end),
|
||||||
|
Awful.key({}, "XF86AudioLowerVolume", function() os.execute("pamixer -d 3") end),
|
||||||
|
Awful.key({}, "XF86AudioMute", function() os.execute("pamixer -t") end),
|
||||||
|
Awful.key({}, "XF86AudioMicMute", function() os.execute("pactl set-source-mute @DEFAULT_SOURCE@ toggle") end),
|
||||||
|
|
||||||
|
Awful.key({ Modkey, }, "Tab",
|
||||||
|
function ()
|
||||||
|
Awful.client.focus.history.previous()
|
||||||
|
if client.focus then
|
||||||
|
client.focus:raise()
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
{description = "go back", group = "client"})
|
||||||
|
)
|
74
.config/awesome/binds/init.lua
Normal file
74
.config/awesome/binds/init.lua
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
require('binds.global')
|
||||||
|
require('binds.client')
|
||||||
|
|
||||||
|
-- Mouse
|
||||||
|
root.buttons(Gears.table.join(
|
||||||
|
Awful.button({ }, 4, Awful.tag.viewnext),
|
||||||
|
Awful.button({ }, 5, Awful.tag.viewprev)
|
||||||
|
))
|
||||||
|
-- Bind all key numbers to tags.
|
||||||
|
-- Be careful: we use keycodes to make it work on any keyboard layout.
|
||||||
|
-- This should map on the top row of your keyboard, usually 1 to 9.
|
||||||
|
for i = 1, 9 do
|
||||||
|
globalkeys = Gears.table.join(globalkeys,
|
||||||
|
-- View tag only.
|
||||||
|
Awful.key({ Modkey }, "#" .. i + 9,
|
||||||
|
function ()
|
||||||
|
local screen = Awful.screen.focused()
|
||||||
|
local tag = screen.tags[i]
|
||||||
|
if tag then
|
||||||
|
tag:view_only()
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
{description = "view tag #"..i, group = "tag"}),
|
||||||
|
-- Toggle tag display.
|
||||||
|
Awful.key({ Modkey, "Control" }, "#" .. i + 9,
|
||||||
|
function ()
|
||||||
|
local screen = Awful.screen.focused()
|
||||||
|
local tag = screen.tags[i]
|
||||||
|
if tag then
|
||||||
|
Awful.tag.viewtoggle(tag)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
{description = "toggle tag #" .. i, group = "tag"}),
|
||||||
|
-- Move client to tag.
|
||||||
|
Awful.key({ Modkey, "Shift" }, "#" .. i + 9,
|
||||||
|
function ()
|
||||||
|
if client.focus then
|
||||||
|
local tag = client.focus.screen.tags[i]
|
||||||
|
if tag then
|
||||||
|
client.focus:move_to_tag(tag)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
{description = "move focused client to tag #"..i, group = "tag"}),
|
||||||
|
-- Toggle tag on focused client.
|
||||||
|
Awful.key({ Modkey, "Control", "Shift" }, "#" .. i + 9,
|
||||||
|
function ()
|
||||||
|
if client.focus then
|
||||||
|
local tag = client.focus.screen.tags[i]
|
||||||
|
if tag then
|
||||||
|
client.focus:toggle_tag(tag)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
{description = "toggle focused client on tag #" .. i, group = "tag"})
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
clientbuttons = Gears.table.join(
|
||||||
|
Awful.button({ }, 1, function (c)
|
||||||
|
c:emit_signal("request::activate", "mouse_click", {raise = true})
|
||||||
|
end),
|
||||||
|
Awful.button({ Modkey }, 1, function (c)
|
||||||
|
c:emit_signal("request::activate", "mouse_click", {raise = true})
|
||||||
|
Awful.mouse.client.move(c)
|
||||||
|
end),
|
||||||
|
Awful.button({ Modkey }, 3, function (c)
|
||||||
|
c:emit_signal("request::activate", "mouse_click", {raise = true})
|
||||||
|
Awful.mouse.client.resize(c)
|
||||||
|
end)
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Set keys
|
||||||
|
root.keys(globalkeys)
|
31
.config/awesome/core/init.lua
Normal file
31
.config/awesome/core/init.lua
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
if awesome.startup_errors then
|
||||||
|
Naughty.notify({ preset = naughty.config.presets.critical,
|
||||||
|
title = "Oops, there were errors during startup!",
|
||||||
|
text = awesome.startup_errors })
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Handle runtime errors after startup
|
||||||
|
do
|
||||||
|
local in_error = false
|
||||||
|
awesome.connect_signal("debug::error", function (err)
|
||||||
|
-- Make sure we don't go into an endless error loop
|
||||||
|
if in_error then return end
|
||||||
|
in_error = true
|
||||||
|
|
||||||
|
Naughty.notify({ preset = naughty.config.presets.critical,
|
||||||
|
title = "Oops, an error happened!",
|
||||||
|
text = tostring(err) })
|
||||||
|
in_error = false
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
require("awful.autofocus")
|
||||||
|
require("awful.hotkeys_popup.keys")
|
||||||
|
|
||||||
|
Gears = require("gears")
|
||||||
|
Awful = require("awful")
|
||||||
|
Wibox = require("wibox")
|
||||||
|
Beautiful = require("beautiful")
|
||||||
|
Naughty = require("naughty")
|
||||||
|
Menubar = require("menubar")
|
||||||
|
Hotkeys_popup = require("awful.hotkeys_popup")
|
27
.config/awesome/rc.lua
Normal file
27
.config/awesome/rc.lua
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
require('core')
|
||||||
|
|
||||||
|
Terminal = "kitty"
|
||||||
|
Editor = "nvim"
|
||||||
|
Editor_cmd = Terminal .. " -e " .. Editor
|
||||||
|
Browser = "firefox-developer-edition"
|
||||||
|
Browser2 = "brave-nightly"
|
||||||
|
Music = "spotify-launcher"
|
||||||
|
Modkey = "Mod4"
|
||||||
|
|
||||||
|
Beautiful.init(".config/awesome/theme.lua")
|
||||||
|
|
||||||
|
Awful.layout.layouts = {
|
||||||
|
Awful.layout.suit.tile.right,
|
||||||
|
Awful.layout.suit.tile.top,
|
||||||
|
Awful.layout.suit.tile.left,
|
||||||
|
Awful.layout.suit.tile.bottom,
|
||||||
|
}
|
||||||
|
|
||||||
|
Menubar.utils.terminal = Terminal -- Set the terminal for applications that require it
|
||||||
|
|
||||||
|
require('wibar')
|
||||||
|
require('binds')
|
||||||
|
require('rules')
|
||||||
|
require('signals')
|
||||||
|
|
||||||
|
Gears.timer.start_new(10, function() collectgarbage("step", 20000) return true end)
|
50
.config/awesome/rules/init.lua
Normal file
50
.config/awesome/rules/init.lua
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
Awful.rules.rules = {
|
||||||
|
-- All clients will match this rule.
|
||||||
|
{ rule = { },
|
||||||
|
properties = { border_width = Beautiful.border_width,
|
||||||
|
border_color = Beautiful.border_normal,
|
||||||
|
focus = Awful.client.focus.filter,
|
||||||
|
raise = true,
|
||||||
|
keys = clientkeys,
|
||||||
|
buttons = clientbuttons,
|
||||||
|
screen = Awful.screen.preferred,
|
||||||
|
placement = Awful.placement.no_overlap+Awful.placement.no_offscreen
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Floating clients.
|
||||||
|
{ rule_any = {
|
||||||
|
instance = {
|
||||||
|
"DTA", -- Firefox addon DownThemAll.
|
||||||
|
"copyq", -- Includes session name in class.
|
||||||
|
"pinentry",
|
||||||
|
},
|
||||||
|
class = {
|
||||||
|
"Arandr",
|
||||||
|
"Blueman-manager",
|
||||||
|
"Gpick",
|
||||||
|
"Kruler",
|
||||||
|
"MessageWin", -- kalarm.
|
||||||
|
"Sxiv",
|
||||||
|
"Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
|
||||||
|
"Wpa_gui",
|
||||||
|
"veromix",
|
||||||
|
"xtightvncviewer"},
|
||||||
|
|
||||||
|
-- Note that the name property shown in xprop might be set slightly after creation of the client
|
||||||
|
-- and the name shown there might not match defined rules here.
|
||||||
|
name = {
|
||||||
|
"Event Tester", -- xev.
|
||||||
|
},
|
||||||
|
role = {
|
||||||
|
"AlarmWindow", -- Thunderbird's calendar.
|
||||||
|
"ConfigManager", -- Thunderbird's about:config.
|
||||||
|
"pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
|
||||||
|
}
|
||||||
|
}, properties = { floating = true }},
|
||||||
|
|
||||||
|
-- Add titlebars to normal clients and dialogs
|
||||||
|
{ rule_any = {type = { "normal", "dialog" }
|
||||||
|
}, properties = { titlebars_enabled = false }
|
||||||
|
},
|
||||||
|
}
|
60
.config/awesome/signals/init.lua
Normal file
60
.config/awesome/signals/init.lua
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
client.connect_signal("manage", function (c)
|
||||||
|
-- Set the windows at the slave,
|
||||||
|
-- i.e. put it at the end of others instead of setting it master.
|
||||||
|
-- if not awesome.startup then awful.client.setslave(c) end
|
||||||
|
|
||||||
|
if awesome.startup
|
||||||
|
and not c.size_hints.user_position
|
||||||
|
and not c.size_hints.program_position then
|
||||||
|
-- Prevent clients from being unreachable after screen count changes.
|
||||||
|
Awful.placement.no_offscreen(c)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Add a titlebar if titlebars_enabled is set to true in the rules.
|
||||||
|
client.connect_signal("request::titlebars", function(c)
|
||||||
|
-- buttons for the titlebar
|
||||||
|
local buttons = Gears.table.join(
|
||||||
|
Awful.button({ }, 1, function()
|
||||||
|
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||||
|
Awful.mouse.client.move(c)
|
||||||
|
end),
|
||||||
|
Awful.button({ }, 3, function()
|
||||||
|
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||||
|
Awful.mouse.client.resize(c)
|
||||||
|
end)
|
||||||
|
)
|
||||||
|
|
||||||
|
Awful.titlebar(c) : setup {
|
||||||
|
{ -- Left
|
||||||
|
Awful.titlebar.widget.iconwidget(c),
|
||||||
|
buttons = buttons,
|
||||||
|
layout = Wibox.layout.fixed.horizontal
|
||||||
|
},
|
||||||
|
{ -- Middle
|
||||||
|
{ -- Title
|
||||||
|
align = "center",
|
||||||
|
widget = Awful.titlebar.widget.titlewidget(c)
|
||||||
|
},
|
||||||
|
buttons = buttons,
|
||||||
|
layout = Wibox.layout.flex.horizontal
|
||||||
|
},
|
||||||
|
{ -- Right
|
||||||
|
Awful.titlebar.widget.floatingbutton (c),
|
||||||
|
Awful.titlebar.widget.maximizedbutton(c),
|
||||||
|
Awful.titlebar.widget.stickybutton (c),
|
||||||
|
Awful.titlebar.widget.ontopbutton (c),
|
||||||
|
Awful.titlebar.widget.closebutton (c),
|
||||||
|
layout = Wibox.layout.fixed.horizontal()
|
||||||
|
},
|
||||||
|
layout = Wibox.layout.align.horizontal
|
||||||
|
}
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Enable sloppy focus, so that focus follows mouse.
|
||||||
|
client.connect_signal("mouse::enter", function(c)
|
||||||
|
c:emit_signal("request::activate", "mouse_enter", {raise = false})
|
||||||
|
end)
|
||||||
|
|
||||||
|
client.connect_signal("focus", function(c) c.border_color = Beautiful.border_focus end)
|
||||||
|
client.connect_signal("unfocus", function(c) c.border_color = Beautiful.border_normal end)
|
69
.config/awesome/theme.lua
Normal file
69
.config/awesome/theme.lua
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
local theme_assets = require("beautiful.theme_assets")
|
||||||
|
local xresources = require("beautiful.xresources")
|
||||||
|
local dpi = xresources.apply_dpi
|
||||||
|
local xrdb = xresources.get_current_theme()
|
||||||
|
|
||||||
|
local gfs = require("gears.filesystem")
|
||||||
|
local themes_path = gfs.get_themes_dir()
|
||||||
|
|
||||||
|
local theme = {}
|
||||||
|
|
||||||
|
theme.font = "monospace 11"
|
||||||
|
theme.wallpaper = '.cache/wal/bg'
|
||||||
|
|
||||||
|
theme.useless_gap = dpi(0)
|
||||||
|
theme.border_width = dpi(1)
|
||||||
|
|
||||||
|
theme.menu_height = dpi(15)
|
||||||
|
theme.menu_width = dpi(100)
|
||||||
|
|
||||||
|
-- Colors
|
||||||
|
theme.bg_normal = xrdb.background
|
||||||
|
theme.bg_focus = xrdb.color4
|
||||||
|
theme.bg_urgent = xrdb.color1
|
||||||
|
theme.bg_minimize = xrdb.color4
|
||||||
|
theme.bg_systray = theme.bg_normal
|
||||||
|
|
||||||
|
theme.fg_normal = xrdb.foreground
|
||||||
|
theme.fg_focus = xrdb.foreground
|
||||||
|
theme.fg_urgent = xrdb.foreground
|
||||||
|
theme.fg_minimize = xrdb.foreground
|
||||||
|
|
||||||
|
theme.border_normal = xrdb.color5
|
||||||
|
theme.border_focus = xrdb.color4
|
||||||
|
theme.border_marked = xrdb.color10
|
||||||
|
|
||||||
|
-- Generate taglist squares:
|
||||||
|
local taglist_square_size = dpi(4)
|
||||||
|
theme.taglist_squares_sel = theme_assets.taglist_squares_sel(
|
||||||
|
taglist_square_size, theme.fg_normal
|
||||||
|
)
|
||||||
|
theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel(
|
||||||
|
taglist_square_size, theme.fg_normal
|
||||||
|
)
|
||||||
|
|
||||||
|
-- You can use your own layout icons like this:
|
||||||
|
theme.layout_fairh = themes_path.."default/layouts/fairhw.png"
|
||||||
|
theme.layout_fairv = themes_path.."default/layouts/fairvw.png"
|
||||||
|
theme.layout_floating = themes_path.."default/layouts/floatingw.png"
|
||||||
|
theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png"
|
||||||
|
theme.layout_max = themes_path.."default/layouts/maxw.png"
|
||||||
|
theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png"
|
||||||
|
theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png"
|
||||||
|
theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png"
|
||||||
|
theme.layout_tile = themes_path.."default/layouts/tilew.png"
|
||||||
|
theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png"
|
||||||
|
theme.layout_spiral = themes_path.."default/layouts/spiralw.png"
|
||||||
|
theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png"
|
||||||
|
theme.layout_cornernw = themes_path.."default/layouts/cornernww.png"
|
||||||
|
theme.layout_cornerne = themes_path.."default/layouts/cornernew.png"
|
||||||
|
theme.layout_cornersw = themes_path.."default/layouts/cornersww.png"
|
||||||
|
theme.layout_cornerse = themes_path.."default/layouts/cornersew.png"
|
||||||
|
|
||||||
|
-- Define the icon theme for application icons. If not set then the icons
|
||||||
|
-- from /usr/share/icons and /usr/share/icons/hicolor will be used.
|
||||||
|
theme.icon_theme = nil
|
||||||
|
|
||||||
|
return theme
|
||||||
|
|
||||||
|
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
76
.config/awesome/wibar/init.lua
Normal file
76
.config/awesome/wibar/init.lua
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
require('wibar.widgets')
|
||||||
|
require('wibar.taglist')
|
||||||
|
require('wibar.tasklist')
|
||||||
|
|
||||||
|
local function set_wallpaper(s)
|
||||||
|
-- Wallpaper
|
||||||
|
if Beautiful.wallpaper then
|
||||||
|
local wallpaper = Beautiful.wallpaper
|
||||||
|
-- If wallpaper is a function, call it with the screen
|
||||||
|
if type(wallpaper) == "function" then
|
||||||
|
wallpaper = wallpaper(s)
|
||||||
|
end
|
||||||
|
Gears.wallpaper.maximized(wallpaper, s, true)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
|
||||||
|
screen.connect_signal("property::geometry", set_wallpaper)
|
||||||
|
|
||||||
|
Awful.screen.connect_for_each_screen(function(s)
|
||||||
|
-- set_wallpaper(s)
|
||||||
|
|
||||||
|
-- Each screen has its own tag table.
|
||||||
|
Awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, Awful.layout.layouts[1])
|
||||||
|
|
||||||
|
-- Create a promptbox for each screen
|
||||||
|
s.mypromptbox = Awful.widget.prompt()
|
||||||
|
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
|
||||||
|
-- We need one layoutbox per screen.
|
||||||
|
s.mylayoutbox = Awful.widget.layoutbox(s)
|
||||||
|
s.mylayoutbox:buttons(Gears.table.join(
|
||||||
|
Awful.button({ }, 3, function () Awful.layout.inc(-1) end),
|
||||||
|
Awful.button({ }, 4, function () Awful.layout.inc( 1) end),
|
||||||
|
Awful.button({ }, 5, function () Awful.layout.inc(-1) end)))
|
||||||
|
-- Create a taglist widget
|
||||||
|
s.mytaglist = Awful.widget.taglist {
|
||||||
|
screen = s,
|
||||||
|
filter = Awful.widget.taglist.filter.all,
|
||||||
|
buttons = Taglist_buttons
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Create a tasklist widget
|
||||||
|
s.mytasklist = Awful.widget.tasklist {
|
||||||
|
screen = s,
|
||||||
|
filter = Awful.widget.tasklist.filter.currenttags,
|
||||||
|
buttons = Tasklist_buttons
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Create the Wibox
|
||||||
|
s.myWibox = Awful.wibar({ position = "top", screen = s })
|
||||||
|
|
||||||
|
-- Add widgets to the Wibox
|
||||||
|
s.myWibox:setup {
|
||||||
|
layout = Wibox.layout.align.horizontal,
|
||||||
|
{ -- Left widgets
|
||||||
|
layout = Wibox.layout.fixed.horizontal,
|
||||||
|
--mylauncher,
|
||||||
|
s.mytaglist,
|
||||||
|
s.mypromptbox,
|
||||||
|
},
|
||||||
|
|
||||||
|
s.mytasklist, -- Middle widget
|
||||||
|
|
||||||
|
{ -- Right widgets
|
||||||
|
layout = Wibox.layout.fixed.horizontal,
|
||||||
|
Cpu_widget(),
|
||||||
|
Ram_widget(),
|
||||||
|
Batteryarc_widget({enable_battery_warning = false}),
|
||||||
|
Wibox.widget.systray(),
|
||||||
|
Mytextclock,
|
||||||
|
s.mylayoutbox,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end)
|
||||||
|
|
||||||
|
os.execute('nitrogen --set-zoom-fill $(awk {print} ~/.cache/wal/wal)')
|
16
.config/awesome/wibar/taglist.lua
Normal file
16
.config/awesome/wibar/taglist.lua
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
Taglist_buttons = Gears.table.join(
|
||||||
|
Awful.button({ }, 1, function(t) t:view_only() end),
|
||||||
|
Awful.button({ Modkey }, 1, function(t)
|
||||||
|
if client.focus then
|
||||||
|
client.focus:move_to_tag(t)
|
||||||
|
end
|
||||||
|
end),
|
||||||
|
Awful.button({ }, 3, Awful.tag.viewtoggle),
|
||||||
|
Awful.button({ Modkey }, 3, function(t)
|
||||||
|
if client.focus then
|
||||||
|
client.focus:toggle_tag(t)
|
||||||
|
end
|
||||||
|
end),
|
||||||
|
Awful.button({ }, 4, function(t) Awful.tag.viewnext(t.screen) end),
|
||||||
|
Awful.button({ }, 5, function(t) Awful.tag.viewprev(t.screen) end)
|
||||||
|
)
|
21
.config/awesome/wibar/tasklist.lua
Normal file
21
.config/awesome/wibar/tasklist.lua
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
Tasklist_buttons = Gears.table.join(
|
||||||
|
Awful.button({ }, 1, function (c)
|
||||||
|
if c == client.focus then
|
||||||
|
c.minimized = true
|
||||||
|
else
|
||||||
|
c:emit_signal(
|
||||||
|
"request::activate",
|
||||||
|
"tasklist",
|
||||||
|
{raise = true}
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end),
|
||||||
|
Awful.button({ }, 3, function()
|
||||||
|
Awful.menu.client_list({ theme = { width = 250 } })
|
||||||
|
end),
|
||||||
|
Awful.button({ }, 4, function ()
|
||||||
|
Awful.client.focus.byidx(1)
|
||||||
|
end),
|
||||||
|
Awful.button({ }, 5, function ()
|
||||||
|
Awful.client.focus.byidx(-1)
|
||||||
|
end))
|
20
.config/awesome/wibar/widgets.lua
Normal file
20
.config/awesome/wibar/widgets.lua
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
Calendar_widget = require("awesome-wm-widgets.calendar-widget.calendar")
|
||||||
|
Cpu_widget = require("awesome-wm-widgets.cpu-widget.cpu-widget")
|
||||||
|
Ram_widget = require("awesome-wm-widgets.ram-widget.ram-widget")
|
||||||
|
Batteryarc_widget = require("awesome-wm-widgets.batteryarc-widget.batteryarc")
|
||||||
|
|
||||||
|
local cw = Calendar_widget({
|
||||||
|
placement = 'top_right',
|
||||||
|
start_sunday = 'true',
|
||||||
|
previous_month_button = 4,
|
||||||
|
next_month_button = 5,
|
||||||
|
})
|
||||||
|
|
||||||
|
Mytextclock = Wibox.widget{
|
||||||
|
format = ' %a %b %d, %I:%M%P ',
|
||||||
|
widget = Wibox.widget.textclock
|
||||||
|
}
|
||||||
|
Mytextclock:connect_signal("button::press",
|
||||||
|
function(_, _, _, button)
|
||||||
|
if button == 1 then cw.toggle() end
|
||||||
|
end)
|
4
.config/kitty/kitty.conf
Normal file
4
.config/kitty/kitty.conf
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
background_opacity 0.8
|
||||||
|
font_size 11
|
||||||
|
include ~/.cache/wal/colors-kitty.conf
|
||||||
|
enable_audio_bell no
|
96
.config/lf/lfrc
Normal file
96
.config/lf/lfrc
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
# Basic vars
|
||||||
|
set shellopts '-eu'
|
||||||
|
set ifs "\n"
|
||||||
|
set scrolloff 10
|
||||||
|
set icons
|
||||||
|
set period 1
|
||||||
|
set hiddenfiles ".*:*.aux:*.log:*.bbl:*.bcf:*.blg:*.run.xml"
|
||||||
|
|
||||||
|
# Previews
|
||||||
|
set previewer stpv
|
||||||
|
set cleaner stpvimgclr
|
||||||
|
&stpvimg --listen $id
|
||||||
|
cmd on-quit $stpvimg --end $id
|
||||||
|
|
||||||
|
# cmds/functions
|
||||||
|
cmd mkdir $mkdir -p "$(echo $* | tr ' ' '\ ')"
|
||||||
|
|
||||||
|
cmd extract ${{
|
||||||
|
clear; tput cup $(($(tput lines)/3)); tput bold
|
||||||
|
set -f
|
||||||
|
printf "%s\n\t" "$fx"
|
||||||
|
printf "extract?[y/N]"
|
||||||
|
read ans
|
||||||
|
[ $ans = "y" ] && aunpack $fx
|
||||||
|
}}
|
||||||
|
|
||||||
|
cmd delete ${{
|
||||||
|
clear; tput cup $(($(tput lines)/3)); tput bold
|
||||||
|
set -f
|
||||||
|
printf "%s\n\t" "$fx"
|
||||||
|
printf "delete?[y/N]"
|
||||||
|
read ans
|
||||||
|
[ $ans = "y" ] && rm -rf -- $fx
|
||||||
|
}}
|
||||||
|
|
||||||
|
cmd moveto ${{
|
||||||
|
clear; tput cup $(($(tput lines)/3)); tput bold
|
||||||
|
set -f
|
||||||
|
clear; echo "Move to where?"
|
||||||
|
dest="$(sed -e 's/\s*#.*//' -e '/^$/d' -e 's/^\S*\s*//' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf | sed 's|~|$HOME|')" &&
|
||||||
|
for x in $fx; do
|
||||||
|
eval mv -iv \"$x\" \"$dest\"
|
||||||
|
done &&
|
||||||
|
notify-send "🚚 File(s) moved." "File(s) moved to $dest."
|
||||||
|
}}
|
||||||
|
|
||||||
|
cmd copyto ${{
|
||||||
|
clear; tput cup $(($(tput lines)/3)); tput bold
|
||||||
|
set -f
|
||||||
|
clear; echo "Copy to where?"
|
||||||
|
dest="$(sed -e 's/\s*#.*//' -e '/^$/d' -e 's/^\S*\s*//' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf | sed 's|~|$HOME|')" &&
|
||||||
|
for x in $fx; do
|
||||||
|
eval cp -ivr \"$x\" \"$dest\"
|
||||||
|
done &&
|
||||||
|
notify-send "📋 File(s) copied." "File(s) copies to $dest."
|
||||||
|
}}
|
||||||
|
|
||||||
|
cmd setbg "$1"
|
||||||
|
cmd bulkrename $vidir
|
||||||
|
|
||||||
|
# Bindings
|
||||||
|
map <c-f> $lf -remote "send $id select '$(fzf)'"
|
||||||
|
map J $lf -remote "send $id cd $(sed -e 's/\s*#.*//' -e '/^$/d' -e 's/^\S*\s*//' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf)"
|
||||||
|
map gh
|
||||||
|
map g top
|
||||||
|
map D delete
|
||||||
|
map E extract
|
||||||
|
map C copyto
|
||||||
|
map M moveto
|
||||||
|
map <c-n> push :mkdir<space>
|
||||||
|
map <c-r> reload
|
||||||
|
map <c-s> set hidden!
|
||||||
|
map <enter> shell
|
||||||
|
map x $$f
|
||||||
|
map X !$f
|
||||||
|
map o &mimeopen $f
|
||||||
|
map O $mimeopen --ask $f
|
||||||
|
|
||||||
|
map A rename # at the very end
|
||||||
|
map c push A<c-u> # new rename
|
||||||
|
map I push A<c-a> # at the very beginning
|
||||||
|
map i push A<a-b><a-b><a-f> # before extension
|
||||||
|
map a push A<a-b> # after extension
|
||||||
|
map B bulkrename
|
||||||
|
map b $setbg $f
|
||||||
|
|
||||||
|
map <c-e> down
|
||||||
|
map <c-y> up
|
||||||
|
map V push :!nvim<space>
|
||||||
|
|
||||||
|
map W $setsid -f $TERMINAL >/dev/null 2>&1
|
||||||
|
|
||||||
|
map Y $printf "%s" "$fx" | xclip -selection clipboard
|
||||||
|
|
||||||
|
# Source Bookmarks
|
||||||
|
source "~/.config/lf/shortcutrc"
|
7
.config/nvim/after/plugin/colors.lua
Normal file
7
.config/nvim/after/plugin/colors.lua
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
function AddTransparency()
|
||||||
|
vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
|
||||||
|
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
AddTransparency()
|
1
.config/nvim/after/plugin/fugitive.lua
Normal file
1
.config/nvim/after/plugin/fugitive.lua
Normal file
|
@ -0,0 +1 @@
|
||||||
|
vim.keymap.set('n', '<leader>gs', vim.cmd.Git);
|
10
.config/nvim/after/plugin/harpoon.lua
Normal file
10
.config/nvim/after/plugin/harpoon.lua
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
local mark = require('harpoon.mark')
|
||||||
|
local ui = require('harpoon.ui')
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<leader>a', mark.add_file)
|
||||||
|
vim.keymap.set('n', '<C-e>', ui.toggle_quick_menu)
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<C-h>', function() ui.nav_file(1) end)
|
||||||
|
vim.keymap.set('n', '<C-t>', function() ui.nav_file(2) end)
|
||||||
|
vim.keymap.set('n', '<C-n>', function() ui.nav_file(3) end)
|
||||||
|
vim.keymap.set('n', '<C-s>', function() ui.nav_file(4) end)
|
33
.config/nvim/after/plugin/lsp.lua
Normal file
33
.config/nvim/after/plugin/lsp.lua
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
local lsp = require('lsp-zero')
|
||||||
|
|
||||||
|
lsp.preset('recommended')
|
||||||
|
|
||||||
|
local cmp = require('cmp')
|
||||||
|
local cmp_select = {behavior = cmp.SelectBehavior.Select}
|
||||||
|
local cmp_mappings = lsp.defaults.cmp_mappings({
|
||||||
|
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
|
||||||
|
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
|
||||||
|
['<C-y>'] = cmp.mapping.confirm({ select = true }),
|
||||||
|
['<C-Space>'] = cmp.mapping.complete()
|
||||||
|
})
|
||||||
|
|
||||||
|
lsp.setup_nvim_cmp({
|
||||||
|
mapping = cmp_mappings
|
||||||
|
})
|
||||||
|
|
||||||
|
lsp.on_attach(function(client, bufnr)
|
||||||
|
local opts = {buffer = bufnr, remap = false}
|
||||||
|
|
||||||
|
vim.keymap.set('n', 'gd', function() vim.lsp.buf.definition() end, opts)
|
||||||
|
vim.keymap.set('n', 'K', function() vim.lsp.buf.hover() end, opts)
|
||||||
|
vim.keymap.set('n', '<leader>vws', function() vim.lsp.buf.workspace_symbol() end, opts)
|
||||||
|
vim.keymap.set('n', '<leader>vd', function() vim.diagnostic.open_float() end, opts)
|
||||||
|
vim.keymap.set('n', '[d', function() vim.diagnostic.goto_next() end, opts)
|
||||||
|
vim.keymap.set('n', ']d', function() vim.diagnostic.goto_prev() end, opts)
|
||||||
|
vim.keymap.set('n', '<leader>vca', function() vim.lsp.buf.code_action() end, opts)
|
||||||
|
vim.keymap.set('n', '<leader>vrr', function() vim.lsp.buf.references() end, opts)
|
||||||
|
vim.keymap.set('n', '<leader>vrn', function() vim.lsp.buf.rename() end, opts)
|
||||||
|
vim.keymap.set('i', '<C-h>', function() vim.lsp.buf.signature_help() end, opts)
|
||||||
|
end)
|
||||||
|
|
||||||
|
lsp.setup()
|
9
.config/nvim/after/plugin/mason.lua
Normal file
9
.config/nvim/after/plugin/mason.lua
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
require("mason").setup({
|
||||||
|
ui = {
|
||||||
|
icons = {
|
||||||
|
package_installed = "✓",
|
||||||
|
package_pending = "➜",
|
||||||
|
package_uninstalled = "✗"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
9
.config/nvim/after/plugin/telescope.lua
Normal file
9
.config/nvim/after/plugin/telescope.lua
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
local builtin = require('telescope.builtin')
|
||||||
|
vim.keymap.set('n', '<leader>pf', builtin.find_files, {})
|
||||||
|
vim.keymap.set('n', '<C-p>', builtin.git_files, {})
|
||||||
|
vim.keymap.set('n', '<leader>ps', function()
|
||||||
|
builtin.grep_string({ search = vim.fn.input("Grep > ") });
|
||||||
|
end)
|
||||||
|
--vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
|
||||||
|
--vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
|
||||||
|
--vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
|
12
.config/nvim/after/plugin/treesitter.lua
Normal file
12
.config/nvim/after/plugin/treesitter.lua
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
require'nvim-treesitter.configs'.setup {
|
||||||
|
ensure_installed = { "help", "javascript", "typescript", "python", "c", "lua", "rust" },
|
||||||
|
sync_install = false,
|
||||||
|
auto_install = true,
|
||||||
|
highlight = {
|
||||||
|
enable = true,
|
||||||
|
additional_vim_regex_highlighting = false,
|
||||||
|
},
|
||||||
|
indent = {
|
||||||
|
enable = true
|
||||||
|
},
|
||||||
|
}
|
1
.config/nvim/after/plugin/undotree.lua
Normal file
1
.config/nvim/after/plugin/undotree.lua
Normal file
|
@ -0,0 +1 @@
|
||||||
|
vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle)
|
2
.config/nvim/init.lua
Normal file
2
.config/nvim/init.lua
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
require('adam')
|
||||||
|
require('adam.set')
|
3
.config/nvim/lua/adam/init.lua
Normal file
3
.config/nvim/lua/adam/init.lua
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
require('adam.set')
|
||||||
|
require('adam.remap')
|
||||||
|
require('adam.packer')
|
49
.config/nvim/lua/adam/packer.lua
Normal file
49
.config/nvim/lua/adam/packer.lua
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
-- This file can be loaded by calling `lua require('plugins')` from your init.vim
|
||||||
|
|
||||||
|
-- Only required if you have packer configured as `opt`
|
||||||
|
vim.cmd [[packadd packer.nvim]]
|
||||||
|
|
||||||
|
return require('packer').startup(function(use)
|
||||||
|
-- Packer can manage itself
|
||||||
|
use 'wbthomason/packer.nvim'
|
||||||
|
|
||||||
|
-- Telescope
|
||||||
|
use {
|
||||||
|
'nvim-telescope/telescope.nvim', tag = '0.1.0',
|
||||||
|
-- or , branch = '0.1.x',
|
||||||
|
requires = { {'nvim-lua/plenary.nvim'} }
|
||||||
|
}
|
||||||
|
|
||||||
|
use('nvim-treesitter/nvim-treesitter', {run = ':TSUpdate'})
|
||||||
|
use 'nvim-treesitter/playground'
|
||||||
|
|
||||||
|
use 'theprimeagen/harpoon'
|
||||||
|
use 'mbbill/undotree'
|
||||||
|
use 'tpope/vim-fugitive'
|
||||||
|
|
||||||
|
-- Visual
|
||||||
|
use 'vim-airline/vim-airline'
|
||||||
|
|
||||||
|
use {
|
||||||
|
'VonHeikemen/lsp-zero.nvim',
|
||||||
|
requires = {
|
||||||
|
-- LSP Support
|
||||||
|
{'neovim/nvim-lspconfig'},
|
||||||
|
{'williamboman/mason.nvim'},
|
||||||
|
{'williamboman/mason-lspconfig.nvim'},
|
||||||
|
|
||||||
|
-- Autocompletion
|
||||||
|
{'hrsh7th/nvim-cmp'},
|
||||||
|
{'hrsh7th/cmp-buffer'},
|
||||||
|
{'hrsh7th/cmp-path'},
|
||||||
|
{'saadparwaiz1/cmp_luasnip'},
|
||||||
|
{'hrsh7th/cmp-nvim-lsp'},
|
||||||
|
{'hrsh7th/cmp-nvim-lua'},
|
||||||
|
|
||||||
|
-- Snippets
|
||||||
|
{'L3MON4D3/LuaSnip'},
|
||||||
|
{'rafamadriz/friendly-snippets'},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
end)
|
33
.config/nvim/lua/adam/remap.lua
Normal file
33
.config/nvim/lua/adam/remap.lua
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
vim.keymap.set('n', '<leader>pv', vim.cmd.Ex)
|
||||||
|
vim.keymap.set('n', '<leader>pS', vim.cmd.PackerSync)
|
||||||
|
|
||||||
|
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
||||||
|
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
|
||||||
|
|
||||||
|
vim.keymap.set('n', 'J', 'mzJ`z')
|
||||||
|
vim.keymap.set('n', '<C-d>', '<C-d>zz')
|
||||||
|
vim.keymap.set('n', '<C-u>', '<C-u>zz')
|
||||||
|
vim.keymap.set('n', 'n', 'nzzzv')
|
||||||
|
vim.keymap.set('n', 'N', 'Nzzzv')
|
||||||
|
|
||||||
|
vim.keymap.set('x', '<leader>p', '\"_dP')
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<leader>y', '\"+y')
|
||||||
|
vim.keymap.set('v', '<leader>y', '\"+y')
|
||||||
|
vim.keymap.set('n', '<leader>Y', '\"+Y')
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<leader>d', '\"_d')
|
||||||
|
vim.keymap.set('v', '<leader>d', '\"_d')
|
||||||
|
|
||||||
|
vim.keymap.set('n', 'Q', '<nop>')
|
||||||
|
vim.keymap.set('n', '<leader>f', function()
|
||||||
|
vim.lsp.buf.format()
|
||||||
|
end)
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<C-k>', '<cmd>cnext<CR>zz')
|
||||||
|
vim.keymap.set('n', '<C-j>', '<cmd>cprev<CR>zz')
|
||||||
|
vim.keymap.set('n', '<leader>k', '<cmd>lnext<CR>zz')
|
||||||
|
vim.keymap.set('n', '<leader>j', '<cmd>lprev<CR>zz')
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<leader>s', [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
|
||||||
|
vim.keymap.set('n', '<leader>x', '<cmd>!chmod +x %<CR>', { silent = true })
|
27
.config/nvim/lua/adam/set.lua
Normal file
27
.config/nvim/lua/adam/set.lua
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
vim.opt.nu = true
|
||||||
|
vim.opt.relativenumber = true
|
||||||
|
|
||||||
|
vim.opt.tabstop = 4
|
||||||
|
vim.opt.softtabstop = 4
|
||||||
|
vim.opt.shiftwidth = 4
|
||||||
|
vim.opt.expandtab = true
|
||||||
|
|
||||||
|
vim.opt.smartindent = true
|
||||||
|
|
||||||
|
vim.opt.wrap = false
|
||||||
|
|
||||||
|
vim.opt.swapfile = false
|
||||||
|
vim.opt.backup = false
|
||||||
|
vim.opt.undodir = os.getenv('HOME') .. '/.vim/undodir'
|
||||||
|
vim.opt.undofile = true
|
||||||
|
|
||||||
|
vim.opt.hlsearch = false
|
||||||
|
vim.opt.incsearch = true
|
||||||
|
|
||||||
|
vim.opt.scrolloff = 8
|
||||||
|
vim.opt.signcolumn = 'yes'
|
||||||
|
vim.opt.isfname:append('@-@')
|
||||||
|
|
||||||
|
vim.opt.updatetime = 50
|
||||||
|
|
||||||
|
vim.g.mapleader = ' '
|
199
.config/nvim/plugin/packer_compiled.lua
Normal file
199
.config/nvim/plugin/packer_compiled.lua
Normal file
|
@ -0,0 +1,199 @@
|
||||||
|
-- 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/adam/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/adam/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/adam/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/adam/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
|
||||||
|
local install_cpath_pattern = "/home/adam/.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/adam/.local/share/nvim/site/pack/packer/start/LuaSnip",
|
||||||
|
url = "https://github.com/L3MON4D3/LuaSnip"
|
||||||
|
},
|
||||||
|
["cmp-buffer"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.local/share/nvim/site/pack/packer/start/cmp-buffer",
|
||||||
|
url = "https://github.com/hrsh7th/cmp-buffer"
|
||||||
|
},
|
||||||
|
["cmp-nvim-lsp"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.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/adam/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua",
|
||||||
|
url = "https://github.com/hrsh7th/cmp-nvim-lua"
|
||||||
|
},
|
||||||
|
["cmp-path"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.local/share/nvim/site/pack/packer/start/cmp-path",
|
||||||
|
url = "https://github.com/hrsh7th/cmp-path"
|
||||||
|
},
|
||||||
|
cmp_luasnip = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
|
||||||
|
url = "https://github.com/saadparwaiz1/cmp_luasnip"
|
||||||
|
},
|
||||||
|
["friendly-snippets"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.local/share/nvim/site/pack/packer/start/friendly-snippets",
|
||||||
|
url = "https://github.com/rafamadriz/friendly-snippets"
|
||||||
|
},
|
||||||
|
harpoon = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.local/share/nvim/site/pack/packer/start/harpoon",
|
||||||
|
url = "https://github.com/theprimeagen/harpoon"
|
||||||
|
},
|
||||||
|
["lsp-zero.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.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/adam/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim",
|
||||||
|
url = "https://github.com/williamboman/mason-lspconfig.nvim"
|
||||||
|
},
|
||||||
|
["mason.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.local/share/nvim/site/pack/packer/start/mason.nvim",
|
||||||
|
url = "https://github.com/williamboman/mason.nvim"
|
||||||
|
},
|
||||||
|
["nvim-cmp"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.local/share/nvim/site/pack/packer/start/nvim-cmp",
|
||||||
|
url = "https://github.com/hrsh7th/nvim-cmp"
|
||||||
|
},
|
||||||
|
["nvim-lspconfig"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
|
||||||
|
url = "https://github.com/neovim/nvim-lspconfig"
|
||||||
|
},
|
||||||
|
["nvim-treesitter"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
|
||||||
|
url = "https://github.com/nvim-treesitter/nvim-treesitter"
|
||||||
|
},
|
||||||
|
["packer.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.local/share/nvim/site/pack/packer/start/packer.nvim",
|
||||||
|
url = "https://github.com/wbthomason/packer.nvim"
|
||||||
|
},
|
||||||
|
playground = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.local/share/nvim/site/pack/packer/start/playground",
|
||||||
|
url = "https://github.com/nvim-treesitter/playground"
|
||||||
|
},
|
||||||
|
["plenary.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.local/share/nvim/site/pack/packer/start/plenary.nvim",
|
||||||
|
url = "https://github.com/nvim-lua/plenary.nvim"
|
||||||
|
},
|
||||||
|
["telescope.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.local/share/nvim/site/pack/packer/start/telescope.nvim",
|
||||||
|
url = "https://github.com/nvim-telescope/telescope.nvim"
|
||||||
|
},
|
||||||
|
undotree = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.local/share/nvim/site/pack/packer/start/undotree",
|
||||||
|
url = "https://github.com/mbbill/undotree"
|
||||||
|
},
|
||||||
|
["vim-airline"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.local/share/nvim/site/pack/packer/start/vim-airline",
|
||||||
|
url = "https://github.com/vim-airline/vim-airline"
|
||||||
|
},
|
||||||
|
["vim-fugitive"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/adam/.local/share/nvim/site/pack/packer/start/vim-fugitive",
|
||||||
|
url = "https://github.com/tpope/vim-fugitive"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
time([[Defining packer_plugins]], 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
|
44
.config/picom.conf
Normal file
44
.config/picom.conf
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
vsync = true;
|
||||||
|
unredir-if-possible = true;
|
||||||
|
|
||||||
|
backend = "glx";
|
||||||
|
glx-no-stencil = true;
|
||||||
|
glx-no-rebind-pixmap = false;
|
||||||
|
|
||||||
|
fading = true;
|
||||||
|
fade-delta = 5;
|
||||||
|
fade-exclude = [ ];
|
||||||
|
|
||||||
|
mark-wmwin-focused = true;
|
||||||
|
mark-ovredir-focused = true;
|
||||||
|
use-ewmh-active-win = false;
|
||||||
|
detect-transient = true;
|
||||||
|
detect-client-leader = true;
|
||||||
|
|
||||||
|
wintypes :
|
||||||
|
{
|
||||||
|
tooltip :
|
||||||
|
{
|
||||||
|
fade = true;
|
||||||
|
shadow = true;
|
||||||
|
opacity = 0.75;
|
||||||
|
focus = true;
|
||||||
|
full-shadow = false;
|
||||||
|
};
|
||||||
|
dock :
|
||||||
|
{
|
||||||
|
shadow = false;
|
||||||
|
};
|
||||||
|
dnd :
|
||||||
|
{
|
||||||
|
shadow = false;
|
||||||
|
};
|
||||||
|
popup_menu :
|
||||||
|
{
|
||||||
|
opacity = 1.0;
|
||||||
|
};
|
||||||
|
dropdown_menu :
|
||||||
|
{
|
||||||
|
opacity = 1.0;
|
||||||
|
};
|
||||||
|
};
|
47
.config/shell/aliasrc
Normal file
47
.config/shell/aliasrc
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
|
||||||
|
# Use neovim for vim if present.
|
||||||
|
[ -x "$(command -v nvim)" ] && alias vim="nvim" vimdiff="nvim -d"
|
||||||
|
|
||||||
|
# /comfy/
|
||||||
|
alias \
|
||||||
|
v="vim ." \
|
||||||
|
x="exit" \
|
||||||
|
ka="killall" \
|
||||||
|
bb="byobu" \
|
||||||
|
|
||||||
|
# Shortcuts
|
||||||
|
alias \
|
||||||
|
cf="~/.config && v" \
|
||||||
|
cfv="~/.config/nvim && v" \
|
||||||
|
cfa="~/.config/awesome && v" \
|
||||||
|
cfs="~/.config/shell && v" \
|
||||||
|
cfl="~/.config/lf && v" \
|
||||||
|
cfx="~/.config/x11 && v" \
|
||||||
|
cfz="~/.config/zsh && v" \
|
||||||
|
cfk="~/.config/kitty && v" \
|
||||||
|
cfp="nvim ~/.config/picom.conf" \
|
||||||
|
|
||||||
|
# Add verbosity
|
||||||
|
alias \
|
||||||
|
cp="cp -iv" \
|
||||||
|
mv="mv -iv" \
|
||||||
|
rm="rm -vI" \
|
||||||
|
mkd="mkdir -pv" \
|
||||||
|
|
||||||
|
# Add color
|
||||||
|
alias \
|
||||||
|
ls="ls -hN --color=auto --group-directories-first" \
|
||||||
|
grep="grep --color=auto" \
|
||||||
|
diff="diff --color=auto" \
|
||||||
|
ccat="highlight --out-format=ansi" \
|
||||||
|
|
||||||
|
# Laziness
|
||||||
|
alias \
|
||||||
|
hosts="sudo nvim /etc/hosts" \
|
||||||
|
push="rsync -avzP --copy-links " \
|
||||||
|
sup="push ~/projects/http deez:" \
|
||||||
|
|
||||||
|
# Forget why
|
||||||
|
wget="wget --hsts-file='XDG_CACHE_HOME/wget-hsts'" \
|
19
.config/shell/inputrc
Normal file
19
.config/shell/inputrc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
$include /etc/inputrc
|
||||||
|
set editing-mode vi
|
||||||
|
$if mode=vi
|
||||||
|
|
||||||
|
set show-mode-in-prompt on
|
||||||
|
set vi-ins-mode-string \1\e[6 q\2
|
||||||
|
set vi-cmd-mode-string \1\e[2 q\2
|
||||||
|
|
||||||
|
set keymap vi-command
|
||||||
|
# these are for vi-command mode
|
||||||
|
Control-l: clear-screen
|
||||||
|
Control-a: beginning-of-line
|
||||||
|
|
||||||
|
set keymap vi-insert
|
||||||
|
# these are for vi-insert mode
|
||||||
|
Control-l: clear-screen
|
||||||
|
Control-a: beginning-of-line
|
||||||
|
|
||||||
|
$endif
|
118
.config/shell/profile
Normal file
118
.config/shell/profile
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
#!/bin/zsh
|
||||||
|
|
||||||
|
export PATH="$PATH:$(du "$HOME/.local/bin" | cut -f2 | paste -sd ':' -)"
|
||||||
|
|
||||||
|
unsetopt PROMPT_SP
|
||||||
|
|
||||||
|
# Default programs:
|
||||||
|
export EDITOR="nvim"
|
||||||
|
export TERMINAL="kitty"
|
||||||
|
export BROWSER="firefox-developer-edition"
|
||||||
|
|
||||||
|
# Move config files out of home and into .config/
|
||||||
|
export XINITRC="${XDG_CONFIG_HOME:-$HOME/.config}/x11/xinitrc"
|
||||||
|
export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc-2.0"
|
||||||
|
export LESSHISTFILE="-"
|
||||||
|
export INPUTRC="${XDG_CONFIG_HOME:-$HOME/.config}/shell/inputrc"
|
||||||
|
export ZDOTDIR="${XDG_CONFIG_HOME:-$HOME/.config}/zsh"
|
||||||
|
export KODI_DATA="${XDG_DATA_HOME:-$HOME/.local/share}/kodi"
|
||||||
|
export PASSWORD_STORE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/password-store"
|
||||||
|
export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
|
||||||
|
export ANDROID_SDK_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/android"
|
||||||
|
export CARGO_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/cargo"
|
||||||
|
export GOPATH="${XDG_DATA_HOME:-$HOME/.local/share}/go"
|
||||||
|
export HISTFILE="${XDG_DATA_HOME:-$HOME/.local/share}/history"
|
||||||
|
|
||||||
|
# Other program settings:
|
||||||
|
export FZF_DEFAULT_OPTS="--layout=reverse --height 40%"
|
||||||
|
export LESS=-R
|
||||||
|
export LESS_TERMCAP_mb="$(printf '%b' '[1;31m')"
|
||||||
|
export LESS_TERMCAP_md="$(printf '%b' '[1;36m')"
|
||||||
|
export LESS_TERMCAP_me="$(printf '%b' '[0m')"
|
||||||
|
export LESS_TERMCAP_so="$(printf '%b' '[01;44;33m')"
|
||||||
|
export LESS_TERMCAP_se="$(printf '%b' '[0m')"
|
||||||
|
export LESS_TERMCAP_us="$(printf '%b' '[1;32m')"
|
||||||
|
export LESS_TERMCAP_ue="$(printf '%b' '[0m')"
|
||||||
|
export LESSOPEN="| /usr/bin/highlight -O ansi %s 2>/dev/null"
|
||||||
|
export QT_QPA_PLATFORMTHEME="gtk2" # Have QT use gtk2 theme.
|
||||||
|
|
||||||
|
# This is the list for lf icons:
|
||||||
|
export LF_ICONS="di=📁:\
|
||||||
|
fi=📃:\
|
||||||
|
tw=🤝:\
|
||||||
|
ow=📂:\
|
||||||
|
ln=⛓:\
|
||||||
|
or=❌:\
|
||||||
|
ex=🎯:\
|
||||||
|
*.txt=✍:\
|
||||||
|
*.mom=✍:\
|
||||||
|
*.me=✍:\
|
||||||
|
*.ms=✍:\
|
||||||
|
*.png=🖼:\
|
||||||
|
*.webp=🖼:\
|
||||||
|
*.ico=🖼:\
|
||||||
|
*.jpg=📸:\
|
||||||
|
*.jpe=📸:\
|
||||||
|
*.jpeg=📸:\
|
||||||
|
*.gif=🖼:\
|
||||||
|
*.svg=🗺:\
|
||||||
|
*.tif=🖼:\
|
||||||
|
*.tiff=🖼:\
|
||||||
|
*.xcf=🖌:\
|
||||||
|
*.html=🌎:\
|
||||||
|
*.xml=📰:\
|
||||||
|
*.gpg=🔒:\
|
||||||
|
*.css=🎨:\
|
||||||
|
*.pdf=📚:\
|
||||||
|
*.djvu=📚:\
|
||||||
|
*.epub=📚:\
|
||||||
|
*.csv=📓:\
|
||||||
|
*.xlsx=📓:\
|
||||||
|
*.tex=📜:\
|
||||||
|
*.md=📘:\
|
||||||
|
*.r=📊:\
|
||||||
|
*.R=📊:\
|
||||||
|
*.rmd=📊:\
|
||||||
|
*.Rmd=📊:\
|
||||||
|
*.m=📊:\
|
||||||
|
*.mp3=🎵:\
|
||||||
|
*.opus=🎵:\
|
||||||
|
*.ogg=🎵:\
|
||||||
|
*.m4a=🎵:\
|
||||||
|
*.flac=🎼:\
|
||||||
|
*.wav=🎼:\
|
||||||
|
*.mkv=🎥:\
|
||||||
|
*.mp4=🎥:\
|
||||||
|
*.webm=🎥:\
|
||||||
|
*.mpeg=🎥:\
|
||||||
|
*.avi=🎥:\
|
||||||
|
*.mov=🎥:\
|
||||||
|
*.mpg=🎥:\
|
||||||
|
*.wmv=🎥:\
|
||||||
|
*.m4b=🎥:\
|
||||||
|
*.flv=🎥:\
|
||||||
|
*.zip=📦:\
|
||||||
|
*.rar=📦:\
|
||||||
|
*.7z=📦:\
|
||||||
|
*.tar.gz=📦:\
|
||||||
|
*.z64=🎮:\
|
||||||
|
*.v64=🎮:\
|
||||||
|
*.n64=🎮:\
|
||||||
|
*.gba=🎮:\
|
||||||
|
*.nes=🎮:\
|
||||||
|
*.gdi=🎮:\
|
||||||
|
*.1=ℹ:\
|
||||||
|
*.nfo=ℹ:\
|
||||||
|
*.info=ℹ:\
|
||||||
|
*.log=📙:\
|
||||||
|
*.iso=📀:\
|
||||||
|
*.img=📀:\
|
||||||
|
*.bib=🎓:\
|
||||||
|
*.ged=👪:\
|
||||||
|
*.part=💔:\
|
||||||
|
*.torrent=🔽:\
|
||||||
|
*.jar=♨:\
|
||||||
|
*.java=♨:\
|
||||||
|
"
|
||||||
|
|
||||||
|
[ ! -f ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ] && shortcuts >/dev/null 2>&1 &
|
6
.config/shell/shortcutrc
Normal file
6
.config/shell/shortcutrc
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# vim: filetype=sh
|
||||||
|
cf="~/.config && v" \
|
||||||
|
cfv="~/.config/nvim && v" \
|
||||||
|
cfa="~/.config/awesome && v" \
|
||||||
|
cfs="~/.config/shell && v" \
|
||||||
|
cfl="~/.config/lf && v" \
|
8
.config/x11/xinitrc
Executable file
8
.config/x11/xinitrc
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/sh
|
||||||
|
if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/x11/xprofile" ]; then
|
||||||
|
. "${XDG_CONFIG_HOME:-$HOME/.config}/x11/xprofile"
|
||||||
|
else
|
||||||
|
. "$HOME/.xprofile"
|
||||||
|
fi
|
||||||
|
wal -R
|
||||||
|
ssh-agent awesome
|
14
.config/x11/xprofile
Executable file
14
.config/x11/xprofile
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
[ -x "$(command -v g610-led)" ] && g610-led -a ff &
|
||||||
|
if [ -f ".screenlayout/default.sh" ]; then
|
||||||
|
. ".screenlayout/default.sh" &
|
||||||
|
fi
|
||||||
|
|
||||||
|
xmodmap -e 'clear lock' &
|
||||||
|
xmodmap -e 'keysym Caps_Lock = Escape' &
|
||||||
|
picom -b &
|
||||||
|
xset r rate 300 50 &
|
||||||
|
unclutter &
|
||||||
|
redshift -l 43:-70 &
|
||||||
|
xclip &
|
74
.config/zsh/.zshrc
Normal file
74
.config/zsh/.zshrc
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
#!/bin/zsh
|
||||||
|
|
||||||
|
if test -d ~/.oh-my-zsh; then
|
||||||
|
ZSH=~/.oh-my-zsh/
|
||||||
|
else
|
||||||
|
ZSH=/usr/share/oh-my-zsh
|
||||||
|
fi
|
||||||
|
|
||||||
|
ZSH_THEME="pygmalion-virtualenv"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to disable marking untracked files
|
||||||
|
# under VCS as dirty. This makes repository status check for large repositories
|
||||||
|
# much, much faster.
|
||||||
|
DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||||
|
|
||||||
|
plugins=(git vi-mode virtualenv python)
|
||||||
|
|
||||||
|
# vi-mode
|
||||||
|
VI_MODE_RESET_PROMPT_ON_MODE_CHANGE=true
|
||||||
|
VI_MODE_SET_CURSOR=true
|
||||||
|
|
||||||
|
# Use neovim for vim if present.
|
||||||
|
[ -x "$(command -v nvim)" ] && alias vim="nvim" vimdiff="nvim -d"
|
||||||
|
|
||||||
|
# /comfy/
|
||||||
|
alias \
|
||||||
|
v="vim ." \
|
||||||
|
x="exit" \
|
||||||
|
ka="killall" \
|
||||||
|
bb="byobu" \
|
||||||
|
|
||||||
|
# Shortcuts
|
||||||
|
alias \
|
||||||
|
cf="~/.config && v" \
|
||||||
|
cfv="~/.config/nvim && v" \
|
||||||
|
cfa="~/.config/awesome && v" \
|
||||||
|
cfs="~/.config/shell && v" \
|
||||||
|
cfl="~/.config/lf && v" \
|
||||||
|
cfx="~/.config/x11 && v" \
|
||||||
|
cfz="~/.config/zsh && v" \
|
||||||
|
cfk="~/.config/kitty && v" \
|
||||||
|
cfp="nvim ~/.config/picom.conf" \
|
||||||
|
|
||||||
|
# Add verbosity
|
||||||
|
alias \
|
||||||
|
cp="cp -iv" \
|
||||||
|
mv="mv -iv" \
|
||||||
|
rm="rm -vI" \
|
||||||
|
mkd="mkdir -pv" \
|
||||||
|
|
||||||
|
# Add color
|
||||||
|
alias \
|
||||||
|
ls="ls -hN --color=auto --group-directories-first" \
|
||||||
|
grep="grep --color=auto" \
|
||||||
|
diff="diff --color=auto" \
|
||||||
|
ccat="highlight --out-format=ansi" \
|
||||||
|
|
||||||
|
# Laziness
|
||||||
|
alias \
|
||||||
|
hosts="sudo nvim /etc/hosts" \
|
||||||
|
push="rsync -avzP --copy-links " \
|
||||||
|
sup="push ~/projects/http deez:" \
|
||||||
|
vs="source bin/activate" \
|
||||||
|
vd="deactivate" \
|
||||||
|
|
||||||
|
# Forget why
|
||||||
|
wget="wget --hsts-file='XDG_CACHE_HOME/wget-hsts'" \
|
||||||
|
|
||||||
|
ZSH_CACHE_DIR=$HOME/.cache/oh-my-zsh
|
||||||
|
if [[ ! -d $ZSH_CACHE_DIR ]]; then
|
||||||
|
mkdir $ZSH_CACHE_DIR
|
||||||
|
fi
|
||||||
|
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
*
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule ".config/awesome/awesome-wm-widgets"]
|
||||||
|
path = .config/awesome/awesome-wm-widgets
|
||||||
|
url = git@github.com:streetturtle/awesome-wm-widgets.git
|
40
.scripts/doors/install_full_arch
Executable file
40
.scripts/doors/install_full_arch
Executable file
|
@ -0,0 +1,40 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Install all (most) dependencies
|
||||||
|
# This also serves as a list of dependencies
|
||||||
|
|
||||||
|
yay -S --needed --noconfirm \
|
||||||
|
\
|
||||||
|
`# Standard`\
|
||||||
|
awesome \
|
||||||
|
btop \
|
||||||
|
kitty \
|
||||||
|
neovim \
|
||||||
|
firefox-developer-edition \
|
||||||
|
python-pywal \
|
||||||
|
playerctl \
|
||||||
|
pamixer \
|
||||||
|
byobu \
|
||||||
|
zsh \
|
||||||
|
xorg-xmodmap \
|
||||||
|
picom \
|
||||||
|
unclutter \
|
||||||
|
redshift \
|
||||||
|
xclip \
|
||||||
|
polkit-gnome \
|
||||||
|
arc-icon-theme \
|
||||||
|
acpi \
|
||||||
|
nitrogen \
|
||||||
|
spotify-launcher \
|
||||||
|
xorg-server \
|
||||||
|
xorg-xinit \
|
||||||
|
xorg-xset \
|
||||||
|
\
|
||||||
|
`# Aur`\
|
||||||
|
python-pywalfox \
|
||||||
|
pywal-discord-git \
|
||||||
|
wal-telegram-git \
|
||||||
|
lf-git \
|
||||||
|
ctpv-git \
|
||||||
|
nvim-packer-git \
|
||||||
|
oh-my-zsh-git
|
24
.scripts/doors/install_min_arch
Executable file
24
.scripts/doors/install_min_arch
Executable file
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Yay
|
||||||
|
git clone https://aur.archlinux.org/yay.git &&
|
||||||
|
cd yay && makepkg -si --noconfirm && rm -rf yay &&
|
||||||
|
|
||||||
|
# Base/Shell
|
||||||
|
yay -S --needed --noconfirm \
|
||||||
|
\
|
||||||
|
`# Standard`\
|
||||||
|
rsync \
|
||||||
|
btop \
|
||||||
|
neovim \
|
||||||
|
byobu \
|
||||||
|
zsh \
|
||||||
|
nnn \
|
||||||
|
\
|
||||||
|
`# Aur`\
|
||||||
|
nvim-packer-git \
|
||||||
|
oh-my-zsh-git
|
||||||
|
|
||||||
|
rsync -avzP --copy-links Doors/ ./
|
||||||
|
rm -rf Doors;
|
||||||
|
sudo chsh -s /bin/zsh $USER;
|
11
.scripts/doors/install_min_ubuntu
Executable file
11
.scripts/doors/install_min_ubuntu
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Base
|
||||||
|
sudo apt-get install git rsync btop neovim byobu zsh nnn
|
||||||
|
|
||||||
|
# Packer
|
||||||
|
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
|
||||||
|
~/.local/share/nvim/site/pack/packer/start/packer.nvim
|
||||||
|
|
||||||
|
# OhMyZsh
|
||||||
|
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
27
.scripts/doors/setup
Executable file
27
.scripts/doors/setup
Executable file
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
echo "
|
||||||
|
=======================================================
|
||||||
|
Installing D's nux (you're gonna love my nux(really))
|
||||||
|
=======================================================
|
||||||
|
"
|
||||||
|
|
||||||
|
. /etc/os-release
|
||||||
|
OS=$NAME
|
||||||
|
|
||||||
|
if [[ $OS == *Arch* ]]; then
|
||||||
|
sudo sed '/Color/s/^#//' -i /etc/pacman.conf &&
|
||||||
|
sudo pacman -S --needed --noconfirm git rsync base-devel &&
|
||||||
|
git clone https://github.com/adoyle0/Doors.git &&
|
||||||
|
rsync -avzP --copy-links Doors/ ./
|
||||||
|
.scripts/doors/install_min_arch
|
||||||
|
|
||||||
|
elif [[ $OS == *buntu* ]]; then
|
||||||
|
.scripts/doors/install_min_ubuntu
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "
|
||||||
|
========================
|
||||||
|
logout and log back in
|
||||||
|
========================
|
||||||
|
plz
|
||||||
|
";
|
2
.scripts/doors/swal
Executable file
2
.scripts/doors/swal
Executable file
|
@ -0,0 +1,2 @@
|
||||||
|
cp $(awk {print} ~/.cache/wal/wal) ~/projects/doordesk/doordesk/public/bg.png
|
||||||
|
cp ~/.cache/wal/colors.css ~projects/doordesk/doordesk/public/colors.css
|
11
.scripts/doors/wal
Executable file
11
.scripts/doors/wal
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
wal -i ~/Pictures/Wallpapers;
|
||||||
|
|
||||||
|
cp $(awk {print} ~/.cache/wal/wal) ~/.cache/wal/bg;
|
||||||
|
pywalfox update;
|
||||||
|
pywal-discord;
|
||||||
|
beautifuldiscord --css ~/.config/BetterDiscord/themes;
|
||||||
|
wal-telegram -g;
|
||||||
|
|
||||||
|
echo 'awesome.restart()' | awesome-client;
|
15
.xinitrc
Normal file
15
.xinitrc
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/sh
|
||||||
|
if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/x11/xprofile" ]; then
|
||||||
|
. "${XDG_CONFIG_HOME:-$HOME/.config}/x11/xprofile"
|
||||||
|
else
|
||||||
|
. "$HOME/.xprofile"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# optimus
|
||||||
|
if [ -x $(command -v optimus-manager) ]; then
|
||||||
|
sudo prime-switch
|
||||||
|
prime-offload
|
||||||
|
fi
|
||||||
|
|
||||||
|
wal -R
|
||||||
|
ssh-agent awesome
|
118
.zprofile
Normal file
118
.zprofile
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
#!/bin/zsh
|
||||||
|
|
||||||
|
export PATH="$PATH:$(du "$HOME/.local/bin" | cut -f2 | paste -sd ':' -)"
|
||||||
|
|
||||||
|
unsetopt PROMPT_SP
|
||||||
|
|
||||||
|
# Default programs:
|
||||||
|
export EDITOR="nvim"
|
||||||
|
export TERMINAL="kitty"
|
||||||
|
export BROWSER="firefox-developer-edition"
|
||||||
|
|
||||||
|
# Move config files out of home and into .config/
|
||||||
|
export XINITRC="${XDG_CONFIG_HOME:-$HOME/.config}/x11/xinitrc"
|
||||||
|
export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc-2.0"
|
||||||
|
export LESSHISTFILE="-"
|
||||||
|
export INPUTRC="${XDG_CONFIG_HOME:-$HOME/.config}/shell/inputrc"
|
||||||
|
export ZDOTDIR="${XDG_CONFIG_HOME:-$HOME/.config}/zsh"
|
||||||
|
export KODI_DATA="${XDG_DATA_HOME:-$HOME/.local/share}/kodi"
|
||||||
|
export PASSWORD_STORE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/password-store"
|
||||||
|
export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
|
||||||
|
export ANDROID_SDK_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/android"
|
||||||
|
export CARGO_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/cargo"
|
||||||
|
export GOPATH="${XDG_DATA_HOME:-$HOME/.local/share}/go"
|
||||||
|
export HISTFILE="${XDG_DATA_HOME:-$HOME/.local/share}/history"
|
||||||
|
|
||||||
|
# Other program settings:
|
||||||
|
export FZF_DEFAULT_OPTS="--layout=reverse --height 40%"
|
||||||
|
export LESS=-R
|
||||||
|
export LESS_TERMCAP_mb="$(printf '%b' '[1;31m')"
|
||||||
|
export LESS_TERMCAP_md="$(printf '%b' '[1;36m')"
|
||||||
|
export LESS_TERMCAP_me="$(printf '%b' '[0m')"
|
||||||
|
export LESS_TERMCAP_so="$(printf '%b' '[01;44;33m')"
|
||||||
|
export LESS_TERMCAP_se="$(printf '%b' '[0m')"
|
||||||
|
export LESS_TERMCAP_us="$(printf '%b' '[1;32m')"
|
||||||
|
export LESS_TERMCAP_ue="$(printf '%b' '[0m')"
|
||||||
|
export LESSOPEN="| /usr/bin/highlight -O ansi %s 2>/dev/null"
|
||||||
|
export QT_QPA_PLATFORMTHEME="gtk2" # Have QT use gtk2 theme.
|
||||||
|
|
||||||
|
# This is the list for lf icons:
|
||||||
|
export LF_ICONS="di=📁:\
|
||||||
|
fi=📃:\
|
||||||
|
tw=🤝:\
|
||||||
|
ow=📂:\
|
||||||
|
ln=⛓:\
|
||||||
|
or=❌:\
|
||||||
|
ex=🎯:\
|
||||||
|
*.txt=✍:\
|
||||||
|
*.mom=✍:\
|
||||||
|
*.me=✍:\
|
||||||
|
*.ms=✍:\
|
||||||
|
*.png=🖼:\
|
||||||
|
*.webp=🖼:\
|
||||||
|
*.ico=🖼:\
|
||||||
|
*.jpg=📸:\
|
||||||
|
*.jpe=📸:\
|
||||||
|
*.jpeg=📸:\
|
||||||
|
*.gif=🖼:\
|
||||||
|
*.svg=🗺:\
|
||||||
|
*.tif=🖼:\
|
||||||
|
*.tiff=🖼:\
|
||||||
|
*.xcf=🖌:\
|
||||||
|
*.html=🌎:\
|
||||||
|
*.xml=📰:\
|
||||||
|
*.gpg=🔒:\
|
||||||
|
*.css=🎨:\
|
||||||
|
*.pdf=📚:\
|
||||||
|
*.djvu=📚:\
|
||||||
|
*.epub=📚:\
|
||||||
|
*.csv=📓:\
|
||||||
|
*.xlsx=📓:\
|
||||||
|
*.tex=📜:\
|
||||||
|
*.md=📘:\
|
||||||
|
*.r=📊:\
|
||||||
|
*.R=📊:\
|
||||||
|
*.rmd=📊:\
|
||||||
|
*.Rmd=📊:\
|
||||||
|
*.m=📊:\
|
||||||
|
*.mp3=🎵:\
|
||||||
|
*.opus=🎵:\
|
||||||
|
*.ogg=🎵:\
|
||||||
|
*.m4a=🎵:\
|
||||||
|
*.flac=🎼:\
|
||||||
|
*.wav=🎼:\
|
||||||
|
*.mkv=🎥:\
|
||||||
|
*.mp4=🎥:\
|
||||||
|
*.webm=🎥:\
|
||||||
|
*.mpeg=🎥:\
|
||||||
|
*.avi=🎥:\
|
||||||
|
*.mov=🎥:\
|
||||||
|
*.mpg=🎥:\
|
||||||
|
*.wmv=🎥:\
|
||||||
|
*.m4b=🎥:\
|
||||||
|
*.flv=🎥:\
|
||||||
|
*.zip=📦:\
|
||||||
|
*.rar=📦:\
|
||||||
|
*.7z=📦:\
|
||||||
|
*.tar.gz=📦:\
|
||||||
|
*.z64=🎮:\
|
||||||
|
*.v64=🎮:\
|
||||||
|
*.n64=🎮:\
|
||||||
|
*.gba=🎮:\
|
||||||
|
*.nes=🎮:\
|
||||||
|
*.gdi=🎮:\
|
||||||
|
*.1=ℹ:\
|
||||||
|
*.nfo=ℹ:\
|
||||||
|
*.info=ℹ:\
|
||||||
|
*.log=📙:\
|
||||||
|
*.iso=📀:\
|
||||||
|
*.img=📀:\
|
||||||
|
*.bib=🎓:\
|
||||||
|
*.ged=👪:\
|
||||||
|
*.part=💔:\
|
||||||
|
*.torrent=🔽:\
|
||||||
|
*.jar=♨:\
|
||||||
|
*.java=♨:\
|
||||||
|
"
|
||||||
|
|
||||||
|
[ ! -f ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ] && shortcuts >/dev/null 2>&1 &
|
34
readme.md
Normal file
34
readme.md
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
# Doors are sturdier than windows
|
||||||
|
|
||||||
|
The idea is a one liner to have a quick workbench, like flipping a door on its side for a quick desk.
|
||||||
|
|
||||||
|
It's a bootstrap script for my personal desktop environment
|
||||||
|
|
||||||
|
Use as much or as little as you need.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
You should have an [Arch](https://archlinux.org) system, you can run this immediately after a minimal `archinstall` setup:
|
||||||
|
|
||||||
|
### Quick shell:
|
||||||
|
As your new user in your new user's home directory run: (will overwrite some user files)
|
||||||
|
|
||||||
|
1. ```curl -s https://doordesk.net/setup | bash```
|
||||||
|
|
||||||
|
2. Log out and log back in
|
||||||
|
|
||||||
|
Minimum install is the default, if you want a graphical environment run:
|
||||||
|
|
||||||
|
`.scripts/installdeps_full`
|
||||||
|
|
||||||
|
to get the rest and then:
|
||||||
|
|
||||||
|
```startx``` to load it.
|
||||||
|
|
||||||
|
## Post Install
|
||||||
|
1. Neovim will be confused on first start until `:PackerSync` is run
|
||||||
|
|
||||||
|
### TODO:
|
||||||
|
- support more distros
|
||||||
|
- handle errors
|
||||||
|
- make sure full install actually has all deps handled
|
||||||
|
|
Loading…
Add table
Reference in a new issue