This commit is contained in:
Nikolay Lazarov 2024-06-15 19:03:26 +03:00
parent 51b7882349
commit ca44a330f1
18 changed files with 1013 additions and 327 deletions

95
bashrc
View File

@ -1,95 +0,0 @@
bind "set completion-ignore-case on"
export TERM="xterm-256color"
export HISTCONTROL=ignoredups:erasedups
export HISTSIZE=10000
export EDITOR="nvim"
export MANPAGER="/bin/sh -c \"col -b | vim --not-a-term -c 'set ft=man ts=8 nomod nolist noma' -\""
export DOTNET_CLI_TELEMETRY_OPTOUT="1"
export LANG="en_US.UTF-8"
export LC_MESSAGES="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export LIBVIRT_DEFAULT_URI="qemu:///system"
shopt -s autocd
shopt -s cdspell
shopt -s cmdhist
shopt -s dotglob
shopt -s histappend
shopt -s expand_aliases
shopt -s checkwinsize
alias vim='nvim'
alias pacu='sudo pacman -Syyu'
alias yayu="yay -Sua --noconfirm"
alias yayue="yay -Syu --noconfirm"
alias cleanup='sudo pacman -Rns $(pacman -Qtdq)'
alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist"
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias cp="cp -i"
alias mv='mv -i'
alias rm='rm -f'
alias df='df -h'
alias ls='ls -l'
alias jctl="journalctl -p 3 -xb"
alias gpg-check="gpg2 --keyserver-options auto-key-retrieve --verify"
alias gpg-retrieve="gpg2 --keyserver-options auto-key-retrieve --receive-keys"
#PATH
if [ -d "$HOME/.bin" ] ;
then PATH="$HOME/.bin:$PATH"
fi
if [ -d "$HOME/.local/bin" ] ;
then PATH="$HOME/.local/bin:$PATH"
fi
[[ $- != *i* ]] && return
PS1='[\u@\h \W]\$ '
case ${TERM} in
xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|alacritty|st|konsole*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"'
;;
screen*)
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"'
;;
esac
#Functions
wireguard () {
if [ -f $1 ]; then
case $1 in
up) sudo wg-quick up wg0 ;;
down) sudo wg-quick down wg0 ;;
*) echo "Error" ;;
esac
else
echo "'$1' not valid. Usage: Up || Down"
fi
}
ex () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1;;
*.7z) 7z x $1 ;;
*.deb) ar x $1 ;;
*.tar.xz) tar xf $1 ;;
*.tar.zst) unzstd $1 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}

View File

@ -37,7 +37,7 @@ text = "CellForeground"
TERM = "xterm-256color" TERM = "xterm-256color"
[font] [font]
size = 13.0 size = 12.0
[font.bold] [font.bold]
family = "Source Code Pro" family = "Source Code Pro"
@ -59,96 +59,12 @@ style = "Regular"
x = 0 x = 0
y = 1 y = 1
[[keyboard.bindings]]
action = "Paste"
key = "V"
mods = "Control|Shift"
[[keyboard.bindings]]
action = "Copy"
key = "C"
mods = "Control|Shift"
[[keyboard.bindings]]
action = "PasteSelection"
key = "Insert"
mods = "Shift"
[[keyboard.bindings]]
action = "ResetFontSize"
key = "Key0"
mods = "Control"
[[keyboard.bindings]]
action = "IncreaseFontSize"
key = "Equals"
mods = "Control"
[[keyboard.bindings]]
action = "IncreaseFontSize"
key = "Plus"
mods = "Control"
[[keyboard.bindings]]
action = "DecreaseFontSize"
key = "Minus"
mods = "Control"
[[keyboard.bindings]]
action = "ToggleFullscreen"
key = "F11"
mods = "None"
[[keyboard.bindings]]
action = "Paste"
key = "Paste"
mods = "None"
[[keyboard.bindings]]
action = "Copy"
key = "Copy"
mods = "None"
[[keyboard.bindings]]
action = "ClearLogNotice"
key = "L"
mods = "Control"
[[keyboard.bindings]]
chars = "\f"
key = "L"
mods = "Control"
[[keyboard.bindings]]
action = "ScrollPageUp"
key = "PageUp"
mode = "~Alt"
mods = "None"
[[keyboard.bindings]]
action = "ScrollPageDown"
key = "PageDown"
mode = "~Alt"
mods = "None"
[[keyboard.bindings]]
action = "ScrollToTop"
key = "Home"
mode = "~Alt"
mods = "Shift"
[[keyboard.bindings]]
action = "ScrollToBottom"
key = "End"
mode = "~Alt"
mods = "Shift"
[scrolling] [scrolling]
history = 5000 history = 5000
[window] [window]
dynamic_padding = false dynamic_padding = false
opacity = 0.92 opacity = 0.9
title = "Alacritty" title = "Alacritty"
[window.class] [window.class]
@ -156,6 +72,6 @@ general = "Alacritty"
instance = "Alacritty" instance = "Alacritty"
[window.padding] [window.padding]
x = 6 x = 4
y = 6 y = 4

