Updated
6
.bash_profile
Normal file
|
@ -0,0 +1,6 @@
|
|||
### STARTING XSESSION
|
||||
if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]
|
||||
then
|
||||
startx
|
||||
fi
|
||||
source $HOME/.bashrc
|
54
.bashrc
|
@ -8,12 +8,18 @@
|
|||
### EXPORT
|
||||
export TERM="xterm-256color" # getting proper colors
|
||||
export HISTCONTROL=ignoredups:erasedups # no duplicate entries
|
||||
export EDITOR="emacsclient -t -a ''" # $EDITOR use Emacs in terminal
|
||||
export VISUAL="emacsclient -c -a emacs" # $VISUAL use Emacs in GUI mode
|
||||
export EDITOR="nvim" # $EDITOR use neovim
|
||||
export READER="zathura"
|
||||
export TERMINAL="alacritty"
|
||||
export BROWSER="qutebrowser"
|
||||
export WM="dwm"
|
||||
export XDG_DATA_HOME=${XDG_DATA_HOME:="$HOME/.local/share"}
|
||||
export XDG_CACHE_HOME=${XDG_CACHE_HOME:="$HOME/.cache"}
|
||||
export XDG_CONFIG_HOME=${XDG_CONFIG_HOME:="$HOME/.config"}
|
||||
|
||||
### SET MANPAGER
|
||||
### "bat" as manpager
|
||||
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
|
||||
# Use bash-completion, if available
|
||||
[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \
|
||||
. /usr/share/bash-completion/bash_completion
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
[[ $- != *i* ]] && return
|
||||
|
@ -86,7 +92,6 @@ ex ()
|
|||
fi
|
||||
}
|
||||
|
||||
|
||||
### ALIASES
|
||||
# navigation
|
||||
up () {
|
||||
|
@ -107,6 +112,7 @@ up () {
|
|||
echo "Couldn't go up $limit dirs.";
|
||||
fi
|
||||
}
|
||||
|
||||
alias ..='cd ..'
|
||||
alias .2='cd ../..'
|
||||
alias .3='cd ../../..'
|
||||
|
@ -118,13 +124,6 @@ alias cat='bat'
|
|||
|
||||
# editors
|
||||
alias vim='nvim'
|
||||
alias em='/usr/bin/emacs -nw'
|
||||
alias emacs='emacsclient -c -a emacs'
|
||||
alias doomsync='~/.emacs.d/bin/doom sync'
|
||||
alias doomdoctor='~/.emacs.d/bin/doom doctor'
|
||||
alias doomupgrade='~/.emacs.d/bin/doom upgrade'
|
||||
alias doompurge='~/.emacs.d/bin/doom purge'
|
||||
alias doominstall='~/.emacs.d/bin/doom install'
|
||||
|
||||
# Changing "ls" to "exa"
|
||||
alias ls='exa -al --color=always --group-directories-first' # my preferred listing
|
||||
|
@ -134,12 +133,12 @@ alias lt='exa -aT --color=always --group-directories-first' # tree listing
|
|||
alias l.='exa -a | egrep "^\."'
|
||||
|
||||
# xbps
|
||||
alias xb-up='sudo xbps-install -Su && xcheckrestart' # update the whole system
|
||||
alias xb-get='sudo xbps-install -S' # install a program
|
||||
alias xb-qry='sudo xbps-query' # query details about a program
|
||||
alias xb-rmv='sudo xbps-remove -R' # remove a package with all its dependencies (it may brake something)
|
||||
alias xb-rmv-sec='sudo xbps-remove' # remove a package with all its dependencies (secure way)
|
||||
alias xb-cln='sudo xbps-remove -o && sudo xbps-remove -O' # remove unnecesary packages and clean cache
|
||||
alias xb-up='sudo xbps-install -Su && xcheckrestart' # Refresh pkglist & update standard pkgs
|
||||
alias xb-get='sudo xbps-install -S' # Install a package
|
||||
alias xb-rmv='sudo xbps-remove -R' # Remove a package with all its dependencies
|
||||
alias xb-rmv-sec='sudo xbps-remove' # Remove a package with all its dependencies (secure way)
|
||||
alias xb-qry='sudo xbps-query' # Repo query
|
||||
alias xb-cln='sudo xbps-remove -o && sudo xbps-remove -O' # remove orphaned packages
|
||||
|
||||
# Colorize grep output (good for log files)
|
||||
alias grep='grep --color=auto'
|
||||
|
@ -166,8 +165,9 @@ alias tag='git tag'
|
|||
alias newtag='git tag -a'
|
||||
|
||||
# adding flags
|
||||
alias df='df -h' # human-readable sizes
|
||||
alias free='free -m' # show sizes in MB
|
||||
alias df='df -h' # human-readable sizes
|
||||
alias free='free -m' # show sizes in MB
|
||||
alias newsboat='newsboat -u ~/.config/newsboat/urls' # start newsboat with my urls file
|
||||
|
||||
# ani-cli
|
||||
alias ani='ani-cli'
|
||||
|
@ -175,6 +175,7 @@ alias ani-q='ani-cli -q' # to select video quality
|
|||
|
||||
# ytfzf
|
||||
alias yt='ytfzf -f -t'
|
||||
alias yt-m='ytfzf -m'
|
||||
|
||||
# notflix
|
||||
alias nt='notflix'
|
||||
|
@ -199,11 +200,6 @@ alias rb='loginctl reboot'
|
|||
alias fm='./.config/vifm/scripts/vifmrun'
|
||||
alias vifm='./.config/vifm/scripts/vifmrun'
|
||||
|
||||
# system monitor
|
||||
alias tp='btop'
|
||||
alias top='btop'
|
||||
alias htop='btop'
|
||||
|
||||
# ps
|
||||
alias psa="ps auxf"
|
||||
alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e"
|
||||
|
@ -233,11 +229,5 @@ alias wfi-on='nmcli radio wifi on'
|
|||
alias wfi-off='nmcli radio wifi off'
|
||||
alias blt='bluetoothctl'
|
||||
|
||||
# the terminal rickroll
|
||||
alias rr='curl -s -L https://raw.githubusercontent.com/keroserene/rickrollrc/master/roll.sh | bash'
|
||||
|
||||
# Deploy script
|
||||
alias deploynow='sh $HOME/.config/scripts/deploy.sh'
|
||||
|
||||
### SETTING THE STARSHIP PROMPT ###
|
||||
eval "$(starship init bash)"
|
||||
|
|
21
.config/alacritty/alacritty.yml
Executable file → Normal file
|
@ -358,7 +358,7 @@ env:
|
|||
|
||||
## Window settigns
|
||||
window:
|
||||
opacity: 0.93
|
||||
opacity: 0.70
|
||||
padding:
|
||||
x: 6
|
||||
y: 6
|
||||
|
@ -392,28 +392,11 @@ font:
|
|||
y: 1
|
||||
draw_bold_text_with_bright_colors: true
|
||||
|
||||
|
||||
######################################################################
|
||||
## SET THEME: Choose ONE color scheme from those in the above list. ##
|
||||
## ###################################################################
|
||||
# Available themes are:
|
||||
# *doom-one
|
||||
# *dracula
|
||||
# *gruvbox-dark
|
||||
# *monokai-pro
|
||||
# *nord
|
||||
# *oceanic-next
|
||||
# *palenight
|
||||
# *solarized-light
|
||||
# *solarized-dark
|
||||
# *tomorrow-night
|
||||
|
||||
|
||||
cursor:
|
||||
style: Underline
|
||||
|
||||
shell:
|
||||
program: /bin/zsh
|
||||
program: /bin/bash
|
||||
|
||||
key_bindings:
|
||||
# (Windows, Linux, and BSD only)
|
||||
|
|
|
@ -1,575 +0,0 @@
|
|||
#+TITLE: Drake's Awesome Window Manager Config
|
||||
#+AUTHOR: Clay Gomera
|
||||
#+DESCRIPTION: This is my personal awesome window manager literate config written in org mode inside Emacs.
|
||||
#+LANGUAGE: lua
|
||||
#+PROPERTY: header-args :tangle rc.lua
|
||||
|
||||
* Table of contents :toc:
|
||||
- [[#about][About]]
|
||||
- [[#libraries][Libraries]]
|
||||
- [[#error-handling][Error handling]]
|
||||
- [[#themes][Themes]]
|
||||
- [[#layouts][Layouts]]
|
||||
- [[#variables][Variables]]
|
||||
- [[#tag-names][Tag names]]
|
||||
- [[#wibox-settings][Wibox settings]]
|
||||
- [[#key-bindings][Key bindings]]
|
||||
- [[#rules][Rules]]
|
||||
- [[#signals][Signals]]
|
||||
- [[#client-focus-with-mouse][Client focus with mouse]]
|
||||
- [[#autorun][Autorun]]
|
||||
|
||||
* About
|
||||
Awesome is a highly configurable, next generation framework window manager for X. It is very fast, extensible and licensed under the GNU GPLv2 license. It is primarily targeted at power users, developers and any people dealing with every day computing tasks and who want to have fine-grained control on their graphical environment. This is the Awesome configuration of Clay Gomera (Drake) fully written in ORG mode inside EMACS. This is just a personal hobby that gives me all the freedom and posibilites to learn how to code and use text editors like Emacs.
|
||||
|
||||
#+CAPTION: An example screenshot
|
||||
#+NAME: screenshot
|
||||
#+attr_org: :width 750
|
||||
[[./screenshot.png]]
|
||||
|
||||
* Libraries
|
||||
Here you can add/remove libraries.
|
||||
#+BEGIN_SRC lua
|
||||
local awful = require("awful") --Everything related to window managment
|
||||
local beautiful = require("beautiful")
|
||||
local gears = require("gears") --Utilities such as color parsing and objects
|
||||
local lain = require("lain")
|
||||
local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
|
||||
local hotkeys_popup = require("awful.hotkeys_popup").widget
|
||||
require("awful.hotkeys_popup.keys")
|
||||
require("awful.autofocus")
|
||||
local wibox = require("wibox")
|
||||
local naughty = require("naughty")
|
||||
naughty.config.defaults['icon_size'] = 100
|
||||
#+END_SRC
|
||||
|
||||
* Error handling
|
||||
Basic error handling.
|
||||
#+BEGIN_SRC lua
|
||||
if awesome.startup_errors then
|
||||
naughty.notify({ preset = naughty.config.presets.critical,
|
||||
title = "Oops, there were errors during startup!",
|
||||
text = awesome.startup_errors }) end
|
||||
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
|
||||
local function run_once(cmd_arr)
|
||||
for _, cmd in ipairs(cmd_arr) do
|
||||
awful.spawn.with_shell(string.format("pgrep -u $USER -fx '%s' > /dev/null || (%s)", cmd, cmd))
|
||||
end
|
||||
end
|
||||
run_once({ "unclutter -root" }) -- entries must be comma-separated
|
||||
#+END_SRC
|
||||
|
||||
* Themes
|
||||
Here you can set your themes.
|
||||
#+BEGIN_SRC lua
|
||||
local themes = {
|
||||
"gruvbox-dark" -- 1
|
||||
}
|
||||
local chosen_theme = themes[1]
|
||||
local theme_path = string.format("%s/.config/awesome/themes/%s/theme.lua", os.getenv("HOME"), chosen_theme)
|
||||
beautiful.init(theme_path)
|
||||
beautiful.init(string.format(gears.filesystem.get_configuration_dir() .. "/themes/%s/theme.lua", chosen_theme))
|
||||
#+END_SRC
|
||||
|
||||
* Layouts
|
||||
Window manager layouts, i just use the very basic ones.
|
||||
#+BEGIN_SRC lua
|
||||
awful.layout.suit.tile.left.mirror = true
|
||||
awful.layout.layouts = {
|
||||
awful.layout.suit.tile,
|
||||
awful.layout.suit.tile.left,
|
||||
awful.layout.suit.tile.bottom,
|
||||
awful.layout.suit.tile.top,
|
||||
--awful.layout.suit.fair,
|
||||
--awful.layout.suit.fair.horizontal,
|
||||
--awful.layout.suit.spiral,
|
||||
--awful.layout.suit.spiral.dwindle,
|
||||
awful.layout.suit.max,
|
||||
--awful.layout.suit.max.fullscreen,
|
||||
awful.layout.suit.magnifier,
|
||||
awful.layout.suit.floating,
|
||||
--awful.layout.suit.corner.nw,
|
||||
--awful.layout.suit.corner.ne,
|
||||
--awful.layout.suit.corner.sw,
|
||||
--awful.layout.suit.corner.se,
|
||||
--lain.layout.cascade,
|
||||
--lain.layout.cascade.tile,
|
||||
--lain.layout.centerwork,
|
||||
--lain.layout.centerwork.horizontal,
|
||||
--lain.layout.termfair,
|
||||
--lain.layout.termfair.center,
|
||||
}
|
||||
lain.layout.termfair.nmaster = 3
|
||||
lain.layout.termfair.ncol = 1
|
||||
lain.layout.termfair.center.nmaster = 3
|
||||
lain.layout.termfair.center.ncol = 1
|
||||
lain.layout.cascade.tile.offset_x = 2
|
||||
lain.layout.cascade.tile.offset_y = 32
|
||||
lain.layout.cascade.tile.extra_padding = 5
|
||||
lain.layout.cascade.tile.nmaster = 5
|
||||
lain.layout.cascade.tile.ncol = 2
|
||||
#+END_SRC
|
||||
|
||||
* Variables
|
||||
In this section you can customize your default apps and modkeys.
|
||||
#+BEGIN_SRC lua
|
||||
awful.util.terminal = terminal -- do not remove/edit this
|
||||
local terminal = "alacritty"
|
||||
edit = "emacsclient -c -a emacs"
|
||||
file = "alacritty -e ./.config/vifm/scripts/vifmrun"
|
||||
web = "qutebrowser"
|
||||
music = "alacritty -e mocp"
|
||||
games = "retroarch"
|
||||
screenlocker = "betterlockscreen -l"
|
||||
local modkey = "Mod4"
|
||||
local altkey = "Mod1"
|
||||
local modkey1 = "Control"
|
||||
#+END_SRC
|
||||
|
||||
* Tag names
|
||||
Here you can change the tag names. It is possible to modify tags on the fly with some bindings, but i don't do it very often, so this is for me my perfect setup. Each tag is set to an specific key to open it's specific app. In this case i have set F1-F7 as my launch keys.
|
||||
#+BEGIN_SRC lua
|
||||
awful.util.tagnames =
|
||||
{
|
||||
" EDIT ", -- F1
|
||||
" FILE ", -- F2
|
||||
" WEB ", -- F3
|
||||
" MUSIC ", -- F4
|
||||
" WORK ", -- XX
|
||||
" MISC ", -- XX
|
||||
" GAMES " -- F7
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
* Wibox settings
|
||||
Some wibox and wallpaper setting stuff.
|
||||
#+BEGIN_SRC lua
|
||||
awful.util.taglist_buttons = my_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)
|
||||
)
|
||||
awful.util.tasklist_buttons = my_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 ()
|
||||
local instance = nil
|
||||
|
||||
return function ()
|
||||
if instance and instance.wibox.visible then
|
||||
instance:hide()
|
||||
instance = nil
|
||||
else
|
||||
instance = awful.menu.clients({theme = {width = 250}})
|
||||
end
|
||||
end
|
||||
end),
|
||||
awful.button({ }, 4, function () awful.client.focus.byidx(1) end),
|
||||
awful.button({ }, 5, function () awful.client.focus.byidx(-1) end)
|
||||
)
|
||||
screen.connect_signal("property::geometry", function(s)
|
||||
if beautiful.wallpaper then
|
||||
local wallpaper = beautiful.wallpaper
|
||||
if type(wallpaper) == "function" then
|
||||
wallpaper = wallpaper(s)
|
||||
end
|
||||
gears.wallpaper.maximized(wallpaper, s, true)
|
||||
end
|
||||
end)
|
||||
awful.screen.connect_for_each_screen(function(s) beautiful.at_screen_connect(s) end)
|
||||
#+END_SRC
|
||||
|
||||
* Key bindings
|
||||
This is the most important part of the config, and the most interesting one. As i said, each tag is meant to be used with an specific app, so here's how i did it:
|
||||
|-----------+---------+-----+--------------+-------------------------------------------------|
|
||||
| Tagnumber | Tagname | Key | Type | App |
|
||||
|-----------+---------+-----+--------------+-------------------------------------------------|
|
||||
| 1 | EDIT | F1 | Text editor | Super + F1 = Emacs |
|
||||
| 2 | FILE | F2 | File manager | Super + F2 = vifm |
|
||||
| 3 | WEB | F3 | Web browser | Super + F3 = qutebrowser |
|
||||
| 4 | MUSIC | F4 | Music player | Super + F4 = moc |
|
||||
| 5 | WORK | XX | Can variate | Super + d = open dmenu |
|
||||
| 6 | MISC | XX | Can variate | Super + d = open dmenu |
|
||||
| 7 | GAMES | F7 | Games | Super + F7 = retroarch |
|
||||
|-----------+---------+-----+--------------+-------------------------------------------------|
|
||||
| X | XXXXXXX | XX | Tag agnostic | Super + r = dmenu run prompt |
|
||||
| X | XXXXXXX | XX | Tag agnostic | Super + d = dmenu drun prompt |
|
||||
| X | XXXXXXX | XX | Tag agnostic | Super + w = dmenu wifi script |
|
||||
| X | XXXXXXX | XX | Tag agnostic | Super + Control + w = dmenu wallpaper script |
|
||||
| X | XXXXXXX | XX | Tag agnostic | Super + Control + q = dmenu power menu script |
|
||||
|-----------+---------+-----+--------------+-------------------------------------------------|
|
||||
|
||||
#+BEGIN_SRC lua
|
||||
-- Awesome things
|
||||
globalkeys = my_table.join(
|
||||
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
|
||||
{description="Show this help menu", group="Quick Actions"}),
|
||||
awful.key({ modkey, "Control" }, "r", awesome.restart,
|
||||
{description = "Reload WM", group = "Quick Actions"}),
|
||||
awful.key({ modkey, "Shift" }, "q", awesome.quit,
|
||||
{description = "Log Out", group = "Quick Actions"}),
|
||||
-- Tag browsing arrow keys and escape
|
||||
awful.key({ modkey, }, "Left", awful.tag.viewprev,
|
||||
{description = "view previous", group = "Tag"}),
|
||||
awful.key({ modkey, }, "Right", awful.tag.viewnext,
|
||||
{description = "view next", group = "Tag"}),
|
||||
awful.key({ modkey, }, "Escape", awful.tag.history.restore,
|
||||
{description = "go back", group = "Tag"}),
|
||||
-- Tag browsing alt + tab
|
||||
awful.key({ altkey, }, "Tab", awful.tag.viewnext,
|
||||
{description = "view next", group = "Tag"}),
|
||||
awful.key({ altkey, "Shift" }, "Tab", awful.tag.viewprev,
|
||||
{description = "view previous", group = "Tag"}),
|
||||
-- Copy primary to clipboard (terminals to gtk)
|
||||
awful.key({ modkey }, "c", function () awful.spawn.with_shell("xsel | xsel -i -b") end,
|
||||
{description = "Copy terminal to gtk", group = "Hotkeys"}),
|
||||
-- Copy clipboard to primary (gtk to terminals)
|
||||
awful.key({ modkey }, "v", function () awful.spawn.with_shell("xsel -b | xsel") end,
|
||||
{description = "Copy gtk to terminal", group = "Hotkeys"}),
|
||||
-- Client focus
|
||||
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"}),
|
||||
-- Layout manipulation
|
||||
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
|
||||
{description = "Swap with next client by index", group = "Client"}),
|
||||
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
|
||||
{description = "Swap with previous client by index", group = "Client"}),
|
||||
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end,
|
||||
{description = "Focus the next screen", group = "Screen"}),
|
||||
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end,
|
||||
{description = "Focus the previous screen", group = "Screen"}),
|
||||
awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
|
||||
{description = "Jump to urgent client", group = "Cient"}),
|
||||
awful.key({ modkey, }, "Tab",
|
||||
function ()
|
||||
awful.client.focus.history.previous()
|
||||
if client.focus then
|
||||
client.focus:raise()
|
||||
end
|
||||
end,
|
||||
{description = "Go back", group = "client"}),
|
||||
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end,
|
||||
{description = "Increase master width factor", group = "Layout"}),
|
||||
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end,
|
||||
{description = "Decrease master width factor", group = "Layout"}),
|
||||
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end,
|
||||
{description = "Increase the number of master clients", group = "Layout"}),
|
||||
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end,
|
||||
{description = "Decrease the number of master clients", group = "Layout"}),
|
||||
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end,
|
||||
{description = "Increase the number of columns", group = "Layout"}),
|
||||
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end,
|
||||
{description = "Decrease the number of columns", 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"}),
|
||||
-- Terminal
|
||||
awful.key({ modkey }, "Return", function() awful.spawn(terminal) end,
|
||||
{description = "Launch a terminal", group = "Hotkeys"}),
|
||||
-- Dmenu
|
||||
awful.key({ modkey }, "r", function () awful.util.spawn_with_shell("dmenu_run -l 10 -b -i -p Launch:") end,
|
||||
{description = "Show Run Launcher", group = "Hotkeys"}),
|
||||
awful.key({ modkey }, "d", function () awful.util.spawn_with_shell("sh $HOME/.config/scripts/dmenu-drun.sh") end,
|
||||
{description = "Show App Launcher", group = "Hotkeys"}),
|
||||
awful.key({ modkey }, "w", function () awful.util.spawn_with_shell("sh $HOME/.config/scripts/dmenu-wifi.sh") end,
|
||||
{description = "Configure WiFi", group = "Hotkeys"}),
|
||||
awful.key({ modkey, modkey1 }, "q", function () awful.util.spawn_with_shell("sh $HOME/.config/scripts/dmenu-power.sh") end,
|
||||
{description = "Show Logout menu", group = "Hotkeys"}),
|
||||
awful.key({ modkey, modkey1 }, "w", function () awful.util.spawn_with_shell("sh $HOME/.config/scripts/dmenu-wall.sh") end,
|
||||
{description = "Show Logout menu", group = "Hotkeys"}),
|
||||
awful.key({}, "Print", function () awful.util.spawn_with_shell("sh $HOME/.config/scripts/dmenu-scrot.sh") end,
|
||||
{description = "Take screenshots", group = "Hotkeys"}),
|
||||
-- Keyboard Layouts
|
||||
awful.key({ modkey, "Shift" }, "e", function () awful.util.spawn("setxkbmap -layout es") end,
|
||||
{description = "Switch to ES keyboard layout", group = "Quick Actions"}),
|
||||
awful.key({ modkey, "Shift" }, "u", function () awful.util.spawn("setxkbmap -layout us") end,
|
||||
{description = "Switch to US keyboard layout", group = "Quick Actions"}),
|
||||
-- Apps
|
||||
-- edit
|
||||
awful.key({ modkey }, "F1", function () awful.spawn(edit) end,
|
||||
{description = "Launch text editor", group = "Apps"}),
|
||||
-- file
|
||||
awful.key({ modkey }, "F2", function () awful.spawn(file) end,
|
||||
{description = "Launch file manager", group = "Apps"}),
|
||||
-- web
|
||||
awful.key({ modkey }, "F3", function () awful.spawn(web) end,
|
||||
{description = "Launch web browser", group = "Apps"}),
|
||||
-- music
|
||||
awful.key({ modkey }, "F4", function () awful.spawn(music) end,
|
||||
{description = "Launch music player", group = "Apps"}),
|
||||
-- games
|
||||
awful.key({ modkey }, "F7", function () awful.util.spawn(games) end,
|
||||
{description = "Launch gaming app", group = "Apps"}),
|
||||
-- Volume
|
||||
awful.key({}, "XF86AudioRaiseVolume", function() awful.spawn("amixer set Master 5%+") end,
|
||||
{description = "Increase volume", group = "Quick Actions"}),
|
||||
awful.key({}, "XF86AudioLowerVolume", function() awful.spawn("amixer set Master 5%-") end,
|
||||
{description = "Decrease volume", group = "Quick Actions"}),
|
||||
awful.key({}, "XF86AudioMute", function() awful.spawn("amixer set Master toggle") end,
|
||||
{description = "Mute volume", group = "Quick Actions"}),
|
||||
-- Brightness
|
||||
awful.key({}, "XF86MonBrightnessUp", function () awful.spawn("xbacklight -inc 10") end,
|
||||
{description = "Increase brightness", group = "Quick Actions"}),
|
||||
awful.key({}, "XF86MonBrightnessDown", function () awful.spawn("xbacklight -dec 10") end,
|
||||
{description = "Decrease brightness", group = "Quick Actions"}),
|
||||
-- Screenlocker
|
||||
awful.key({ modkey, modkey1 }, "l", function() awful.spawn(screenlocker) end,
|
||||
{description = "Lock the screen", group = "Quick Actions"}),
|
||||
-- Show/Hide Wibox
|
||||
awful.key({ modkey }, "b", function ()
|
||||
for s in screen do
|
||||
s.mywibox.visible = not s.mywibox.visible
|
||||
if s.mybottomwibox then
|
||||
s.mybottomwibox.visible = not s.mybottomwibox.visible
|
||||
end
|
||||
end
|
||||
end,
|
||||
{description = "Toggle wibox", group = "Quick Actions"}),
|
||||
-- On the fly useless gaps change
|
||||
awful.key({ altkey, "Control" }, "j", function () lain.util.useless_gaps_resize(1) end,
|
||||
{description = "Increment gaps", group = "Tag"}),
|
||||
awful.key({ altkey, "Control" }, "l", function () lain.util.useless_gaps_resize(-1) end,
|
||||
{description = "Decrement gaps", group = "Tag"}),
|
||||
-- Dynamic tagging
|
||||
awful.key({ modkey, "Shift" }, "n", function () lain.util.add_tag() end,
|
||||
{description = "Add new tag", group = "Tag"}),
|
||||
awful.key({ modkey, "Control" }, "r", function () lain.util.rename_tag() end,
|
||||
{description = "Rename tag", group = "Tag"}),
|
||||
awful.key({ modkey, "Shift" }, "Left", function () lain.util.move_tag(-1) end,
|
||||
{description = "Move tag to the left", group = "Tag"}),
|
||||
awful.key({ modkey, "Shift" }, "Right", function () lain.util.move_tag(1) end,
|
||||
{description = "Move tag to the right", group = "Tag"}),
|
||||
awful.key({ modkey, "Shift" }, "d", function () lain.util.delete_tag() end,
|
||||
{description = "Delete tag", group = "Tag"}),
|
||||
-- Minimize, maximize, moving clients, fullscreen, etc
|
||||
awful.key({ modkey, "Control" }, "n",
|
||||
function ()
|
||||
local c = awful.client.restore()
|
||||
if c then
|
||||
client.focus = c
|
||||
c:raise()
|
||||
end
|
||||
end,
|
||||
{description = "Restore minimized", group = "Client"})
|
||||
)
|
||||
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 window", 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, }, "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, }, "n",
|
||||
function (c)
|
||||
c.minimized = true
|
||||
end ,
|
||||
{description = "Minimize", group = "Client"}),
|
||||
awful.key({ modkey, }, "m",
|
||||
function (c)
|
||||
c.maximized = not c.maximized
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(Un)maximize", group = "Client"}),
|
||||
awful.key({ modkey, "Control" }, "m",
|
||||
function (c)
|
||||
c.maximized_vertical = not c.maximized_vertical
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(Un)maximize vertically", group = "Client"}),
|
||||
awful.key({ modkey, "Shift" }, "m",
|
||||
function (c)
|
||||
c.maximized_horizontal = not c.maximized_horizontal
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(Un)maximize horizontally", group = "Client"})
|
||||
)
|
||||
-- Bind all key numbers to tags.
|
||||
-- Be careful: we use keycodes to make it works on any keyboard layout.
|
||||
-- This should map on the top row of your keyboard, usually 1 to 9.
|
||||
for i = 1, 9 do
|
||||
-- Hack to only show tags 1 and 9 in the shortcut window (mod+s)
|
||||
local descr_view, descr_toggle, descr_move, descr_toggle_focus
|
||||
if i == 1 or i == 9 then
|
||||
descr_view = {description = "Wiew tag #", group = "Tag"}
|
||||
descr_toggle = {description = "Toggle tag #", group = "Tag"}
|
||||
descr_move = {description = "Move focused client to tag #", group = "Tag"}
|
||||
descr_toggle_focus = {description = "Toggle focused client on tag #", group = "Tag"}
|
||||
end
|
||||
globalkeys = my_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,
|
||||
descr_view),
|
||||
-- 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,
|
||||
descr_toggle),
|
||||
-- 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,
|
||||
descr_move),
|
||||
-- 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,
|
||||
descr_toggle_focus)
|
||||
)
|
||||
end
|
||||
-- Mouse bindings
|
||||
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)
|
||||
)
|
||||
root.keys(globalkeys)
|
||||
#+END_SRC
|
||||
|
||||
* Rules
|
||||
In this section you can modify how the clients will behave, using rules.
|
||||
#+BEGIN_SRC lua
|
||||
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,
|
||||
callback = awful.client.setslave
|
||||
}
|
||||
},
|
||||
-- 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 }},
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
* Signals
|
||||
Mainly this in this section i managed to keep focus on the master client when opening more clients.
|
||||
#+BEGIN_SRC lua
|
||||
client.connect_signal("manage", function (c)
|
||||
if awesome.startup and
|
||||
not c.size_hints.user_position
|
||||
and not c.size_hints.program_position then
|
||||
awful.placement.no_offscreen(c)
|
||||
end
|
||||
end)
|
||||
#+END_SRC
|
||||
|
||||
* Client focus with mouse
|
||||
Here are the options for mouse client focusing.
|
||||
#+BEGIN_SRC lua
|
||||
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)
|
||||
#+END_SRC
|
||||
|
||||
* Autorun
|
||||
Apps that automatically runs when you log in.
|
||||
#+BEGIN_SRC lua
|
||||
awful.util.spawn_with_shell("sh $HOME/.fehbg &")
|
||||
awful.util.spawn_with_shell("lxpolkit &")
|
||||
awful.util.spawn_with_shell("/usr/bin/emacs --daemon &")
|
||||
awful.util.spawn_with_shell("pulseaudio --daemonize=no --exit-idle-time=-1 &")
|
||||
awful.util.spawn_with_shell("picom --config $HOME/.config/picom/picom.conf &")
|
||||
#+END_SRC
|
|
@ -1,3 +1,11 @@
|
|||
-- ____ __
|
||||
-- / __ \_________ _/ /_____
|
||||
-- / / / / ___/ __ `/ //_/ _ \
|
||||
-- / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
||||
-- /_____/_/ \__,_/_/|_|\___/ My custom awesome window manager config
|
||||
--
|
||||
|
||||
--[[ LIBRARIES ]]--
|
||||
local awful = require("awful") --Everything related to window managment
|
||||
local beautiful = require("beautiful")
|
||||
local gears = require("gears") --Utilities such as color parsing and objects
|
||||
|
@ -10,6 +18,7 @@ local wibox = require("wibox")
|
|||
local naughty = require("naughty")
|
||||
naughty.config.defaults['icon_size'] = 100
|
||||
|
||||
--[[ ERROR HANDLING ]]--
|
||||
if awesome.startup_errors then
|
||||
naughty.notify({ preset = naughty.config.presets.critical,
|
||||
title = "Oops, there were errors during startup!",
|
||||
|
@ -33,6 +42,7 @@ local function run_once(cmd_arr)
|
|||
end
|
||||
run_once({ "unclutter -root" }) -- entries must be comma-separated
|
||||
|
||||
--[[ THEMES ]]--
|
||||
local themes = {
|
||||
"gruvbox-dark" -- 1
|
||||
}
|
||||
|
@ -41,6 +51,7 @@ local theme_path = string.format("%s/.config/awesome/themes/%s/theme.lua", os.ge
|
|||
beautiful.init(theme_path)
|
||||
beautiful.init(string.format(gears.filesystem.get_configuration_dir() .. "/themes/%s/theme.lua", chosen_theme))
|
||||
|
||||
--[[ LAYOUTS ]]--
|
||||
awful.layout.suit.tile.left.mirror = true
|
||||
awful.layout.layouts = {
|
||||
awful.layout.suit.tile,
|
||||
|
@ -76,29 +87,34 @@ lain.layout.cascade.tile.extra_padding = 5
|
|||
lain.layout.cascade.tile.nmaster = 5
|
||||
lain.layout.cascade.tile.ncol = 2
|
||||
|
||||
--[[ VARIABLES ]]--
|
||||
awful.util.terminal = terminal -- do not remove/edit this
|
||||
local terminal = "alacritty"
|
||||
edit = "emacsclient -c -a emacs"
|
||||
edit = "alacritty -e nvim"
|
||||
file = "alacritty -e ./.config/vifm/scripts/vifmrun"
|
||||
web = "qutebrowser"
|
||||
music = "alacritty -e mocp"
|
||||
chat = "alacritty -e gomuks"
|
||||
music = "alacritty -e cmus"
|
||||
games = "retroarch"
|
||||
screenlocker = "betterlockscreen -l"
|
||||
local modkey = "Mod4"
|
||||
local altkey = "Mod1"
|
||||
local modkey1 = "Control"
|
||||
|
||||
--[[ TAG NAMES ]]--
|
||||
awful.util.tagnames =
|
||||
{
|
||||
" EDIT ", -- F1
|
||||
" FILE ", -- F2
|
||||
" WEB ", -- F3
|
||||
" MUSIC ", -- F4
|
||||
" CHAT ", -- F4
|
||||
" MUSIC ", -- F5
|
||||
" WORK ", -- XX
|
||||
" MISC ", -- XX
|
||||
" GAMES " -- F7
|
||||
" GAMES " -- F8
|
||||
}
|
||||
|
||||
--[[ WIBOX & MISC STUFF ]]--
|
||||
awful.util.taglist_buttons = my_table.join(
|
||||
awful.button({ }, 1, function(t) t:view_only() end),
|
||||
awful.button({ modkey }, 1, function(t)
|
||||
|
@ -149,6 +165,7 @@ screen.connect_signal("property::geometry", function(s)
|
|||
end)
|
||||
awful.screen.connect_for_each_screen(function(s) beautiful.at_screen_connect(s) end)
|
||||
|
||||
--[[ KEY BINDINGS ]]--
|
||||
-- Awesome things
|
||||
globalkeys = my_table.join(
|
||||
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
|
||||
|
@ -221,15 +238,15 @@ globalkeys = my_table.join(
|
|||
-- Dmenu
|
||||
awful.key({ modkey }, "r", function () awful.util.spawn_with_shell("dmenu_run -l 10 -b -i -p Launch:") end,
|
||||
{description = "Show Run Launcher", group = "Hotkeys"}),
|
||||
awful.key({ modkey }, "d", function () awful.util.spawn_with_shell("sh $HOME/.config/scripts/dmenu-drun.sh") end,
|
||||
awful.key({ modkey }, "d", function () awful.util.spawn_with_shell("$HOME/.local/bin/dmenu_drun") end,
|
||||
{description = "Show App Launcher", group = "Hotkeys"}),
|
||||
awful.key({ modkey }, "w", function () awful.util.spawn_with_shell("sh $HOME/.config/scripts/dmenu-wifi.sh") end,
|
||||
awful.key({ modkey }, "w", function () awful.util.spawn_with_shell("$HOME/.local/bin/dmenu_wifi") end,
|
||||
{description = "Configure WiFi", group = "Hotkeys"}),
|
||||
awful.key({ modkey, modkey1 }, "q", function () awful.util.spawn_with_shell("sh $HOME/.config/scripts/dmenu-power.sh") end,
|
||||
awful.key({ modkey, modkey1 }, "q", function () awful.util.spawn_with_shell("$HOME/.local/bin/dmenu_power") end,
|
||||
{description = "Show Logout menu", group = "Hotkeys"}),
|
||||
awful.key({ modkey, modkey1 }, "w", function () awful.util.spawn_with_shell("sh $HOME/.config/scripts/dmenu-wall.sh") end,
|
||||
awful.key({ modkey, modkey1 }, "w", function () awful.util.spawn_with_shell("$HOME/.local/bin/dmenu_wall") end,
|
||||
{description = "Show Logout menu", group = "Hotkeys"}),
|
||||
awful.key({}, "Print", function () awful.util.spawn_with_shell("sh $HOME/.config/scripts/dmenu-scrot.sh") end,
|
||||
awful.key({}, "Print", function () awful.util.spawn_with_shell("$HOME/.local/bin/dmenu_scrot") end,
|
||||
{description = "Take screenshots", group = "Hotkeys"}),
|
||||
-- Keyboard Layouts
|
||||
awful.key({ modkey, "Shift" }, "e", function () awful.util.spawn("setxkbmap -layout es") end,
|
||||
|
@ -246,11 +263,14 @@ globalkeys = my_table.join(
|
|||
-- web
|
||||
awful.key({ modkey }, "F3", function () awful.spawn(web) end,
|
||||
{description = "Launch web browser", group = "Apps"}),
|
||||
-- chat
|
||||
awful.key({ modkey }, "F4", function () awful.spawn(chat) end,
|
||||
{description = "Launch matrix client (chat)", group = "Apps"}),
|
||||
-- music
|
||||
awful.key({ modkey }, "F4", function () awful.spawn(music) end,
|
||||
awful.key({ modkey }, "F5", function () awful.spawn(music) end,
|
||||
{description = "Launch music player", group = "Apps"}),
|
||||
-- games
|
||||
awful.key({ modkey }, "F7", function () awful.util.spawn(games) end,
|
||||
awful.key({ modkey }, "F8", function () awful.util.spawn(games) end,
|
||||
{description = "Launch gaming app", group = "Apps"}),
|
||||
-- Volume
|
||||
awful.key({}, "XF86AudioRaiseVolume", function() awful.spawn("amixer set Master 5%+") end,
|
||||
|
@ -414,6 +434,7 @@ clientbuttons = gears.table.join(
|
|||
)
|
||||
root.keys(globalkeys)
|
||||
|
||||
--[[ RULES ]]--
|
||||
awful.rules.rules = {
|
||||
-- All clients will match this rule.
|
||||
{ rule = { },
|
||||
|
@ -459,6 +480,7 @@ awful.rules.rules = {
|
|||
}, properties = { floating = true }},
|
||||
}
|
||||
|
||||
--[[ SIGNALS ]]--
|
||||
client.connect_signal("manage", function (c)
|
||||
if awesome.startup and
|
||||
not c.size_hints.user_position
|
||||
|
@ -467,14 +489,15 @@ client.connect_signal("manage", function (c)
|
|||
end
|
||||
end)
|
||||
|
||||
-- [[ MOUSE FOCUS ]]--
|
||||
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)
|
||||
|
||||
--[[ AUTOSTART ]]--
|
||||
awful.util.spawn_with_shell("sh $HOME/.fehbg &")
|
||||
awful.util.spawn_with_shell("lxpolkit &")
|
||||
awful.util.spawn_with_shell("/usr/bin/emacs --daemon &")
|
||||
awful.util.spawn_with_shell("pulseaudio --daemonize=no --exit-idle-time=-1 &")
|
||||
awful.util.spawn_with_shell("picom --config $HOME/.config/picom/picom.conf &")
|
||||
|
|
Before Width: | Height: | Size: 113 KiB |
|
@ -1,8 +1,8 @@
|
|||
-- ____ ____ _ __
|
||||
-- | _ \| _ \| |/ /
|
||||
-- | | | | |_) | ' / Clay Gomera (Drake)
|
||||
-- | |_| | _ <| . \ My custom awesomewm gruvbox-dark theme.
|
||||
-- |____/|_| \_\_|\_\
|
||||
-- ____ __
|
||||
-- / __ \_________ _/ /_____
|
||||
-- / / / / ___/ __ `/ //_/ _ \
|
||||
-- / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
||||
-- /_____/_/ \__,_/_/|_|\___/ My custom awesome window manager gruvbox theme
|
||||
--
|
||||
|
||||
local gears = require("gears")
|
||||
|
|
|
@ -436,7 +436,7 @@ List of keybindings (SPC h b b)")
|
|||
:desc "Increment register" "+" #'increment-register
|
||||
:desc "Point to register" "SPC" #'point-to-register))
|
||||
|
||||
(setq shell-file-name "/bin/zsh"
|
||||
(setq shell-file-name "/bin/bash"
|
||||
vterm-max-scrollback 5000)
|
||||
(setq eshell-rc-script "~/.config/doom/eshell/profile"
|
||||
eshell-aliases-file "~/.config/doom/eshell/aliases"
|
||||
|
|
|
@ -883,7 +883,7 @@ Settings for the various shells and terminal emulators within Emacs.
|
|||
+ 'eshell-aliases-file' -- sets an aliases file for the eshell.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq shell-file-name "/bin/zsh"
|
||||
(setq shell-file-name "/bin/bash"
|
||||
vterm-max-scrollback 5000)
|
||||
(setq eshell-rc-script "~/.config/doom/eshell/profile"
|
||||
eshell-aliases-file "~/.config/doom/eshell/aliases"
|
||||
|
|
BIN
.config/dunst/critical.png
Normal file
After Width: | Height: | Size: 35 KiB |
358
.config/dunst/dunstrc
Normal file
|
@ -0,0 +1,358 @@
|
|||
[global]
|
||||
### Display ###
|
||||
|
||||
# Which monitor should the notifications be displayed on.
|
||||
monitor = 0
|
||||
|
||||
# Display notification on focused monitor. Possible modes are:
|
||||
# mouse: follow mouse pointer
|
||||
# keyboard: follow window with keyboard focus
|
||||
# none: don't follow anything
|
||||
#
|
||||
# "keyboard" needs a window manager that exports the
|
||||
# _NET_ACTIVE_WINDOW property.
|
||||
# This should be the case for almost all modern window managers.
|
||||
#
|
||||
# If this option is set to mouse or keyboard, the monitor option
|
||||
# will be ignored.
|
||||
follow = mouse
|
||||
|
||||
# Show how many messages are currently hidden (because of geometry).
|
||||
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 = 30
|
||||
|
||||
# Draw a line of "separator_height" pixel height between two
|
||||
# notifications.
|
||||
# Set to 0 to disable.
|
||||
separator_height = 2
|
||||
|
||||
# Padding between text and separator.
|
||||
padding = 8
|
||||
|
||||
# Horizontal padding.
|
||||
horizontal_padding = 8
|
||||
|
||||
# Defines width in pixels of frame around the notification window.
|
||||
# Set to 0 to disable.
|
||||
frame_width = 3
|
||||
|
||||
# Defines color of the frame around the notification window.
|
||||
frame_color = "#689d6a"
|
||||
|
||||
# Define a color for the separator.
|
||||
# possible values are:
|
||||
# * auto: dunst tries to find a color fitting to the background;
|
||||
# * foreground: use the same color as the foreground;
|
||||
# * frame: use the same color as the frame;
|
||||
# * anything else will be interpreted as a X color.
|
||||
separator_color = auto
|
||||
|
||||
# Sort messages by urgency.
|
||||
sort = yes
|
||||
|
||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||
# for longer than idle_threshold seconds.
|
||||
# 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
|
||||
|
||||
### Text ###
|
||||
font = mononoki Nerd Font 10
|
||||
|
||||
# The spacing between lines. If the height is smaller than the
|
||||
# font height, it will get raised to the font height.
|
||||
line_height = 0
|
||||
|
||||
# Possible values are:
|
||||
# full: Allow a small subset of html markup in notifications:
|
||||
# <b>bold</b>
|
||||
# <i>italic</i>
|
||||
# <s>strikethrough</s>
|
||||
# <u>underline</u>
|
||||
#
|
||||
# For a complete reference see
|
||||
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
|
||||
#
|
||||
# strip: This setting is provided for compatibility with some broken
|
||||
# clients that send markup even though it's not enabled on the
|
||||
# server. Dunst will try to strip the markup but the parsing is
|
||||
# simplistic so using this option outside of matching rules for
|
||||
# specific applications *IS GREATLY DISCOURAGED*.
|
||||
#
|
||||
# no: Disable markup parsing, incoming notifications will be treated as
|
||||
# plain text. Dunst will not advertise that it has the body-markup
|
||||
# capability if this is set as a global setting.
|
||||
#
|
||||
# It's important to note that markup inside the format option will be parsed
|
||||
# regardless of what this is set to.
|
||||
markup = full
|
||||
|
||||
# The format of the message. Possible variables are:
|
||||
# %a appname
|
||||
# %s summary
|
||||
# %b body
|
||||
# %i iconname (including its path)
|
||||
# %I iconname (without its path)
|
||||
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||
# %n progress value if set without any extra characters
|
||||
# %% Literal %
|
||||
# Markup is allowed
|
||||
format = "<b>%s</b>\n%b"
|
||||
|
||||
# Alignment of message text.
|
||||
# Possible values are "left", "center" and "right".
|
||||
alignment = center
|
||||
|
||||
# Show age of message if message is older than show_age_threshold
|
||||
# seconds.
|
||||
# Set to -1 to disable.
|
||||
show_age_threshold = 60
|
||||
|
||||
# Split notifications into multiple lines if they don't fit into
|
||||
# geometry.
|
||||
word_wrap = yes
|
||||
|
||||
# When word_wrap is set to no, specify where to make an ellipsis in long lines.
|
||||
# Possible values are "start", "middle" and "end".
|
||||
ellipsize = middle
|
||||
|
||||
# Ignore newlines '\n' in notifications.
|
||||
ignore_newline = no
|
||||
|
||||
# Stack together notifications with the same content
|
||||
stack_duplicates = true
|
||||
|
||||
# Hide the count of stacked notifications with the same content
|
||||
hide_duplicate_count = false
|
||||
|
||||
# Display indicators for URLs (U) and actions (A).
|
||||
show_indicators = yes
|
||||
|
||||
### Icons ###
|
||||
|
||||
# Align icons left/right/off
|
||||
icon_position = left
|
||||
|
||||
# Scale larger icons down to this size, set to 0 to disable
|
||||
max_icon_size = 32
|
||||
|
||||
# Paths to default icons.
|
||||
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
||||
|
||||
### History ###
|
||||
|
||||
# Should a notification popped up from history be sticky or timeout
|
||||
# as if it would normally do.
|
||||
sticky_history = yes
|
||||
|
||||
# Maximum amount of notifications kept in history
|
||||
history_length = 20
|
||||
|
||||
### Misc/Advanced ###
|
||||
|
||||
# dmenu path.
|
||||
dmenu = /usr/bin/dmenu -p dunst:
|
||||
|
||||
# Browser for opening urls in context menu.
|
||||
browser = /usr/bin/qutebrowser
|
||||
|
||||
# Always run rule-defined scripts, even if the notification is suppressed
|
||||
always_run_script = true
|
||||
|
||||
# Define the title of the windows spawned by dunst
|
||||
title = Dunst
|
||||
|
||||
# Define the class of the windows spawned by dunst
|
||||
class = Dunst
|
||||
|
||||
# Define the corner radius of the notification window
|
||||
# in pixel size. If the radius is 0, you have no rounded
|
||||
# corners.
|
||||
# The radius will be automatically lowered if it exceeds half of the
|
||||
# notification height to avoid clipping text and/or icons.
|
||||
corner_radius = 5
|
||||
|
||||
### Legacy
|
||||
|
||||
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||
# This setting is provided for compatibility with older nVidia drivers that
|
||||
# do not support RandR and using it on systems that support RandR is highly
|
||||
# discouraged.
|
||||
#
|
||||
# By enabling this setting dunst will not be able to detect when a monitor
|
||||
# is connected or disconnected which might break follow mode if the screen
|
||||
# layout changes.
|
||||
force_xinerama = false
|
||||
|
||||
### mouse
|
||||
|
||||
# Defines action of 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.
|
||||
# * close_current: Close current notification.
|
||||
# * close_all: Close all notifications.
|
||||
mouse_left_click = do_action
|
||||
mouse_middle_click = close_all
|
||||
mouse_right_click = close_current
|
||||
|
||||
# Experimental features that may or may not work correctly. Do not expect them
|
||||
# to have a consistent behaviour across releases.
|
||||
[experimental]
|
||||
# Calculate the dpi to use on a per-monitor basis.
|
||||
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||
# using the resolution and physical size. This might be useful in setups
|
||||
# where there are multiple screens with very different dpi values.
|
||||
per_monitor_dpi = false
|
||||
|
||||
[urgency_low]
|
||||
# IMPORTANT: colors have to be defined in quotation marks.
|
||||
# Otherwise the "#" and following would be interpreted as a comment.
|
||||
background = "#282828"
|
||||
foreground = "#ebdbd2"
|
||||
timeout = 5
|
||||
# Icon for notifications with low urgency, uncomment to enable
|
||||
icon = /home/drk/.config/dunst/normal.png
|
||||
|
||||
[urgency_normal]
|
||||
background = "#282828"
|
||||
foreground = "#ebdbd2"
|
||||
timeout = 5
|
||||
# Icon for notifications with normal urgency, uncomment to enable
|
||||
icon = /home/drk/.config/dunst/normal.png
|
||||
|
||||
[urgency_critical]
|
||||
background = "#900000"
|
||||
foreground = "#ebdbd2"
|
||||
frame_color = "#ff0000"
|
||||
timeout = 5
|
||||
# Icon for notifications with critical urgency, uncomment to enable
|
||||
icon = /home/drk/.config/dunst/critical.png
|
||||
|
||||
# Every section that isn't one of the above is interpreted as a rules to
|
||||
# override settings for certain messages.
|
||||
#
|
||||
# Messages can be matched by
|
||||
# appname (discouraged, see desktop_entry)
|
||||
# body
|
||||
# category
|
||||
# desktop_entry
|
||||
# icon
|
||||
# match_transient
|
||||
# msg_urgency
|
||||
# stack_tag
|
||||
# summary
|
||||
#
|
||||
# and you can override the
|
||||
# background
|
||||
# foreground
|
||||
# format
|
||||
# frame_color
|
||||
# fullscreen
|
||||
# new_icon
|
||||
# set_stack_tag
|
||||
# set_transient
|
||||
# timeout
|
||||
# urgency
|
||||
#
|
||||
# Shell-like globbing will get expanded.
|
||||
#
|
||||
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
||||
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
||||
# the desktop-entry won't get localized.
|
||||
#
|
||||
# SCRIPTING
|
||||
# You can specify a script that gets run when the rule matches by
|
||||
# setting the "script" option.
|
||||
# The script will be called as follows:
|
||||
# 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.
|
||||
|
||||
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
||||
# client
|
||||
#[transient_disable]
|
||||
# match_transient = yes
|
||||
# set_transient = no
|
||||
#
|
||||
# Make the handling of transient notifications more strict by making them not
|
||||
# be placed in history.
|
||||
#[transient_history_ignore]
|
||||
# match_transient = yes
|
||||
# history_ignore = yes
|
||||
|
||||
# fullscreen values
|
||||
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||
# delay: displays the new notification, if there is no fullscreen window active
|
||||
# If the notification is already drawn, it won't get undrawn.
|
||||
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||
# withdrawn from screen again and will get delayed like a new notification
|
||||
#[fullscreen_delay_everything]
|
||||
# fullscreen = delay
|
||||
#[fullscreen_show_critical]
|
||||
# msg_urgency = critical
|
||||
# fullscreen = show
|
||||
|
||||
#[espeak]
|
||||
# summary = "*"
|
||||
# script = dunst_espeak.sh
|
||||
|
||||
#[script-test]
|
||||
# summary = "*script*"
|
||||
# script = dunst_test.sh
|
||||
|
||||
#[ignore]
|
||||
# # This notification will not be displayed
|
||||
# summary = "foobar"
|
||||
# format = ""
|
||||
|
||||
#[history-ignore]
|
||||
# # This notification will not be saved in history
|
||||
# summary = "foobar"
|
||||
# history_ignore = yes
|
||||
|
||||
#[skip-display]
|
||||
# # This notification will not be displayed, but will be included in the history
|
||||
# summary = "foobar"
|
||||
# skip_display = yes
|
||||
|
||||
#[signed_on]
|
||||
# appname = Pidgin
|
||||
# summary = "*signed on*"
|
||||
# urgency = low
|
||||
#
|
||||
#[signed_off]
|
||||
# appname = Pidgin
|
||||
# summary = *signed off*
|
||||
# urgency = low
|
||||
#
|
||||
#[says]
|
||||
# appname = Pidgin
|
||||
# summary = *says*
|
||||
# urgency = critical
|
||||
#
|
||||
#[twitter]
|
||||
# appname = Pidgin
|
||||
# summary = *twitter.com*
|
||||
# urgency = normal
|
||||
#
|
||||
#[stack-volumes]
|
||||
# appname = "some_volume_notifiers"
|
||||
# set_stack_tag = "volume"
|
||||
#
|
||||
# vim: ft=cfg
|
BIN
.config/dunst/normal.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
238
.config/fish/config.fish
Normal file
|
@ -0,0 +1,238 @@
|
|||
## ____ __
|
||||
## / __ \_________ _/ /_____
|
||||
## / / / / ___/ __ `/ //_/ _ \
|
||||
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
||||
## /_____/_/ \__,_/_/|_|\___/ My custom fish config
|
||||
##
|
||||
|
||||
if status is-interactive
|
||||
# Commands to run in interactive sessions can go here
|
||||
end
|
||||
|
||||
### EXPORT
|
||||
set -U fish_greeting ""
|
||||
set EDITOR "nvim" # $EDITOR use neovim
|
||||
set READER "zathura"
|
||||
set TERMINAL "alacritty"
|
||||
set BROWSER "qutebrowser"
|
||||
set WM "dwm"
|
||||
set -x MANPAGER "sh -c 'col -bx | bat -l man -p'"
|
||||
|
||||
### ADDING TO THE PATH
|
||||
# First line removes the path; second line sets it. Without the first line,
|
||||
# your path gets massive and fish becomes very slow.
|
||||
set -e fish_user_paths
|
||||
set -U fish_user_paths $HOME/.local/bin $HOME/Applications $fish_user_paths
|
||||
|
||||
# Vi mode
|
||||
function fish_user_key_bindings
|
||||
# fish_default_key_bindings
|
||||
fish_vi_key_bindings
|
||||
end
|
||||
|
||||
### AUTOCOMPLETE AND HIGHLIGHT COLORS ###
|
||||
set fish_color_normal brcyan
|
||||
set fish_color_autosuggestion '#7d7d7d'
|
||||
set fish_color_command brcyan
|
||||
set fish_color_error '#ff6c6b'
|
||||
set fish_color_param brcyan
|
||||
|
||||
### FUNCTIONS
|
||||
# Functions needed for !! and !$
|
||||
function __history_previous_command
|
||||
switch (commandline -t)
|
||||
case "!"
|
||||
commandline -t $history[1]; commandline -f repaint
|
||||
case "*"
|
||||
commandline -i !
|
||||
end
|
||||
end
|
||||
|
||||
function __history_previous_command_arguments
|
||||
switch (commandline -t)
|
||||
case "!"
|
||||
commandline -t ""
|
||||
commandline -f history-token-search-backward
|
||||
case "*"
|
||||
commandline -i '$'
|
||||
end
|
||||
end
|
||||
# The bindings for !! and !$
|
||||
if [ $fish_key_bindings = "fish_vi_key_bindings" ];
|
||||
bind -Minsert ! __history_previous_command
|
||||
bind -Minsert '$' __history_previous_command_arguments
|
||||
else
|
||||
bind ! __history_previous_command
|
||||
bind '$' __history_previous_command_arguments
|
||||
end
|
||||
|
||||
# Function for creating a backup file
|
||||
# ex: backup file.txt
|
||||
# result: copies file as file.txt.bak
|
||||
function backup --argument filename
|
||||
cp $filename $filename.bak
|
||||
end
|
||||
|
||||
# Function for copying files and directories, even recursively.
|
||||
# ex: copy DIRNAME LOCATIONS
|
||||
# result: copies the directory and all of its contents.
|
||||
function copy
|
||||
set count (count $argv | tr -d \n)
|
||||
if test "$count" = 2; and test -d "$argv[1]"
|
||||
set from (echo $argv[1] | trim-right /)
|
||||
set to (echo $argv[2])
|
||||
command cp -r $from $to
|
||||
else
|
||||
command cp $argv
|
||||
end
|
||||
end
|
||||
|
||||
# Function for printing a column (splits input on whitespace)
|
||||
# ex: echo 1 2 3 | coln 3
|
||||
# output: 3
|
||||
function coln
|
||||
while read -l input
|
||||
echo $input | awk '{print $'$argv[1]'}'
|
||||
end
|
||||
end
|
||||
|
||||
# Function for printing a row
|
||||
# ex: seq 3 | rown 3
|
||||
# output: 3
|
||||
function rown --argument index
|
||||
sed -n "$index p"
|
||||
end
|
||||
|
||||
# Function for ignoring the first 'n' lines
|
||||
# ex: seq 10 | skip 5
|
||||
# results: prints everything but the first 5 lines
|
||||
function skip --argument n
|
||||
tail +(math 1 + $n)
|
||||
end
|
||||
|
||||
# Function for taking the first 'n' lines
|
||||
# ex: seq 10 | take 5
|
||||
# results: prints only the first 5 lines
|
||||
function take --argument number
|
||||
head -$number
|
||||
end
|
||||
|
||||
### ALIASES
|
||||
# navigation
|
||||
alias ..='cd ..'
|
||||
alias .2='cd ../..'
|
||||
alias .3='cd ../../..'
|
||||
alias .4='cd ../../../..'
|
||||
alias .5='cd ../../../../..'
|
||||
|
||||
# bat as cat
|
||||
alias cat='bat'
|
||||
|
||||
# editors
|
||||
alias vim='nvim'
|
||||
|
||||
# Changing "ls" to "exa"
|
||||
alias ls='exa -al --color=always --group-directories-first' # my preferred listing
|
||||
alias la='exa -a --color=always --group-directories-first' # all files and dirs
|
||||
alias ll='exa -l --color=always --group-directories-first' # long format
|
||||
alias lt='exa -aT --color=always --group-directories-first' # tree listing
|
||||
alias l.='exa -a | egrep "^\."'
|
||||
|
||||
# xbps
|
||||
alias xb-up='sudo xbps-install -Su && xcheckrestart' # Refresh pkglist & update standard pkgs
|
||||
alias xb-get='sudo xbps-install -S' # Install a package
|
||||
alias xb-rmv='sudo xbps-remove -R' # Remove a package with all its dependencies
|
||||
alias xb-rmv-sec='sudo xbps-remove' # Remove a package with all its dependencies (secure way)
|
||||
alias xb-qry='sudo xbps-query' # Repo query
|
||||
alias xb-cln='sudo xbps-remove -o && sudo xbps-remove -O' # remove orphaned packages
|
||||
|
||||
# Colorize grep output (good for log files)
|
||||
alias grep='grep --color=auto'
|
||||
alias egrep='egrep --color=auto'
|
||||
alias fgrep='fgrep --color=auto'
|
||||
|
||||
# confirm before overwriting something
|
||||
alias rm='rm -i'
|
||||
alias mv='mv -i'
|
||||
alias cp='cp -i'
|
||||
|
||||
# git
|
||||
alias addup='git add -u'
|
||||
alias addall='git add .'
|
||||
alias branch='git branch'
|
||||
alias checkout='git checkout'
|
||||
alias clone='git clone'
|
||||
alias commit='git commit -m'
|
||||
alias fetch='git fetch'
|
||||
alias pull='git pull origin'
|
||||
alias push='git push origin'
|
||||
alias stat='git status' # 'status' is protected name so using 'stat' instead
|
||||
alias tag='git tag'
|
||||
alias newtag='git tag -a'
|
||||
|
||||
# adding flags
|
||||
alias df='df -h' # human-readable sizes
|
||||
alias free='free -m' # show sizes in MB
|
||||
alias newsboat='newsboat -u ~/.config/newsboat/urls' # start newsboat with my urls file
|
||||
|
||||
# ani-cli
|
||||
alias ani='ani-cli'
|
||||
alias ani-q='ani-cli -q' # to select video quality
|
||||
|
||||
# ytfzf
|
||||
alias yt='ytfzf -f -t'
|
||||
|
||||
# notflix
|
||||
alias nt='notflix'
|
||||
|
||||
# mount and unmount drives
|
||||
alias mnt='sudo mount'
|
||||
alias umnt='sudo umount'
|
||||
|
||||
# mixers
|
||||
alias mx='pulsemixer'
|
||||
alias amx='alsamixer'
|
||||
|
||||
# music player
|
||||
alias mk='cmus'
|
||||
|
||||
# power management
|
||||
alias po='loginctl poweroff'
|
||||
alias sp='loginctl suspend'
|
||||
alias rb='loginctl reboot'
|
||||
|
||||
# file manager
|
||||
alias fm='./.config/vifm/scripts/vifmrun'
|
||||
alias vifm='./.config/vifm/scripts/vifmrun'
|
||||
|
||||
# ps
|
||||
alias psa="ps auxf"
|
||||
alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e"
|
||||
alias psmem='ps auxf | sort -nr -k 4'
|
||||
alias pscpu='ps auxf | sort -nr -k 3'
|
||||
|
||||
# get error messages from journalctl
|
||||
alias jctl="journalctl -p 3 -xb"
|
||||
|
||||
# youtube-dl
|
||||
alias yta-aac="youtube-dl --extract-audio --audio-format aac "
|
||||
alias yta-best="youtube-dl --extract-audio --audio-format best "
|
||||
alias yta-flac="youtube-dl --extract-audio --audio-format flac "
|
||||
alias yta-m4a="youtube-dl --extract-audio --audio-format m4a "
|
||||
alias yta-mp3="youtube-dl --extract-audio --audio-format mp3 "
|
||||
alias yta-opus="youtube-dl --extract-audio --audio-format opus "
|
||||
alias yta-vorbis="youtube-dl --extract-audio --audio-format vorbis "
|
||||
alias yta-wav="youtube-dl --extract-audio --audio-format wav "
|
||||
alias ytv-best="youtube-dl -f bestvideo+bestaudio "
|
||||
|
||||
# Network Manager and bluetooth
|
||||
alias netstats='nmcli dev'
|
||||
alias wfi='nmtui-connect'
|
||||
alias wfi-scan='nmcli dev wifi list'
|
||||
alias wfi-edit='nmtui-edit'
|
||||
alias wfi-on='nmcli radio wifi on'
|
||||
alias wfi-off='nmcli radio wifi off'
|
||||
alias blt='bluetoothctl'
|
||||
|
||||
### SETTING THE STARSHIP PROMPT ###
|
||||
eval "$(starship init bash)"
|
15
.config/gtk-3.0/settings.ini
Normal file
|
@ -0,0 +1,15 @@
|
|||
[Settings]
|
||||
gtk-theme-name=gruvbox-dark-gtk
|
||||
gtk-icon-theme-name=gruvbox-dark-icons-gtk
|
||||
gtk-font-name=Sans 10
|
||||
gtk-cursor-theme-name=volantes_cursors
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=0
|
||||
gtk-menu-images=0
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=1
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle=hintmedium
|
11
.config/newsboat/urls
Normal file
|
@ -0,0 +1,11 @@
|
|||
https://archlinux.org/feeds/news/ "Reading"
|
||||
https://www.linux.com/feed/ "Reading"
|
||||
https://linuxhandbook.com/rss/ "Reading"
|
||||
https://www.gamingonlinux.com/article_rss.php "Reading"
|
||||
https://www.omgubuntu.co.uk/feed "Reading"
|
||||
https://askubuntu.com/feeds "Reading"
|
||||
https://itsubuntu.com/feed/ "Reading"
|
||||
https://www.tecmint.com/feed/ "Reading"
|
||||
https://www.linuxfoundation.org/feed/ "Reading"
|
||||
https://linuxhint.com/feed/ "Reading"
|
||||
https://techhut.tv/rss/ "Reading"
|
151
.config/nvim/init.vim
Normal file
|
@ -0,0 +1,151 @@
|
|||
let mapleader =","
|
||||
|
||||
if ! filereadable(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim"'))
|
||||
echo "Downloading junegunn/vim-plug to manage plugins..."
|
||||
silent !mkdir -p ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/
|
||||
silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim
|
||||
autocmd VimEnter * PlugInstall
|
||||
endif
|
||||
|
||||
call plug#begin(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/plugged"'))
|
||||
Plug 'tpope/vim-surround'
|
||||
Plug 'preservim/nerdtree'
|
||||
Plug 'junegunn/goyo.vim'
|
||||
Plug 'jreybert/vimagit'
|
||||
Plug 'lukesmithxyz/vimling'
|
||||
Plug 'vimwiki/vimwiki'
|
||||
Plug 'vim-airline/vim-airline'
|
||||
Plug 'tpope/vim-commentary'
|
||||
Plug 'ap/vim-css-color'
|
||||
call plug#end()
|
||||
|
||||
set title
|
||||
set bg=light
|
||||
set go=a
|
||||
set mouse=a
|
||||
set nohlsearch
|
||||
set clipboard+=unnamedplus
|
||||
set noshowmode
|
||||
set noruler
|
||||
set laststatus=0
|
||||
set noshowcmd
|
||||
|
||||
" Some basics:
|
||||
nnoremap c "_c
|
||||
set nocompatible
|
||||
filetype plugin on
|
||||
syntax on
|
||||
set encoding=utf-8
|
||||
set number relativenumber
|
||||
" Enable autocompletion:
|
||||
set wildmode=longest,list,full
|
||||
" Disables automatic commenting on newline:
|
||||
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
|
||||
" Perform dot commands over visual blocks:
|
||||
vnoremap . :normal .<CR>
|
||||
" Goyo plugin makes text more readable when writing prose:
|
||||
map <leader>f :Goyo \| set bg=light \| set linebreak<CR>
|
||||
" Spell-check set to <leader>o, 'o' for 'orthography':
|
||||
map <leader>o :setlocal spell! spelllang=en_us<CR>
|
||||
" Splits open at the bottom and right, which is non-retarded, unlike vim defaults.
|
||||
set splitbelow splitright
|
||||
|
||||
" Nerd tree
|
||||
map <leader>n :NERDTreeToggle<CR>
|
||||
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
||||
if has('nvim')
|
||||
let NERDTreeBookmarksFile = stdpath('data') . '/NERDTreeBookmarks'
|
||||
else
|
||||
let NERDTreeBookmarksFile = '~/.vim' . '/NERDTreeBookmarks'
|
||||
endif
|
||||
|
||||
" vimling:
|
||||
nm <leader><leader>d :call ToggleDeadKeys()<CR>
|
||||
imap <leader><leader>d <esc>:call ToggleDeadKeys()<CR>a
|
||||
nm <leader><leader>i :call ToggleIPA()<CR>
|
||||
imap <leader><leader>i <esc>:call ToggleIPA()<CR>a
|
||||
nm <leader><leader>q :call ToggleProse()<CR>
|
||||
|
||||
" Shortcutting split navigation, saving a keypress:
|
||||
map <C-h> <C-w>h
|
||||
map <C-j> <C-w>j
|
||||
map <C-k> <C-w>k
|
||||
map <C-l> <C-w>l
|
||||
|
||||
" Replace ex mode with gq
|
||||
map Q gq
|
||||
|
||||
" Check file in shellcheck:
|
||||
map <leader>s :!clear && shellcheck -x %<CR>
|
||||
|
||||
" Open my bibliography file in split
|
||||
map <leader>b :vsp<space>$BIB<CR>
|
||||
map <leader>r :vsp<space>$REFER<CR>
|
||||
|
||||
" Replace all is aliased to S.
|
||||
nnoremap S :%s//g<Left><Left>
|
||||
|
||||
" Compile document, be it groff/LaTeX/markdown/etc.
|
||||
map <leader>c :w! \| !compiler "<c-r>%"<CR>
|
||||
|
||||
" Open corresponding .pdf/.html or preview
|
||||
map <leader>p :!opout <c-r>%<CR><CR>
|
||||
|
||||
" Runs a script that cleans out tex build files whenever I close out of a .tex file.
|
||||
autocmd VimLeave *.tex !texclear %
|
||||
|
||||
" Ensure files are read as what I want:
|
||||
let g:vimwiki_ext2syntax = {'.Rmd': 'markdown', '.rmd': 'markdown','.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'}
|
||||
map <leader>v :VimwikiIndex<CR>
|
||||
let g:vimwiki_list = [{'path': '~/.local/share/nvim/vimwiki', 'syntax': 'markdown', 'ext': '.md'}]
|
||||
autocmd BufRead,BufNewFile /tmp/calcurse*,~/.calcurse/notes/* set filetype=markdown
|
||||
autocmd BufRead,BufNewFile *.ms,*.me,*.mom,*.man set filetype=groff
|
||||
autocmd BufRead,BufNewFile *.tex set filetype=tex
|
||||
|
||||
" Save file as sudo on files that require root permission
|
||||
cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
|
||||
|
||||
" Enable Goyo by default for mutt writing
|
||||
autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80
|
||||
autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo | set bg=light
|
||||
autocmd BufRead,BufNewFile /tmp/neomutt* map ZZ :Goyo\|x!<CR>
|
||||
autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo\|q!<CR>
|
||||
|
||||
" Automatically deletes all trailing whitespace and newlines at end of file on save. & reset cursor position
|
||||
autocmd BufWritePre * let currPos = getpos(".")
|
||||
autocmd BufWritePre * %s/\s\+$//e
|
||||
autocmd BufWritePre * %s/\n\+\%$//e
|
||||
autocmd BufWritePre *.[ch] %s/\%$/\r/e
|
||||
autocmd BufWritePre * cal cursor(currPos[1], currPos[2])
|
||||
|
||||
" When shortcut files are updated, renew bash and ranger configs with new material:
|
||||
autocmd BufWritePost bm-files,bm-dirs !shortcuts
|
||||
" Run xrdb whenever Xdefaults or Xresources are updated.
|
||||
autocmd BufRead,BufNewFile Xresources,Xdefaults,xresources,xdefaults set filetype=xdefaults
|
||||
autocmd BufWritePost Xresources,Xdefaults,xresources,xdefaults !xrdb %
|
||||
" Recompile dwmblocks on config edit.
|
||||
autocmd BufWritePost ~/.local/src/dwmblocks/config.h !cd ~/.local/src/dwmblocks/; sudo make install && { killall -q dwmblocks;setsid -f dwmblocks }
|
||||
|
||||
" Turns off highlighting on the bits of code that are changed, so the line that is changed is highlighted but the actual text that has changed stands out on the line and is readable.
|
||||
if &diff
|
||||
highlight! link DiffText MatchParen
|
||||
endif
|
||||
|
||||
" Function for toggling the bottom statusbar:
|
||||
let s:hidden_all = 0
|
||||
function! ToggleHiddenAll()
|
||||
if s:hidden_all == 0
|
||||
let s:hidden_all = 1
|
||||
set noshowmode
|
||||
set noruler
|
||||
set laststatus=0
|
||||
set noshowcmd
|
||||
else
|
||||
let s:hidden_all = 0
|
||||
set showmode
|
||||
set ruler
|
||||
set laststatus=2
|
||||
set showcmd
|
||||
endif
|
||||
endfunction
|
||||
nnoremap <leader>h :call ToggleHiddenAll()<CR>
|
|
@ -1,61 +0,0 @@
|
|||
#!/bin/sh
|
||||
# This is script is meant to deploy all my configs to an specific directory
|
||||
|
||||
# Directory list
|
||||
dir1="$HOME/.config/awesome/"
|
||||
dir2="$HOME/.config/alacritty/"
|
||||
dir3="$HOME/.config/picom/"
|
||||
dir4="$HOME/.config/vifm/"
|
||||
dir6="$HOME/.config/doom/"
|
||||
dir7="$HOME/.config/scripts/"
|
||||
|
||||
# File List
|
||||
newsboaturl="$HOME/.newsboat/urls"
|
||||
zshrc="$HOME/.zshrc"
|
||||
bashrc="$HOME/.bashrc"
|
||||
starshiprc="$HOME/.config/starship.toml"
|
||||
mocrc="$HOME/.moc/config"
|
||||
mocth="$HOME/.moc/themes/"
|
||||
qutepy="$HOME/.config/qutebrowser/config.py"
|
||||
qutegruvpy="$HOME/.config/qutebrowser/gruvbox.py"
|
||||
|
||||
# Deploy directory
|
||||
echo "Checking the deploy directory, creating if it's not created"
|
||||
echo "Deleting the last deploy if it's there"
|
||||
deploydir="$HOME/.deploy"
|
||||
rm -rf "${deploydir:?}"/*
|
||||
mkdir -p "$HOME/.deploy/"
|
||||
mkdir -p "$HOME/.deploy/.config/"
|
||||
mkdir -p "$HOME/.deploy/.moc/"
|
||||
mkdir -p "$HOME/.deploy/.newsboat/"
|
||||
mkdir -p "$HOME/.deploy/.config/qutebrowser/"
|
||||
|
||||
# Deploying
|
||||
echo "Deploying the awesomewm config";
|
||||
cp -r "$dir1" "$deploydir/.config/";
|
||||
echo "Deploying the alacritty config";
|
||||
cp -r "$dir2" "$deploydir/.config/";
|
||||
echo "Deploying the picom config";
|
||||
cp -r "$dir3" "$deploydir/.config/";
|
||||
echo "Deploying the vifm config";
|
||||
cp -r "$dir4" "$deploydir/.config/";
|
||||
echo "Deploying the zsh config";
|
||||
cp "$zshrc" "$deploydir/";
|
||||
echo "Deploying the starship config";
|
||||
cp "$starshiprc" "$deploydir/.config/";
|
||||
echo "Deploying the bash config";
|
||||
cp "$bashrc" "$deploydir/";
|
||||
echo "Deploying the moc config";
|
||||
cp -r "$mocrc" "$deploydir/.moc/";
|
||||
echo "Deploying the moc themes";
|
||||
cp -r "$mocth" "$deploydir/.moc/";
|
||||
echo "Deploying the DOOM Emacs config";
|
||||
cp -r "$dir6" "$deploydir/.config/";
|
||||
echo "Deploying the qutebrowser config";
|
||||
cp "$qutepy" "$deploydir/.config/qutebrowser/";
|
||||
cp "$qutegruvpy" "$deploydir/.config/qutebrowser/";
|
||||
echo "Deploying scripts";
|
||||
cp -r "$dir7" "$deploydir/.config/";
|
||||
echo "Deploying the newsboat config";
|
||||
cp "$newsboaturl" "$deploydir/.newsboat/";
|
||||
rm "$deploydir"/.config/vifm/vifminfo*
|
|
@ -1,15 +0,0 @@
|
|||
#!/bin/sh
|
||||
# _____ ___ ___
|
||||
# / /::\ / /\ /__/|
|
||||
# / /:/\:\ / /::\ | |:| ***This script was made by Clay Gomera (Drake)***
|
||||
# / /:/ \:\ / /:/\:\ | |:| - Description: A simple desktop dmenu script
|
||||
# /__/:/ \__\:| / /:/~/:/ __| |:| - Dependencies: dmenu, j4-dmenu-desktop
|
||||
# \ \:\ / /:/ /__/:/ /:/___ /__/\_|:|____
|
||||
# \ \:\ /:/ \ \:\/:::::/ \ \:\/:::::/
|
||||
# \ \:\/:/ \ \::/~~~~ \ \::/~~~~
|
||||
# \ \::/ \ \:\ \ \:\
|
||||
# \__\/ \ \:\ \ \:\
|
||||
# \__\/ \__\/
|
||||
|
||||
DMENU="dmenu -l 10 -b -i -p Launch:"
|
||||
j4-dmenu-desktop --dmenu "$DMENU" --no-generic
|
|
@ -1,39 +0,0 @@
|
|||
#!/bin/sh
|
||||
# _____ ___ ___
|
||||
# / /::\ / /\ /__/|
|
||||
# / /:/\:\ / /::\ | |:| ***This script was made by Clay Gomera (Drake)***
|
||||
# / /:/ \:\ / /:/\:\ | |:| - Description: A simple power menu dmenu script
|
||||
# /__/:/ \__\:| / /:/~/:/ __| |:| - Dependencies: dmenu (Everything else can be changed)
|
||||
# \ \:\ / /:/ /__/:/ /:/___ /__/\_|:|____
|
||||
# \ \:\ /:/ \ \:\/:::::/ \ \:\/:::::/
|
||||
# \ \:\/:/ \ \::/~~~~ \ \::/~~~~
|
||||
# \ \::/ \ \:\ \ \:\
|
||||
# \__\/ \ \:\ \ \:\
|
||||
# \__\/ \__\/
|
||||
|
||||
option1=" Logout"
|
||||
option2=" Reboot"
|
||||
option3=" Power off"
|
||||
option4="💤 Suspend"
|
||||
option5="🔒lock"
|
||||
option6="❌Cancel"
|
||||
session=loginctl list | awk '$1 ~ "c" { print $1 }'
|
||||
|
||||
options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6"
|
||||
|
||||
action=$(echo "$options" | dmenu -b -i -p " ")
|
||||
|
||||
case "$action" in
|
||||
$option1)
|
||||
loginctl kill-session "$session";;
|
||||
$option2)
|
||||
loginctl reboot;;
|
||||
$option3)
|
||||
loginctl poweroff;;
|
||||
$option4)
|
||||
loginctl suspend && betterlockscreen -l;;
|
||||
$option5)
|
||||
betterlockscreen -l;;
|
||||
$option6)
|
||||
exit 0
|
||||
esac
|
|
@ -1,45 +0,0 @@
|
|||
#!/bin/sh
|
||||
# _____ ___ ___
|
||||
# / /::\ / /\ /__/|
|
||||
# / /:/\:\ / /::\ | |:| ***This script was made by Clay Gomera (Drake)***
|
||||
# / /:/ \:\ / /:/\:\ | |:| - Description: A simple screenshot dmenu script
|
||||
# /__/:/ \__\:| / /:/~/:/ __| |:| - Dependencies: scrot, dmenu, notify-send
|
||||
# \ \:\ / /:/ /__/:/ /:/___ /__/\_|:|____
|
||||
# \ \:\ /:/ \ \:\/:::::/ \ \:\/:::::/
|
||||
# \ \:\/:/ \ \::/~~~~ \ \::/~~~~
|
||||
# \ \::/ \ \:\ \ \:\
|
||||
# \__\/ \ \:\ \ \:\
|
||||
# \__\/ \__\/
|
||||
|
||||
mkdir -p "$HOME/Pictures/Screenshots"
|
||||
option1=" Entire screen"
|
||||
option2=" Entire screen with delay"
|
||||
option3=" Focused window"
|
||||
option4=" Select area"
|
||||
|
||||
options="$option1\n$option2\n$option3\n$option4"
|
||||
|
||||
choice=$(echo "$options" | dmenu -b -i -p " ")
|
||||
|
||||
case $choice in
|
||||
$option1)
|
||||
scrot -e 'mv $f ~/Pictures/Screenshots/' && notify-send -a 'Scrot' 'Screenshot saved.' -i 'dialog-information' -t 2000 ;;
|
||||
$option2)
|
||||
delayoption1="Take screenshot with 3 sec delay"
|
||||
delayoption2="Take screenshot with 5 sec delay"
|
||||
delayoption3="Take screenshot with 10 sec delay"
|
||||
delayoptions="$delayoption1\n$delayoption2\n$delayoption3"
|
||||
delay=$(echo "$delayoptions" | dmenu -b -i -p " ")
|
||||
case $delay in
|
||||
$delayoption1)
|
||||
scrot -d 3 -e 'mv $f ~/Pictures/Screenshots/' && notify-send -a 'Scrot' 'Screenshot saved.' -i 'dialog-information' -t 2000 ;;
|
||||
$delayoption2)
|
||||
scrot -d 5 -e 'mv $f ~/Pictures/Screenshots/' && notify-send -a 'Scrot' 'Screenshot saved.' -i 'dialog-information' -t 2000 ;;
|
||||
$delayoption3)
|
||||
scrot -d 10 -e 'mv $f ~/Pictures/Screenshots/' && notify-send -a 'Scrot' 'Screenshot saved.' -i 'dialog-information' -t 2000 ;;
|
||||
esac ;;
|
||||
$option3)
|
||||
scrot -u -b -e 'mv $f ~/Pictures/Screenshots/' && notify-send -a 'Scrot' 'Screenshot saved.' -i 'dialog-information' -t 2000 ;;
|
||||
$option4)
|
||||
scrot -s -e 'mv $f ~/Pictures/Screenshots/' && notify-send -a 'Scrot' 'Screenshot saved.' -i 'dialog-information' -t 2000 ;;
|
||||
esac
|
|
@ -1,53 +0,0 @@
|
|||
#!/bin/sh
|
||||
# _____ ___ ___
|
||||
# / /::\ / /\ /__/|
|
||||
# / /:/\:\ / /::\ | |:| ***This script was made by Clay Gomera (Drake)***
|
||||
# / /:/ \:\ / /:/\:\ | |:| - Description: A simple wallpaper changer script
|
||||
# /__/:/ \__\:| / /:/~/:/ __| |:| - Dependencies: dmenu, fd, feh
|
||||
# \ \:\ / /:/ /__/:/ /:/___ /__/\_|:|____
|
||||
# \ \:\ /:/ \ \:\/:::::/ \ \:\/:::::/
|
||||
# \ \:\/:/ \ \::/~~~~ \ \::/~~~~
|
||||
# \ \::/ \ \:\ \ \:\
|
||||
# \__\/ \ \:\ \ \:\
|
||||
# \__\/ \__\/
|
||||
# This is a simple dmenus script to chose wallpapers on the go, using feh and fd. This is still in development
|
||||
|
||||
|
||||
## MAIN VARIABLES AND COMMANDS ##
|
||||
walldir="Pictures/Wallpapers/" # wallpapers folder, change it to yours, make sure that it ends with a /
|
||||
cd "$walldir" || exit
|
||||
|
||||
## SELECT PICTURE FUNCTION ##
|
||||
selectpic() {
|
||||
wallpaper=$(fd -p "$walldir" | dmenu -l 10 -b -i -p "Select a wallpaper:")
|
||||
if [ "$wallpaper" ]; then
|
||||
chosenwall=$wallpaper
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
selectpic
|
||||
|
||||
## WALLPAPER SETTING OPTIONS ##
|
||||
option1="Fill"
|
||||
option2="Center"
|
||||
option3="Tile"
|
||||
option4="Max"
|
||||
option5="Scale"
|
||||
options="$option1\n$option2\n$option3\n$option4\n$option5"
|
||||
|
||||
## MAIN ACTION ##
|
||||
action=$(echo "$options" | dmenu -l 10 -b -i -p "Chose the format:")
|
||||
case "$action" in
|
||||
$option1*)
|
||||
feh --bg-fill "$chosenwall";;
|
||||
$option2*)
|
||||
feh --bg-center "$chosenwall";;
|
||||
$option3*)
|
||||
feh --bg-tile "$chosenwall";;
|
||||
$option4*)
|
||||
feh --bg-max "$chosenwall";;
|
||||
$option5*)
|
||||
feh --bg-scale "$chosenwall";;
|
||||
esac
|
||||
exit 0
|
15
.gtkrc-2.0
Normal file
|
@ -0,0 +1,15 @@
|
|||
include "/home/drk/.gtkrc-2.0.mine"
|
||||
gtk-theme-name="gruvbox-dark-gtk"
|
||||
gtk-icon-theme-name="gruvbox-dark-icons-gtk"
|
||||
gtk-font-name="Sans 10"
|
||||
gtk-cursor-theme-name="volantes_cursors"
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=0
|
||||
gtk-menu-images=0
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=1
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle="hintmedium"
|
4
.icons/default/index.theme
Normal file
|
@ -0,0 +1,4 @@
|
|||
[Icon Theme]
|
||||
Name=Default
|
||||
Comment=Default Cursor Theme
|
||||
Inherits=volantes_cursors
|
27
.xinitrc
Normal file
|
@ -0,0 +1,27 @@
|
|||
#/bin/sh
|
||||
|
||||
userresources=$HOME/.Xresources
|
||||
usermodmap=$HOME/.Xmodmap
|
||||
sysresources=/etc/X11/xinit/.Xresources
|
||||
sysmodmap=/etc/X11/xinit/.Xmodmap
|
||||
|
||||
# merge in defaults and keymaps
|
||||
|
||||
if [ -f $sysresources ]; then
|
||||
xrdb -merge $sysresources
|
||||
fi
|
||||
|
||||
if [ -f $sysmodmap ]; then
|
||||
xmodmap $sysmodmap
|
||||
fi
|
||||
|
||||
if [ -f "$userresources" ]; then
|
||||
xrdb -merge "$userresources"
|
||||
fi
|
||||
|
||||
if [ -f "$usermodmap" ]; then
|
||||
xmodmap "$usermodmap"
|
||||
fi
|
||||
|
||||
# start window manager / desktop environment
|
||||
exec dwm
|
51
.zshrc
|
@ -8,8 +8,15 @@
|
|||
### EXPORT
|
||||
export TERM="xterm-256color" # getting proper colors
|
||||
export HISTORY_IGNORE="(ls|cd|pwd|exit|sudo reboot|history|cd -|cd ..)"
|
||||
export EDITOR="emacsclient -t -a ''" # $EDITOR use Emacs in terminal
|
||||
export VISUAL="emacsclient -c -a emacs" # $VISUAL use Emacs in GUI mode
|
||||
export EDITOR="nvim" # $EDITOR use neovim
|
||||
export READER="zathura"
|
||||
export TERMINAL="alacritty"
|
||||
export BROWSER="qutebrowser"
|
||||
export WM="dwm"
|
||||
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
|
||||
export XDG_DATA_HOME=${XDG_DATA_HOME:="$HOME/.local/share"}
|
||||
export XDG_CACHE_HOME=${XDG_CACHE_HOME:="$HOME/.cache"}
|
||||
export XDG_CONFIG_HOME=${XDG_CONFIG_HOME:="$HOME/.config"}
|
||||
|
||||
### SET MANPAGER
|
||||
### "bat" as manpager
|
||||
|
@ -120,13 +127,6 @@ alias cat='bat'
|
|||
|
||||
# editors
|
||||
alias vim='nvim'
|
||||
alias em='/usr/bin/emacs -nw'
|
||||
alias emacs='emacsclient -c -a emacs'
|
||||
alias doomsync='~/.emacs.d/bin/doom sync'
|
||||
alias doomdoctor='~/.emacs.d/bin/doom doctor'
|
||||
alias doomupgrade='~/.emacs.d/bin/doom upgrade'
|
||||
alias doompurge='~/.emacs.d/bin/doom purge'
|
||||
alias doominstall='~/.emacs.d/bin/doom install'
|
||||
|
||||
# Changing "ls" to "exa"
|
||||
alias ls='exa -al --color=always --group-directories-first' # my preferred listing
|
||||
|
@ -136,12 +136,12 @@ alias lt='exa -aT --color=always --group-directories-first' # tree listing
|
|||
alias l.='exa -a | egrep "^\."'
|
||||
|
||||
# xbps
|
||||
alias xb-up='sudo xbps-install -Su && xcheckrestart' # update the whole system
|
||||
alias xb-get='sudo xbps-install -S' # install a program
|
||||
alias xb-qry='sudo xbps-query' # query details about a program
|
||||
alias xb-rmv='sudo xbps-remove -R' # remove a package with all its dependencies (it may brake something)
|
||||
alias xb-rmv-sec='sudo xbps-remove' # remove a package with all its dependencies (secure way)
|
||||
alias xb-cln='sudo xbps-remove -o && sudo xbps-remove -O' # remove unnecesary packages and clean cache
|
||||
alias xb-up='sudo xbps-install -Su && xcheckrestart' # Refresh pkglist & update standard pkgs
|
||||
alias xb-get='sudo xbps-install -S' # Install a package
|
||||
alias xb-rmv='sudo xbps-remove -R' # Remove a package with all its dependencies
|
||||
alias xb-rmv-sec='sudo xbps-remove' # Remove a package with all its dependencies (secure way)
|
||||
alias xb-qry='sudo xbps-query' # Repo query
|
||||
alias xb-cln='sudo xbps-remove -o && sudo xbps-remove -O' # remove orphaned packages
|
||||
|
||||
# Colorize grep output (good for log files)
|
||||
alias grep='grep --color=auto'
|
||||
|
@ -168,8 +168,9 @@ alias tag='git tag'
|
|||
alias newtag='git tag -a'
|
||||
|
||||
# adding flags
|
||||
alias df='df -h' # human-readable sizes
|
||||
alias free='free -m' # show sizes in MB
|
||||
alias df='df -h' # human-readable sizes
|
||||
alias free='free -m' # show sizes in MB
|
||||
alias newsboat='newsboat -u ~/.config/newsboat/urls' # start newsboat with my urls file
|
||||
|
||||
# ani-cli
|
||||
alias ani='ani-cli'
|
||||
|
@ -190,7 +191,7 @@ alias mx='pulsemixer'
|
|||
alias amx='alsamixer'
|
||||
|
||||
# music player
|
||||
alias mk='mocp'
|
||||
alias mk='cmus'
|
||||
|
||||
# power management
|
||||
alias po='loginctl poweroff'
|
||||
|
@ -201,11 +202,6 @@ alias rb='loginctl reboot'
|
|||
alias fm='./.config/vifm/scripts/vifmrun'
|
||||
alias vifm='./.config/vifm/scripts/vifmrun'
|
||||
|
||||
# system monitor
|
||||
alias tp='btop'
|
||||
alias top='btop'
|
||||
alias htop='btop'
|
||||
|
||||
# ps
|
||||
alias psa="ps auxf"
|
||||
alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e"
|
||||
|
@ -235,12 +231,5 @@ alias wfi-on='nmcli radio wifi on'
|
|||
alias wfi-off='nmcli radio wifi off'
|
||||
alias blt='bluetoothctl'
|
||||
|
||||
# the terminal rickroll
|
||||
alias rr='curl -s -L https://raw.githubusercontent.com/keroserene/rickrollrc/master/roll.sh | bash'
|
||||
|
||||
# Deploy script
|
||||
alias deploynow='sh $HOME/.config/scripts/deploy.sh'
|
||||
|
||||
### SETTING THE STARSHIP PROMPT ###
|
||||
eval "$(starship init zsh)"
|
||||
|
||||
eval "$(starship init bash)"
|
||||
|
|
17
README.md
Normal file
|
@ -0,0 +1,17 @@
|
|||
# ABOUT
|
||||
This is just a personal repository where i store all my dotfiles, you're free clone them and edit them as you wish. Part of this work was based on other people's dotfiles (Distrotube for example), and it may contain scripts or binaries that they made or modify.
|
||||
|
||||
* Screenshots:
|
||||
![Screenshot1](screenshot1.png "Screenshot 1")
|
||||
![Screenshot2](screenshot2.png "Screenshot 2")
|
||||
|
||||
# Dependencies
|
||||
If you want to get the full experience you need theese things:
|
||||
* my dwm build (comming)
|
||||
* my dmenu build (comming)
|
||||
* my dmenu_scripts (comming)
|
||||
* mononoki Nerd Font
|
||||
* xbacklight
|
||||
* libinput & xf86-input-libinput
|
||||
* lxsession
|
||||
* picom
|
BIN
screenshot1.png
Before Width: | Height: | Size: 594 KiB After Width: | Height: | Size: 702 KiB |
BIN
screenshot2.png
Before Width: | Height: | Size: 387 KiB After Width: | Height: | Size: 424 KiB |