aboutsummaryrefslogtreecommitdiffstats
path: root/modules/scripts/i3-keybindings
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-26 00:13:26 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-26 00:13:26 +0530
commit2f64a2097812c1820766909037e724f3415c7576 (patch)
tree8dd91e2d68df1530e3db00db82be91135c672e36 /modules/scripts/i3-keybindings
parent550cadaf45165ccbc3dbe050a45d0d041c2c221d (diff)
downloadhome-manager-config-2f64a2097812c1820766909037e724f3415c7576.tar.gz
home-manager-config-2f64a2097812c1820766909037e724f3415c7576.zip
feat: migrate to Wayland-native media tools, drop X11 cruft, polish waybar and hyprland
- Switch ffmpeg/maim/slop → grim/slurp/wf-recorder (X11→Wayland) - Rewrite screen-recording script for wf-recorder+slurp - Add window-rewrite icons and style workspace buttons in waybar - Set --class on kitty desktop entries for correct hyprland window matching - Remove i3-keybindings script and stale rofi window rules - Tweak cursor size, border colors, file-explorer dimensions
Diffstat (limited to 'modules/scripts/i3-keybindings')
-rw-r--r--modules/scripts/i3-keybindings/assertions.nix11
-rw-r--r--modules/scripts/i3-keybindings/default.nix30
-rw-r--r--modules/scripts/i3-keybindings/script.sh66
3 files changed, 0 insertions, 107 deletions
diff --git a/modules/scripts/i3-keybindings/assertions.nix b/modules/scripts/i3-keybindings/assertions.nix
deleted file mode 100644
index ce1dd6b..0000000
--- a/modules/scripts/i3-keybindings/assertions.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ config, ... }:
-[
- {
- assertion = !config.scripts.i3-keybindings.enable || config.desktop.enable;
- message = "scripts.i3-keybindings is enabled but requires `desktop.enable`.";
- }
- {
- assertion = !config.scripts.i3-keybindings.enable || config.terminal.less.enable;
- message = "scripts.i3-keybindings is enabled but requires `terminal.less.enable`.";
- }
-]
diff --git a/modules/scripts/i3-keybindings/default.nix b/modules/scripts/i3-keybindings/default.nix
deleted file mode 100644
index e1be7fe..0000000
--- a/modules/scripts/i3-keybindings/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-let
- inherit ((import ../lib.nix { inherit lib pkgs; })) mkScriptModule;
- base = mkScriptModule {
- name = "i3-keybindings";
- path = ./script.sh;
- description = "Path to your i3 config file";
- deps = [
- pkgs.coreutils
- pkgs.gawk
- pkgs.ncurses
- ];
- desktop = {
- enable = true;
- displayName = "i3 Keybindings";
- };
- inherit config;
- };
-in
-{
- options = base.options;
- config = base.moduleConfig // {
- assertions = base.moduleConfig.assertions ++ (import ./assertions.nix { inherit config lib; });
- };
-}
diff --git a/modules/scripts/i3-keybindings/script.sh b/modules/scripts/i3-keybindings/script.sh
deleted file mode 100644
index 326e8bd..0000000
--- a/modules/scripts/i3-keybindings/script.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-I3_CONFIG="$HOME/.config/i3/config"
-
-# Function to wrap text
-wrap_text() {
- local text="$1"
- local width="$2"
- echo "$text" | fold -s -w "$width"
-}
-
-# Get terminal width and calculate columns
-terminal_width=$(tput cols)
-table_width=$((terminal_width - 4))
-max_keybinding_length=$((table_width / 3)) # Keybindings are usually shorter in i3
-max_keybinding_content_length=$((max_keybinding_length - 2))
-description_width=$((table_width - max_keybinding_length - 1))
-description_content_width=$((description_width - 2))
-
-# Border lines
-top_border="┌$(printf '%.0s─' $(seq 1 $max_keybinding_length))┬$(printf '%.0s─' $(seq 1 $description_width))┐"
-row_sep="├$(printf '%.0s─' $(seq 1 $max_keybinding_length))┼$(printf '%.0s─' $(seq 1 $description_width))┤"
-bottom_border="└$(printf '%.0s─' $(seq 1 $max_keybinding_length))┴$(printf '%.0s─' $(seq 1 $description_width))┘"
-
-{
- echo "$top_border"
- printf "│ %-*s │ %-*s │\n" "$max_keybinding_content_length" "KEYBINDING" "$description_content_width" "DESCRIPTION"
-
- last_comment=""
-
- # Read i3 config line by line
- while IFS= read -r line; do
- # If line is a comment, store it as a potential description
- if [[ $line =~ ^#\ (.*) ]]; then
- last_comment="${BASH_REMATCH[1]}"
-
- # If line contains a bindsym
- elif [[ $line =~ ^bindsym ]]; then
- # Extract the key combo (the parts between 'bindsym' and the start of the command/exec)
- # This regex captures bindsym [options] <keysym> <command>
- keybinding=$(echo "$line" | awk '{print $2}')
-
- # If the comment is empty, use the command itself as the description
- if [[ -z "$last_comment" ]]; then
- display_desc=$(echo "$line" | cut -d' ' -f3-)
- else
- display_desc="$last_comment"
- fi
-
- wrapped_description=$(wrap_text "$display_desc" "$description_content_width")
-
- echo "$row_sep"
-
- # Print first line of binding and description
- printf "│ %-*s │ %-*s │\n" "$max_keybinding_content_length" "$keybinding" "$description_content_width" "$(echo "$wrapped_description" | head -n 1)"
-
- # Print subsequent lines of wrapped description
- echo "$wrapped_description" | sed '1d' | while read -r continuation; do
- printf "│ %-*s │ %-*s │\n" "$max_keybinding_content_length" "" "$description_content_width" "$continuation"
- done
-
- # Reset comment after use
- last_comment=""
- fi
- done < "$I3_CONFIG"
-
- echo "$bottom_border"
-} | less -R