119
config/picom/picom.conf Executable file
View File

@ -0,0 +1,119 @@
# ____ _____
# | _ \_ _| Derek Taylor (DistroTube)
# | | | || | http://www.youtube.com/c/DistroTube
# | |_| || | http://www.gitlab.com/dwt1/
# |____/ |_|
#
# My config. Not much to see here; just some pretty standard stuff.
# Enabled client-side shadows on windows. Note desktop windows
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
# unless explicitly requested using the wintypes option.
#
shadow = true;
# The blur radius for shadows, in pixels. (defaults to 12)
shadow-radius = 8;
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
shadow-opacity = .6
# The left offset for shadows, in pixels. (defaults to -15)
shadow-offset-x = -3;
# The top offset for shadows, in pixels. (defaults to -15)
shadow-offset-y = -3;
# Specify a list of conditions of windows that should have no shadow.
#
# examples:
# shadow-exclude = "n:e:Notification";
#
# shadow-exclude = []
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"class_g = 'slop'",
"class_g = 'Polybar'",
"class_g = 'trayer'",
"override_redirect = true",
"_GTK_FRAME_EXTENTS@:c"
];
# Fade windows in/out when opening/closing and when opacity changes,
# unless no-fading-openclose is used.
# fading = false
fading = true;
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
# fade-in-step = 0.028
fade-in-step = 0.03;
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
# fade-out-step = 0.03
fade-out-step = 0.03;
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
# fade-delta = 10
# Specify a list of conditions of windows that should not be faded.
# don't need this, we disable fading for all normal windows with wintypes: {}
fade-exclude = [
"class_g = 'slop'" # maim
]
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
# inactive-opacity = 0.8
inactive-opacity = 1.00
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
# frame-opacity = 1.0
frame-opacity = 1.00
# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0)
# menu-opacity = 1.0
# menu-opacity is depreciated use dropdown-menu and popup-menu instead.
#If using these 2 below change their values in line 510 & 511 aswell
popup_menu = { opacity = 1.0; }
dropdown_menu = { opacity = 1.0; }
# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
# inactive-opacity-override = true
inactive-opacity-override = false;
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
active-opacity = 1.00
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
# inactive-dim = 0.0
# Specify a list of conditions of windows that should always be considered focused.
# focus-exclude = []
focus-exclude = [
"class_g = 'Cairo-clock'",
"class_g = 'Bar'", # lemonbar
"class_g = 'slop'", # maim
"class_g = 'trayer'" # trayer
];
opacity-rule = [
"100:class_g = 'XTerm'",
"100:class_g = 'URxvt'",
"100:class_g = 'firefox'",
"100:class_g = 'Thunderbird'"
];
wintypes:
{
normal = { fade = false; shadow = true; }
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
dock = { shadow = false; }
dnd = { shadow = true; }
popup_menu = { opacity = 1.0; }
dropdown_menu = { opacity = 1.0; }
};

Binary file not shown.

Binary file not shown.

11
config/qtile/autostart.sh Executable file
View File

@ -0,0 +1,11 @@
#!/usr/bin/env bash
COLORSCHEME=DoomOne
lxsession &
picom --daemon &
nm-applet &
sleep 1
conky -c "$HOME"/.config/conky/qtile/01/"$COLORSCHEME".conf || echo "Couldn't start conky."
volumeicon &
nitrogen --restore &

122
config/qtile/colors.py Normal file
View File

