Compare commits
12 Commits
6748eea65e
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 5c9c83a7bc | |||
| 655e1b4760 | |||
| d6f050f812 | |||
| 0a2e95ebfc | |||
| f68a9bbf8f | |||
| a5069ff17c | |||
| 541c5d4d2c | |||
| 01d6e223a2 | |||
| 014030c97b | |||
| 00dea62a52 | |||
| ebcbe88771 | |||
| 35ad55b434 |
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
[font]
|
[font]
|
||||||
size = 12
|
size = 12
|
||||||
|
|
||||||
@@ -13,9 +12,6 @@ multiplier = 3
|
|||||||
[selection]
|
[selection]
|
||||||
save_to_clipboard = false
|
save_to_clipboard = false
|
||||||
|
|
||||||
[terminal.shell]
|
|
||||||
program = "/usr/bin/fish"
|
|
||||||
|
|
||||||
[window]
|
[window]
|
||||||
opacity = 0.85
|
opacity = 0.85
|
||||||
|
|
||||||
@@ -24,6 +20,6 @@ x = 10
|
|||||||
y = 10
|
y = 10
|
||||||
|
|
||||||
[general]
|
[general]
|
||||||
import = ["/home/l/.config/alacritty/catppuccin-mocha.toml"]
|
import = ["./catppuccin-mocha.toml"]
|
||||||
|
|
||||||
[terminal]
|
[terminal]
|
||||||
|
|||||||
+1
-1
@@ -1,8 +1,8 @@
|
|||||||
;;"GNU Emacs 30.2 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.50, cairo version 1.18.4)"
|
;;"GNU Emacs 30.2 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.50, cairo version 1.18.4)"
|
||||||
(setq-local uconf-font-name "Iosevka")
|
(setq-local uconf-font-name "Iosevka")
|
||||||
(setq custom-file (file-name-concat (file-name-directory user-init-file) "custom.el"))
|
(setq custom-file (file-name-concat (file-name-directory user-init-file) "custom.el"))
|
||||||
(setq display-lineq-numbers-type 'relative)
|
|
||||||
(setq inhibit-startup-screen t)
|
(setq inhibit-startup-screen t)
|
||||||
|
(setq display-line-numbers-type 'relative)
|
||||||
|
|
||||||
(menu-bar-mode 0)
|
(menu-bar-mode 0)
|
||||||
(tool-bar-mode 0)
|
(tool-bar-mode 0)
|
||||||
|
|||||||
@@ -1,17 +1,13 @@
|
|||||||
set $mod Mod4
|
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:Noto Sans 12
|
font pango:Noto Sans 12
|
||||||
|
|
||||||
# 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
|
# Start XDG autostart .desktop files using dex. See also
|
||||||
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
||||||
exec --no-startup-id dex --autostart --environment i3
|
exec --no-startup-id dex --autostart --environment i3
|
||||||
|
|
||||||
|
exec --no-startup-id xsettingsd
|
||||||
|
exec --no-startup-id xfce4-clipman
|
||||||
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
# 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.
|
# they are included here as an example. Modify as you see fit.
|
||||||
|
|
||||||
@@ -30,21 +26,15 @@ bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT
|
|||||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $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
|
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
|
|
||||||
|
|
||||||
# move tiling windows via drag & drop by left-clicking into the title bar,
|
# move tiling windows via drag & drop by left-clicking into the title bar,
|
||||||
# or left-clicking anywhere into the window while holding the floating modifier.
|
# or left-clicking anywhere into the window while holding the floating modifier.
|
||||||
tiling_drag modifier titlebar
|
tiling_drag modifier titlebar
|
||||||
|
|
||||||
# start a terminal
|
|
||||||
bindsym $mod+Return exec alacritty
|
bindsym $mod+Return exec alacritty
|
||||||
# i3-sensible-terminal
|
|
||||||
|
|
||||||
# kill focused window
|
bindsym $mod+q kill
|
||||||
bindsym $mod+Shift+q kill
|
|
||||||
|
|
||||||
# start dmenu (a program launcher)
|
bindsym $mod+b exec brave
|
||||||
bindsym $mod+space exec --no-startup-id "rofi -modi drun,run -show drun"
|
bindsym $mod+space exec --no-startup-id "rofi -modi drun,run -show drun"
|
||||||
bindsym $mod+Tab exec --no-startup-id "rofi -modi window -show window"
|
bindsym $mod+Tab exec --no-startup-id "rofi -modi window -show window"
|
||||||
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
|
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
|
||||||
@@ -84,16 +74,16 @@ bindsym $mod+w layout tabbed
|
|||||||
bindsym $mod+e layout toggle split
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
# toggle tiling / floating
|
# toggle tiling / floating
|
||||||
bindsym $mod+Shift+t floating toggle
|
bindsym $mod+t floating toggle
|
||||||
|
|
||||||
# change focus between tiling / floating windows
|
# change focus between tiling / floating windows
|
||||||
bindsym $mod+t focus mode_toggle
|
bindsym $mod+g focus mode_toggle
|
||||||
|
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
# focus the parent container
|
# focus the parent container
|
||||||
bindsym $mod+a focus parent
|
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 $ws1 "1"
|
||||||
set $ws2 "2"
|
set $ws2 "2"
|
||||||
set $ws3 "3"
|
set $ws3 "3"
|
||||||
@@ -105,7 +95,6 @@ set $ws8 "8"
|
|||||||
set $ws9 "9"
|
set $ws9 "9"
|
||||||
set $ws10 "10"
|
set $ws10 "10"
|
||||||
|
|
||||||
# switch to workspace
|
|
||||||
bindsym $mod+1 workspace number $ws1
|
bindsym $mod+1 workspace number $ws1
|
||||||
bindsym $mod+2 workspace number $ws2
|
bindsym $mod+2 workspace number $ws2
|
||||||
bindsym $mod+3 workspace number $ws3
|
bindsym $mod+3 workspace number $ws3
|
||||||
@@ -129,33 +118,22 @@ bindsym $mod+Shift+8 move container to workspace number $ws8
|
|||||||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||||
|
|
||||||
# reload the configuration file
|
bindsym $mod+Shift+r reload
|
||||||
bindsym $mod+Shift+c reload
|
bindsym $mod+Shift+c restart
|
||||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
bindsym $mod+Escape 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'"
|
||||||
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" {
|
mode "resize" {
|
||||||
# These bindings trigger as soon as you enter the resize mode
|
# 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 j resize shrink width 10 px or 10 ppt
|
bindsym j resize shrink width 10 px or 10 ppt
|
||||||
bindsym k resize grow height 10 px or 10 ppt
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
bindsym l resize shrink height 10 px or 10 ppt
|
bindsym l resize shrink height 10 px or 10 ppt
|
||||||
bindsym semicolon resize grow width 10 px or 10 ppt
|
bindsym semicolon 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 Left resize shrink width 10 px or 10 ppt
|
||||||
bindsym Down resize grow height 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 Up resize shrink height 10 px or 10 ppt
|
||||||
bindsym Right resize grow width 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 Return mode "default"
|
||||||
bindsym Escape mode "default"
|
bindsym Escape mode "default"
|
||||||
bindsym $mod+r mode "default"
|
bindsym $mod+r mode "default"
|
||||||
@@ -163,11 +141,8 @@ mode "resize" {
|
|||||||
|
|
||||||
bindsym $mod+r mode "resize"
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
|
||||||
# finds out, if available)
|
|
||||||
bar {
|
bar {
|
||||||
status_command i3status
|
status_command i3status
|
||||||
}
|
}
|
||||||
|
|
||||||
default_border pixel 0
|
default_border pixel 1
|
||||||
|
|
||||||
+20
-30
@@ -42,39 +42,29 @@ vim.diagnostic.config({
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
local Plug = vim.fn['plug#']
|
local gh = function(x) return 'https://github.com/' .. x end
|
||||||
|
|
||||||
vim.call('plug#begin')
|
vim.pack.add {
|
||||||
Plug('junegunn/fzf', { ['do'] = function() vim.call('fzf#install') end })
|
{
|
||||||
Plug 'junegunn/fzf.vim'
|
src=gh('junegunn/fzf'),
|
||||||
|
build = function()
|
||||||
|
vim.fn.system("./install --all")
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{ src=gh('junegunn/fzf.vim')},
|
||||||
|
|
||||||
Plug 'numToStr/Comment.nvim'
|
{ src=gh('numToStr/Comment.nvim')},
|
||||||
Plug 'andymass/vim-matchup'
|
{ src=gh('andymass/vim-matchup')},
|
||||||
Plug 'windwp/nvim-autopairs'
|
{ src=gh('windwp/nvim-autopairs')},
|
||||||
|
|
||||||
Plug 'mbbill/undotree'
|
{ src=gh('mbbill/undotree')},
|
||||||
|
|
||||||
Plug 'max397574/better-escape.nvim'
|
{ src=gh('max397574/better-escape.nvim')},
|
||||||
|
|
||||||
Plug 'tzachar/highlight-undo.nvim'
|
{ src=gh('tzachar/highlight-undo.nvim')},
|
||||||
Plug 'folke/which-key.nvim'
|
{ src=gh('folke/which-key.nvim')},
|
||||||
Plug 'folke/noice.nvim'
|
{ src=gh('folke/noice.nvim')},
|
||||||
|
{ src=gh('tpope/vim-fugitive') }, -- git client
|
||||||
-- tpope
|
{ src=gh('tpope/vim-sensible') }, -- 'sensible' vim defaults
|
||||||
Plug 'tpope/vim-fugitive' -- git client
|
{ src=gh('tpope/vim-vinegar') }, -- netrw changes
|
||||||
Plug 'tpope/vim-sensible' -- 'sensible' vim defaults
|
|
||||||
Plug 'tpope/vim-vinegar' -- netrw changes
|
|
||||||
vim.call('plug#end')
|
|
||||||
|
|
||||||
--[[
|
|
||||||
-- use this once nvim v12 is stable
|
|
||||||
vim.pack.add{
|
|
||||||
{ src='tpope/vim-fugitive' }, -- git client
|
|
||||||
{ src='tpope/vim-sensible' }, -- 'sensible' vim defaults
|
|
||||||
{ src='tpope/vim-vinegar' }, -- netrw changes
|
|
||||||
}
|
}
|
||||||
]]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,124 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
DRY_RUN=true
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
echo "Usage: $0 [--commit|-c]"
|
|
||||||
echo " --commit, -c Apply changes (default is dry-run)"
|
|
||||||
exit 0
|
|
||||||
}
|
|
||||||
|
|
||||||
while [[ $# -gt 0 ]]; do
|
|
||||||
case "$1" in
|
|
||||||
--commit|-c) DRY_RUN=false ;;
|
|
||||||
--help|-h) usage ;;
|
|
||||||
*) echo "Unknown option: $1"; usage ;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
confirm() {
|
|
||||||
local ans
|
|
||||||
read -rp "Apply this change? [y/N] " ans </dev/tty
|
|
||||||
case "$ans" in
|
|
||||||
[Yy]|[Yy][Ee][Ss]) return 0 ;; # yes
|
|
||||||
*) return 1 ;; # anything else = no
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
show_diff() {
|
|
||||||
echo "--------------------------------------------------------------------------------"
|
|
||||||
diff -ru "$1" "$2" || true
|
|
||||||
echo "--------------------------------------------------------------------------------"
|
|
||||||
}
|
|
||||||
|
|
||||||
print_file_status() {
|
|
||||||
echo "- $1: $2"
|
|
||||||
}
|
|
||||||
|
|
||||||
sync_exec() {
|
|
||||||
local SRC="$1"
|
|
||||||
local DEST="$2"
|
|
||||||
local RET="$3"
|
|
||||||
if ! $DRY_RUN; then
|
|
||||||
confirm || return
|
|
||||||
fi
|
|
||||||
|
|
||||||
local opts=(-avu)
|
|
||||||
$DRY_RUN && opts+=("--dry-run")
|
|
||||||
|
|
||||||
echo "rsync $SRC $DEST $REL"
|
|
||||||
mkdir -p "$DEST/$(dirname "$REL")"
|
|
||||||
|
|
||||||
rsync "${opts[@]}" "$SRC" "$DEST/$(dirname "$REL")"| sed 's/^/[rsync] /'
|
|
||||||
}
|
|
||||||
|
|
||||||
sync_root() {
|
|
||||||
# local NAME="$1"
|
|
||||||
local DIR_A="$2"
|
|
||||||
local DIR_B="$(realpath $(dirname "$0"))"
|
|
||||||
local PATHS
|
|
||||||
PATHS="$(cat)"
|
|
||||||
|
|
||||||
echo "$DIR_A"
|
|
||||||
|
|
||||||
while IFS= read -r REL; do
|
|
||||||
[[ -z "$REL" ]] && continue
|
|
||||||
|
|
||||||
local A="$DIR_A/$REL"
|
|
||||||
local B="$DIR_B/$REL"
|
|
||||||
|
|
||||||
if [[ -e "$A" && -e "$B" ]]; then
|
|
||||||
if diff -rq "$A" "$B" >/dev/null; then
|
|
||||||
print_file_status $REL "up-to-date"
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
if [[ "$A" -nt "$B" ]]; then
|
|
||||||
print_file_status $REL "$A is newer than $B"
|
|
||||||
echo " (old) $B"
|
|
||||||
echo " (new) $A"
|
|
||||||
show_diff "$B" "$A"
|
|
||||||
FROM="$A"
|
|
||||||
TO="$DIR_B"
|
|
||||||
else
|
|
||||||
print_file_status $REL "$B is newer than $A"
|
|
||||||
echo " (old) $A"
|
|
||||||
echo " (new) $B"
|
|
||||||
show_diff "$A" "$B"
|
|
||||||
FROM="$B"
|
|
||||||
TO="$DIR_A"
|
|
||||||
fi
|
|
||||||
|
|
||||||
sync_exec $FROM $TO $REL
|
|
||||||
|
|
||||||
elif [[ -e "$A" ]]; then
|
|
||||||
print_file_status $REL "only found in $DIR_A"
|
|
||||||
sync_exec $A $DIR_B $REL
|
|
||||||
elif [[ -e "$B" ]]; then
|
|
||||||
print_file_status $REL "only found in $DIR_B"
|
|
||||||
sync_exec $B $DIR_A $REL
|
|
||||||
else
|
|
||||||
print_file_status $REL "file doesn't exist anywhere"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo
|
|
||||||
done <<< "$PATHS"
|
|
||||||
}
|
|
||||||
|
|
||||||
sync_root xdg_config "${XDG_CONFIG_HOME:-$HOME/.config}" <<'EOF'
|
|
||||||
nvim/init.lua
|
|
||||||
nvim/after/plugin/config.lua
|
|
||||||
emacs/init.el
|
|
||||||
i3/config
|
|
||||||
i3status/config
|
|
||||||
alacritty/catppuccin-mocha.toml
|
|
||||||
alacritty/alacritty.toml
|
|
||||||
EOF
|
|
||||||
|
|
||||||
sync_root home "$HOME" <<'EOF'
|
|
||||||
.gdbinit
|
|
||||||
EOF
|
|
||||||
Reference in New Issue
Block a user