summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.config/kitty/kitty.conf8
-rw-r--r--.config/mako/config27
-rw-r--r--.config/sway/config322
-rw-r--r--.config/user-dirs.dirs16
-rw-r--r--.config/waybar/config.jsonc95
-rw-r--r--.config/waybar/style.css71
6 files changed, 539 insertions, 0 deletions
diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf
new file mode 100644
index 0000000..1e5d9f2
--- /dev/null
+++ b/.config/kitty/kitty.conf
@@ -0,0 +1,8 @@
+font_family IoskeleyMono Nerd Font
+font_size 12
+bold_font auto
+italic_font auto
+bold_italic_font auto
+cursor_shape block
+enable_audio_bell no
+window_padding_width 12
diff --git a/.config/mako/config b/.config/mako/config
new file mode 100644
index 0000000..7f0b572
--- /dev/null
+++ b/.config/mako/config
@@ -0,0 +1,27 @@
+# Global settings
+font=IoskeleyMonoNL Nerd Font 12
+width=300
+margin=10
+padding=10
+border-size=2
+border-radius=0
+default-timeout=3000
+ignore-timeout=0
+max-visible=3
+layer=overlay
+anchor=top-right
+
+background-color=#0a0a0a
+progress-color=#7fc8ff
+text-color=#ffffff
+border-color=#7fc8ff
+
+[urgency=low]
+default-timeout=3000
+
+[urgency=normal]
+default-timeout=10000
+
+[urgency=high]
+default-timeout=50000
+border-color=#ff0000
diff --git a/.config/sway/config b/.config/sway/config
new file mode 100644
index 0000000..c254176
--- /dev/null
+++ b/.config/sway/config
@@ -0,0 +1,322 @@
+set $mod Mod4
+set $left h
+set $down j
+set $up k
+set $right l
+set $term kitty
+set $menu bemenu-run -l 5
+set $dmenu bemenu
+set $file_manager dolphin
+
+default_border pixel 2
+default_floating_border pixel 2
+titlebar_border_thickness 2
+titlebar_padding 6 4
+
+smart_gaps off
+smart_borders off
+
+gaps inner 0
+gaps outer 0
+
+hide_edge_borders none
+show_marks yes
+
+focus_follows_mouse no
+focus_on_window_activation smart
+
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+# ┃ Outputs ┃
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+
+output "Chimei Innolux Corporation 0x142B Unknown" {
+ mode 1920x1080@60Hz
+ pos 0 0
+ # scale 1.25
+}
+
+output 'Acer Technologies EK220Q H3 14301552C3W01' {
+ mode 1920x1080@100Hz
+}
+
+seat * xcursor_theme Vimix-White 32
+exec gsettings set org.gnome.desktop.interface cursor-theme Vimix-White
+exec gsettings set org.gnome.desktop.interface cursor-size 32
+
+# Services
+
+# DBUS
+exec dbus-update-activation-environment \
+ --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
+
+# Clipboard
+exec wl-paste --watch cliphist store
+
+# swayidle
+exec swayidle -w \
+ timeout 600 'swaylock' \
+ timeout 900 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
+ before-sleep 'swaylock'
+
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+# ┃ Inputs ┃
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+
+# MSI touchpad
+input "1267:12930:PNP0C50:00_04F3:3282_Touchpad" {
+ natural_scroll enabled
+ pointer_accel 0
+ dwt enabled
+ tap enabled
+ click_method clickfinger
+ scroll_method two_finger
+}
+
+input "type:keyboard" {
+ repeat_delay 200
+ repeat_rate 30
+}
+
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+# ┃ Keybinds ┃
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+
+# Open terminal
+bindsym $mod+Return exec $term
+
+# Kill focused window
+bindsym $mod+q kill
+
+# Start your launcher
+bindsym $mod+Space exec $menu
+
+# File manager
+bindsym $mod+e exec $file_manager
+
+# Open ungoogled chromium
+bindsym $mod+b exec /usr/bin/chromium \
+ --force-dark-mode \
+ --enable-features=WebUIDarkMode
+
+bindsym $mod+Shift+b exec /usr/bin/firefox
+
+# Reload the configuration file
+bindsym $mod+Shift+c reload
+
+# Power menu
+bindsym $mod+p exec /usr/local/bin/sway-power
+
+# Recall last notifications
+bindsym $mod+grave exec makoctl restore
+
+# Exit sway
+bindsym $mod+Shift+e exec swaynag -e bottom \
+ -m 'EXIT SWAY SESSION' \
+ -b ' YES ' 'swaymsg exit' \
+ -s ' NO '
+
+# === Display ===
+
+# Lid close handling
+bindswitch --reload --locked lid:on output eDP-1 disable
+bindswitch --reload --locked lid:off output eDP-1 enable
+
+# === Navigation ===
+
+# Move your focus around
+bindsym $mod+$left focus left
+bindsym $mod+$down focus down
+bindsym $mod+$up focus up
+bindsym $mod+$right focus right
+# Or use $mod+[up|down|left|right]
+bindsym $mod+Left focus left
+bindsym $mod+Down focus down
+bindsym $mod+Up focus up
+bindsym $mod+Right focus right
+
+# Move the focused window with the same, but add Shift
+bindsym $mod+Shift+$left move left
+bindsym $mod+Shift+$down move down
+bindsym $mod+Shift+$up move up
+bindsym $mod+Shift+$right move right
+# Ditto, with arrow 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
+
+# === Workspaces ===
+
+# Switch to workspace
+bindsym $mod+1 workspace number 1
+bindsym $mod+2 workspace number 2
+bindsym $mod+3 workspace number 3
+bindsym $mod+4 workspace number 4
+bindsym $mod+5 workspace number 5
+bindsym $mod+6 workspace number 6
+bindsym $mod+7 workspace number 7
+bindsym $mod+8 workspace number 8
+bindsym $mod+9 workspace number 9
+bindsym $mod+0 workspace number 10
+# Move focused container to workspace
+bindsym $mod+Shift+1 move container to workspace number 1
+bindsym $mod+Shift+2 move container to workspace number 2
+bindsym $mod+Shift+3 move container to workspace number 3
+bindsym $mod+Shift+4 move container to workspace number 4
+bindsym $mod+Shift+5 move container to workspace number 5
+bindsym $mod+Shift+6 move container to workspace number 6
+bindsym $mod+Shift+7 move container to workspace number 7
+bindsym $mod+Shift+8 move container to workspace number 8
+bindsym $mod+Shift+9 move container to workspace number 9
+bindsym $mod+Shift+0 move container to workspace number 10
+
+# Make the current focus fullscreen
+bindsym $mod+f fullscreen
+
+# Toggle the current focus between tiling and floating mode
+bindsym $mod+Shift+space floating toggle
+
+# === Resizing containers ===
+
+mode "resize" {
+ # left will shrink the containers width
+ # right will grow the containers width
+ # up will shrink the containers height
+ # down will grow the containers height
+ bindsym $left resize shrink width 10px
+ bindsym $down resize grow height 10px
+ bindsym $up resize shrink height 10px
+ bindsym $right resize grow width 10px
+
+ # Ditto, with arrow keys
+ bindsym Left resize shrink width 10px
+ bindsym Down resize grow height 10px
+ bindsym Up resize shrink height 10px
+ bindsym Right resize grow width 10px
+
+ # Return to default mode
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+r mode "resize"
+
+# Switch to previous workspace
+bindsym $mod+bracketleft workspace prev
+bindcode --whole-window 275 workspace prev
+
+# Switch to next workspace
+bindsym $mod+bracketright workspace next
+bindcode --whole-window 276 workspace next
+
+# Split view horizontally
+bindsym $mod+equal slith
+
+# Split view vertically
+bindsym $mod+minus slitv
+
+# === Layouts ===
+
+# Activate stacking layout
+bindsym $mod+Shift+s layout stacking
+
+# Activate tabbed layout
+bindsym $mod+t layout tabbed
+
+# Toggle split layout
+bindsym $mod+s layout toggle split
+
+
+# === Media keys ===
+
+# Special keys to adjust volume via PulseAudio
+bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle
+bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5%
+bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5%
+bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
+
+# Special keys to control media via playerctl
+bindsym --locked XF86AudioPlay exec playerctl play-pause
+bindsym --locked XF86AudioPause exec playerctl play-pause
+bindsym --locked XF86AudioPrev exec playerctl previous
+bindsym --locked XF86AudioNext exec playerctl next
+bindsym --locked XF86AudioStop exec playerctl stop
+
+# Special keys to adjust brightness via brightnessctl
+bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
+bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
+
+# Special key to take a screenshot with grim
+bindsym Print exec grim
+
+# === Clipboard ===
+
+# Open clipboard (copying)
+bindsym $mod+v exec cliphist list \
+ | $dmenu -l 10 \
+ | cliphist decode \
+ | wl-copy
+
+# Open clipboard (deleting)
+bindsym $mod+Shift+v exec cliphist list \
+ | $dmenu -l 10 \
+ | cliphist delete
+
+# === Windows ===
+
+floating_modifier $mod normal
+
+for_window [app_id = "floating"] floating enable
+for_window [app_id = "floating_update"] floating enable
+for_window [title = "^Open File$"] floating enable
+for_window [app_id = "pavucontrol"] {
+ floating enable
+ resize set 900 800 px
+}
+for_window [app_id = "TUI.float"] {
+ floating enable
+ resize set 900 800 px
+}
+
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+# ┃ Status bar ┃
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+
+no_focus [app_id="waybar"]
+for_window [app_id="waybar" floating] {
+ move position cursor
+ move down 60px
+}
+
+bar {
+ id mainbar
+ output *
+ swaybar_command waybar
+}
+
+# === Autostart ===
+
+# Gnome Keyring
+exec --no-startup-id gnome-keyring-daemon --start --components=pkcs11,secrets,ssh
+
+# wlsunset
+exec wlsunset -S '06:00' -s '18:00' -d 180
+
+# poweralertd
+exec poweralertd
+
+# wallpaper (awww-daemon)
+exec awww-daemon
+
+# clipboard
+exec wl-paste --type text --watch cliphist store
+exec wl-paste --type image --watch cliphist store
+
+# for dolphin file manager
+exec XDG_MENU_PREFIX=arch- kbuildsycoca6 --noincremental
+
+# Desktop notification
+exec mako
+
+# === Other configs ===
+
+include /etc/sway/config.d/*
diff --git a/.config/user-dirs.dirs b/.config/user-dirs.dirs
new file mode 100644
index 0000000..95fe873
--- /dev/null
+++ b/.config/user-dirs.dirs
@@ -0,0 +1,16 @@
+# This file is written by xdg-user-dirs-update
+# If you want to change or add directories, just edit the line you're
+# interested in. All local changes will be retained on the next run.
+# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
+# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
+# absolute path. No other format is supported.
+#
+XDG_DESKTOP_DIR="$HOME/desktop"
+XDG_DOWNLOAD_DIR="$HOME/downloads"
+XDG_TEMPLATES_DIR="$HOME/templates"
+XDG_PUBLICSHARE_DIR="$HOME/public"
+XDG_DOCUMENTS_DIR="$HOME/documents"
+XDG_MUSIC_DIR="$HOME/music"
+XDG_PICTURES_DIR="$HOME/pictures"
+XDG_VIDEOS_DIR="$HOME/videos"
+XDG_PROJECTS_DIR="$HOME/projects"
diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc
new file mode 100644
index 0000000..dab8552
--- /dev/null
+++ b/.config/waybar/config.jsonc
@@ -0,0 +1,95 @@
+{
+ "layer": "top",
+ "position": "top",
+
+ "modules-left": [
+ "sway/workspaces",
+ "network",
+ "custom/vpn"
+ ],
+ "modules-center": [],
+ "modules-right": [
+ "tray",
+ "pulseaudio",
+ "bluetooth",
+ "battery",
+ "clock"
+ ],
+
+ "sway/workspaces": {
+ "all-outputs": true,
+ "format": "{name}"
+ },
+
+ "clock": {
+ "format": "{:%a, %b %H:%M}",
+ "interval": 60,
+ "tooltip-format": "<big>{:%B %Y}</big>\n<tt>{calendar}</tt>"
+ },
+
+ "tray": {
+ "icon-size": 14,
+ "spacing": 0
+ },
+
+ "battery": {
+ "interval": 60,
+ "max-length": 25,
+ "states": {
+ "good": 95,
+ "warning": 30,
+ "critical": 15
+ },
+ "format": "BAT: {capacity}%",
+ "format-icons": {
+ "charging": "<span color='#ffff00'>PWR: {capacity}%</span>"
+ },
+ "format-plugged": "PLG: {capacity}%"
+ },
+
+ "bluetooth": {
+ "format": "BT: {num_connections}",
+ "format-disabled": "<span color='#aaaaaa'>BT: DC'D</span>",
+ "format-connected": "BT: {num_connections}",
+ "tooltip-format": "Devices connected: {num_connections}\n{device_alias} at {device_battery_percentage}%",
+ "on-click": "kitty --app-id=TUI.float -e bluetui",
+ "on-click-right": "rfkill toggle bluetooth"
+ },
+
+ "pulseaudio": {
+ "format": "{icon} <span color='#aaaaaa'>{volume}</span>",
+ "format-bluetooth": "BT: {icon} {volume}",
+ "format-muted": "X MUTED",
+ "format-icons": [
+ "+--",
+ "++-",
+ "+++"
+ ],
+ "on-click": "pavucontrol-qt",
+ "tooltip-format": "{desc}",
+ "scroll-step": 5
+ },
+
+ "network": {
+ "interface": "wlo1",
+ "format": "{ifname}",
+ "format-wifi": "WiFi: {essid} <span color='#aaaaaa'>{signalStrength}%</span>",
+ "format-ethernet": "Eth: {ipaddr}/<span color='#aaaaaa'>{cidr}</span>",
+ "format-disconnected": "DC'D",
+ "tooltip-format-wifi": "{essid} ({signalStrength}%)",
+ "tooltip-format-ethernet": "{ifname} via {gwaddr}",
+ "tooltip-format-disconnected": "DC'D",
+ "max-length": 50,
+ "interval": 60,
+ "on-click": "kitty --app-id TUI.float -e wifitui",
+ "on-click-right": "rfkill toggle wlan"
+ },
+
+ "custom/vpn": {
+ "format": "VPN",
+ "exec": "echo '{\"class\": \"connected\"}'",
+ "exec-if": "test -d /proc/sys/net/ipv4/conf/proton0",
+ "return-type": "json",
+ "interval": 5
+ },
+}
diff --git a/.config/waybar/style.css b/.config/waybar/style.css
new file mode 100644
index 0000000..a968286
--- /dev/null
+++ b/.config/waybar/style.css
@@ -0,0 +1,71 @@
+* {
+ border: none;
+ font-family: "IoskeleyMono Nerd Font, monospace";
+ font-size: 14px;
+ font-weight: bold;
+ min-height: 0;
+}
+
+window#waybar {
+ background-color: #0a0a0a;
+}
+
+#workspaces button.focused {
+ background-color: #7fc8ff;
+ color: #0a0a0a;
+ border-radius: 0;
+}
+
+#workspaces button.urgent {
+ color: #ffffff;
+ background: #ff0000;
+ border-radius: 0;
+}
+
+#battery {
+ background: transparent;
+}
+
+/* Different battery states indicator */
+#battery.discharging.warning {
+ color: #ffa500;
+}
+
+#battery.discharging.critical {
+ color: #ff0000;
+}
+
+#clock,
+#battery,
+#window,
+#custom-vpn,
+#memory,
+#network,
+#mpris,
+#bluetooth,
+#pulseaudio,
+#tray {
+ padding: 0 12px;
+}
+
+/* add grey color to some modules */
+#network,
+#memory,
+#bluetooth,
+#pulseaudio,
+#custom-vpn,
+#clock,
+#window,
+#battery {
+ color: #cccccc;
+}
+
+#temperature.critical {
+ color: #ff0000;
+}
+
+/* custom modules */
+#custom-screenrecording-indicator {
+ color: #ff0000;
+}
+