@ -0,0 +1,122 @@
# If using transparency, make sure you add (background="#00000000") to 'Screen' line(s).
# Then, you can use RGBA color codes to add transparency to the colors below.
# For ex: colors = [["#282c34ee", "#282c34dd"], ...
DoomOne = [
["#282c34", "#282c34"], # bg
["#bbc2cf", "#bbc2cf"], # fg
["#1c1f24", "#1c1f24"], # color01
["#ff6c6b", "#ff6c6b"], # color02
["#98be65", "#98be65"], # color03
["#da8548", "#da8548"], # color04
["#51afef", "#51afef"], # color05
["#c678dd", "#c678dd"], # color06
["#46d9ff", "#46d9ff"] # color15
]
Dracula = [
["#282a36", "#282a36"], # bg
["#f8f8f2", "#f8f8f2"], # fg
["#000000", "#000000"], # color01
["#ff5555", "#ff5555"], # color02
["#50fa7b", "#50fa7b"], # color03
["#f1fa8c", "#f1fa8c"], # color04
["#bd93f9", "#bd93f9"], # color05
["#ff79c6", "#ff79c6"], # color06
["#9aedfe", "#9aedfe"] # color15
]
GruvboxDark = [
["#282828", "#282828"], # bg
["#ebdbb2", "#ebdbb2"], # fg
["#000000", "#000000"], # color01
["#fb4934", "#fb4934"], # color02
["#98971a", "#98971a"], # color03
["#d79921", "#d79921"], # color04
["#83a598", "#83a598"], # color05
["#d3869b", "#d3869b"], # color06
["#b8bb26", "#b8bb26"], # color11
]
MonokaiPro = [
["#2D2A2E", "#2D2A2E"], # bg
["#FCFCFA", "#FCFCFA"], # fg
["#403E41", "#403E41"], # color01
["#FF6188", "#FF6188"], # color02
["#A9DC76", "#A9DC76"], # color03
["#FFD866", "#FFD866"], # color04
["#FC9867", "#FC9867"], # color05
["#AB9DF2", "#AB9DF2"], # color06
["#78DCE8", "#78DCE8"] # color07
]
Nord = [
["#2E3440", "#2E3440"], # bg
["#D8DEE9", "#D8DEE9"], # fg
["#3B4252", "#3B4252"], # color01
["#BF616A", "#BF616A"], # color02
["#A3BE8C", "#A3BE8C"], # color03
["#EBCB8B", "#EBCB8B"], # color04
["#81A1C1", "#81A1C1"], # color05
["#B48EAD", "#B48EAD"], # color06
["#88C0D0", "#88C0D0"] # color07
]
OceanicNext = [
["#1b2b34", "#1b2b34"], # bg
["#d8dee9", "#d8dee9"], # fg
["#29414f", "#29414f"], # color01
["#ec5f67", "#ec5f67"], # color02
["#99c794", "#99c794"], # color03
["#fac863", "#fac863"], # color04
["#6699cc", "#6699cc"], # color05
["#c594c5", "#c594c5"], # color06
["#5fb3b3", "#5fb3b3"] # color07
]
Palenight = [
["#292d3e", "#292d3e"], # bg
["#d0d0d0", "#d0d0d0"], # fg
["#434758", "#434758"], # color01
["#f07178", "#f07178"], # color02
["#c3e88d", "#c3e88d"], # color03
["#ffcb6b", "#ffcb6b"], # color04
["#82aaff", "#82aaff"], # color05
["#c792ea", "#c792ea"], # color06
["#89ddff", "#89ddff"] # color15
]
SolarizedDark = [
["#002b36", "#002b36"], # bg
["#839496", "#839496"], # fg
["#073642", "#073642"], # color01
["#dc322f", "#dc322f"], # color02
["#859900", "#859900"], # color03
["#b58900", "#b58900"], # color04
["#268bd2", "#268bd2"], # color05
["#d33682", "#d33682"], # color06
["#2aa198", "#2aa198"] # color15
]
SolarizedLight = [
["#fdf6e3", "#fdf6e3"], # bg
["#657b83", "#657b83"], # fg
["#ece5ac", "#ece5ac"], # color01
["#dc322f", "#dc322f"], # color02
["#859900", "#859900"], # color03
["#b58900", "#b58900"], # color04
["#268bd2", "#268bd2"], # color05
["#d33682", "#d33682"], # color06
["#2aa198", "#2aa198"] # color15
]
TomorrowNight = [
["#1d1f21", "#1d1f21"], # bg
["#c5c8c6", "#c5c8c6"], # fg
["#373b41", "#373b41"], # color01
["#cc6666", "#cc6666"], # color02
["#b5bd68", "#b5bd68"], # color03
["#e6c547", "#e6c547"], # color04
["#81a2be", "#81a2be"], # color05
["#b294bb", "#b294bb"], # color06
["#70c0ba", "#70c0ba"] # color15
]

