You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
279 lines
7.4 KiB
279 lines
7.4 KiB
# bash-dotfiles
|
|
|
|
Moje oblíbené dotfiles
|
|
|
|
Moje trošku vymazlené dotfiles pro bash. Kompatibilta by měla být RHEL 5/Debian Squeeze, pokud zde/ve skriptu není uvedeno jinak.
|
|
|
|
* mcd - mkdir a vejdi
|
|
* Proměnná PRODENV která mění barvu hostname v promptu aby odlišil smysl stroje (vyjma mé mašiny)
|
|
|
|
## Rozšíření v .bashrc.d
|
|
|
|
Všechny scripty v tomhle adresáři mají podmínky kde se dá nastavit zda je sourcovat nebo ne. Soubory navzdory příponě .sh nejsou míněny pro to být spustitelné. Ideální stav je nechat čitelné pro daného uživatele.
|
|
|
|
### 10_colored_man.sh
|
|
|
|
Default: Zapnuto
|
|
|
|
Asi nemá cenu moc rozepisovat. Pokud se sourcuje, manuálové stránky jsou barevnější, dá se v nich lépe vyznat. Mířeno na tmavé terminály.
|
|
|
|
### 20_emulate_pstree.sh
|
|
|
|
Default: Zapnuto
|
|
|
|
Záchranná berlička, pokud není nainstalován pstree, pokusí se o emulaci pstree v bashi.
|
|
|
|
### 30_man_konsole.sh
|
|
|
|
Default: Vypnuto
|
|
|
|
Background story: Můj setup je se 2mi monitory, levý na práci, pravý - pivot (na svislo) a na něm se po startu KDE Plasma otevře speciálně nastavená Konsole.
|
|
Tyto bash funkce ovládají zmíněnou konzoli.
|
|
|
|
#### Prerekvizity - specifické nastavení konzole:
|
|
|
|
Naimportovat si tohle do **System Settings → Window Management → Window Rules** v KDE Plasma 6
|
|
|
|
**konsole-manualy.kwinrule**
|
|
```ini
|
|
[Manualy - Konsole]
|
|
Description=Manualy - Konsole
|
|
clientmachine=localhost
|
|
ignoregeometry=true
|
|
ignoregeometryrule=2
|
|
noborder=true
|
|
noborderrule=2
|
|
position=1922,0
|
|
positionrule=3
|
|
size=1080,1920
|
|
sizerule=3
|
|
skiptaskbar=true
|
|
skiptaskbarrule=2
|
|
title=~ : bash — Konsole
|
|
types=1
|
|
windowrole=MainWindow#1
|
|
windowrolematch=1
|
|
wmclass=manualy\n konsole
|
|
wmclasscomplete=true
|
|
wmclassmatch=1
|
|
```
|
|
|
|
Do Autostart dát toto:
|
|
|
|
**konsole-manualy.desktop**
|
|
```ini
|
|
[Desktop Entry]
|
|
Actions=NewWindow;NewTab;
|
|
Categories=Qt;KDE;System;TerminalEmulator;
|
|
Comment[cs_CZ]=Přístup k příkazové řádce
|
|
Comment=Přístup k příkazové řádce
|
|
Exec=konsole --name 'manualy\n' --title manualy --profile manualy
|
|
GenericName[cs_CZ]=Terminál
|
|
GenericName=Terminál
|
|
Icon=utilities-terminal
|
|
Keywords=terminal;console;script;run;execute;command;command-line;commandline;cli;bash;sh;shell;zsh;cmd;command prompt
|
|
MimeType=
|
|
Name[cs_CZ]=Konsole
|
|
Name=Konsole
|
|
Path=
|
|
PrefersNonDefaultGPU=false
|
|
StartupNotify=true
|
|
StartupWMClass=konsole
|
|
Terminal=false
|
|
TerminalOptions=
|
|
TryExec=konsole
|
|
Type=Application
|
|
X-DocPath=konsole/index.html
|
|
X-KDE-AuthorizeAction=shell_access
|
|
X-KDE-Shortcuts=Ctrl+Alt+T
|
|
X-KDE-SubstituteUID=false
|
|
X-KDE-Username=
|
|
```
|
|
|
|
* mman udělá ctrl+c na dané konzoli a vypíše manuálovou stránku
|
|
* cman zruší manuálovou stránku, vyčistí konzoli a spustí na ni termclock.sh
|
|
|
|
### 30_man_konsole.sh
|
|
|
|
Default: Vypnuto
|
|
|
|
Background story: Můj setup je se 2mi monitory, levý na práci, pravý - pivot (na svislo) a na něm se po startu KDE Plasma otevře speciálně nastavená Konsole.
|
|
Tyto bash funkce ovládají zmíněnou konzoli.
|
|
|
|
#### Prerekvizity - specifické nastavení konzole:
|
|
|
|
Naimportovat si tohle do **System Settings → Window Management → Window Rules** v KDE Plasma 6
|
|
|
|
**.config/kitty/kitty.conf**
|
|
```bash
|
|
# ~/.config/kitty/kitty.conf
|
|
|
|
# ------------------------------------------------------------
|
|
# FONT
|
|
# ------------------------------------------------------------
|
|
|
|
font_family DejaVu Sans Mono
|
|
bold_font auto
|
|
italic_font auto
|
|
bold_italic_font auto
|
|
font_size 13.0
|
|
|
|
|
|
# ------------------------------------------------------------
|
|
# COLORS - Utterly-Nord-Solid
|
|
# ------------------------------------------------------------
|
|
|
|
foreground #eceff4
|
|
background #2e3440
|
|
|
|
color0 #4c566a
|
|
color1 #bf616a
|
|
color2 #a3be8c
|
|
color3 #ebcb8b
|
|
color4 #5e81ac
|
|
color5 #b48ead
|
|
color6 #81a1c1
|
|
color7 #d8dee9
|
|
|
|
color8 #4c566a
|
|
color9 #bf616a
|
|
color10 #a3be8c
|
|
color11 #ebcb8b
|
|
color12 #5e81ac
|
|
color13 #b48ead
|
|
color14 #81a1c1
|
|
color15 #d8dee9
|
|
|
|
|
|
# ------------------------------------------------------------
|
|
# CURSOR
|
|
# ------------------------------------------------------------
|
|
|
|
cursor #eceff4
|
|
cursor_text_color #2e3440
|
|
cursor_shape block
|
|
cursor_shape_unfocused hollow
|
|
cursor_blink_interval 0
|
|
|
|
|
|
# ------------------------------------------------------------
|
|
# SHELL INTEGRATION
|
|
#
|
|
# Vypnuto:
|
|
# - Bash nebude menit block cursor na beam
|
|
# - zmizi warning kvuli HISTCONTROL=ignoreboth/ignorespace
|
|
# ------------------------------------------------------------
|
|
|
|
shell_integration disabled
|
|
|
|
|
|
# ------------------------------------------------------------
|
|
# SELECTION
|
|
# ------------------------------------------------------------
|
|
|
|
selection_foreground #eceff4
|
|
selection_background #4c566a
|
|
|
|
|
|
# ------------------------------------------------------------
|
|
# WINDOW SPACING
|
|
# top right bottom left
|
|
# ------------------------------------------------------------
|
|
|
|
window_padding_width 3 5 3 5
|
|
window_margin_width 0
|
|
|
|
|
|
# ------------------------------------------------------------
|
|
# TUX
|
|
#
|
|
# tux-bw-kitty.png uz ma alpha zeslabenou na 10 %
|
|
# ------------------------------------------------------------
|
|
|
|
window_logo_path /home/peva/.bondelek/tux-bw-kitty.png
|
|
window_logo_position center
|
|
window_logo_scale 75
|
|
window_logo_alpha 1.0
|
|
|
|
|
|
# ------------------------------------------------------------
|
|
# LAYOUT
|
|
# ------------------------------------------------------------
|
|
|
|
enabled_layouts splits
|
|
|
|
|
|
# ------------------------------------------------------------
|
|
# REMOTE CONTROL
|
|
#
|
|
# Instance "manualy" se spousti s:
|
|
# --listen-on unix:@manualy
|
|
#
|
|
# Pouziva se pro mman/cman.
|
|
# ------------------------------------------------------------
|
|
|
|
allow_remote_control socket-only
|
|
```
|
|
|
|
**.config/kitty/manualy.session**
|
|
```bash
|
|
layout splits
|
|
launch --title termclock --var role=termclock bash -lc '. /home/peva/.config/termclock.rc; /home/peva/bin/termclock.sh -g3; exec bash'
|
|
launch --location=hsplit --bias=30 --title tele --var role=tele --logo /home/peva/.bondelek/tux-bw-kitty-small.png --logo-position center --logo-alpha 1.0 bash -lc 'tele; exec bash'
|
|
focus
|
|
```
|
|
|
|
**kitty-manualy.sh**
|
|
```bash
|
|
#!/bin/bash
|
|
|
|
SOCKET="unix:@manualy"
|
|
SESSION="$HOME/.config/kitty/manualy.session"
|
|
LOGDIR="$HOME/.cache"
|
|
LOGFILE="$LOGDIR/kitty-manualy.log"
|
|
|
|
mkdir -p "$LOGDIR"
|
|
|
|
if kitten @ --to "$SOCKET" ls >/dev/null 2>&1; then
|
|
echo "Kitty manualy už běží."
|
|
exit 0
|
|
fi
|
|
|
|
exec kitty --class manualy --name manualy --title Manualy --listen-on "$SOCKET" --session "$SESSION" 2>>"$LOGFILE" &
|
|
|
|
```
|
|
|
|
* mman udělá ctrl+c na dané konzoli a vypíše manuálovou stránku
|
|
* cman zruší manuálovou stránku, vyčistí konzoli a spustí na ni termclock.sh
|
|
|
|
|
|
### 35_hesgenk2.sh
|
|
|
|
Default: Zapnuto
|
|
|
|
Jednoduchá konverze webu na script a ze scriptu do bash funkce. Generuje hesla která jsou v K2 běžná - 12 znaků + 2 číslice v základku
|
|
|
|
* hesgenk2
|
|
|
|
### 40_notes.sh
|
|
|
|
Default: Zapnuto
|
|
|
|
Jednoduché funkce které umožňují si uložit jednoduché jednořádkové poznámky. Pozdnámky se ukládají do ~/.notes a nějaké tipy pro bash jsem v souboru nechal
|
|
|
|
* notes - vypíše poznámky
|
|
* note_add [poznamka] - přidá poznámku
|
|
* note_rm [číslo poznámky] - odstraní poznámku
|
|
|
|
### 50_datum.sh
|
|
|
|
Default: Zapnuto
|
|
|
|
Jednoduchá funkce která vykreslí kalendářový list do terminálu se vším užitečným z repertoáru příkazu date
|
|
|
|
* datum - vykreslí tabulku
|
|
|
|
### 99_skeleton.sh.disabled
|
|
|
|
Nejedná se o script, ale o šablonu se vším potřebným pro to mít unifikované scripty v tomhle podadresáři. Díky jiné příponě se nikdy sourcovat nebude. Prostě cp ~/.bashrc.d/99_skeleton.sh.disabled ~/.bashrc.d/98_muj_projekt.sh a jedem...
|