diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-04-28 02:27:15 +0200 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-04-29 15:18:35 +0200 |
| commit | 3cc3abc920cc96a53427c221a7a9e4623c0b20b4 (patch) | |
| tree | e396d4e646fd48dd3a0e9e3bbccb816efc80898a | |
| parent | cc7c22234601c6c29435ad59c7c6950cd0f2b6e2 (diff) | |
| download | dotfiles-3cc3abc920cc96a53427c221a7a9e4623c0b20b4.tar.gz | |
Cleanup and squash
| -rw-r--r-- | .alacritty.toml | 2 | ||||
| -rw-r--r-- | .black.rasi | 37 | ||||
| -rw-r--r-- | .config/i3/config | 174 | ||||
| -rw-r--r-- | .config/i3status/config | 25 | ||||
| -rw-r--r-- | .gitconfig | 2 | ||||
| -rwxr-xr-x | .shenanigans.sh | 33 | ||||
| -rw-r--r-- | .xinitrc | 2 |
7 files changed, 249 insertions, 26 deletions
diff --git a/.alacritty.toml b/.alacritty.toml index 6ba8f61..dd2ce1d 100644 --- a/.alacritty.toml +++ b/.alacritty.toml | |||
| @@ -7,7 +7,7 @@ dimensions = { columns = 140, lines = 50 } | |||
| 7 | 7 | ||
| 8 | [font] | 8 | [font] |
| 9 | normal = { family = "Berkeley Mono", style = "Bold" } | 9 | normal = { family = "Berkeley Mono", style = "Bold" } |
| 10 | size = 10 | 10 | size = 9 |
| 11 | 11 | ||
| 12 | [colors.primary] | 12 | [colors.primary] |
| 13 | background = '#000000' | 13 | background = '#000000' |
diff --git a/.black.rasi b/.black.rasi new file mode 100644 index 0000000..ac7c046 --- /dev/null +++ b/.black.rasi | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | configuration { | ||
| 2 | show-icons: false; | ||
| 3 | disable-history: false; | ||
| 4 | } | ||
| 5 | |||
| 6 | * { | ||
| 7 | font: "Berkeley Mono Bold 14"; | ||
| 8 | foreground: white; | ||
| 9 | background-color: black; | ||
| 10 | } | ||
| 11 | |||
| 12 | #window { | ||
| 13 | background-color: black; | ||
| 14 | border: 2; | ||
| 15 | border-color: white; | ||
| 16 | padding: 20; | ||
| 17 | width: 800; | ||
| 18 | } | ||
| 19 | |||
| 20 | prompt, inputbar, entry { | ||
| 21 | text-color: white; | ||
| 22 | padding: 0 10 10 0; | ||
| 23 | } | ||
| 24 | |||
| 25 | listview { | ||
| 26 | lines: 20; | ||
| 27 | columns: 1; | ||
| 28 | } | ||
| 29 | |||
| 30 | element-text { | ||
| 31 | text-color: khaki; | ||
| 32 | } | ||
| 33 | |||
| 34 | element-text selected { | ||
| 35 | text-color: black; | ||
| 36 | background-color: white; | ||
| 37 | } | ||
diff --git a/.config/i3/config b/.config/i3/config new file mode 100644 index 0000000..b43b47d --- /dev/null +++ b/.config/i3/config | |||
| @@ -0,0 +1,174 @@ | |||
| 1 | set $mod Mod4 | ||
| 2 | |||
| 3 | font pango:Berkeley Mono Bold 7 | ||
| 4 | exec --no-startup-id dex --autostart --environment i3 | ||
| 5 | exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork | ||
| 6 | exec --no-startup-id nm-applet | ||
| 7 | |||
| 8 | # Use pactl to adjust volume in PulseAudio. | ||
| 9 | set $refresh_i3status killall -SIGUSR1 i3status | ||
| 10 | bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status | ||
| 11 | bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status | ||
| 12 | bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status | ||
| 13 | bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status | ||
| 14 | |||
| 15 | # My keybinds | ||
| 16 | bindsym $mod+bracketright exec --no-startup-id pats -t | ||
| 17 | bindsym $mod+m exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle | ||
| 18 | bindsym $mod+l exec --no-startup-id i3lock | ||
| 19 | bindsym $mod+p exec --no-startup-id "rofi -show drun -theme ~/.black.rasi" | ||
| 20 | bindsym $mod+Escape exec --no-startup-id "maim -s | xclip -selection clipboard -t image/png" | ||
| 21 | |||
| 22 | # Use Mouse+$mod to drag floating windows to their wanted position | ||
| 23 | floating_modifier $mod | ||
| 24 | tiling_drag modifier titlebar | ||
| 25 | |||
| 26 | # start a terminal | ||
| 27 | bindsym $mod+Return exec alacritty | ||
| 28 | |||
| 29 | # kill focused window | ||
| 30 | bindsym $mod+Shift+q kill | ||
| 31 | |||
| 32 | # change focus | ||
| 33 | bindsym $mod+Left focus left | ||
| 34 | bindsym $mod+Down focus down | ||
| 35 | bindsym $mod+Up focus up | ||
| 36 | bindsym $mod+Right focus right | ||
| 37 | |||
| 38 | # move focused window | ||
| 39 | bindsym $mod+Shift+j move left | ||
| 40 | bindsym $mod+Shift+k move down | ||
| 41 | bindsym $mod+Shift+l move up | ||
| 42 | bindsym $mod+Shift+semicolon move right | ||
| 43 | |||
| 44 | # alternatively, you can use the cursor keys: | ||
| 45 | bindsym $mod+Shift+Left move left | ||
| 46 | bindsym $mod+Shift+Down move down | ||
| 47 | bindsym $mod+Shift+Up move up | ||
| 48 | bindsym $mod+Shift+Right move right | ||
| 49 | |||
| 50 | # split in horizontal orientation | ||
| 51 | bindsym $mod+h split h | ||
| 52 | |||
| 53 | # split in vertical orientation | ||
| 54 | bindsym $mod+v split v | ||
| 55 | |||
| 56 | # enter fullscreen mode for the focused container | ||
| 57 | bindsym $mod+f fullscreen toggle | ||
| 58 | |||
| 59 | # change container layout (stacked, tabbed, toggle split) | ||
| 60 | bindsym $mod+s layout stacking | ||
| 61 | bindsym $mod+w layout tabbed | ||
| 62 | bindsym $mod+e layout toggle split | ||
| 63 | |||
| 64 | # toggle tiling / floating | ||
| 65 | bindsym $mod+Shift+space floating toggle | ||
| 66 | |||
| 67 | # change focus between tiling / floating windows | ||
| 68 | bindsym $mod+space focus mode_toggle | ||
| 69 | |||
| 70 | # focus the parent container | ||
| 71 | bindsym $mod+a focus parent | ||
| 72 | |||
| 73 | # focus the child container | ||
| 74 | bindsym $mod+d focus child | ||
| 75 | |||
| 76 | # Define names for default workspaces for which we configure key bindings later on. | ||
| 77 | # We use variables to avoid repeating the names in multiple places. | ||
| 78 | set $ws1 "1" | ||
| 79 | set $ws2 "2" | ||
| 80 | set $ws3 "3" | ||
| 81 | set $ws4 "4" | ||
| 82 | set $ws5 "5" | ||
| 83 | set $ws6 "6" | ||
| 84 | set $ws7 "7" | ||
| 85 | set $ws8 "8" | ||
| 86 | set $ws9 "9" | ||
| 87 | set $ws10 "10" | ||
| 88 | |||
| 89 | # switch to workspace | ||
| 90 | bindsym $mod+1 workspace number $ws1 | ||
| 91 | bindsym $mod+2 workspace number $ws2 | ||
| 92 | bindsym $mod+3 workspace number $ws3 | ||
| 93 | bindsym $mod+4 workspace number $ws4 | ||
| 94 | bindsym $mod+5 workspace number $ws5 | ||
| 95 | bindsym $mod+6 workspace number $ws6 | ||
| 96 | bindsym $mod+7 workspace number $ws7 | ||
| 97 | bindsym $mod+8 workspace number $ws8 | ||
| 98 | bindsym $mod+9 workspace number $ws9 | ||
| 99 | bindsym $mod+0 workspace number $ws10 | ||
| 100 | |||
| 101 | # move focused container to workspace | ||
| 102 | bindsym $mod+Shift+1 move container to workspace number $ws1 | ||
| 103 | bindsym $mod+Shift+2 move container to workspace number $ws2 | ||
| 104 | bindsym $mod+Shift+3 move container to workspace number $ws3 | ||
| 105 | bindsym $mod+Shift+4 move container to workspace number $ws4 | ||
| 106 | bindsym $mod+Shift+5 move container to workspace number $ws5 | ||
| 107 | bindsym $mod+Shift+6 move container to workspace number $ws6 | ||
| 108 | bindsym $mod+Shift+7 move container to workspace number $ws7 | ||
| 109 | bindsym $mod+Shift+8 move container to workspace number $ws8 | ||
| 110 | bindsym $mod+Shift+9 move container to workspace number $ws9 | ||
| 111 | bindsym $mod+Shift+0 move container to workspace number $ws10 | ||
| 112 | |||
| 113 | # reload the configuration file | ||
| 114 | bindsym $mod+Shift+c reload | ||
| 115 | # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) | ||
| 116 | bindsym $mod+Shift+r restart | ||
| 117 | # exit i3 (logs you out of your X session) | ||
| 118 | 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'" | ||
| 119 | |||
| 120 | # resize window (you can also use the mouse for that) | ||
| 121 | mode "resize" { | ||
| 122 | # same bindings, but for the arrow keys | ||
| 123 | bindsym Left resize shrink width 10 px or 10 ppt | ||
| 124 | bindsym Down resize grow height 10 px or 10 ppt | ||
| 125 | bindsym Up resize shrink height 10 px or 10 ppt | ||
| 126 | bindsym Right resize grow width 10 px or 10 ppt | ||
| 127 | |||
| 128 | # back to normal: Enter or Escape or $mod+r | ||
| 129 | bindsym Return mode "default" | ||
| 130 | bindsym Escape mode "default" | ||
| 131 | bindsym $mod+r mode "default" | ||
| 132 | } | ||
| 133 | |||
| 134 | bindsym $mod+r mode "resize" | ||
| 135 | |||
| 136 | # No title bars | ||
| 137 | for_window [class="^.*"] border pixel 2 | ||
| 138 | |||
| 139 | # Do not follow mouse for focus | ||
| 140 | focus_follows_mouse no | ||
| 141 | |||
| 142 | set $primary #c3b091 | ||
| 143 | set $secondary #ff4500 | ||
| 144 | set $dark #333333 | ||
| 145 | set $light #ffffff | ||
| 146 | |||
| 147 | # Start i3bar to display a workspace bar (plus the system information i3status | ||
| 148 | # finds out, if available) | ||
| 149 | bar { | ||
| 150 | status_command i3status | ||
| 151 | position top | ||
| 152 | colors { | ||
| 153 | background #000000 | ||
| 154 | separator #191919 | ||
| 155 | # border background text | ||
| 156 | focused_workspace $primary $primary $dark | ||
| 157 | inactive_workspace $dark $dark $light | ||
| 158 | urgent_workspace $secondary $secondary $light | ||
| 159 | |||
| 160 | } | ||
| 161 | } | ||
| 162 | |||
| 163 | # border background text indicator | ||
| 164 | client.focused $primary $primary $light $light | ||
| 165 | client.unfocused $dark $dark $light $light | ||
| 166 | client.focused_inactive $dark $dark $light $light | ||
| 167 | client.urgent $secondary $secondary $light $light | ||
| 168 | |||
| 169 | # Workspace 1 only has floating windows | ||
| 170 | for_window [workspace="1"] floating enable | ||
| 171 | |||
| 172 | # Expections for opening in floating mode where XSetClassHint is set to floating | ||
| 173 | for_window [class="^(mpv|SimpleScreenRecorder|Thunar|transmission)$"] floating enable | ||
| 174 | for_window [title="^(Stalag)$"] floating enable | ||
diff --git a/.config/i3status/config b/.config/i3status/config new file mode 100644 index 0000000..6ff978a --- /dev/null +++ b/.config/i3status/config | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | general { | ||
| 2 | colors = true | ||
| 3 | interval = 5 | ||
| 4 | } | ||
| 5 | |||
| 6 | order += "disk /" | ||
| 7 | order += "cpu_usage" | ||
| 8 | order += "memory" | ||
| 9 | order += "tztime local" | ||
| 10 | |||
| 11 | disk "/" { | ||
| 12 | format = "Disk: %avail" | ||
| 13 | } | ||
| 14 | |||
| 15 | cpu_usage { | ||
| 16 | format = "CPU: %usage" | ||
| 17 | } | ||
| 18 | |||
| 19 | memory { | ||
| 20 | format = "Memory: %used" | ||
| 21 | } | ||
| 22 | |||
| 23 | tztime local { | ||
| 24 | format = "%a %Y-%m-%d %H:%M:%S" | ||
| 25 | } | ||
| @@ -16,7 +16,7 @@ | |||
| 16 | [gpg] | 16 | [gpg] |
| 17 | format = ssh | 17 | format = ssh |
| 18 | [alias] | 18 | [alias] |
| 19 | pushall = !sh -c \"git remote | xargs -L1 git push --all\" | 19 | pushall = !sh -c \"git remote | xargs -L1 git push --all --force-with-lease\" |
| 20 | tree = log --oneline --graph | 20 | tree = log --oneline --graph |
| 21 | [filter "lfs"] | 21 | [filter "lfs"] |
| 22 | required = true | 22 | required = true |
diff --git a/.shenanigans.sh b/.shenanigans.sh index 9dc5732..86e57d5 100755 --- a/.shenanigans.sh +++ b/.shenanigans.sh | |||
| @@ -1,14 +1,9 @@ | |||
| 1 | # Software list (Void Linux): | 1 | # Software list: |
| 2 | # void-repo-nonfree void-repo-multilib void-repo-multilib-nonfree | ||
| 3 | # file-roller xfce4-plugins thunar-archive-plugin | 2 | # file-roller xfce4-plugins thunar-archive-plugin |
| 4 | # lm_sensors conky maim xlockmore picom cwm xclip xsel xsetroot xdotool | 3 | # vim git tmux maim xclip xsel mc htop entr cifs-utils rsync jq rofi fd |
| 5 | # xss-lock wmctrl zip mc htop entr cifs-utils rsync jq rofi st fd | 4 | # rsync curl hstr tree make gdb nvtop ctags stow newsboat mpv lazygit |
| 6 | # clang clang-tools-extra vim git curl tmux hstr tree make cmake gdb | ||
| 7 | # nvtop ctags stow newsboat mpv rsync python3-pipx lazygit | ||
| 8 | # Additonal stuff: | 5 | # Additonal stuff: |
| 9 | # go install golang.org/x/tools/gopls@latest | 6 | # go install golang.org/x/tools/gopls@latest |
| 10 | # pipx install pyright mdformat | ||
| 11 | # pipx inject mdformat mdformat-gfm | ||
| 12 | 7 | ||
| 13 | # Only run if the script is being sourced (bashrc). | 8 | # Only run if the script is being sourced (bashrc). |
| 14 | if [[ "${BASH_SOURCE[0]}" != "${0}" ]]; then | 9 | if [[ "${BASH_SOURCE[0]}" != "${0}" ]]; then |
| @@ -35,7 +30,7 @@ if [[ "${BASH_SOURCE[0]}" != "${0}" ]]; then | |||
| 35 | alias tmux='tmux -T 256 -u' | 30 | alias tmux='tmux -T 256 -u' |
| 36 | alias server='python3 -m http.server 6969' | 31 | alias server='python3 -m http.server 6969' |
| 37 | alias newsboat='newsboat -r -u ~/.feeds.txt' | 32 | alias newsboat='newsboat -r -u ~/.feeds.txt' |
| 38 | alias n='cd ~/Notes && vim toc.txt' | 33 | alias emptytrash='gio trash --empty' |
| 39 | 34 | ||
| 40 | # Custom folder jump commands. | 35 | # Custom folder jump commands. |
| 41 | alias j='cd ~/Junk' | 36 | alias j='cd ~/Junk' |
| @@ -49,7 +44,6 @@ if [[ "${BASH_SOURCE[0]}" != "${0}" ]]; then | |||
| 49 | export HISTFILESIZE= | 44 | export HISTFILESIZE= |
| 50 | export HISTFILE=~/.bash_history_infinite | 45 | export HISTFILE=~/.bash_history_infinite |
| 51 | PROMPT_COMMAND="history -a; ${PROMPT_COMMAND}" | 46 | PROMPT_COMMAND="history -a; ${PROMPT_COMMAND}" |
| 52 | # PROMPT_COMMAND="history -a; history -n; ${PROMPT_COMMAND}" | ||
| 53 | bind '"\e[A": history-search-backward' | 47 | bind '"\e[A": history-search-backward' |
| 54 | bind '"\e[B": history-search-forward' | 48 | bind '"\e[B": history-search-forward' |
| 55 | export HSTR_CONFIG=hicolor | 49 | export HSTR_CONFIG=hicolor |
| @@ -70,9 +64,6 @@ backup() { | |||
| 70 | "ssh.zip $HOME/.ssh" | 64 | "ssh.zip $HOME/.ssh" |
| 71 | "bash_history_infinite.zip $HOME/.bash_history_infinite" | 65 | "bash_history_infinite.zip $HOME/.bash_history_infinite" |
| 72 | "projects.zip $HOME/Projects" | 66 | "projects.zip $HOME/Projects" |
| 73 | "notes.zip $HOME/Notes" | ||
| 74 | "twow.zip $HOME/Games/turtlewow/WTF $HOME/Games/turtlewow/wow.sh" | ||
| 75 | "vanilla+.zip $HOME/Games/vanilla+/WTF $HOME/Games/vanilla+/wow.sh" | ||
| 76 | ) | 67 | ) |
| 77 | 68 | ||
| 78 | for entry in "${archive_sets[@]}"; do | 69 | for entry in "${archive_sets[@]}"; do |
| @@ -83,18 +74,14 @@ backup() { | |||
| 83 | rm -Rf /tmp/$SNAPSHOT | 74 | rm -Rf /tmp/$SNAPSHOT |
| 84 | } | 75 | } |
| 85 | 76 | ||
| 86 | micstatus() { | ||
| 87 | pactl get-source-mute @DEFAULT_SOURCE@ | grep -q "no" && echo 1 || echo 0; | ||
| 88 | } | ||
| 89 | |||
| 90 | slugify() { | 77 | slugify() { |
| 91 | local text="$1" | 78 | local text="$1" |
| 92 | echo "$text" | tr '[:upper:]' '[:lower:]' | sed -E 's/[^a-z0-9]+/-/g; s/^-+|-+$//g' | 79 | echo "$text" | tr '[:upper:]' '[:lower:]' | sed -E 's/[^a-z0-9]+/-/g; s/^-+|-+$//g' |
| 93 | } | 80 | } |
| 94 | 81 | ||
| 95 | worldclocks() { | 82 | worldclocks() { |
| 96 | printf "%-18s %s\n" "Local:" "$(TZ='Europe/Ljubljana' date +'%a %H:%M')" | 83 | printf "%-18s %s\n" "Local:" "$(TZ='Europe/Ljubljana' date +'%a %H:%M')" |
| 97 | printf "%-18s %s\n" "Brisbane:" "$(TZ='Australia/Brisbane' date +'%a %H:%M')" | 84 | printf "%-18s %s\n" "Brisbane:" "$(TZ='Australia/Brisbane' date +'%a %H:%M')" |
| 98 | printf "%-18s %s\n" "San Francisco:" "$(TZ='America/Los_Angeles' date +'%a %H:%M')" | 85 | printf "%-18s %s\n" "San Francisco:" "$(TZ='America/Los_Angeles' date +'%a %H:%M')" |
| 99 | printf "%-18s %s\n" "New York:" "$(TZ='America/New_York' date +'%a %H:%M')" | 86 | printf "%-18s %s\n" "New York:" "$(TZ='America/New_York' date +'%a %H:%M')" |
| 100 | } | 87 | } |
| @@ -10,4 +10,4 @@ xset s 900 | |||
| 10 | xss-lock -- xlock & | 10 | xss-lock -- xlock & |
| 11 | xinput --set-prop "pointer:Logitech MX Master 3" "libinput Accel Speed" -0.3 | 11 | xinput --set-prop "pointer:Logitech MX Master 3" "libinput Accel Speed" -0.3 |
| 12 | 12 | ||
| 13 | exec glitch | 13 | exec i3 |