301
config/qtile/config.py Normal file
View File

@ -0,0 +1,301 @@
# Copyright (c) 2010 Aldo Cortesi
# Copyright (c) 2010, 2014 dequis
# Copyright (c) 2012 Randall Ma
# Copyright (c) 2012-2014 Tycho Andersen
# Copyright (c) 2012 Craig Barnes
# Copyright (c) 2013 horsik
# Copyright (c) 2013 Tao Sauvage
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
import os
import subprocess
from libqtile import bar, extension, hook, layout, qtile, widget
from libqtile.config import Click, Drag, Group, Key, KeyChord, Match, Screen
from libqtile.lazy import lazy
from qtile_extras import widget
from qtile_extras.widget.decorations import BorderDecoration
import colors
mod = "mod4"
myTerm = "alacritty"
myBrowser = "firefox"
keys = [
Key([mod], "Return", lazy.spawn("alacritty -e zsh"), desc="Terminal"),
Key([mod, "shift"], "Return", lazy.spawn("rofi -show drun"), desc='Run Launcher'),
Key([mod], "b", lazy.spawn(myBrowser), desc='Web browser'),
Key([mod], "Tab", lazy.next_layout(), desc="Toggle between layouts"),
Key([mod, "shift"], "c", lazy.window.kill(), desc="Kill focused window"),
Key([mod, "shift"], "r", lazy.reload_config(), desc="Reload the config"),
Key([mod, "shift"], "q", lazy.spawn("qtile cmd-obj -o cmd -f shutdown"), desc="Logout"),
Key([mod], "r", lazy.spawncmd(), desc="Spawn a command using a prompt widget")
]
groups = []
group_names = ["1", "2", "3", "4", "5", "6", "7"]
group_labels = ["DEV", "WWW", "SYS", "DOC", "CHAT", "MUS", "VID"]
group_layouts = ["monadtall", "monadtall", "monadtall", "monadtall", "monadtall", "monadtall", "monadtall"]
for i in range(len(group_names)):
groups.append(
Group(
name=group_names[i],
layout=group_layouts[i].lower(),
label=group_labels[i],
))
for i in groups:
keys.extend(
[
Key(
[mod],
i.name,
lazy.group[i.name].toscreen(),
desc="Switch to group {}".format(i.name),
),
Key(
[mod, "shift"],
i.name,
lazy.window.togroup(i.name, switch_group=False),
desc="Move focused window to group {}".format(i.name),
),
]
)
colors = colors.DoomOne
layout_theme = {"border_width": 2,
"margin": 8,
"border_focus": colors[8],
"border_normal": colors[0]
}
layouts = [
layout.MonadTall(**layout_theme),
layout.Max(
border_width = 0,
margin = 0,
),
]
widget_defaults = dict(
font="Ubuntu Bold",
fontsize = 12,
padding = 0,
background=colors[0]
)
extension_defaults = widget_defaults.copy()
def init_widgets_list():
widgets_list = [
widget.Image(
filename = "~/.config/qtile/icons/python.png",
scale = "False",
mouse_callbacks = {'Button1': lambda: qtile.cmd_spawn(myTerm)},
),
widget.Prompt(
font = "Ubuntu Mono",
fontsize=14,
foreground = colors[1]
),
widget.GroupBox(
fontsize = 11,
margin_y = 5,
margin_x = 5,
padding_y = 0,
padding_x = 1,
borderwidth = 3,
active = colors[8],
inactive = colors[1],
rounded = False,
highlight_color = colors[2],
highlight_method = "line",
this_current_screen_border = colors[7],
this_screen_border = colors [4],
other_current_screen_border = colors[7],
other_screen_border = colors[4],
),
widget.TextBox(
text = '|',
font = "Ubuntu Mono",
foreground = colors[1],
padding = 2,
fontsize = 14
),
widget.CurrentLayoutIcon(
foreground = colors[1],
padding = 4,
scale = 0.6
),
widget.CurrentLayout(
foreground = colors[1],
padding = 5
),
widget.TextBox(
text = '|',
font = "Ubuntu Mono",
foreground = colors[1],
padding = 2,
fontsize = 14
),
widget.WindowName(
foreground = colors[6],
max_chars = 40
),
widget.GenPollText(
update_interval = 300,
func = lambda: subprocess.check_output("printf $(uname -r)", shell=True, text=True),
foreground = colors[3],
fmt = '{}',
decorations=[
BorderDecoration(
colour = colors[3],
border_width = [0, 0, 2, 0],
)
],
),
widget.Spacer(length = 8),
widget.CPU(
format = 'Cpu: {load_percent}%',
foreground = colors[4],
decorations=[
BorderDecoration(
colour = colors[4],
border_width = [0, 0, 2, 0],
)
],
),
widget.Spacer(length = 8),
widget.Memory(
foreground = colors[8],
mouse_callbacks = {'Button1': lambda: qtile.cmd_spawn(myTerm + ' -e htop')},
format = '{MemUsed: .0f}{mm}',
fmt = 'Mem: {} used',
decorations=[
BorderDecoration(
colour = colors[8],
border_width = [0, 0, 2, 0],
)
],
),
widget.Spacer(length = 8),
widget.DF(
update_interval = 60,
foreground = colors[5],
mouse_callbacks = {'Button1': lambda: qtile.cmd_spawn(myTerm + ' -e df')},
partition = '/',
format = '{uf}{m} free',
fmt = 'Disk: {}',
visible_on_warn = False,
decorations=[
BorderDecoration(
colour = colors[5],
border_width = [0, 0, 2, 0],
)
],
),
widget.Spacer(length = 8),
widget.KeyboardLayout(
foreground = colors[4],
fmt = 'Kbd: {}',
decorations=[
BorderDecoration(
colour = colors[4],
border_width = [0, 0, 2, 0],
)
],
),
widget.Spacer(length = 8),
widget.Clock(
foreground = colors[8],
format = "%a, %b %d - %H:%M:%S",
decorations=[
BorderDecoration(
colour = colors[8],
border_width = [0, 0, 2, 0],
)
],
),
widget.Spacer(length = 8),
widget.Systray(padding = 3),
widget.Spacer(length = 8),
]
return widgets_list
def init_widgets_screen1():
widgets_screen1 = init_widgets_list()
return widgets_screen1
def init_screens():
return [Screen(top=bar.Bar(widgets=init_widgets_screen1(), size=34))]
if __name__ in ["config", "__main__"]:
screens = init_screens()
widgets_list = init_widgets_list()
def window_to_prev_group(qtile):
if qtile.currentWindow is not None:
i = qtile.groups.index(qtile.currentGroup)
qtile.currentWindow.togroup(qtile.groups[i - 1].name)
def window_to_next_group(qtile):
if qtile.currentWindow is not None:
i = qtile.groups.index(qtile.currentGroup)
qtile.currentWindow.togroup(qtile.groups[i + 1].name)
mouse = [
Drag([mod], "Button1", lazy.window.set_position_floating(), start=lazy.window.get_position()),
Drag([mod], "Button3", lazy.window.set_size_floating(), start=lazy.window.get_size()),
Click([mod], "Button2", lazy.window.bring_to_front()),
]
dgroups_key_binder = None
dgroups_app_rules = [] # type: list
follow_mouse_focus = True
bring_front_click = False
cursor_warp = False
auto_fullscreen = True
focus_on_window_activation = "smart"
reconfigure_screens = True
# If things like steam games want to auto-minimize themselves when losing
# focus, should we respect this or not?
auto_minimize = True
# When using the Wayland backend, this can be used to configure input devices.
wl_input_rules = None
@hook.subscribe.startup_once
def start_once():
home = os.path.expanduser('~')
subprocess.call([home + '/.config/qtile/autostart.sh'])
# XXX: Gasp! We're lying here. In fact, nobody really uses or cares about this
# string besides java UI toolkits; you can see several discussions on the
# mailing lists, GitHub issues, and other WM documentation that suggest setting
# this string if your java app doesn't work correctly. We may as well just lie
# and say that we're a working one by default.
#
# We choose LG3D to maximize irony: it is a 3D non-reparenting WM written in
# java that happens to be on java's whitelist.
wmname = "LG3D"

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

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

