diff options
| -rw-r--r-- | .bash_profile | 3 | ||||
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | MANIFEST | 2 | ||||
| -rwxr-xr-x | deploy.sh | 62 | ||||
| -rw-r--r-- | foot/foot.ini | 2 | ||||
| -rw-r--r-- | kak/colors/plain.kak | 4 | ||||
| -rw-r--r-- | kak/kakrc | 15 | ||||
| -rw-r--r-- | mutt/muttrc | 4 | ||||
| -rw-r--r-- | ncmpcpp/config | 3 | ||||
| -rwxr-xr-x | scripts/change_wallpaper | 6 | ||||
| -rwxr-xr-x | scripts/import-gsettings | 18 | ||||
| -rwxr-xr-x | scripts/passmenu-otp | 3 | ||||
| -rw-r--r-- | sway/config | 174 | ||||
| -rw-r--r-- | sway/theme-acme.conf | 30 |
14 files changed, 287 insertions, 40 deletions
diff --git a/.bash_profile b/.bash_profile index 7d049d9..7ffd304 100644 --- a/.bash_profile +++ b/.bash_profile @@ -4,9 +4,10 @@ if [ -f ~/.profile ]; then source ~/.profile; fi export SUDO="doas" -export TERMINAL="st" +export TERMINAL="foot" export BROWSER="librewolf" export EDITOR="kak" +export XDG_CURRENT_DESKTOP="sway" export XDG_CONFIG_HOME="$HOME/.config" export XDG_DATA_HOME="$HOME/.local/share" export XDG_CACHE_HOME="$HOME/.cache" @@ -10,3 +10,4 @@ emacs/tramp emacs/transient nvim/lazy-lock.json ncmpcpp/error.log +sway/device.conf @@ -18,3 +18,5 @@ ncmpcpp|.config mutt|.config kak|.config alacritty|.config +foot|.config +sway|.config @@ -6,43 +6,43 @@ SCRIPT_DIR="$( cd "$( dirname "$BASH_SOURCE[0]" )" && pwd )" MANIFEST_FILE="MANIFEST" symlink_file() { - filename="$SCRIPT_DIR/$1" - destination=$(echo "$HOME/$2/$1" | sed 's/\/\//\//g') - - mkdir -p $(dirname "$destination") - - if [ -L "$destination" ]; then - echo "info: updating $filename symlink" - rm -f "$destination" > /dev/null - ln -s "$filename" "$destination" - else - if [ -e "$destination" ]; then - echo "error: $destination exists but it's not a symlink. Please fix that manually" && return - else - ln -s "$filename" "$destination" - echo "info: $filename -> $destination" - fi - fi + filename="$SCRIPT_DIR/$1" + destination=$(echo "$HOME/$2/$1" | sed 's/\/\//\//g') + + mkdir -p $(dirname "$destination") + + if [ -L "$destination" ]; then + echo "info: updating $filename symlink" + rm -f "$destination" > /dev/null + ln -s "$filename" "$destination" + else + if [ -e "$destination" ]; then + echo "error: $destination exists but it's not a symlink. Please fix that manually" && return + else + ln -s "$filename" "$destination" + echo "info: $filename -> $destination" + fi + fi } deploy_manifest() { - echo "--- deploying ---" - for row in $(cat "$SCRIPT_DIR/$MANIFEST_FILE"); do - filename=$(echo $row | cut -d \| -f 1) - destination=$(echo $row | cut -d \| -f 2) - symlink_file $filename $destination - done + echo "--- deploying ---" + for row in $(cat "$SCRIPT_DIR/$MANIFEST_FILE"); do + filename=$(echo $row | cut -d \| -f 1) + destination=$(echo $row | cut -d \| -f 2) + symlink_file $filename $destination + done } clean() { - echo "--- cleaning up ---" - for row in $(cat "$SCRIPT_DIR/$MANIFEST_FILE"); do - filename=$(echo $row | cut -d \| -f 1) - destination=$(echo $row | cut -d \| -f 2) - result=$(echo "$HOME/$destination/$filename" | sed 's/\/\//\//g') - rm -f "$result" > /dev/null - echo "info: removed $result symlink" - done + echo "--- cleaning up ---" + for row in $(cat "$SCRIPT_DIR/$MANIFEST_FILE"); do + filename=$(echo $row | cut -d \| -f 1) + destination=$(echo $row | cut -d \| -f 2) + result=$(echo "$HOME/$destination/$filename" | sed 's/\/\//\//g') + rm -f "$result" > /dev/null + echo "info: removed $result symlink" + done } [ "$1" = "clean" ] && clean && exit diff --git a/foot/foot.ini b/foot/foot.ini index 0308ce2..0e48ae5 100644 --- a/foot/foot.ini +++ b/foot/foot.ini @@ -35,7 +35,7 @@ regular3=8F7634 regular4=2A8DC5 regular5=8888C7 regular6=6AA7A8 -regular7=FFFFEC +regular7=F8F8EC bright0=999957 bright1=E28C88 diff --git a/kak/colors/plain.kak b/kak/colors/plain.kak index 9d75874..1cf9b12 100644 --- a/kak/colors/plain.kak +++ b/kak/colors/plain.kak @@ -35,9 +35,9 @@ face global SecondaryCursorEol default face global LineNumbers default face global LineNumberCursor default face global MenuForeground black,green -face global MenuBackground green,black +face global MenuBackground green,white face global MenuInfo default -face global Information green,black +face global Information green,white face global Error default face global DiagnosticError default face global DiagnosticWarning default @@ -19,6 +19,14 @@ hook global ModuleLoaded x11 %{ set global termcmd 'st -e sh -c' } +hook global ModuleLoaded wayland %{ + set global termcmd 'foot -e sh -c' +} + +hook global ModuleLoaded tmux %{ + set global windowing_placement 'horizontal' +} + hook global BufWritePre .* %{ jrk-trim-trailing-whitespace } @@ -47,8 +55,11 @@ define-command jrk-trim-trailing-whitespace %{ try %{ execute-keys -draft "%%s\h+$<ret>d" } } -map -docstring 'yank to system clipboard' global user y '<a-|>xclip -selection clipboard<ret>' -map -docstring 'paste from system clipboard' global user p '<!>xclip -selection clipboard -o<ret>' +# map -docstring 'yank to system clipboard' global user y '<a-|>xclip -selection clipboard<ret>' +# map -docstring 'paste from system clipboard' global user p '<!>xclip -selection clipboard -o<ret>' + +map -docstring 'yank to system clipboard' global user y '<a-|>wl-copy<ret>' +map -docstring 'paste from system clipboard' global user p '<!>wl-paste<ret>' map -docstring 'goto next make error' global user [ '<:>make-next-error<ret>' map -docstring 'goto previous make error' global user ] '<:>make-previous-error<ret>' diff --git a/mutt/muttrc b/mutt/muttrc index d06d18a..61666a9 100644 --- a/mutt/muttrc +++ b/mutt/muttrc @@ -5,7 +5,9 @@ set realname = "Jake Koroman" set from = "jake@jakekoroman.com" set sendmail = "msmtp -a personal" set pager_stop=yes -set sort = reverse-date +# set sort = reverse-date +set sort = threads +set sort_aux = reverse-last-date-received set fast_reply set fcc_attach diff --git a/ncmpcpp/config b/ncmpcpp/config index 6173bb7..1de8ecc 100644 --- a/ncmpcpp/config +++ b/ncmpcpp/config @@ -5,3 +5,6 @@ visualizer_output_name = "my_fifo" visualizer_in_stereo = "yes" visualizer_type = "spectrum" visualizer_look = "+|" + +enable_window_title = no +colors_enabled = no diff --git a/scripts/change_wallpaper b/scripts/change_wallpaper index 11bf82c..64aa9b5 100755 --- a/scripts/change_wallpaper +++ b/scripts/change_wallpaper @@ -8,5 +8,9 @@ wallpaper=$(ls "$wallpaper_dir" | dmenu -p "Wallpaper: " -i -l 16) cd ~/pictures rm -f wallpaper ln -s "wallpapers/$wallpaper" wallpaper -xwallpaper --zoom ~/pictures/wallpaper & +if [ -z "WAYLAND_DISPLAY" ]; then + xwallpaper --zoom ~/pictures/wallpaper & +else + swaymsg 'output * background ~/pictures/wallpaper fill' +fi cd - > /dev/null diff --git a/scripts/import-gsettings b/scripts/import-gsettings new file mode 100755 index 0000000..ab594ba --- /dev/null +++ b/scripts/import-gsettings @@ -0,0 +1,18 @@ +#!/bin/sh + +# for wayland gtk settings +# https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland + + +config="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini" +if [ ! -f "$config" ]; then exit 1; fi + +gnome_schema="org.gnome.desktop.interface" +gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')" +icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')" +cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')" +font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')" +gsettings set "$gnome_schema" gtk-theme "$gtk_theme" +gsettings set "$gnome_schema" icon-theme "$icon_theme" +gsettings set "$gnome_schema" cursor-theme "$cursor_theme" +gsettings set "$gnome_schema" font-name "$font_name" diff --git a/scripts/passmenu-otp b/scripts/passmenu-otp index 379fd8f..fce09be 100755 --- a/scripts/passmenu-otp +++ b/scripts/passmenu-otp @@ -14,7 +14,8 @@ password_files=( "${password_files[@]#"$prefix"/}" ) password_files=( "${password_files[@]%.gpg}" ) # dmenu_cmd="wofi_style --show dmenu $@" -dmenu_cmd="dmenu -l 12 -i $@" +# dmenu_cmd="dmenu -l 12 -i $@" +dmenu_cmd="fuzzel --dmenu -l 12 $@" password=$(printf '%s\n' "${password_files[@]}" | $dmenu_cmd) [[ -n $password ]] || exit diff --git a/sway/config b/sway/config new file mode 100644 index 0000000..f533f3d --- /dev/null +++ b/sway/config @@ -0,0 +1,174 @@ +include "device.conf" + +set $mod Mod4 + +input type:keyboard { + repeat_delay 300 + repeat_rate 50 +} + +seat seat0 xcursor_theme Adwaita 24 + +output * { + background ~/pictures/wallpaper tile + adaptive_sync on +} + +exec pipewire +exec mpd + +exec_always import-gsettings + +font pango:Iosevka 10 +floating_modifier $mod + +bindsym $mod+Return exec $TERMINAL +bindsym $mod+p exec --no-startup-id fuzzel +set $refresh_i3status killall -SIGUSR1 i3status +bindsym XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_SINK@ 2%+ && $refresh_i3status +bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_SINK@ 2%- && $refresh_i3status +bindsym XF86AudioMute exec wpctl set-mute @DEFAULT_SINK@ toggle && $refresh_i3status +bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status + +bindsym XF86AudioPlay exec mpc toggle +bindsym Shift+XF86AudioPlay exec playerctl play-pause + +bindsym Shift+Control+Mod1+s exec grimshot copy anything +bindsym Shift+Control+Mod1+p exec passmenu-otp + +# kill focused window +bindsym $mod+q kill + +# move workspace to another monitor +bindsym $mod+period move workspace to output right +bindsym $mod+comma move workspace to output left + +# change focus +bindsym $mod+n focus left +bindsym $mod+e focus down +bindsym $mod+i focus up +bindsym $mod+o 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+n move left +bindsym $mod+Shift+e move down +bindsym $mod+Shift+i move up +bindsym $mod+Shift+o 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 + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+m layout tabbed +bindsym $mod+g layout toggle split + +# scratchpad +bindsym $mod+Shift+semicolon move scratchpad +bindsym $mod+semicolon scratchpad show + +# toggle tiling / floating +bindsym $mod+t floating toggle + +# change focus between tiling / floating windows +bindsym $mod+Tab focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +# 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 + +# reload the configuration file +bindsym $mod+Shift+q reload +bindsym $mod+Shift+r restart +bindsym $mod+Control+e exec "swaynag -t warning -m 'Are you leaving?' -B 'Yes, exit i3' 'i3-msg exit'" + +set $resize_amount 5 + +mode "resize" { + bindsym n resize shrink width $resize_amount px or $resize_amount ppt + bindsym e resize grow height $resize_amount px or $resize_amount ppt + bindsym i resize shrink height $resize_amount px or $resize_amount ppt + bindsym o resize grow width $resize_amount px or $resize_amount ppt + + bindsym Left resize shrink width $resize_amount px or $resize_amount ppt + bindsym Down resize grow height $resize_amount px or $resize_amount ppt + bindsym Up resize shrink height $resize_amount px or $resize_amount ppt + bindsym Right resize grow width $resize_amount px or $resize_amount ppt + + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} + +bindsym $mod+r mode "resize" + +mode "mpd" { + bindsym p exec mpc toggle + bindsym n exec mpc next + bindsym j exec mpc seek -00:00:10 + bindsym l exec mpc seek +00:00:10 + + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+z mode "default" +} + +bindsym $mod+z mode "mpd" + +for_window [class="floatterm"] floating enable + +include "theme-acme.conf" diff --git a/sway/theme-acme.conf b/sway/theme-acme.conf new file mode 100644 index 0000000..5c07d0f --- /dev/null +++ b/sway/theme-acme.conf @@ -0,0 +1,30 @@ +set $green #57864EFF +set $red #D95468FF +set $background #FFFFECFF +set $foreground #424242FF +set $white #FFFFECFF +set $black #424242FF + +# border background text indicator child_border +client.focused $black $green $white $foreground $green +client.focused_inactive $black $background $green $foreground $green +client.unfocused $black $background $foreground $green $background + +gaps outer 10 +gaps inner 10 +bar { + status_command i3status + tray_output * + position bottom + separator_symbol ' / ' + + gaps 10 + colors { + background $background + statusline $foreground + separator $foreground + focused_workspace $background $green $white + active_workspace $background $background $black + inactive_workspace $background $background $foreground + } +} |
