diff --git a/.bashrc b/.bashrc index f9254524..219c26c8 100644 --- a/.bashrc +++ b/.bashrc @@ -53,5 +53,5 @@ command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH" command -v direnv > /dev/null 2>&1 && eval "$(direnv hook bash)" command -v starship > /dev/null 2>&1 && eval "$(starship init bash)" -source <(glab completion -s bash) -source <(gh completion -s bash) +command -v glab > /dev/null && source <(glab completion -s bash) +command -v gh > /dev/null && source <(gh completion -s bash) diff --git a/.gitignore b/.gitignore index 1a320716..1a7c0209 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ config/i3/config.d config/nvim/.venv config/pypoetry/poetry.lock config/pypoetry/pyproject.toml +squashfs-root diff --git a/.profile b/.profile new file mode 100644 index 00000000..c4c7402d --- /dev/null +++ b/.profile @@ -0,0 +1,9 @@ +# ~/.profile: executed by Bourne-compatible login shells. + +if [ "$BASH" ]; then + if [ -f ~/.bashrc ]; then + . ~/.bashrc + fi +fi + +mesg n 2> /dev/null || true diff --git a/Makefile b/Makefile index a89805d9..c4715869 100644 --- a/Makefile +++ b/Makefile @@ -12,9 +12,9 @@ THEMES_TARGETS := $(THEMES_ITEMS:themes/%=$(THEMES_DIR)/%) LAZY_REPO := https://github.com/folke/lazy.nvim.git PYENV_DIR := $(if $(PYENV_ROOT), $(PYENV_ROOT), $(HOME)/.pyenv) -.PHONY: default all clean check install +.PHONY: default all clean check directories link configure install -default: $(CONFIG_TARGETS) $(SSH_TARGETS) $(THEMES_TARGETS) $(LAZY_DIR) $(HOME)/.bashrc $(HOME)/.zshrc $(HOME)/.ssh/sockets config/nvim/.venv config/git/user_email +default: directories link configure all: default install @@ -23,6 +23,7 @@ clean: for link in $(SSH_TARGETS); do rm "$$link"; done for link in $(THEMES_TARGETS); do rm "$$link"; done rm -rf $(LAZY_DIR) + rm $(HOME)/.profile rm $(HOME)/.bashrc rm $(HOME)/.zshrc rmdir $(HOME)/.ssh/sockets @@ -31,32 +32,38 @@ clean: check: echo "Placeholder" -install: - command -v direnv > /dev/null || bin_path=$(HOME)/.local/bin bash packages/direnv.sh - command -v pipx > /dev/null || bash packages/pipx.sh - command -v poetry > /dev/null || python3 packages/poetry.py - command -v pyenv > /dev/null || bash packages/pyenv.sh - command -v starship > /dev/null || bash packages/starship.sh +directories: $(CONFIG_DIR) $(SSH_DIR) $(THEMES_DIR) $(HOME)/.ssh/sockets $(HOME)/.local/bin -config/git/user_email: - echo "Missing user_email; Add your email to $$(readlink -f config/git)/user_email" +$(CONFIG_DIR) $(SSH_DIR) $(THEMES_DIR) $(HOME)/.ssh/sockets $(HOME)/.local/bin: + mkdir -p $@ + +link: $(CONFIG_TARGETS) $(SSH_TARGETS) $(THEMES_TARGETS) $(HOME)/.profile $(HOME)/.bashrc $(HOME)/.zshrc $(CONFIG_TARGETS): $(CONFIG_DIR)/%: config/% $(SSH_TARGETS): $(SSH_DIR)/%: ssh/% $(THEMES_TARGETS): $(THEMES_DIR)/%: themes/% +$(HOME)/.profile: $(HOME)/%: % $(HOME)/.bashrc: $(HOME)/%: % $(HOME)/.zshrc: $(HOME)/%: % -$(CONFIG_TARGETS) $(SSH_TARGETS) $(THEMES_TARGETS) $(HOME)/.bashrc $(HOME)/.zshrc: +$(CONFIG_TARGETS) $(SSH_TARGETS) $(THEMES_TARGETS) $(HOME)/.profile $(HOME)/.bashrc $(HOME)/.zshrc: ln -s $(PWD)/$? $@ -$(LAZY_DIR): - git clone --depth 1 $(LAZY_REPO) $@ +configure: config/git/user_email config/nvim/.venv + +config/git/user_email: + echo "Missing user_email; Add your email to $$(readlink -f config/git)/user_email" config/nvim/.venv: python3 -m venv $@ $@/bin/python3 -m pip install -U pip wheel $@/bin/python3 -m pip install --use-pep517 pynvim +install: $(LAZY_DIR) + command -v direnv > /dev/null || bin_path=$(HOME)/.local/bin bash packages/direnv.sh + command -v pipx > /dev/null || bash packages/pipx.sh + command -v poetry > /dev/null || python3 packages/poetry.py + command -v pyenv > /dev/null || bash packages/pyenv.sh + command -v starship > /dev/null || sh packages/starship.sh -b $(HOME)/.local/bin -$(CONFIG_DIR) $(SSH_DIR) $(THEMES_DIR) $(HOME)/.ssh/sockets $(HOME)/.local/bin: - mkdir -p $@ +$(LAZY_DIR): + git clone --depth 1 $(LAZY_REPO) $@ diff --git a/bin/starship b/bin/starship deleted file mode 100755 index 13cefbd1..00000000 Binary files a/bin/starship and /dev/null differ diff --git a/config/dunst/dunstrc b/config/dunst/dunstrc index 1dbaecc7..b46be33c 100644 --- a/config/dunst/dunstrc +++ b/config/dunst/dunstrc @@ -17,7 +17,7 @@ # # If this option is set to mouse or keyboard, the monitor option # will be ignored. - follow = none + follow = mouse ### Geometry ### @@ -30,7 +30,7 @@ height = 300 # Position the notification in the top right corner - origin = bottom-right + origin = top-right # Offset from the origin offset = 30x40 @@ -297,14 +297,14 @@ foreground = "#CAD3F5" timeout = 5 # Icon for notifications with low urgency, uncomment to enable - icon = /usr/share/icons/Arc-X-D/status/16/dialog-information.png + # icon = /usr/share/icons/Arc-X-D/status/16/dialog-information.png [urgency_normal] background = "#24273A" foreground = "#CAD3F5" timeout = 5 # Icon for notifications with normal urgency, uncomment to enable - icon = /usr/share/icons/Arc-X-D/status/16/dialog-question.png + # icon = /usr/share/icons/Arc-X-D/status/16/dialog-question.png [urgency_critical] background = "#24273A" @@ -312,7 +312,7 @@ frame_color = "#F5A97F" timeout = 120 # Icon for notifications with critical urgency, uncomment to enable - icon = /usr/share/icons/Arc-X-D/status/16/dialog-warning.png + # icon = /usr/share/icons/Arc-X-D/status/16/dialog-warning.png # Every section that isn't one of the above is interpreted as a rules to # override settings for certain messages. diff --git a/config/git/config b/config/git/config index ea62a790..8c855b7b 100644 --- a/config/git/config +++ b/config/git/config @@ -1,3 +1,4 @@ +# vim: ft=gitconfig [include] path = user_email diff --git a/config/i3/config b/config/i3/config index 4d33525c..d37b164f 100644 --- a/config/i3/config +++ b/config/i3/config @@ -67,6 +67,7 @@ bindsym $mod+2 workspace $ws2 bindsym $mod+3 workspace $ws3 bindsym $mod+4 workspace $ws4 bindsym $mod+5 workspace $ws5 +bindsym $mod+6 workspace $ws6 # switch to workspace with numpad keys bindcode $mod+87 workspace 1 @@ -74,6 +75,7 @@ bindcode $mod+88 workspace 2 bindcode $mod+89 workspace 3 bindcode $mod+83 workspace 4 bindcode $mod+84 workspace 5 +bindcode $mod+85 workspace 6 # switch to workspace with numlock numpad keys bindcode $mod+Mod2+87 workspace $ws1 @@ -81,6 +83,7 @@ bindcode $mod+Mod2+88 workspace $ws2 bindcode $mod+Mod2+89 workspace $ws3 bindcode $mod+Mod2+83 workspace $ws4 bindcode $mod+Mod2+84 workspace $ws5 +bindcode $mod+Mod2+85 workspace $ws6 # move focused container to workspace bindsym $mod+Shift+1 move container to workspace $ws1 @@ -88,6 +91,7 @@ bindsym $mod+Shift+2 move container to workspace $ws2 bindsym $mod+Shift+3 move container to workspace $ws3 bindsym $mod+Shift+4 move container to workspace $ws4 bindsym $mod+Shift+5 move container to workspace $ws5 +bindsym $mod+Shift+6 move container to workspace $ws6 # move focused container to workspace with numpad keys bindcode $mod+Shift+Mod2+87 move container to workspace $ws1 @@ -95,6 +99,7 @@ bindcode $mod+Shift+Mod2+88 move container to workspace $ws2 bindcode $mod+Shift+Mod2+89 move container to workspace $ws3 bindcode $mod+Shift+Mod2+83 move container to workspace $ws4 bindcode $mod+Shift+Mod2+84 move container to workspace $ws5 +bindcode $mod+Shift+Mod2+85 move container to workspace $ws6 # move focused container to workspace with numpad keys bindcode $mod+Shift+87 move container to workspace $ws1 @@ -102,6 +107,7 @@ bindcode $mod+Shift+88 move container to workspace $ws2 bindcode $mod+Shift+89 move container to workspace $ws3 bindcode $mod+Shift+83 move container to workspace $ws4 bindcode $mod+Shift+84 move container to workspace $ws5 +bindcode $mod+Shift+85 move container to workspace $ws6 # resize window (you can also use the mouse for that): mode "resize" { @@ -259,6 +265,7 @@ set $ws2 "2:" set $ws3 "3:" set $ws4 "4:" set $ws5 "5:" +set $ws6 "6:🔑" # use workspaces on different displays: # where you have to replace VGA-0/HDMI-0 with the names for your displays @@ -268,6 +275,7 @@ set $ws5 "5:" #workspace $ws3 output HDMI-1 #workspace $ws4 output HDMI-1 #workspace $ws5 output HDMI-1 +#workspace $ws6 output HDMI-1 # bind program to workspace and focus to them on startup: assign [class="wezterm"] $ws1 @@ -278,6 +286,7 @@ assign [class="Mailspring"] $ws4 assign [class="Element"] $ws5 assign [class="Signal"] $ws5 assign [class="TelegramDesktop"] $ws5 +assign [class="Bitwarden"] $ws6 # automatic set focus new window if it opens on another workspace than the current: for_window [class=wezterm] focus diff --git a/config/nvim/lua/config/zen_mode.lua b/config/nvim/lua/config/zen_mode.lua index de77cc82..9594b0bf 100644 --- a/config/nvim/lua/config/zen_mode.lua +++ b/config/nvim/lua/config/zen_mode.lua @@ -18,4 +18,10 @@ return { gitsigns = { enabled = true }, tmux = { enabled = true }, }, + on_open = function (win) + vim.wo.scrolloff = 999 + end, + on_close = function (win) + vim.wo.scrolloff = 0 + end } diff --git a/ssh/config.d/xenia.conf b/ssh/config.d/xenia.conf new file mode 100644 index 00000000..921517e4 --- /dev/null +++ b/ssh/config.d/xenia.conf @@ -0,0 +1,8 @@ +# vim: ft=sshconfig + +Host xenia + User xenia + HostName 192.168.1.230 + Port 30 + ForwardX11 no + ForwardAgent yes