@ -0,0 +1,7 @@
configuration {
modi: "window,drun,ssh,combi";
font: "hack 10";
combi-modi: "window,drun,ssh";
}
@theme "~/.config/rofi/themes/dtos-center.rasi"

View File

@ -0,0 +1,110 @@
* {
font: "Roboto 10";
bg0 : #1f1f1fff;
bg1 : #202020ff;
bg2 : #2c2c2c;
bg3 : #393939ff;
fg0 : #ffffff;
fg1 : #cecece;
accent : #60cdff;
urgent : @accent;
background-color : transparent;
text-color : @fg0;
margin : 0;
padding : 0;
spacing : 0;
}
element-icon, element-text, scrollbar {
cursor: pointer;
}
window {
location : center;
width : 680px;
height : 520px;
y-offset : -4px;
background-color : @bg1;
border-radius : 6px;
border : 2px;
border-color : #000000;
}
mainbox {
padding : 16px 28px;
spacing : 24px;
}
inputbar {
padding : 8px;
spacing : 8px;
children : [ icon-search, entry ];
border : 0 0 2px 0 solid;
border-color : @accent;
border-radius : 2px;
background-color : @bg0;
}
icon-search, entry, element-icon, element-text {
vertical-align: 0.5;
}
icon-search {
expand : false;
filename : "search-symbolic";
size : 24px;
}
entry {
font : "Roboto 12";
placeholder : "Type here to search";
placeholder-color : @fg1;
}
textbox {
padding : 4px 8px;
background-color : @bg2;
}
listview {
columns : 6;
spacing : 8px;
fixed-height : true;
fixed-columns : true;
}
element {
orientation : vertical;
spacing : 4px;
padding : 8px;
border-radius : 2px;
}
element normal urgent {
text-color: @urgent;
}
element normal active {
text-color: @accent;
}
element selected {
background-color: @bg3;
}
element selected urgent {
background-color: @urgent;
}
element-icon {
size: 2em;
}
element-text {
text-color : inherit;
horizontal-align : 0.5;
}

