From 79a1203333f3b94adfc73d04e65787063550dea2 Mon Sep 17 00:00:00 2001 From: Sebastian Bugge Date: Thu, 27 Mar 2025 18:48:45 +0100 Subject: [PATCH 01/16] I don't use i3. --- .Xmodmap | 4 - .config/i3/config | 204 ---------------------------------------- .config/i3/i3exit | 33 ------- .config/i3status/config | 51 ---------- 4 files changed, 292 deletions(-) delete mode 100644 .Xmodmap delete mode 100644 .config/i3/config delete mode 100755 .config/i3/i3exit delete mode 100644 .config/i3status/config diff --git a/.Xmodmap b/.Xmodmap deleted file mode 100644 index 1945241..0000000 --- a/.Xmodmap +++ /dev/null @@ -1,4 +0,0 @@ -clear lock -clear control -add control = Caps_Lock Control_L Control_R -keycode 66 = Control_L Caps_Lock NoSymbol NoSymbol diff --git a/.config/i3/config b/.config/i3/config deleted file mode 100644 index 3d0ddbf..0000000 --- a/.config/i3/config +++ /dev/null @@ -1,204 +0,0 @@ -# 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:monospace 8 - -# This font is widely installed, provides lots of unicode glyphs, right-to-left -# text rendering and scalability on retina/hidpi displays (thanks to pango). -#font pango:DejaVu Sans Mono 8 - -# 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 - -# The combination of xss-lock, nm-applet and pactl is a popular choice, so -# they are included here as an example. Modify as you see fit. - -# 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 - -# 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 - -# Use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $mod - -# start a terminal -bindsym $mod+Return exec i3-sensible-terminal - -# kill focused window -bindsym $mod+Shift+q kill - -# start dmenu (a program launcher) -bindsym $mod+d exec --no-startup-id dmenu_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+h focus left -bindsym $mod+j focus down -bindsym $mod+k focus up -bindsym $mod+l 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+h move left -bindsym $mod+Shift+j move down -bindsym $mod+Shift+k move up -bindsym $mod+Shift+l 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+b 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+w layout tabbed -bindsym $mod+e layout toggle split - -# toggle tiling / floating -bindsym $mod+Shift+space floating toggle - -# change focus between tiling / floating windows -bindsym $mod+space focus mode_toggle - -# focus the parent container -bindsym $mod+a focus parent - -# focus the child container -#bindsym $mod+d focus child - -# 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+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'" - -# resize window (you can also use the mouse for that) -mode "resize" { - # These bindings trigger as soon as you enter the resize mode - - # Pressing left will shrink the window’s width. - # Pressing right will grow the window’s width. - # Pressing up will shrink the window’s height. - # Pressing down will grow the window’s height. - bindsym h resize shrink width 10 px or 10 ppt - bindsym j resize grow height 10 px or 10 ppt - bindsym k resize shrink height 10 px or 10 ppt - bindsym l resize grow width 10 px or 10 ppt - - # same bindings, but for the arrow keys - bindsym Left resize shrink width 10 px or 10 ppt - bindsym Down resize grow height 10 px or 10 ppt - bindsym Up resize shrink height 10 px or 10 ppt - bindsym Right resize grow width 10 px or 10 ppt - - # back to normal: Enter or Escape or $mod+r - bindsym Return mode "default" - bindsym Escape mode "default" - bindsym $mod+r mode "default" -} - -bindsym $mod+r mode "resize" - -set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown -mode "$mode_system" { - bindsym l exec --no-startup-id ~/.config/i3/i3exit lock, mode "default" - bindsym e exec --no-startup-id ~/.config/i3/i3exit logout, mode "default" - bindsym s exec --no-startup-id ~/.config/i3/i3exit suspend, mode "default" - bindsym h exec --no-startup-id ~/.config/i3/i3exit hibernate, mode "default" - bindsym r exec --no-startup-id ~/.config/i3/i3exit reboot, mode "default" - bindsym Shift+s exec --no-startup-id ~/.config/i3/i3exit shutdown, mode "default" - - # back to normal: Enter or Escape - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+Escape mode "$mode_system" - -exec xinput set-prop "DELL07E6:00 06CB:76AF Touchpad" "libinput Tapping Enabled" 1 -exec xmodmap ~/.Xmodmap - -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) -bar { - status_command i3status -} diff --git a/.config/i3/i3exit b/.config/i3/i3exit deleted file mode 100755 index 92b1925..0000000 --- a/.config/i3/i3exit +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash - -lock() { - width_height=$(xdpyinfo | awk '/dimensions/ {print $2}') - scrot - | convert - -scale 10% -blur 0x2.0 -resize "$width_height" RGB:- | i3lock --nofork --raw "$width_height":rgb --image /dev/stdin -} - -case "$1" in -lock) - lock - ;; -logout) - i3-msg exit - ;; -suspend) - systemctl suspend && lock - ;; -hibernate) - systemctl hibernate && lock - ;; -reboot) - systemctl reboot - ;; -shutdown) - systemctl poweroff - ;; -*) - echo "Usage: $0 [lock|logout|suspend|hibernate|reboot|shutdown]" - exit 2 - ;; -esac - -exit 0 diff --git a/.config/i3status/config b/.config/i3status/config deleted file mode 100644 index d23ae63..0000000 --- a/.config/i3status/config +++ /dev/null @@ -1,51 +0,0 @@ -general { - colors = true - interval = 5 -} - -order += "ipv6" -order += "wireless _first_" -order += "ethernet _first_" -order += "battery all" -order += "disk /" -order += "load" -order += "memory" -order += "tztime local" - -wireless _first_ { - format_up = "W: (%quality at %essid) %ip" - format_down = "W: down" -} - -ethernet _first_ { - format_up = "E: %ip (%speed)" - format_down = "E: down" -} - -battery all { - format = "%status %percentage %remaining" - last_full_capacity = true - format_down = "No battery" - status_chr = "⚡ CHR" - status_bat = "🔋 BAT" - status_unk = "? UNK" - status_full = "☻ FULL" -} - -disk "/" { - format = "%avail" -} - -load { - format = "%1min" -} - -memory { - format = "%used | %available" - threshold_degraded = "1G" - format_degraded = "MEMORY < %available" -} - -tztime local { - format = "%Y-%m-%d %H:%M:%S" -} From 383dbfd853f2b06c0a3d5b72a8c8d0d18a0ab751 Mon Sep 17 00:00:00 2001 From: Sebastian Bugge Date: Thu, 27 Mar 2025 18:49:22 +0100 Subject: [PATCH 02/16] Add some nice to have things. --- .zshenv | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.zshenv b/.zshenv index a605dbe..16cfc21 100644 --- a/.zshenv +++ b/.zshenv @@ -2,6 +2,10 @@ export HISTFILESIZE=1000000000 export HISTSIZE=1000000000 export EDITOR='nvim' +export NAME='Sebastian Bugge' +export EMAIL='sbugge@proton.me' + +export PATH="/sbin:/usr/sbin:/usr/games:$PATH" # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ]; then From 8fc7b1067c91494738312f7f29459f19e10a08f8 Mon Sep 17 00:00:00 2001 From: Sebastian Bugge Date: Thu, 27 Mar 2025 18:49:40 +0100 Subject: [PATCH 03/16] Remove bloat. --- .zshenv | 6 ------ .zshrc | 14 +++----------- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/.zshenv b/.zshenv index 16cfc21..6849d2f 100644 --- a/.zshenv +++ b/.zshenv @@ -48,10 +48,4 @@ fi [ -d "$HOME/.asdf" ] && export PATH="$HOME/.asdf/shims:$PATH" -export PATH="$PATH:/home/kaholaz/.cache/scalacli/local-repo/bin/scala-cli" - -# >>> coursier install directory >>> -export PATH="$PATH:/home/kaholaz/.local/share/coursier/bin" -# <<< coursier install directory <<< - if [ -e /home/kaholaz/.nix-profile/etc/profile.d/nix.sh ]; then . /home/kaholaz/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer diff --git a/.zshrc b/.zshrc index 173ef7e..5a9e029 100644 --- a/.zshrc +++ b/.zshrc @@ -26,23 +26,15 @@ zplug "plugins/git", from:oh-my-zsh zplug "plugins/command-not-found", from:oh-my-zsh zplug load -if dig google.com +timeout=1 >/dev/null 2>&1; then; - HAS_NETWORK=1 -else - echo "No internet connection detected!" - HAS_NETWORK=0 -fi - # Attach to a tmux session on startup if [ -z "$TMUX" ] && [ -n "$SSH_CONNECTION" ]; then tmux attach -t Default || tmux new -s Default fi -# Show the weather and a quote on startup -if [ -z "$TMUX" ] && [[ "$HAS_NETWORK" == 1 ]]; then - curl -s 'wttr.in/Trondheim?format=%l:+%c%t\n' --max-time 0.5 2> /dev/null - echo " ---" +# Show a quote on startup +if [ -z "$TMUX" ]; then fortune -s + echo " ---" fi export NVM_DIR="$HOME/.nvm" From 42bceb846ca45ac23c2f84aec4b1765edea4191c Mon Sep 17 00:00:00 2001 From: Sebastian Bugge Date: Mon, 31 Mar 2025 10:01:19 +0200 Subject: [PATCH 04/16] Cache completions. --- .zshrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.zshrc b/.zshrc index 5a9e029..a8bb260 100644 --- a/.zshrc +++ b/.zshrc @@ -45,4 +45,4 @@ fi source ~/.aliases fpath+=~/.zfunc -autoload -U compinit; compinit +autoload -U compinit; compinit -d From 505761389e6a54ceb5881ecf3cccd83bd581a4d1 Mon Sep 17 00:00:00 2001 From: Sebastian Bugge Date: Tue, 1 Apr 2025 10:55:40 +0200 Subject: [PATCH 05/16] Exchange asdf with mise. --- .zprofile | 8 -------- .zshenv | 11 ----------- 2 files changed, 19 deletions(-) diff --git a/.zprofile b/.zprofile index d8dea43..e69de29 100644 --- a/.zprofile +++ b/.zprofile @@ -1,8 +0,0 @@ -ASDF_TMP=$(mktemp) -if asdf current golang >"$ASDF_TMP" 2>/dev/null; then - ASDF_GO="$HOME/.asdf/installs/golang/$(awk -F' ' '{print $2}' <"$ASDF_TMP")" -fi -if [ -d "$ASDF_GO" ]; then - ASDF_GOBIN="$ASDF_GO/packages/bin/" - PATH="$ASDF_GOBIN:$PATH" -fi diff --git a/.zshenv b/.zshenv index 6849d2f..d499233 100644 --- a/.zshenv +++ b/.zshenv @@ -27,15 +27,6 @@ if [ -d "$HOME/go" ]; then PATH="$GOBIN:$PATH" fi -ASDF_TMP=$(mktemp) -if asdf current golang >"$ASDF_TMP" 2>/dev/null; then - ASDF_GO="$HOME/.asdf/installs/golang/$(awk -F' ' '{print $2}' <"$ASDF_TMP")" -fi -if [ -d "$ASDF_GO" ]; then - ASDF_GOBIN="$ASDF_GO/packages/bin/" - PATH="$ASDF_GOBIN:$PATH" -fi - [ -f "/home/kaholaz/.ghcup/env" ] && source "/home/kaholaz/.ghcup/env" # ghcup-env if [ -f "$HOME/.local/share/pnpm" ]; then @@ -46,6 +37,4 @@ if [ -f "$HOME/.local/share/pnpm" ]; then esac fi -[ -d "$HOME/.asdf" ] && export PATH="$HOME/.asdf/shims:$PATH" - if [ -e /home/kaholaz/.nix-profile/etc/profile.d/nix.sh ]; then . /home/kaholaz/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer From 2a7612a21e71ba7b9fccd453d9deec20c6519fd1 Mon Sep 17 00:00:00 2001 From: Sebastian Bugge Date: Tue, 1 Apr 2025 11:37:22 +0200 Subject: [PATCH 06/16] Use wayland instead of x. --- .aliases | 2 +- .config/regolith3/sway/config.d/caps_remap | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 .config/regolith3/sway/config.d/caps_remap diff --git a/.aliases b/.aliases index 3707ded..6d2025d 100644 --- a/.aliases +++ b/.aliases @@ -64,7 +64,7 @@ itks() { xdg-open "https://google.com/search?q=$1+site%3Aitk.samfundet.no" } -alias clip="xclip -selection clip" +alias clip="wl-copy" dchmod () { find $2 -type d -exec chmod $1 {} + diff --git a/.config/regolith3/sway/config.d/caps_remap b/.config/regolith3/sway/config.d/caps_remap new file mode 100644 index 0000000..370fdf5 --- /dev/null +++ b/.config/regolith3/sway/config.d/caps_remap @@ -0,0 +1,3 @@ +input "type:keyboard" { + xkb_options caps:ctrl_modifier +} From 55ca50973fa7a5134d0c97c1336340cc5bffd98f Mon Sep 17 00:00:00 2001 From: Sebastian Bugge Date: Tue, 1 Apr 2025 11:39:05 +0200 Subject: [PATCH 07/16] Actually add mise stuff. --- .zshrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.zshrc b/.zshrc index a8bb260..5b2cfc4 100644 --- a/.zshrc +++ b/.zshrc @@ -43,6 +43,10 @@ if [ -s "$NVM_DIR/nvm.sh" ]; then [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion fi +if [ -f $HOME/.local/bin/mise ]; then + eval "$($HOME/.local/bin/mise activate zsh)" +fi + source ~/.aliases fpath+=~/.zfunc autoload -U compinit; compinit -d From ced6ffedc64225c513b4bb52065a5a9c8fc81655 Mon Sep 17 00:00:00 2001 From: Sebastian Bugge Date: Tue, 1 Apr 2025 11:43:21 +0200 Subject: [PATCH 08/16] Add gleam versions to config files. --- .tool-versions | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .tool-versions diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..c48b579 --- /dev/null +++ b/.tool-versions @@ -0,0 +1,2 @@ +gleam latest +erlang latest From 6b99582fe89179e350acce06ce84e5219ddd55cb Mon Sep 17 00:00:00 2001 From: Sebastian Bugge Date: Tue, 1 Apr 2025 11:53:24 +0200 Subject: [PATCH 09/16] I don't use i3. --- .Xmodmap | 4 - .config/i3/config | 204 ---------------------------------------- .config/i3/i3exit | 33 ------- .config/i3status/config | 51 ---------- 4 files changed, 292 deletions(-) delete mode 100644 .Xmodmap delete mode 100644 .config/i3/config delete mode 100755 .config/i3/i3exit delete mode 100644 .config/i3status/config diff --git a/.Xmodmap b/.Xmodmap deleted file mode 100644 index 1945241..0000000 --- a/.Xmodmap +++ /dev/null @@ -1,4 +0,0 @@ -clear lock -clear control -add control = Caps_Lock Control_L Control_R -keycode 66 = Control_L Caps_Lock NoSymbol NoSymbol diff --git a/.config/i3/config b/.config/i3/config deleted file mode 100644 index 3d0ddbf..0000000 --- a/.config/i3/config +++ /dev/null @@ -1,204 +0,0 @@ -# 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:monospace 8 - -# This font is widely installed, provides lots of unicode glyphs, right-to-left -# text rendering and scalability on retina/hidpi displays (thanks to pango). -#font pango:DejaVu Sans Mono 8 - -# 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 - -# The combination of xss-lock, nm-applet and pactl is a popular choice, so -# they are included here as an example. Modify as you see fit. - -# 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 - -# 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 - -# Use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $mod - -# start a terminal -bindsym $mod+Return exec i3-sensible-terminal - -# kill focused window -bindsym $mod+Shift+q kill - -# start dmenu (a program launcher) -bindsym $mod+d exec --no-startup-id dmenu_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+h focus left -bindsym $mod+j focus down -bindsym $mod+k focus up -bindsym $mod+l 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+h move left -bindsym $mod+Shift+j move down -bindsym $mod+Shift+k move up -bindsym $mod+Shift+l 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+b 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+w layout tabbed -bindsym $mod+e layout toggle split - -# toggle tiling / floating -bindsym $mod+Shift+space floating toggle - -# change focus between tiling / floating windows -bindsym $mod+space focus mode_toggle - -# focus the parent container -bindsym $mod+a focus parent - -# focus the child container -#bindsym $mod+d focus child - -# 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+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'" - -# resize window (you can also use the mouse for that) -mode "resize" { - # These bindings trigger as soon as you enter the resize mode - - # Pressing left will shrink the window’s width. - # Pressing right will grow the window’s width. - # Pressing up will shrink the window’s height. - # Pressing down will grow the window’s height. - bindsym h resize shrink width 10 px or 10 ppt - bindsym j resize grow height 10 px or 10 ppt - bindsym k resize shrink height 10 px or 10 ppt - bindsym l resize grow width 10 px or 10 ppt - - # same bindings, but for the arrow keys - bindsym Left resize shrink width 10 px or 10 ppt - bindsym Down resize grow height 10 px or 10 ppt - bindsym Up resize shrink height 10 px or 10 ppt - bindsym Right resize grow width 10 px or 10 ppt - - # back to normal: Enter or Escape or $mod+r - bindsym Return mode "default" - bindsym Escape mode "default" - bindsym $mod+r mode "default" -} - -bindsym $mod+r mode "resize" - -set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown -mode "$mode_system" { - bindsym l exec --no-startup-id ~/.config/i3/i3exit lock, mode "default" - bindsym e exec --no-startup-id ~/.config/i3/i3exit logout, mode "default" - bindsym s exec --no-startup-id ~/.config/i3/i3exit suspend, mode "default" - bindsym h exec --no-startup-id ~/.config/i3/i3exit hibernate, mode "default" - bindsym r exec --no-startup-id ~/.config/i3/i3exit reboot, mode "default" - bindsym Shift+s exec --no-startup-id ~/.config/i3/i3exit shutdown, mode "default" - - # back to normal: Enter or Escape - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+Escape mode "$mode_system" - -exec xinput set-prop "DELL07E6:00 06CB:76AF Touchpad" "libinput Tapping Enabled" 1 -exec xmodmap ~/.Xmodmap - -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) -bar { - status_command i3status -} diff --git a/.config/i3/i3exit b/.config/i3/i3exit deleted file mode 100755 index 92b1925..0000000 --- a/.config/i3/i3exit +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash - -lock() { - width_height=$(xdpyinfo | awk '/dimensions/ {print $2}') - scrot - | convert - -scale 10% -blur 0x2.0 -resize "$width_height" RGB:- | i3lock --nofork --raw "$width_height":rgb --image /dev/stdin -} - -case "$1" in -lock) - lock - ;; -logout) - i3-msg exit - ;; -suspend) - systemctl suspend && lock - ;; -hibernate) - systemctl hibernate && lock - ;; -reboot) - systemctl reboot - ;; -shutdown) - systemctl poweroff - ;; -*) - echo "Usage: $0 [lock|logout|suspend|hibernate|reboot|shutdown]" - exit 2 - ;; -esac - -exit 0 diff --git a/.config/i3status/config b/.config/i3status/config deleted file mode 100644 index d23ae63..0000000 --- a/.config/i3status/config +++ /dev/null @@ -1,51 +0,0 @@ -general { - colors = true - interval = 5 -} - -order += "ipv6" -order += "wireless _first_" -order += "ethernet _first_" -order += "battery all" -order += "disk /" -order += "load" -order += "memory" -order += "tztime local" - -wireless _first_ { - format_up = "W: (%quality at %essid) %ip" - format_down = "W: down" -} - -ethernet _first_ { - format_up = "E: %ip (%speed)" - format_down = "E: down" -} - -battery all { - format = "%status %percentage %remaining" - last_full_capacity = true - format_down = "No battery" - status_chr = "⚡ CHR" - status_bat = "🔋 BAT" - status_unk = "? UNK" - status_full = "☻ FULL" -} - -disk "/" { - format = "%avail" -} - -load { - format = "%1min" -} - -memory { - format = "%used | %available" - threshold_degraded = "1G" - format_degraded = "MEMORY < %available" -} - -tztime local { - format = "%Y-%m-%d %H:%M:%S" -} From f1c76040cb5d15e26214eaefa285e8b98fd9bb4c Mon Sep 17 00:00:00 2001 From: Sebastian Bugge Date: Tue, 1 Apr 2025 11:53:41 +0200 Subject: [PATCH 10/16] Add some nice to have things. --- .zshenv | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.zshenv b/.zshenv index a605dbe..16cfc21 100644 --- a/.zshenv +++ b/.zshenv @@ -2,6 +2,10 @@ export HISTFILESIZE=1000000000 export HISTSIZE=1000000000 export EDITOR='nvim' +export NAME='Sebastian Bugge' +export EMAIL='sbugge@proton.me' + +export PATH="/sbin:/usr/sbin:/usr/games:$PATH" # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ]; then From 02203fbaadaac9ebcbf25c9be021abd27c51cca4 Mon Sep 17 00:00:00 2001 From: Sebastian Bugge Date: Tue, 1 Apr 2025 11:53:56 +0200 Subject: [PATCH 11/16] Remove bloat. --- .zshenv | 6 ------ .zshrc | 14 +++----------- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/.zshenv b/.zshenv index 16cfc21..6849d2f 100644 --- a/.zshenv +++ b/.zshenv @@ -48,10 +48,4 @@ fi [ -d "$HOME/.asdf" ] && export PATH="$HOME/.asdf/shims:$PATH" -export PATH="$PATH:/home/kaholaz/.cache/scalacli/local-repo/bin/scala-cli" - -# >>> coursier install directory >>> -export PATH="$PATH:/home/kaholaz/.local/share/coursier/bin" -# <<< coursier install directory <<< - if [ -e /home/kaholaz/.nix-profile/etc/profile.d/nix.sh ]; then . /home/kaholaz/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer diff --git a/.zshrc b/.zshrc index 173ef7e..5a9e029 100644 --- a/.zshrc +++ b/.zshrc @@ -26,23 +26,15 @@ zplug "plugins/git", from:oh-my-zsh zplug "plugins/command-not-found", from:oh-my-zsh zplug load -if dig google.com +timeout=1 >/dev/null 2>&1; then; - HAS_NETWORK=1 -else - echo "No internet connection detected!" - HAS_NETWORK=0 -fi - # Attach to a tmux session on startup if [ -z "$TMUX" ] && [ -n "$SSH_CONNECTION" ]; then tmux attach -t Default || tmux new -s Default fi -# Show the weather and a quote on startup -if [ -z "$TMUX" ] && [[ "$HAS_NETWORK" == 1 ]]; then - curl -s 'wttr.in/Trondheim?format=%l:+%c%t\n' --max-time 0.5 2> /dev/null - echo " ---" +# Show a quote on startup +if [ -z "$TMUX" ]; then fortune -s + echo " ---" fi export NVM_DIR="$HOME/.nvm" From fd94b80484f3a9609336810ec290987ad493b6c3 Mon Sep 17 00:00:00 2001 From: Sebastian Bugge Date: Mon, 31 Mar 2025 10:01:19 +0200 Subject: [PATCH 12/16] Cache completions. --- .zshrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.zshrc b/.zshrc index 5a9e029..a8bb260 100644 --- a/.zshrc +++ b/.zshrc @@ -45,4 +45,4 @@ fi source ~/.aliases fpath+=~/.zfunc -autoload -U compinit; compinit +autoload -U compinit; compinit -d From 4ab77a370d7c2f25a41d97c948265e35114e6632 Mon Sep 17 00:00:00 2001 From: Sebastian Bugge Date: Tue, 1 Apr 2025 10:55:40 +0200 Subject: [PATCH 13/16] Exchange asdf with mise. --- .zprofile | 8 -------- .zshenv | 11 ----------- 2 files changed, 19 deletions(-) diff --git a/.zprofile b/.zprofile index d8dea43..e69de29 100644 --- a/.zprofile +++ b/.zprofile @@ -1,8 +0,0 @@ -ASDF_TMP=$(mktemp) -if asdf current golang >"$ASDF_TMP" 2>/dev/null; then - ASDF_GO="$HOME/.asdf/installs/golang/$(awk -F' ' '{print $2}' <"$ASDF_TMP")" -fi -if [ -d "$ASDF_GO" ]; then - ASDF_GOBIN="$ASDF_GO/packages/bin/" - PATH="$ASDF_GOBIN:$PATH" -fi diff --git a/.zshenv b/.zshenv index 6849d2f..d499233 100644 --- a/.zshenv +++ b/.zshenv @@ -27,15 +27,6 @@ if [ -d "$HOME/go" ]; then PATH="$GOBIN:$PATH" fi -ASDF_TMP=$(mktemp) -if asdf current golang >"$ASDF_TMP" 2>/dev/null; then - ASDF_GO="$HOME/.asdf/installs/golang/$(awk -F' ' '{print $2}' <"$ASDF_TMP")" -fi -if [ -d "$ASDF_GO" ]; then - ASDF_GOBIN="$ASDF_GO/packages/bin/" - PATH="$ASDF_GOBIN:$PATH" -fi - [ -f "/home/kaholaz/.ghcup/env" ] && source "/home/kaholaz/.ghcup/env" # ghcup-env if [ -f "$HOME/.local/share/pnpm" ]; then @@ -46,6 +37,4 @@ if [ -f "$HOME/.local/share/pnpm" ]; then esac fi -[ -d "$HOME/.asdf" ] && export PATH="$HOME/.asdf/shims:$PATH" - if [ -e /home/kaholaz/.nix-profile/etc/profile.d/nix.sh ]; then . /home/kaholaz/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer From 888e5a3d290dd2748994017e225dc62d4d824f75 Mon Sep 17 00:00:00 2001 From: Sebastian Bugge Date: Tue, 1 Apr 2025 11:54:39 +0200 Subject: [PATCH 14/16] Use wayland instead of x. --- .aliases | 2 +- .config/regolith3/sway/config.d/caps_remap | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 .config/regolith3/sway/config.d/caps_remap diff --git a/.aliases b/.aliases index 3707ded..6d2025d 100644 --- a/.aliases +++ b/.aliases @@ -64,7 +64,7 @@ itks() { xdg-open "https://google.com/search?q=$1+site%3Aitk.samfundet.no" } -alias clip="xclip -selection clip" +alias clip="wl-copy" dchmod () { find $2 -type d -exec chmod $1 {} + diff --git a/.config/regolith3/sway/config.d/caps_remap b/.config/regolith3/sway/config.d/caps_remap new file mode 100644 index 0000000..370fdf5 --- /dev/null +++ b/.config/regolith3/sway/config.d/caps_remap @@ -0,0 +1,3 @@ +input "type:keyboard" { + xkb_options caps:ctrl_modifier +} From 579424e7f60c22262f96d580d0f2cfb269e405f5 Mon Sep 17 00:00:00 2001 From: Sebastian Bugge Date: Tue, 1 Apr 2025 11:39:05 +0200 Subject: [PATCH 15/16] Actually add mise stuff. --- .zshrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.zshrc b/.zshrc index a8bb260..5b2cfc4 100644 --- a/.zshrc +++ b/.zshrc @@ -43,6 +43,10 @@ if [ -s "$NVM_DIR/nvm.sh" ]; then [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion fi +if [ -f $HOME/.local/bin/mise ]; then + eval "$($HOME/.local/bin/mise activate zsh)" +fi + source ~/.aliases fpath+=~/.zfunc autoload -U compinit; compinit -d From 61eb33f34793cc88262bb342b97d075c6a7e6133 Mon Sep 17 00:00:00 2001 From: Sebastian Bugge Date: Tue, 1 Apr 2025 11:56:16 +0200 Subject: [PATCH 16/16] Add gleam versions to config files. --- .tool-versions | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .tool-versions diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..c48b579 --- /dev/null +++ b/.tool-versions @@ -0,0 +1,2 @@ +gleam latest +erlang latest