summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.bash_profile3
-rw-r--r--.gitignore1
-rw-r--r--MANIFEST2
-rwxr-xr-xdeploy.sh62
-rw-r--r--foot/foot.ini2
-rw-r--r--kak/colors/plain.kak4
-rw-r--r--kak/kakrc15
-rw-r--r--mutt/muttrc4
-rw-r--r--ncmpcpp/config3
-rwxr-xr-xscripts/change_wallpaper6
-rwxr-xr-xscripts/import-gsettings18
-rwxr-xr-xscripts/passmenu-otp3
-rw-r--r--sway/config174
-rw-r--r--sway/theme-acme.conf30
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"
diff --git a/.gitignore b/.gitignore
index 60375e4..2686331 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@ emacs/tramp
emacs/transient
nvim/lazy-lock.json
ncmpcpp/error.log
+sway/device.conf
diff --git a/MANIFEST b/MANIFEST
index eeeb761..aaff1b1 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -18,3 +18,5 @@ ncmpcpp|.config
mutt|.config
kak|.config
alacritty|.config
+foot|.config
+sway|.config
diff --git a/deploy.sh b/deploy.sh
index 43f4a80..deb1538 100755
--- a/deploy.sh
+++ b/deploy.sh
@@ -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
diff --git a/kak/kakrc b/kak/kakrc
index 83cf09e..ea515ff 100644
--- a/kak/kakrc
+++ b/kak/kakrc
@@ -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
+ }
+}