Compare commits
13 Commits
aceb615dfb
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 3ec45a7082 | |||
| 0fe2b5ab9a | |||
| fdeb6d6505 | |||
| 24563a3b5f | |||
| 9bd69ac6fa | |||
| fa601f903f | |||
| 45362b9d05 | |||
| a88c12b85d | |||
| df671a927f | |||
| ffe9c7e236 | |||
| 1e1a3f3f74 | |||
| 5bcba412bf | |||
| b0e7701a27 |
24
README.md
24
README.md
@@ -10,7 +10,7 @@ Use ./stow.sh --unstow <folder_name> to remove configuration
|
||||
|
||||
## Quirks
|
||||
- Install based on Ubuntu Desktop
|
||||
- Font: [BlexMono Nerd Font](https://github.com/ryanoasis/nerd-fonts/releases/download/v3.4.0/IBMPlexMono.zip)
|
||||
- Font: [Iosevka Nerd Font](https://github.com/ryanoasis/nerd-fonts/releases/download/v3.4.0/Iosevka.tar.xz)
|
||||
- Keyboard Layout: EurKey (enable extended in gnome-tweaks)
|
||||
- Environment Vairables exported using systemd in [envvars.conf](files/environment/.config/environment.d/envvars.conf)
|
||||
- LibreWolf from flatpak needs devices=all to read yubikeys
|
||||
@@ -28,12 +28,9 @@ Use ./stow.sh --unstow <folder_name> to remove configuration
|
||||
- allow microphone in steam: `sudo snap connect steam:audio-record :audio-record`
|
||||
- gamemode configuration:
|
||||
- renice=10
|
||||
- diff for .ohmyzsh via patch files
|
||||
- ssh-agent:
|
||||
- ohmyzsh patch for agent location
|
||||
- `mv $HOME/.dots/remove-ssh.service ~/.config/systemd/user/remove-ssh.service`
|
||||
- `systemctl --user start remove-ssh`
|
||||
- `systemctl --user enable remove-ssh`
|
||||
- agent-location: `cd $HOME/.oh-my-zsh/ && git apply $HOME/.dots/patches/ssh-agent-location.patch`
|
||||
- remove keys on lock: `ln -sSf $HOME/.dots/scripts/remove-ssh.service $HOME/.config/systemd/user/remove-ssh.service && systemctl --user start remove-ssh && systemctl --user enable remove-ssh`
|
||||
|
||||
## Software
|
||||
|
||||
@@ -44,8 +41,16 @@ sudo apt install \
|
||||
git ripgrep fd-find fzf stow
|
||||
```
|
||||
|
||||
```
|
||||
git clone https://github.com/ohmyzsh/ohmyzsh/ $HOME/.oh-my-zsh && cd $HOME/.oh-my-zsh && git apply $HOME/.dots/patches/prompt.patch
|
||||
```
|
||||
|
||||
### Extended
|
||||
|
||||
```
|
||||
cargo install --locked zellij
|
||||
```
|
||||
|
||||
```
|
||||
sudo apt install \
|
||||
pympress \
|
||||
@@ -72,10 +77,6 @@ sudo snap install \
|
||||
steam
|
||||
```
|
||||
|
||||
```
|
||||
cargo install --locked zellij
|
||||
```
|
||||
|
||||
### Manual
|
||||
|
||||
- [Helix](https://github.com/helix-editor/helix/releases)
|
||||
@@ -88,7 +89,6 @@ cargo install --locked zellij
|
||||
$ mkdir -p ~/.config/nix/
|
||||
$ echo "experimental-features = nix-command flakes" > ~/.config/nix/nix.conf
|
||||
```
|
||||
- [ohmyzsh](https://ohmyz.sh/)
|
||||
|
||||
## Extensions
|
||||
|
||||
@@ -101,6 +101,8 @@ cargo install --locked zellij
|
||||
- quick-settings-audio-panel
|
||||
- quicksettings-audio-devices-hider (hide unused devices)
|
||||
- gamemodeshellextensions@trsnaqe.com
|
||||
- status-area-horizontal-spacing@mathematical.coffee.gmail.com
|
||||
- blur-my-shell@aunetx (custom panel, slightly darker with custom pipeline)
|
||||
|
||||
### Pre-installed
|
||||
- disable desktop icons
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
[alias]
|
||||
a = add
|
||||
aa = add .
|
||||
b = branch
|
||||
bl = blame
|
||||
c = commit -v
|
||||
ca = commit -v --amend
|
||||
@@ -17,6 +18,7 @@
|
||||
pl = pull --rebase
|
||||
ps = push
|
||||
r = rebase -i
|
||||
rc = rebase --continue
|
||||
sh = show
|
||||
st = status -s
|
||||
wt = worktree
|
||||
|
||||
@@ -2,15 +2,14 @@ theme = "everforest_light_modded"
|
||||
|
||||
[editor]
|
||||
line-number = "relative"
|
||||
cursorline = true
|
||||
cursor-shape.insert = "bar"
|
||||
insert-final-newline = false
|
||||
# rulers = [80, 100]
|
||||
true-color = true
|
||||
text-width = 100
|
||||
|
||||
[editor.whitespace.render]
|
||||
tab = "all"
|
||||
# space = "all"
|
||||
|
||||
[editor.indent-guides]
|
||||
render = true
|
||||
@@ -29,6 +28,9 @@ display-inlay-hints = true
|
||||
[keys.normal.g]
|
||||
"b" = ":sh git show %sh{git blame -L %{cursor_line},+1 %{buffer_name} | awk '{print $1}'}"
|
||||
|
||||
[keys.normal.space]
|
||||
"t" = ':lsp-workspace-command tinymist.pinMain "%sh{realpath %{buffer_name}}"'
|
||||
|
||||
[keys.normal.z]
|
||||
s = ":set soft-wrap.enable true"
|
||||
S = ":set soft-wrap.enable false"
|
||||
|
||||
@@ -8,9 +8,9 @@ clipboard_control write-clipboard write-primary no-append
|
||||
|
||||
include current-theme.conf
|
||||
|
||||
font_family BlexMono Nerd Font Mono Text
|
||||
italic_font BlexMono Nerd Font Mono
|
||||
bold_font BlexMono Nerd Font Mono
|
||||
font_family Iosevka Nerd Font
|
||||
# italic_font BlexMono Nerd Font Mono
|
||||
# bold_font BlexMono Nerd Font Mono
|
||||
|
||||
font_size 12
|
||||
|
||||
|
||||
@@ -18,12 +18,12 @@ git_branch() {
|
||||
|
||||
nix_env() {
|
||||
if $(echo $PATH | grep "/nix/store" > /dev/null 2>&1); then
|
||||
echo "(nix)"
|
||||
echo "nix@"
|
||||
fi
|
||||
}
|
||||
|
||||
HOST="\[\033[0;33m\]\h\[\033[m\]"
|
||||
GIT_NIX="\[\033[0;31m\]\$(git_branch)\$(nix_env)\[\033[m\]"
|
||||
GIT_NIX="\[\033[0;31m\]\$(nix_env)\$(git_branch)\[\033[m\]"
|
||||
DIR="\[\033[0;34m\]\w\[\033[m\]"
|
||||
NEWLINE=$'\n'
|
||||
|
||||
@@ -38,13 +38,13 @@ __prompt_command() {
|
||||
export PROMPT_DIRTRIM=0
|
||||
fi
|
||||
|
||||
export PS1="${HOST} ${DIR} ${GIT_NIX}${NEWLINE}"
|
||||
export PS1="${HOST} :: ${DIR} ${GIT_NIX}"
|
||||
|
||||
if [ $EXIT != 0 ]
|
||||
then
|
||||
PS1+='\[\033[0;31m\]$\[\033[00m\] '
|
||||
PS1+='\[\033[0;31m\]>\[\033[00m\] '
|
||||
else
|
||||
PS1+='\[\033[0;32m\]$\[\033[00m\] '
|
||||
PS1+='> '
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,12 @@ t() {
|
||||
tmux new-session -A -s ${1:-tmux}
|
||||
}
|
||||
z() {
|
||||
zellij attach ${1:-dev} 2> /dev/null || zellij -s ${1:-dev}
|
||||
# if remote, link agent so a stale zellij env doesn't hurt agent
|
||||
if [[ $SSH_AUTH_SOCK =~ ^"/tmp/ssh-" ]]; then
|
||||
ln -sf $SSH_AUTH_SOCK /tmp/agent.sock
|
||||
export SSH_AUTH_SOCK=/tmp/agent.sock
|
||||
fi
|
||||
zellij attach ${1:-$HOST} 2> /dev/null || zellij -s ${1:-$HOST}
|
||||
}
|
||||
|
||||
# password hash (sed needed when using in docker-compose)
|
||||
|
||||
@@ -1,29 +1,32 @@
|
||||
export ZSH="$HOME/.oh-my-zsh"
|
||||
|
||||
ZSH_THEME="robbyrussell"
|
||||
ZSH_THEME="afowler"
|
||||
|
||||
# Uncomment the following line if pasting URLs and other text is messed up.
|
||||
# DISABLE_MAGIC_FUNCTIONS="true"
|
||||
|
||||
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||
# You can also set it to another string to have that shown instead of the default red dots.
|
||||
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
|
||||
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
|
||||
COMPLETION_WAITING_DOTS="true"
|
||||
|
||||
# Uncomment the following line if you want to disable marking untracked files
|
||||
# under VCS as dirty. This makes repository status check for large repositories
|
||||
# much, much faster.
|
||||
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||
|
||||
plugins=(git colored-man-pages rust ssh-agent)
|
||||
|
||||
zstyle :omz:plugins:ssh-agent helper sshaskpass
|
||||
zstyle :omz:update mode disabled
|
||||
|
||||
bindkey ^F forward-word
|
||||
bindkey ^B backward-word
|
||||
|
||||
setopt globdots
|
||||
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
|
||||
[ -f ~/.shellrc.alias ] && source ~/.shellrc.alias
|
||||
[ -f ~/.shellrc.local ] && source ~/.shellrc.local
|
||||
|
||||
function set_zellij_tab_to_working_dir() {
|
||||
local current_dir=$PWD
|
||||
if [[ $current_dir == $HOME ]]; then
|
||||
current_dir="~"
|
||||
else
|
||||
current_dir=${current_dir##*/}
|
||||
fi
|
||||
command nohup zellij action rename-tab $current_dir >/dev/null 2>&1
|
||||
}
|
||||
|
||||
[[ -n $ZELLIJ ]] && add-zsh-hook precmd set_zellij_tab_to_working_dir
|
||||
|
||||
@@ -403,7 +403,7 @@ default_layout "compact"
|
||||
|
||||
// Path to the default editor to use to edit pane scrollbuffer
|
||||
// Default: $EDITOR or $VISUAL
|
||||
// scrollback_editor "/usr/bin/vim"
|
||||
scrollback_editor "hx"
|
||||
|
||||
// A fixed name to always give the Zellij session.
|
||||
// Consider also setting `attach_to_session true,`
|
||||
|
||||
33
patches/prompt.patch
Normal file
33
patches/prompt.patch
Normal file
@@ -0,0 +1,33 @@
|
||||
diff --git a/lib/git.zsh b/lib/git.zsh
|
||||
index 8d38f326..32c55ead 100644
|
||||
--- a/lib/git.zsh
|
||||
+++ b/lib/git.zsh
|
||||
@@ -36,7 +36,13 @@ function _omz_git_prompt_info() {
|
||||
&& upstream=" -> ${upstream}"
|
||||
fi
|
||||
|
||||
- echo "${ZSH_THEME_GIT_PROMPT_PREFIX}${ref:gs/%/%%}${upstream:gs/%/%%}$(parse_git_dirty)${ZSH_THEME_GIT_PROMPT_SUFFIX}"
|
||||
+ local is_nix
|
||||
+ if $(echo $PATH | grep "/nix/store" > /dev/null 2>&1); then
|
||||
+ is_nix="nix@"
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ echo "${ZSH_THEME_GIT_PROMPT_PREFIX}${is_nix}${ref:gs/%/%%}${upstream:gs/%/%%}$(parse_git_dirty)${ZSH_THEME_GIT_PROMPT_SUFFIX}"
|
||||
}
|
||||
|
||||
function _omz_git_prompt_status() {
|
||||
diff --git a/themes/afowler.zsh-theme b/themes/afowler.zsh-theme
|
||||
index f6d3ef82..c1e59b4f 100644
|
||||
--- a/themes/afowler.zsh-theme
|
||||
+++ b/themes/afowler.zsh-theme
|
||||
@@ -1,7 +1,7 @@
|
||||
-PROMPT='%m %B%F{blue}:: %b%F{green}%3~ $(hg_prompt_info)$(git_prompt_info)%B%(!.%F{red}.%F{blue})»%f%b '
|
||||
+PROMPT='%b%F{yellow}%m %B%F{black}:: %b%F{blue}%3~ $(hg_prompt_info)$(git_prompt_info)%B%(!.%F{red}.%F{black})»%f%b '
|
||||
RPS1='%(?..%F{red}%? ↵%f)'
|
||||
|
||||
-ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹"
|
||||
+ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[red]%}‹"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}"
|
||||
|
||||
ZSH_THEME_HG_PROMPT_PREFIX="%{$fg[magenta]%}hg:‹%{$fg[yellow]%}"
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/plugins/ssh-agent/ssh-agent.plugin.zsh b/plugins/ssh-agent/ssh-agent.plugin.zsh
|
||||
index 8354864..61462fd 100644
|
||||
index 83548648..42ec378f 100644
|
||||
--- a/plugins/ssh-agent/ssh-agent.plugin.zsh
|
||||
+++ b/plugins/ssh-agent/ssh-agent.plugin.zsh
|
||||
@@ -24,7 +24,7 @@ function _start_agent() {
|
||||
@@ -11,3 +11,13 @@ index 8354864..61462fd 100644
|
||||
chmod 600 "$ssh_env_cache"
|
||||
. "$ssh_env_cache" > /dev/null
|
||||
}
|
||||
@@ -107,7 +107,8 @@ if zstyle -t :omz:plugins:ssh-agent agent-forwarding \
|
||||
fi
|
||||
fi
|
||||
else
|
||||
- _start_agent
|
||||
+ # Don't start new one, if ssh-agent is forwarded
|
||||
+ [[ $SSH_AUTH_SOCK =~ ^"/tmp/ssh-" ]] || _start_agent
|
||||
fi
|
||||
|
||||
# Don't add identities if lazy-loading is enabled
|
||||
@@ -4,7 +4,7 @@ Description=Remove SSH keys on lock
|
||||
[Service]
|
||||
Type=simple
|
||||
Environment=SSH_AUTH_SOCK=/tmp/agent.sock
|
||||
ExecStart=%h/.dots/remove-ssh.bash
|
||||
ExecStart=%h/.dots/scripts/remove-ssh.bash
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
Reference in New Issue
Block a user