View File

@ -0,0 +1,99 @@
/**
* ROFI Color theme
* NAME: dt-center.rasi
* DESCRIPTION: This is a centered prompt.
* AUTHOR: Derek Taylor (DT)
*/
* {
background-color: #282c34;
border-color: #51afef;
text-color: #bbc2cf;
font: "Ubuntu Mono 11";
prompt-font: "Ubuntu Bold 10";
prompt-background: #51afef;
prompt-foreground: #282c34;
prompt-padding: 4px;
alternate-normal-background: #1c1f24;
alternate-normal-foreground: @text-color;
selected-normal-background: #ae3f3e;
selected-normal-foreground: #ffffff;
spacing: 3;
}
#window {
border: 2;
padding: 5;
}
#mainbox {
border: 0;
padding: 0;
}
#message {
border: 1px dash 0px 0px ;
padding: 1px ;
}
#listview {
fixed-height: 0;
border: 2px solid 0px 0px ;
border-color: #1c1f24;
spacing: 2px ;
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
border: 0;
padding: 1px ;
}
#element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#scrollbar {
width: 0px ;
border: 0;
handle-width: 0px ;
padding: 0;
}
#sidebar {
border: 2px dash 0px 0px ;
}
#button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
spacing: 0;
padding: 1px ;
}
#case-indicator {
spacing: 0;
}
#entry {
padding: 4px 4px;
expand: false;
width: 10em;
}
#prompt {
padding: @prompt-padding;
background-color: @prompt-background;
text-color: @prompt-foreground;
font: @prompt-font;
border-radius: 2px;
}
element-text {
background-color: inherit;
text-color: inherit;
}
/* Not actually relevant for this configuration, but it might
be useful to someone having issues with their icons' background color
element-icon {
background-color: inherit;
}
*/

View File

@ -0,0 +1,66 @@
/**
* ROFI Color theme
* NAME: dt-dmenu.rasi
* DESCRIPTION: This is a horizontal prompt similar to dmenu.
* AUTHOR: Derek Taylor (DT)
*/
* {
background-color: #282c34;
border-color: #282c34;
text-color: #bbc2cf;
height: 20px;
font: "SauceCodePro Nerd Font Mono 9";
prompt-font: "Ubuntu Bold 9";
prompt-background: #51afef;
prompt-foreground: #282c34;
prompt-padding: 2px;
selected-normal-background: #ae3f3e;
selected-normal-foreground: #ffffff;
}
#window {
anchor: north;
location: north;
width: 100%;
padding: 0px;
children: [ horibox ];
}
#horibox {
orientation: horizontal;
children: [ prompt, entry, listview ];
}
#prompt {
padding: @prompt-padding;
background-color: @prompt-background;
text-color: @prompt-foreground;
font: @prompt-font;
}
#listview {
layout: horizontal;
lines: 100;
}
#entry {
padding: 2px;
expand: false;
width: 10em;
}
#element {
padding: 2px 8px;
}
#element selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
element-text {
background-color: inherit;
text-color: inherit;
}
/* Not actually relevant for this configuration, but it might
be useful to someone having issues with their icons' background color
element-icon {
background-color: inherit;
}
*/

