|
|
4 weeks ago | |
|---|---|---|
| .bashrc.d | 4 weeks ago | |
| .bash_aliases | 2 months ago | |
| .bashrc | 2 months ago | |
| .notes | 2 months ago | |
| .profile | 2 months ago | |
| LICENSE | 2 months ago | |
| README.md | 4 weeks ago | |
README.md
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.
15_swaptop.sh
Default: Zapnuto
Použití: swaptop [kolik řádků] [max délka řádků]
Jednoduchá berlička systémáka.. vysype seznam nejvíc swap heavy aplikací. Kompatibilita Debian Stretch/ RHEL 5
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
[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
[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
# ~/.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
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
#!/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...