diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..23a6a25 --- /dev/null +++ b/.bashrc @@ -0,0 +1,24 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +alias ls='ls -hal --color=auto' +alias list='eza -la --group-directories-first -s=ext --color=always' + +alias grep='grep --color=auto' +alias rg='rg --no-ignore -i -n -A 1 -B 1 --color=auto -e' + +PS1='[\u@\h \W]\$ ' + + +# setup eza (continuation of exa) +export EZA_CONFIG_DIR="~/.config/eza/" + +# setup starship +eval "$(starship init bash)" + +# setup qmk completion +source /home/scbj/repos/qmk_firmware/util/qmk_tab_complete.sh \ No newline at end of file diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml new file mode 100755 index 0000000..19ad600 --- /dev/null +++ b/.config/alacritty/alacritty.toml @@ -0,0 +1,20 @@ +import = ["/home/scbj/.config/alacritty/summer.toml"] + +[font] +size = 13.0 + +[font.bold] +family = "Victor Mono" +style = "Bold" + +[font.bold_italic] +family = "Victor Mono" +style = "BoldItalic" + +[font.italic] +family = "Victor Mono" +style = "SemiBoldItalic" + +[font.normal] +family = "Victor Mono" +style = "SemiBold" \ No newline at end of file diff --git a/.config/alacritty/scbj-theme.toml b/.config/alacritty/scbj-theme.toml new file mode 100755 index 0000000..72b5938 --- /dev/null +++ b/.config/alacritty/scbj-theme.toml @@ -0,0 +1,46 @@ +[colors.bright] +black = "0x6D7070" +blue = "0x1BA6FA" +cyan = "0x73FBF1" +green = "0xB8E466" +magenta = "0xA578EA" +red = "0xFF4352" +white = "0xD8D8D0" +yellow = "0xFFD750" + +[colors.cursor] +cursor = "0xBBBBBB" +text = "0x202830" + +[colors.normal] +black = "0x000000" +blue = "0x3883F4" +cyan = "0x009496" +green = "0x479A06" +magenta = "0xA933D3" +red = "0xFD2D2D" +white = "0xEBEBEB" +yellow = "0xDAB808" + +[colors.primary] +background = "0x202830" +foreground = "0xD8D8D0" + +[font] +size = 14.0 + +[font.bold] +family = "Victor Mono" +style = "Bold" + +[font.bold_italic] +family = "Victor Mono" +style = "BoldItalic" + +[font.italic] +family = "Victor Mono" +style = "SemiBoldItalic" + +[font.normal] +family = "Victor Mono" +style = "SemiBold" diff --git a/.config/alacritty/summer.toml b/.config/alacritty/summer.toml new file mode 100644 index 0000000..069311a --- /dev/null +++ b/.config/alacritty/summer.toml @@ -0,0 +1,24 @@ + +[colors.primary] +background = "0x292A2B" +foreground = "0xAEB7B6" + +[colors.normal] +black = "0x1D1F21" +red = "0xCF3746" +green = "0x7CBD27" +yellow = "0xECBD10" +blue = "0x277AB6" +magenta = "0xAD4ED2" +cyan = "0x32B5C7" +white = "0xD8E2E1" + +[colors.bright] +black = "0x292A2B" +red = "0xD95473" +green = "0xB6DA74" +yellow = "0xE7CA62" +blue = "0x64A8D8" +magenta = "0xBC82D3" +cyan = "0x65CEDC" +white = "0xEBF6F5" diff --git a/.config/i3/config b/.config/i3/config new file mode 100644 index 0000000..98d4bdd --- /dev/null +++ b/.config/i3/config @@ -0,0 +1,195 @@ +# This file has been auto-generated by i3-config-wizard(1). +# It will not be overwritten, so edit it as you like. +# +# Should you change your keyboard layout some time, delete +# this file and re-run i3-config-wizard(1). +# + +# i3 config file (v4) +# +# Please see https://i3wm.org/docs/userguide.html for a complete reference! + +set $mod Mod4 + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +font pango:VictorMono SemiBold 12 + + +################################### +# starting auxiliary applications # +################################### + +# start compositor and polybar, etc. +exec --no-startup-id picom + +# clean up and start polybar +exec_always --no-startup-id killall polybar +exec_always --no-startup-id bash /home/scbj/.config/polybar/launch_polybar.sh + +# Start XDG autostart .desktop files using dex. See also +# https://wiki.archlinux.org/index.php/XDG_Autostart +exec --no-startup-id dex --autostart --environment i3 + +# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the +# screen before suspend. Use loginctl lock-session to lock your screen. +exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork + +# NetworkManager is the most popular way to manage wireless networks on Linux, +# and nm-applet is a desktop environment-independent system tray GUI for it. +exec --no-startup-id nm-applet + + +########################### +# configuring keybindings # +########################### + +# Use pactl to adjust volume in PulseAudio. +set $refresh_i3status killall -SIGUSR1 i3status +bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status +bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status +bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status +bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status + +# lock screen +bindsym $mod+Escape exec i3lock + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# move tiling windows via drag & drop by left-clicking into the title bar, +# or left-clicking anywhere into the window while holding the floating modifier. +tiling_drag modifier titlebar + +# start a terminal +bindsym $mod+Return exec alacritty + +# kill focused window +bindsym $mod+Shift+q kill + +# start dmenu (a program launcher) +bindsym $mod+d exec --no-startup-id rofi -show run +# A more modern dmenu replacement is rofi: +# bindcode $mod+40 exec "rofi -modi drun,run -show drun" +# There also is i3-dmenu-desktop which only displays applications shipping a +# .desktop file. It is a wrapper around dmenu, so you need that installed. +# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop + +# change focus +bindsym $mod+j focus left +bindsym $mod+k focus down +bindsym $mod+l focus up +bindsym $mod+semicolon focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+j move left +bindsym $mod+Shift+k move down +bindsym $mod+Shift+l move up +bindsym $mod+Shift+semicolon move right + +# alternatively, you can use the cursor keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# split in horizontal orientation +bindsym $mod+h split h + +# split in vertical orientation +bindsym $mod+v split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# Define names for default workspaces for which we configure key bindings later on. +# We use variables to avoid repeating the names in multiple places. +set $ws1 "1" +set $ws2 "2" +set $ws3 "3" +set $ws4 "4" +set $ws5 "5" +set $ws6 "6" +set $ws7 "7" +set $ws8 "8" +set $ws9 "9" +set $ws10 "10" + +# switch to workspace +bindsym $mod+1 workspace number $ws1 +bindsym $mod+2 workspace number $ws2 +bindsym $mod+3 workspace number $ws3 +bindsym $mod+4 workspace number $ws4 +bindsym $mod+5 workspace number $ws5 +bindsym $mod+6 workspace number $ws6 +bindsym $mod+7 workspace number $ws7 +bindsym $mod+8 workspace number $ws8 +bindsym $mod+9 workspace number $ws9 +bindsym $mod+0 workspace number $ws10 + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number $ws1 +bindsym $mod+Shift+2 move container to workspace number $ws2 +bindsym $mod+Shift+3 move container to workspace number $ws3 +bindsym $mod+Shift+4 move container to workspace number $ws4 +bindsym $mod+Shift+5 move container to workspace number $ws5 +bindsym $mod+Shift+6 move container to workspace number $ws6 +bindsym $mod+Shift+7 move container to workspace number $ws7 +bindsym $mod+Shift+8 move container to workspace number $ws8 +bindsym $mod+Shift+9 move container to workspace number $ws9 +bindsym $mod+Shift+0 move container to workspace number $ws10 + +# switch workspace +bindsym $mod+Shift+Tab workspace prev +bindsym $mod+Tab workspace next + +# move focused workspace to output +bindsym $mod+u move workspace to output left +bindsym $mod+i move workspace to output down +bindsym $mod+o move workspace to output up +bindsym $mod+p move workspace to output right + +# reload the configuration file +bindsym $mod+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart +# exit i3 (logs you out of your X session) +bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" + + +######################### +# configuring behaviour # +######################### + +focus_follows_mouse no + + +############################ +# configuring presentation # +############################ + +# window border style +default_border pixel 3 + +# gaps between windows and screen border +gaps inner 8 px + +# defining colors +set $bord_focus #d5f188 +set $back_focus #FFFFFF +set $text_focus #000000 + +# class border backgr. text indicator child_border +client.focused $bord_focus $back_focus $text_focus $bord_focus $bord_focus +client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a +client.unfocused #333333 #222222 #888888 #292d2e #222222 +client.urgent #2f343a #900000 #ffffff #900000 #900000 +client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c + +client.background #ffffff \ No newline at end of file diff --git a/.config/picom.conf b/.config/picom.conf new file mode 100644 index 0000000..cead620 --- /dev/null +++ b/.config/picom.conf @@ -0,0 +1,3 @@ + +xrender-sync = true; +xrender-sync-fence = true; \ No newline at end of file diff --git a/.config/polybar/config.ini b/.config/polybar/config.ini new file mode 100644 index 0000000..6a6d7fb --- /dev/null +++ b/.config/polybar/config.ini @@ -0,0 +1,183 @@ +;========================================================== +; +; +; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ +; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ +; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ +; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ +; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ +; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ +; +; +; To learn more about how to configure Polybar +; go to https://github.com/polybar/polybar +; +; The README contains a lot of information +; +;========================================================== + +[colors] +background = #282A2E +background-alt = #373B41 +foreground = #C5C8C6 +primary = #F0C674 +secondary = #8ABEB7 +alert = #A54242 +disabled = #707880 + +[bar/toph] +width = 100% +height = 28pt +radius = 4 + +; dpi = 96 + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 3pt + +; border-size = 4pt +; border-color = #00000000 + +padding-left = 1 +padding-right = 1 + +module-margin = 1 + +separator = | +separator-foreground = ${colors.disabled} + +font-0 = VictorMono SemiBold;2 + +modules-left = xworkspaces xwindow +modules-right = filesystem pulseaudio xkeyboard memory cpu eth date + +cursor-click = pointer +cursor-scroll = ns-resize + +enable-ipc = true + +; wm-restack = generic +; wm-restack = bspwm +; wm-restack = i3 + +; override-redirect = true + +; This module is not active by default (to enable it, add it to one of the +; modules-* list above). +; Please note that only a single tray can exist at any time. If you launch +; multiple bars with this module, only a single one will show it, the others +; will produce a warning. Which bar gets the module is timing dependent and can +; be quite random. +; For more information, see the documentation page for this module: +; https://polybar.readthedocs.io/en/stable/user/modules/tray.html +[module/systray] +type = internal/tray + +format-margin = 8pt +tray-spacing = 16pt + +[module/xworkspaces] +type = internal/xworkspaces + +label-active = %name% +label-active-background = ${colors.background-alt} +label-active-underline= ${colors.primary} +label-active-padding = 1 + +label-occupied = %name% +label-occupied-padding = 1 + +label-urgent = %name% +label-urgent-background = ${colors.alert} +label-urgent-padding = 1 + +label-empty = %name% +label-empty-foreground = ${colors.disabled} +label-empty-padding = 1 + +[module/xwindow] +type = internal/xwindow +label = %title:0:60:...% + +[module/filesystem] +type = internal/fs +interval = 25 + +mount-0 = / + +label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%% + +label-unmounted = %mountpoint% not mounted +label-unmounted-foreground = ${colors.disabled} + +[module/pulseaudio] +type = internal/pulseaudio + +format-volume-prefix = "VOL " +format-volume-prefix-foreground = ${colors.primary} +format-volume = + +label-volume = %percentage%% + +label-muted = muted +label-muted-foreground = ${colors.disabled} + +[module/xkeyboard] +type = internal/xkeyboard +blacklist-0 = num lock + +label-layout = %layout% +label-layout-foreground = ${colors.primary} + +label-indicator-padding = 2 +label-indicator-margin = 1 +label-indicator-foreground = ${colors.background} +label-indicator-background = ${colors.secondary} + +[module/memory] +type = internal/memory +interval = 2 +format-prefix = "RAM " +format-prefix-foreground = ${colors.primary} +label = %percentage_used:2%% + +[module/cpu] +type = internal/cpu +interval = 2 +format-prefix = "CPU " +format-prefix-foreground = ${colors.primary} +label = %percentage:2%% + +[network-base] +type = internal/network +interval = 5 +format-connected = +format-disconnected = +label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected + +[module/wlan] +inherit = network-base +interface-type = wireless +label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip% + +[module/eth] +inherit = network-base +interface-type = wired +label-connected = %{F#F0C674}%ifname%%{F-} %local_ip% + +[module/date] +type = internal/date +interval = 1 + +date = %Y-%m-%d %H:%M:%S + +label = %date% +label-foreground = ${colors.primary} + +[settings] +screenchange-reload = true +pseudo-transparency = false + +; vim:ft=dosini diff --git a/.config/polybar/launch_polybar.sh b/.config/polybar/launch_polybar.sh new file mode 100755 index 0000000..5e1cbbf --- /dev/null +++ b/.config/polybar/launch_polybar.sh @@ -0,0 +1,7 @@ +if type "xrandr"; then + for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do + MONITOR=$m polybar --reload toph & + done +else + polybar --reload toph & +fi \ No newline at end of file diff --git a/.config/starship.toml b/.config/starship.toml new file mode 100755 index 0000000..57332c3 --- /dev/null +++ b/.config/starship.toml @@ -0,0 +1,60 @@ +format = """ +\n\ +$username\ +[](bg:#1E3769 fg:#361C72)\ +$directory\ +[](fg:#1E3769 bg:#215189)\ +$git_branch\ +$git_status\ +[](fg:#215189 bg:#2A76A9)\ +$time\ +[](fg:#2A76A9)\n\ +>> +""" + +# Disable the blank line at the start of the prompt +add_newline = false + +# You can also replace your username with a neat symbol like  or disable this +# and use the os module below +[username] +disabled = false +show_always = true +style_user = "bg:#361C72 fg:#DFDFD0" +style_root = "bg:#361C72 fg:#DFDFD0" +format = '[ $user ]($style)' + +[directory] +disabled = false +style = "bg:#1E3769 fg:#DFDFD0" +format = "[ $path ]($style)" +truncation_length = 8 +truncation_symbol = "…/" +truncate_to_repo = false + +[git_branch] +disabled = false +symbol = "" +style = "bg:#215189 fg:#DFDFD0" +format = '[ $symbol $branch ]($style)' + +[git_status] +disabled = false +style = "bg:#215189 fg:#DFDFD0" +format = '[$all_status$ahead_behind ]($style)' + +[time] +disabled = false +style = "bg:#2A76A9 fg:#DFDFD0" +format = '[ $time ]($style)' +use_12hr = false + +[status] +disabled = true +symbol = "[failure](fg:red)" +success_symbol = "[success](fg:green)" + +[fill] +disabled = true +symbol = ' ' +style = '' \ No newline at end of file