153
config/starship.toml Normal file
View File

@ -0,0 +1,153 @@
#format = """
#[╭─user───](bold blue) $username
#[┣─system─](bold yellow) $hostname
#[┣─project](bold red) $directory$rust$git_branch$git_state$git_status$package$golang$terraform$docker_context$python$docker_context$nodejs
#[╰─cmd────](bold green)
#"""
[username]
style_user = "green bold"
style_root = "red bold"
format = "[$user]($style) "
disabled = false
show_always = true
[hostname]
ssh_only = false
format = 'on [$hostname](bold purple) '
trim_at = "."
disabled = false
# Replace the "" symbol in the prompt with "➜"
[character] # The name of the module we are configuring is "character"
success_symbol = "[➜](bold green)" # The "success_symbol" segment is being set to "➜" with the color "bold green"
error_symbol = "[✗](bold red)"
#  
# configure directory
[directory]
read_only = " "
truncation_length = 10
truncate_to_repo = true # truncates directory to root folder if in github repo
style = "bold italic blue"
[cmd_duration]
min_time = 4
show_milliseconds = false
disabled = false
style = "bold italic red"
[aws]
symbol = " "
[conda]
symbol = " "
[dart]
symbol = " "
#[directory]
#read_only = " "
[docker_context]
symbol = " "
format = "via [$symbol$context]($style) "
style = "blue bold"
only_with_files = true
detect_files = ["docker-compose.yml", "docker-compose.yaml", "Dockerfile"]
detect_folders = []
disabled = false
[elixir]
symbol = " "
[elm]
symbol = " "
[git_branch]
symbol = " "
[git_status]
format = '([\[$all_status$ahead_behind\]]($style) )'
stashed = "[${count}*](green)"
modified = "[${count}+](yellow)"
deleted = "[${count}-](red)"
conflicted = "[${count}~](red)"
ahead = "⇡${count}"
behind = "⇣${count}"
untracked = "[${count}?](blue)"
staged = "[${count}+](green)"
[git_state]
style = "bold red"
format = "[$state( $progress_current/$progress_total) ]($style)"
rebase = "rebase"
merge = "merge"
revert = "revert"
cherry_pick = "cherry"
bisect = "bisect"
am = "am"
am_or_rebase = "am/rebase"
[golang]
symbol = " "
[hg_branch]
symbol = " "
[java]
symbol = " "
[julia]
symbol = " "
[haskell]
symbol = "λ "
[memory_usage]
symbol = " "
[nim]
symbol = " "
[nix_shell]
symbol = " "
[package]
symbol = " "
[perl]
symbol = " "
[php]
symbol = " "
[python]
symbol = "🐍 "
#pyenv_version_name = true
format = 'via [${symbol}python (${version} )(\($virtualenv\) )]($style)'
style = "bold yellow"
pyenv_prefix = "venv "
python_binary = ["./venv/bin/python", "python", "python3", "python2"]
detect_extensions = ["py"]
version_format = "v${raw}"
[ruby]
symbol = " "
[rust]
symbol = " "
[scala]
symbol = " "
[shlvl]
symbol = " "
[swift]
symbol = "ﯣ "
[nodejs]
format = "via [ Node.js $version](bold green) "
detect_files = ["package.json", ".node-version"]
detect_folders = ["node_modules"]

9
vimrc
View File

@ -1,9 +0,0 @@
" Source all settings
if filereadable(glob("~/.vim/vimrc.local"))
source ~/.vim/vimrc.local
endif
" Invert paste when \p or <F3> is pressed
:nnoremap <leader>p :set invpaste<CR>
:nnoremap <F3> :set invpaste<CR>
:set number

77
zshrc Normal file → Executable file
View File

@ -1,42 +1,34 @@
#ZSH Variables #Export basic stuff
ZSH_THEME="agnoster" export TERM="xterm-256color"
CASE_SENSITIVE="true" export HISTORY_IGNORE="(ls|cd|pwd|exit|sudo reboot|history|cd -|cd ..)"
ENABLE_CORRECTION="false"
COMPLETION_WAITING_DOTS="true"
zstyle ':omz:update' mode auto
zstyle ':omz:update' frequency 14
HIST_STAMPS="%d/%m/%y %T"
export ZSH="/home/nlazarov/.oh-my-zsh"
export ZSH_CUSTOM="/home/nlazarov/git/zsh"
source $ZSH/oh-my-zsh.sh
plugins=(
colored-man-pages
zsh-syntax-highlighting
zsh-autosuggestions
git
aws
docker
docker-compose
kubectl
git-flow
)
#General
export EDITOR="nvim" export EDITOR="nvim"
export KUBE_EDITOR=nvim export VISUAL="nvim"
export MANPAGER='nvim +Man!' export MANPAGER='nvim +Man!'
export MANWIDTH=999 export MANWIDTH=999
export HISTCONTROL=ignoredups:erasedups export HISTCONTROL=ignoredups:erasedups
export HISTSIZE=10000 export HISTSIZE=20000
#Export language variables
export LANG="en_US.UTF-8" export LANG="en_US.UTF-8"
export LC_MESSAGES="en_US.UTF-8" export LC_MESSAGES="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8" export LC_CTYPE="en_US.UTF-8"
export LC_ALL="en_US.UTF-8" export LC_ALL="en_US.UTF-8"
#Export General
export KUBE_EDITOR=nvim
export DOTNET_CLI_TELEMETRY_OPTOUT="1" export DOTNET_CLI_TELEMETRY_OPTOUT="1"
#Aliases
alias vim='nvim' alias vim='nvim'
alias ls='eza -al --color=always --group-directories-first' # basic
alias la='eza -a --color=always --group-directories-first' # all files and dirs
alias ll='eza -l --color=always --group-directories-first' # long format
alias lt='eza -aT --color=always --group-directories-first' # tree listing
alias pacue='sudo pacman -Syyu' # Refresh pkglist & update standard pkgs
alias parue='paru -Sua --noconfirm' # update only AUR pkgs (paru)
alias orphan='sudo pacman -Rns $(pacman -Qtdq)' # remove orphaned packages
alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist" # get fastest mirror
alias jctl="journalctl -p 3 -xb" # get error messages from journalctl
#PATH #PATH
if [ -d "$HOME/bin" ] ; if [ -d "$HOME/bin" ] ;
@ -47,31 +39,4 @@ if [ -d "$HOME/.local/bin" ] ;
then PATH="$HOME/.local/bin:$PATH" then PATH="$HOME/.local/bin:$PATH"
fi fi
if [ -d "$HOME/tools/node/bin" ] ; eval "$(starship init zsh)"
then PATH="$HOME/tools/node/bin:$PATH"
fi
ex () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1;;
*.7z) 7z x $1 ;;
*.deb) ar x $1 ;;
*.tar.xz) tar xf $1 ;;
*.tar.zst) unzstd $1 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}

View File

@ -1,79 +0,0 @@
#ZSH Variables
ZSH_THEME="agnoster"
CASE_SENSITIVE="true"
ENABLE_CORRECTION="false"
COMPLETION_WAITING_DOTS="true"
zstyle ':omz:update' mode auto
zstyle ':omz:update' frequency 14
HIST_STAMPS="%d/%m/%y %T"
export ZSH="/Users/nikolay.lazarov/.oh-my-zsh"
source $ZSH/oh-my-zsh.sh
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
export ZSH_HIGHLIGHT_HIGHLIGHTERS_DIR=/opt/homebrew/share/zsh-syntax-highlighting/highlighters
plugins=(
colored-man-pages
zsh-syntax-highlighting
zsh-autosuggestions
git
aws
docker
docker-compose
kubectl
git-flow
)
#General
export EDITOR="nvim"
export KUBE_EDITOR=nvim
export MANPAGER='nvim +Man!'
export MANWIDTH=999
export HISTCONTROL=ignoredups:erasedups
export HISTSIZE=10000
export LANG="en_US.UTF-8"
export LC_MESSAGES="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export DOTNET_CLI_TELEMETRY_OPTOUT="1"
alias vim='nvim'
#PATH
if [ -d "$HOME/bin" ] ;
then PATH="$HOME/bin:$PATH"
fi
if [ -d "$HOME/.local/bin" ] ;
then PATH="$HOME/.local/bin:$PATH"
fi
if [ -d "$HOME/tools/node/bin" ] ;
then PATH="$HOME/tools/node/bin:$PATH"
fi
ex () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1;;
*.7z) 7z x $1 ;;
*.deb) ar x $1 ;;
*.tar.xz) tar xf $1 ;;
*.tar.zst) unzstd $1 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}