Compare commits

...
Sign in to create a new pull request.

88 commits

Author SHA1 Message Date
eeleater
1f5a43ca19 updated sheldon 2024-08-12 18:55:50 +02:00
eeleater
5f6cae6e9c chose only one theme 2024-08-08 06:01:41 +02:00
eeleater
79258c6b4e keychain has errors on wsl, replace with ssh-agent plugin 2024-07-26 09:50:41 +02:00
eeleater
76c089042e added clamav to skip list for topgrade 2024-07-19 09:42:42 +02:00
Nikolas Weger
d4c20a4ba8 added redis history file 2024-06-13 12:41:21 +02:00
eeleater
b872253463 fixed fzf ohmyzsh error 2024-04-21 20:34:30 +02:00
Nikolas Weger
0c4d030803 lightened startup banners somewhat 2024-04-17 03:15:41 +02:00
eeleater
f8cef3eade updated config a bit 2024-04-15 23:41:26 +02:00
Nikolas Weger
0f28405845 fixed config 2024-04-15 23:37:22 +02:00
Nikolas Weger
663a07e085 fixed config 2024-04-14 21:56:33 +02:00
eeleater
890c746657 updated config a bit 2024-04-13 15:52:06 +02:00
Nikolas Weger
3afad1aa37 new alacritty config 2024-02-21 10:38:14 +01:00
Nikolas Weger
fb751b70e3 added paths.zsh (still to be changed) 2024-02-14 13:11:55 +01:00
Nikolas Weger
4047ef1a48 updated bofh excuses 2024-02-05 17:22:49 +01:00
eeleater
4c2a47d783 eza tempfix 2024-02-05 16:04:54 +00:00
Nikolas Weger
2c7892693a updated sheldon config to newest 2024-01-25 09:52:20 +01:00
Nikolas Weger
80ff719697 newest version of dotfiles 2023-12-20 11:48:11 +01:00
Nikolas Weger
1aec940d37 newest version of dotfiles 2023-12-20 11:46:01 +01:00
eeleater
56423251cb updated the oh-my-posh install script 2023-12-19 23:59:27 +01:00
Nikolas Weger
01b4312f56 newest version of dotfiles 2023-12-19 13:29:52 +01:00
Nikolas Weger
eddf9cf3e3 newest version of dotfiles 2023-12-19 13:29:39 +01:00
Nikolas Weger
9fcd3f7ef1 oh-my-posh is now installed to .local/bin everywhere 2023-12-19 13:24:33 +01:00
Nikolas Weger
a962ecfd40 Merge branch 'sheldon' of git.eeleater.org:eeleater/dotfiles into sheldon 2023-12-19 13:09:19 +01:00
Nikolas Weger
95d6c35a7a oh-my-posh is now installed to .local/bin everywhere 2023-12-19 13:09:11 +01:00
eeleater
c5a7c5a1d0 Delete .chezmoiexternal.toml 2023-12-19 12:01:04 +00:00
Nikolas Weger
89fa7f2b74 added flatpak dirs to cdg data dirs 2023-12-17 16:06:30 +01:00
Nikolas Weger
6481f6f8c9 fixed a missing doublequote 2023-12-07 21:08:26 +01:00
Nikolas Weger
21b19c6af3 added some options 2023-12-07 21:07:12 +01:00
Nikolas Weger
1ccd0fc90b changed around the path stuff a bit 2023-12-07 12:55:52 +01:00
Nikolas Weger
2e55c7385a added local source file overrides 2023-12-01 10:51:18 +01:00
Nikolas Weger
54709c58e0 shuffled some stuff around 2023-11-27 08:39:55 +01:00
Nikolas Weger
9f7297bda5 added new config for rustup folder 2023-11-21 11:35:06 +01:00
Nikolas Weger
282553bef3 temp fix for eza ls alias removed 2023-11-21 07:47:47 +01:00
Nikolas Weger
5136049781 temp fix for eza ls alias 2023-11-14 08:40:38 +01:00
Nikolas Weger
288f93e008 new kitty theme 2023-10-27 19:41:35 +02:00
Nikolas Weger
8330480496 fixed ohmyposh mangling atuin 2023-10-27 19:41:01 +02:00
eeleater
efca7fa0fb Update topgrade.toml 2023-10-24 08:19:53 +00:00
Nikolas Weger
0eaba62689 changed topgrade config 2023-10-10 14:50:07 +02:00
eeleater
4587669215 Update .chezmoiexternal.toml 2023-10-06 04:26:50 +00:00
eeleater
3e98433d86 updated sheldon 2023-10-05 15:27:52 +02:00
eeleater
37b56e59cf updated sheldon 2023-10-05 15:14:56 +02:00
eeleater
0c2254786b another update to zshrc 2023-10-05 14:59:45 +02:00
eeleater
d5fb522b19 stuffeth and thingeth 2023-10-05 14:21:29 +02:00
eeleater
4c5d377fef exa is apparently eol, using eza now 2023-09-10 23:35:31 +02:00
eeleater
87d4766ca8 fixed joke to use system curl 2023-08-10 00:59:04 +02:00
Nikolas Weger
08330d55f8 changed layout of joke stuff 2023-08-02 08:26:04 +02:00
Nikolas Weger
cf8cc236c7 changed layout of joke stuff 2023-08-02 08:23:25 +02:00
eeleater
fc94e2be0f Update topgrade.toml 2023-07-28 09:41:40 +00:00
eeleater
e6b5cb2c6d Update topgrade.toml 2023-07-28 09:39:42 +00:00
Nikolas Weger
0a9f8af60c changed layout of joke stuff 2023-07-18 12:20:27 +02:00
Nikolas Weger
a4e21a6b17 changed kitty config 2023-07-11 11:53:39 +02:00
eeleater
bdf344026f fixed topgrade config 2023-07-08 12:00:10 +02:00
Nikolas Weger
cf6e3e3d50 changed kitty config 2023-07-07 10:41:57 +02:00
Nikolas Weger
f77cf782a7 updated sheldon zsh config 2023-06-20 11:59:34 +02:00
Nikolas Weger
0084e63150 updated sheldon zsh config 2023-06-20 11:26:13 +02:00
Nikolas Weger
0d384685b9 updated sheldon zsh config 2023-05-17 14:49:50 +02:00
Nikolas Weger
6b7cca2168 updated sheldon zsh config 2023-05-12 09:23:17 +02:00
Nikolas Weger
011d8586ae updated sheldon zsh config 2023-05-05 15:03:09 +02:00
Nikolas Weger
be19ff3306 Update .config/topgrade.toml 2023-05-05 14:59:16 +02:00
Nikolas Weger
a24f7fef97 Update .config/sheldon/plugins.toml
Update .config/topgrade.toml
Update .config/zsh/files/sshcomp.zsh
2023-05-05 11:21:18 +02:00
Nikolas Weger
5b8b457d3c updated sheldon zsh config 2023-05-02 10:01:13 +02:00
94ef22b629 moved env.zsh to private repo 2023-05-02 00:22:27 +02:00
c601e75465 moved env.zsh to private repo 2023-05-02 00:17:03 +02:00
36cfc43948 moved env.zsh to private repo 2023-05-02 00:12:36 +02:00
8f593feffb Update .config/sheldon/plugins.toml
Add .config/topgrade.toml
Update .config/zsh/env.zsh
Update .config/zsh/files/evalstuff.zsh
Update .config/zsh/profile.zsh
Update .config/zsh/rc.zsh
2023-04-27 08:11:58 +02:00
c9a5fad96c Update .config/zsh/env.zsh
Update .config/zsh/rc.zsh
2023-04-18 11:54:19 +02:00
173be71c46 Update .config/kitty/kitty.conf
Add .config/kitty/themes/embark.conf
Add .config/kitty/themes/penumbra.conf
Update .config/zsh/env.zsh
2023-04-17 08:15:41 +02:00
c613de4753 Update .local/share/zsh/env.zsh 2023-04-13 09:35:21 +02:00
68f100963b Add .local/share/zsh/env.zsh.age 2023-03-11 20:35:24 +01:00
f3b70106b6 Remove .local/share/zsh/env.zsh.age 2023-03-11 20:33:37 +01:00
91fd40cfce Update .config/kitty/current-theme.conf
Update .config/kitty/kitty.conf
2023-03-09 11:52:03 +01:00
91fb60fbaf add file back 2023-03-08 15:21:09 +01:00
61c509bf7f Add .config/zsh-abbr/user-abbreviations
Update .config/zsh/env.zsh
Update .config/zsh/files/evalstuff.zsh
Remove .local/share/zsh/env.zsh.age
2023-03-08 15:18:20 +01:00
5e4c2c1577 update files 2023-03-07 08:57:34 +01:00
4c06448dc1 Update .config/zsh/rc.zsh 2023-02-14 10:54:20 +01:00
7984b858c7 Update .config/sheldon/plugins.toml
Update .config/zsh/rc.zsh
2023-02-13 13:36:19 +01:00
4803e74e77 Update .config/sheldon/plugins.toml
Update .config/zsh/rc.zsh
2023-02-11 21:48:34 +01:00
0ccc378d0c update files 2023-01-16 10:32:48 +01:00
84df5f315b update files 2023-01-16 10:32:35 +01:00
efd3fd35fb update files 2023-01-09 12:12:12 +01:00
2aceac0b25 Update .config/sheldon/plugins.toml 2023-01-09 12:09:00 +01:00
8f5ff058fa Update .config/sheldon/plugins.toml
Update .config/zsh/files/aliases.zsh
Update .config/zsh/files/compinit.zsh
Update .config/zsh/rc.zsh
2022-12-29 14:39:33 +01:00
a5c3567d85 Update .config/sheldon/plugins.toml
Update .config/zsh/env.zsh
Add .config/zsh/files/functions.zsh
Remove .config/zsh/files/keybinds.zsh
Remove .config/zsh/files/transfer.zsh
Update .config/zsh/rc.zsh
2022-12-20 16:45:56 +01:00
27a779ca15 Update .config/zsh/profile.zsh 2022-12-19 02:21:37 +01:00
5c73c42276 Update .config/sheldon/plugins.toml
Update .config/zsh/env.zsh
Add .config/zsh/files/compinit.zsh
Add .config/zsh/files/sshcomp.zsh
Update .config/zsh/rc.zsh
Update .config/zsh/.zprofile
Remove .config/zsh/.zsh_plugins.txt
Remove .config/zsh/zsh_plugins.txt
Update .local/bin/bofh
Change attributes of .config/zsh/files/aliases.zsh
Change attributes of .config/zsh/files/distroicon.zsh
Change attributes of .config/zsh/files/keybinds.zsh
Change attributes of .config/zsh/files/transfer.zsh
Change attributes of .config/zsh/profile.zsh
2022-12-19 02:19:48 +01:00
1e10bd5622 update files 2022-12-16 00:07:40 +01:00
92fe578bd2 update files 2022-12-15 23:58:18 +01:00
09118f860f use sheldon 2022-12-15 14:51:35 +01:00
45 changed files with 1055 additions and 606 deletions

10
.chezmoi.toml.tmpl Normal file
View file

@ -0,0 +1,10 @@
{{ $email := promptString "email" -}}
{{ $username := promptString "username" -}}
[git]
autoCommit = true
autoPush = true
[data]
email = {{ $email | quote }}
name = {{ $username | quote }}

View file

@ -0,0 +1,48 @@
import = ["./dracula.toml"]
[env]
TERM = "xterm-256color"
[font]
size = 10
[font.bold]
family = "FiraCode Nerd Font"
style = "Bold"
[font.bold_italic]
family = "FiraCode Nerd Font"
style = "Bold Italic"
[font.italic]
family = "FiraCode Nerd Font"
style = "Italic"
[font.normal]
family = "FiraCode Nerd Font"
style = "Regular"
[[keyboard.bindings]]
action = "Paste"
key = "V"
mods = "Control|Shift"
[[keyboard.bindings]]
action = "Copy"
key = "C"
mods = "Control|Shift"
[scrolling]
history = 99999
[shell]
args = ["--login"]
program = "/usr/bin/zsh"
[window]
opacity = 0.95
title = "Alacritty"
[window.class]
general = "Alacritty"
instance = "Alacritty"

View file

@ -1,162 +0,0 @@
env:
TERM: xterm-256color
window:
padding:
x: 4
y: 4
title: Alacritty
class:
instance: Alacritty
general: Alacritty
opacity: 0.95
scrolling:
history: 20000
font:
normal:
family: FiraCode Nerd Font
style: Regular
bold:
family: FiraCode Nerd Font
style: Bold
italic:
family: FiraCode Nerd Font
style: Italic
bold_italic:
family: FiraCode Nerd Font
style: Bold Italic
size: 7.5
schemes:
onedark: &onedark
primary:
background: '#282c34'
foreground: '#abb2bf'
normal:
black: '#131613'
red: '#e06c75'
green: '#98c379'
yellow: '#d19a66'
blue: '#61afef'
magenta: '#c678dd'
cyan: '#56b6c2'
white: '#abb2bf'
bright:
black: '#5c6370'
red: '#e06c75'
green: '#98c379'
yellow: '#d19a66'
blue: '#61afef'
magenta: '#c678dd'
cyan: '#56b6c2'
white: '#ffffff'
ayudark: &ayudark
primary:
background: '#0A0E14'
foreground: '#B3B1AD'
normal:
black: '#01060E'
red: '#EA6C73'
green: '#91B362'
yellow: '#F9AF4F'
blue: '#53BDFA'
magenta: '#FAE994'
cyan: '#90E1C6'
white: '#C7C7C7'
bright:
black: '#686868'
red: '#F07178'
green: '#C2D94C'
yellow: '#FFB454'
blue: '#59C2FF'
magenta: '#FFEE99'
cyan: '#95E6CB'
white: '#FFFFFF'
nord: &nord
primary:
background: '#2e3440'
foreground: '#d8dee9'
dim_foreground: '#a5abb6'
cursor:
text: '#2e3440'
cursor: '#d8dee9'
vi_mode_cursor:
text: '#2e3440'
cursor: '#d8dee9'
selection:
text: CellForeground
background: '#4c566a'
search:
matches:
foreground: CellBackground
background: '#88c0d0'
footer_bar:
background: '#434c5e'
foreground: '#d8dee9'
normal:
black: '#3b4252'
red: '#bf616a'
green: '#a3be8c'
yellow: '#ebcb8b'
blue: '#81a1c1'
magenta: '#b48ead'
cyan: '#88c0d0'
white: '#e5e9f0'
bright:
black: '#4c566a'
red: '#bf616a'
green: '#a3be8c'
yellow: '#ebcb8b'
blue: '#81a1c1'
magenta: '#b48ead'
cyan: '#8fbcbb'
white: '#eceff4'
dim:
black: '#373e4d'
red: '#94545d'
green: '#809575'
yellow: '#b29e75'
blue: '#68809a'
magenta: '#8c738c'
cyan: '#6d96a5'
white: '#aeb3bb'
colors: *nord
shell:
program: /usr/bin/zsh
args:
- --login
key_bindings:
- { key: V, mods: Control|Shift, action: Paste }
- { key: C, mods: Control|Shift, action: Copy }
- { key: L, mods: Control, action: ClearLogNotice }
- { key: L, mods: Control, chars: "\x0c" }
- { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt }
- { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt }
- { key: Home, mods: Shift, action: ScrollToTop, mode: ~Alt }
- { key: End, mods: Shift, action: ScrollToBottom, mode: ~Alt }

View file

@ -0,0 +1,76 @@
# Dracula theme for Alacritty
# https://draculatheme.com/alacritty
#
# Color palette
# https://spec.draculatheme.com
#
# Instructions
# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd
[colors.primary]
background = "#282a36"
foreground = "#f8f8f2"
bright_foreground = "#ffffff"
[colors.cursor]
text = "#282a36"
cursor = "#f8f8f2"
[colors.vi_mode_cursor]
text = "CellBackground"
cursor = "CellForeground"
[colors.selection]
text = "CellForeground"
background = "#44475a"
[colors.normal]
black = "#21222c"
red = "#ff5555"
green = "#50fa7b"
yellow = "#f1fa8c"
blue = "#bd93f9"
magenta = "#ff79c6"
cyan = "#8be9fd"
white = "#f8f8f2"
[colors.bright]
black = "#6272a4"
red = "#ff6e6e"
green = "#69ff94"
yellow = "#ffffa5"
blue = "#d6acff"
magenta = "#ff92df"
cyan = "#a4ffff"
white = "#ffffff"
[colors.search.matches]
foreground = "#44475a"
background = "#50fa7b"
[colors.search.focused_match]
foreground = "#44475a"
background = "#ffb86c"
[colors.footer_bar]
background = "#282a36"
foreground = "#f8f8f2"
[colors.hints.start]
foreground = "#282a36"
background = "#f1fa8c"
[colors.hints.end]
foreground = "#f1fa8c"
background = "#282a36"

View file

@ -1,32 +1,35 @@
# One Dark by Giuseppe Cesarano, https://github.com/GiuseppeCesarano
# This work is licensed under the terms of the GPL-2.0 license.
# For a copy, see https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html.
# vim:ft=kitty
## name: Dracula
## author: Keegan Carruthers-Smith
## license: MIT
## upstream: https://raw.githubusercontent.com/dracula/kitty/master/dracula.conf
# Colors
foreground #979eab
background #282c34
color0 #282c34
color1 #e06c75
color2 #98c379
color3 #e5c07b
color4 #61afef
color5 #be5046
color6 #56b6c2
color7 #979eab
color8 #393e48
color9 #d19a66
color10 #56b6c2
color11 #e5c07b
color12 #61afef
color13 #be5046
color14 #56b6c2
color15 #abb2bf
# Tab Bar
active_tab_foreground #282c34
active_tab_background #979eab
inactive_tab_foreground #abb2bf
inactive_tab_background #282c34
foreground #f8f8f2
background #282a36
selection_foreground #ffffff
selection_background #44475a
url_color #8be9fd
color0 #21222c
color8 #6272a4
color1 #ff5555
color9 #ff6e6e
color2 #50fa7b
color10 #69ff94
color3 #f1fa8c
color11 #ffffa5
color4 #bd93f9
color12 #d6acff
color5 #ff79c6
color13 #ff92df
color6 #8be9fd
color14 #a4ffff
color7 #f8f8f2
color15 #ffffff
cursor #f8f8f2
cursor_text_color background
active_tab_foreground #282a36
active_tab_background #f8f8f2
inactive_tab_foreground #282a36
inactive_tab_background #6272a4
mark1_foreground #282a36
mark1_background #ff5555

View file

@ -4,12 +4,12 @@ copy_on_select no
strip_trailing_spaces smart
window_padding_width 5
enable_audio_bell no
shell_integration enabled
shell_integration disabled
# Fonts
font_family FiraCode Nerd Font
# BEGIN_KITTY_THEME
# One Dark
# Dracula
include current-theme.conf
# END_KITTY_THEME

View file

@ -0,0 +1,53 @@
background #1E1C31
foreground #CBE3E7
cursor #A1EFD3
selection_background #3E3859
selection_foreground #CBE3E7
# black
color0 #1E1C31
color8 #585273
# red
color1 #F48FB1
color9 #F02E6E
# green
color2 #A1EFD3
color10 #7FE9C3
# yellow
color3 #FFE6B3
color11 #F2B482
# blue
color4 #91DDFF
color12 #78A8FF
# magenta
color5 #D4BFFF
color13 #7676FF
# cyan
color6 #ABF8F7
color14 #63F2F1
# white
color7 #CBE3E7
color15 #8A889D
active_border_color #A1EFD3
inactive_border_color #585273
bell_border_color #F56574
active_tab_foreground #2D2B40
active_tab_background #63F2F1
active_tab_font_style bold
inactive_tab_foreground #CBE3E7
inactive_tab_background #585273
inactive_tab_font_style normal
url_color #D4BFFF

View file

@ -0,0 +1,91 @@
# vim:ft=kitty
## name: Penumbra
### license: MIT License
## blurb: Kitty terminal port of the dark Penumbra color theme
## by Neal McKee. https://github.com/nealmckee/penumbra
## This theme uses the balanced 7 colors plus sun and shade
## as well as the the contrast++ for the 16 color palette
# Place this theme in your `~/.config/kitty/themes` directory
# and select it using `kitty +kitten themes` in the User menu
#: The basic colors
#:sky
foreground #8F8F8F
#:shade
background #303338
#:shade
selection_foreground #303338
#:sun
selection_background #FFF7ED
#: Cursor colors
#:sun
cursor #FFF7ED
#:shade
cursor_text_color #303338
#: URL underline color when hovering with mouse
#:blue
url_color #6E8DD5
#: The basic 16 colors
#: black
#: shade- balanced
color0 #24272B
#: shade- contrast++
color8 #0D0F13
#: red
#: red balanced
color1 #CA736C
#: red contrast++
color9 #F18AA1
#: green
#: green balanced
color2 #3EA57B
#: green contrast++
color10 #58C792
#: yellow
#: yellow balanced
color3 #92963A
#: yellow contrast++
color11 #B4B44A
#: blue
#: blue balanced
color4 #6E8DD5
#: blue contrast++
color12 #83ADFF
#: magenta (we replace with orange)
#: orange balanced
color5 #C27D40
#: orange contrast++
color13 #EA9856
#: cyan
#: cyan balanced
color6 #00A0BA
#: cyan contrast++
color14 #16C3DD
#: white
#: sun
color7 #FFF7ED
#: sun+
color15 #FFFDFB
# colors used by lsd
color187 #F2E6D4
color230 #FFF7ED
color245 #636363
color229 #8D9741
color216 #BA823A
color172 #CA736C
color40 #54C794
color42 #50B584
color36 #47A477

View file

@ -1,32 +1,33 @@
shell = "zsh"
[templates]
defer = "{% for file in files %}zsh-defer source \"{{ file }}\"\n{% endfor %}"
defer-more = "{% for file in files %}zsh-defer -t 0.5 source \"{{ file }}\"\n{% endfor %}"
[plugins.zsh-defer]
github = "romkatv/zsh-defer"
# own files
[plugins.compinit]
local = "~/.config/zsh/files/"
use = ["compinit.zsh"]
# completions
[plugins.zsh-completions]
[plugins.completions]
github = "zsh-users/zsh-completions"
# lscolors
[plugins.lscolors]
github = "trapd00r/LS_COLORS"
# plugins
[plugins.ohmyzsh-lib]
[plugins.omzlib]
github = "ohmyzsh/ohmyzsh"
dir = "lib"
use = ["{completion,key-bindings,history,directories}.zsh"]
[plugins.ohmyzsh-plugins]
[plugins.omzplugins]
github = "ohmyzsh/ohmyzsh"
dir = "plugins"
use = ["{systemd,fzf,command-not-found}/*.plugin.zsh"]
use = ["{systemd,command-not-found,ssh-agent}/*.plugin.zsh"]
[plugins.fzf-tab]
[plugins.fzftab]
github = "Aloxaf/fzf-tab"
[plugins.fzf-marks]
[plugins.fzfmarks]
github = "urbainvaes/fzf-marks"
[plugins.evalcache]
@ -35,42 +36,37 @@ github = "mroth/evalcache"
[plugins.colorize]
github = "zpm-zsh/colorize"
[plugins.ssh]
github = "zpm-zsh/ssh"
[plugins.wakatime-zsh-plugin]
[plugins.wakatime]
github = "sobolevn/wakatime-zsh-plugin"
[plugins.zsh-titles]
[plugins.titles]
github = "amyreese/zsh-titles"
[plugins.zsh-thefuck]
[plugins.thefuck]
github = "laggardkernel/zsh-thefuck"
[plugins.oath]
github = "alexdesousa/oath"
[plugins.eza]
github = "twopizza9621536/zsh-eza"
[plugins.zsh-exa]
github = "TwoPizza9621536/zsh-exa"
[plugins.zsh-bat]
[plugins.bat]
github = "fdellwing/zsh-bat"
[plugins.zsh-you-should-use]
[plugins.youshoulduse]
github = "MichaelAquilina/zsh-you-should-use"
[plugins.zsh-autosuggestions]
github = "zsh-users/zsh-autosuggestions"
use = ["{{ name }}.zsh"]
[plugins.asdf]
github = "asdf-vm/asdf"
[plugins.zsh-syntax-highlighting]
[plugins.abbr]
github = "olets/zsh-abbr"
use = ["zsh-abbr.zsh"]
[plugins.autosuggestions]
github = "zsh-users/zsh-autosuggestions"
[plugins.syntaxhighlighting]
github = "zsh-users/zsh-syntax-highlighting"
# theme
[plugins.powerlevel10k]
github = "romkatv/powerlevel10k"
# own files
[plugins.own-files]
local = "~/.config/zsh/"
use = ["{aliases,keybinds,distroicon,transfer}.zsh"]
[plugins.ownconfigs]
local = "~/.config/zsh/files/"
use = ["{bashcomps,evalstuff,options,sshcomp,aliases,functions,distroicon}.zsh"]

View file

@ -0,0 +1,102 @@
[misc]
# Don't ask for confirmations
#assume_yes = true
# Disable specific steps - same options as the command line flag
disable = ["tldr", "pip3", "node", "vim", "git_repos", "containers", "asdf", "distrobox", "helix", "composer", "yarn", "cargo", "remotes", "rustup", "vscode", "powershell", "dotnet", "flatpak", "shell", "snap", "firmware", "clam_av_db"]
# Skip Notify
skip_notify = true
# Ignore failures for these steps
#ignore_failures = ["powershell"]
# Run specific steps - same options as the command line flag
#only = ["system", "emacs"]
# Do not ask to retry failed steps (default: false)
#no_retry = true
# Run inside tmux
#run_in_tmux = true
# List of remote machines with Topgrade installed on them
{{ if eq .chezmoi.hostname "pxm" }}
remote_topgrades = ["docker", "kali", "mail"]
{{ else }}
remote_topgrades = ["pxm", "web", "infra"]
{{ end }}
# Arguments to pass SSH when upgrading remote systems
#ssh_arguments = "-o ConnectTimeout=2"
# Path to Topgrade executable on remote machines
remote_topgrade_path = ".local/bin/topgrade"
# Arguments to pass tmux when pulling Repositories
#tmux_arguments = "-S /var/tmux.sock"
# Do not set the terminal title
#set_title = false
# Cleanup temporary or old files
#cleanup = true
[git]
#max_concurrency = 5
# Additional git repositories to pull
#repos = [ "~/src/*/", "~/.config/something" ]
# Don't pull the predefined git repos
#predefined_repos = false
# Arguments to pass Git when pulling Repositories
#arguments = "--rebase --autostash"
[composer]
#self_update = true
# Commands to run before anything
[pre_commands]
#"Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak"
# Custom commands
[commands]
#"Bedrock: Check Updates" = "sudo brl update"
#"Bedrock: Check Strata" = "sudo pmm -Syyuu"
#"Distrobox: Update all" = "distrobox upgrade --all"
[brew]
#greedy_cask = true
[linux]
# Arguments to pass yay when updating packages
#yay_arguments = "--nodevel"
#trizen_arguments = "--devel"
#enable_tlmgr = true
#emerge_sync_flags = "-q"
#emerge_update_flags = "-uDNa --with-bdeps=y world"
#redhat_distro_sync = false
#rpm_ostree = false
[windows]
# Manually select Windows updates
#accept_all_updates = false
#open_remotes_in_new_terminal = true
# Causes Topgrade to rename itself during the run to allow package managers to upgrade it.
# Use this only if you installed Topgrade by using a package manager such as Scoop to Cargo
#self_rename = true
[npm]
# Use sudo if the NPM directory isn't owned by the current user
#use_sudo = true
[firmware]
# Offer to update firmware; if false just check for and display available updates
#upgrade = true
[flatpak]
# Use sudo for updating the system-wide installation
#use_sudo = true

View file

@ -0,0 +1,8 @@
abbr -g "g"="git"
abbr -g "git m"="git checkout main"
abbr -g "git rei"="git rebase -i"
abbr -g "git reim"="git rebase -i main"
abbr -g "git ri"="git rebase -i"
abbr "m"="git checkout main"
abbr "rei"="git rebase -i"
abbr "reim"="git rebase -i main"

View file

@ -0,0 +1 @@
# create the file

View file

@ -1,17 +1,11 @@
# path
export PATH="$HOME"/.local/bin:"$PATH"
# ibus specific
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
# xdg stuff
export XDG_DATA_HOME="$HOME"/.local/share
export XDG_CONFIG_HOME="$HOME"/.config
export XDG_STATE_HOME="$HOME"/.local/state
export XDG_CACHE_HOME="$HOME"/.cache
export XDG_DESKTOP_DIR=$HOME/Desktop
export XDG_CONFIG_HOME="$HOME"/.config
export XDG_CONFIG_DIRS=/etc/xdg
export XDG_DATA_HOME="$HOME"/.local/share
export XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/flatpak/exports/share:"$XDG_DATA_HOME"/flatpak/exports/share
export XDG_STATE_HOME="$HOME"/.local/state
export XDG_DESKTOP_DIR="$HOME"/Desktop
export XDG_DOCUMENTS_DIR="$HOME"/Documents
export XDG_DOWNLOAD_DIR="$HOME"/Downloads
export XDG_MUSIC_DIR="$HOME"/Music
@ -19,10 +13,6 @@ export XDG_PICTURES_DIR="$HOME"/Pictures
export XDG_VIDEOS_DIR="$HOME"/Videos
export XDG_PROJECTS_DIR="$XDG_DOCUMENTS_DIR"/projects
# system xdg stuff
export XDG_DATA_DIRS=/usr/local/share:/usr/share
export XDG_CONFIG_DIRS=/etc/xdg
# cache files
export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages
export ZSH_EVALCACHE_DIR="$XDG_CACHE_HOME"/evalcache
@ -34,6 +24,7 @@ export DOCKER_CONFIG="$XDG_CONFIG_HOME"/docker
export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
export GDBHISTFILE="$XDG_CONFIG_HOME"/gdb/history
export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc
# data files
export XCURSOR_PATH=/usr/share/icons:"$XDG_DATA_HOME"/icons
@ -43,23 +34,34 @@ export ASDF_DATA_DIR="$XDG_DATA_HOME"/asdf
export NB_DIR="$XDG_DATA_HOME"/nb
export DSTASK_GIT_REPO="$XDG_DATA_HOME"/dstask
export WAKATIME_HOME="$XDG_DATA_HOME"/wakatime
# gpg
#export GNUPGHOME="$XDG_DATA_HOME"/gnupg
export GPG_TTY="$TTY"
export WINEPREFIX="$XDG_DATA_HOME"/wine
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
export GNUPGHOME="$XDG_DATA_HOME"/gnupg
export W3M_DIR="$XDG_DATA_HOME"/w3m
export GIBO_BOILERPLATES="$XDG_DATA_HOME"/giboboilerplates
export REDISCLI_HISTFILE="$XDG_DATA_HOME"/redis/history
# other programs
export LESSHISTFILE="$XDG_STATE_HOME"/less/history
export EDITOR=nvim
export VISUAL="subl -w"
export ZSH_WAKATIME_BIN=/usr/bin/wakatime
export PYTHONSTARTUP=/etc/python/pythonrc
# stuff
export ZELLIJ_AUTO_ATTACH=true
export ZELLIJ_AUTO_EXIT=true
export TERMINALNAME=$(fastfetch --pipe 2>/dev/null | grep -i terminal: | awk '{print $2}')
export TERMINALNAME=$(fastfetch --pipe -s Terminal 2>/dev/null | awk '{print $2}')
export MANROFFOPT="-c"
export FZF_DEFAULT_OPTS='--color=fg:#f8f8f2,bg:#282a36,hl:#bd93f9 --color=fg+:#f8f8f2,bg+:#44475a,hl+:#bd93f9 --color=info:#ffb86c,prompt:#50fa7b,pointer:#ff79c6 --color=marker:#ff79c6,spinner:#ffb86c,header:#6272a4'
# zsh specific
export HISTSIZE=1048576
export SAVEHIST=1048576
export HISTFILE="$XDG_CACHE_HOME"/zsh/history
export SAVEHIST=$(( 100 * 1000 ))
export HISTSIZE=$(( 1.2 * SAVEHIST ))
export ZSH_CACHE_DIR="$XDG_CACHE_HOME"/zsh
export HISTFILE="$ZSH_CACHE_DIR"/history
export GPG_TTY="$TTY"
{{ if eq .chezmoi.osRelease.id "endeavouros" }}
export DIFFPROG='meld'
{{ end }}
export AUTO_NTFY_DONE_IGNORE="ntfy emacs htop info less mail man meld most mutt nano screen ssh tail tmux top vi vim watch bat cat kate topgrade"
export EXA_COLORS="uu=36:gu=37:sn=32:sb=32:da=34:ur=34:uw=35:ux=36:ue=36:gr=34:gw=35:gx=36:tr=34:tw=35:tx=36"

25
dot_config/zsh/dot_zshrc Normal file
View file

@ -0,0 +1,25 @@
test -v DISTROBOX_HOST_HOME && { unset ZDOTDIR; exec zsh } # fix distrobox
test "x$TERMINALNAME" = "xalacritty" && eval "$(zellij setup --generate-auto-start zsh)" # autostart zellij only in alacritty
# deduplicate path
typeset -U path PATH
path+=("$XDG_DATA_HOME"/JetBrains/Toolbox/scripts) # jetbrains toolbox
path+=("$HOME"/.local/bin) # local bin
# startup banner
potentialBanner=('joke bofh' 'joke dad' 'fastfetch') # 'colorscript random' 'joke hq dijkstra' 'joke hq knuth' 'joke hq perlis' 'joke hq mimsc'
eval "$potentialBanner[$RANDOM%$#potentialBanner+1]"
# disable flowcontrol
stty -ixon
# source plugins
eval "$(sheldon source)"
# local overrides
for sourced in "$XDG_DATA_HOME"/zsh/files/*; do source $sourced; done
# theme
#potentialTheme=('emodipt-extend') # 'kali' 'lambda' 'bubblesextra' 'illusi0n' 'nordtron' 'di4am0nd' 'atomic'
#eval "$(oh-my-posh init zsh --config="$XDG_CACHE_HOME/oh-my-posh/themes/$potentialTheme[$RANDOM%$#potentialTheme+1].omp.json")"
eval "$(oh-my-posh init zsh --config="$XDG_CACHE_HOME/oh-my-posh/themes/emodipt-extend.omp.json")"

View file

@ -1,4 +1,6 @@
alias cd='z'
# temp fix for eza
alias ls='eza -F -gh --group-directories-first --git --git-ignore --icons --color-scale all --hyperlink'
alias grep='rg'
alias find='fd'

View file

@ -0,0 +1,11 @@
if (( ${+commands[distrobox]} )); then
source /usr/share/bash-completion/completions/distrobox
source /usr/share/bash-completion/completions/distrobox-create
source /usr/share/bash-completion/completions/distrobox-enter
source /usr/share/bash-completion/completions/distrobox-ephemeral
source /usr/share/bash-completion/completions/distrobox-generate-entry
source /usr/share/bash-completion/completions/distrobox-list
source /usr/share/bash-completion/completions/distrobox-rm
source /usr/share/bash-completion/completions/distrobox-stop
source /usr/share/bash-completion/completions/distrobox-upgrade
fi

View file

@ -0,0 +1,4 @@
mkdir -p "$XDG_CACHE_HOME"/zsh &>/dev/null
autoload -Uz compinit
compinit -d "$XDG_CACHE_HOME"/zsh/compdump

View file

@ -0,0 +1,8 @@
# evalstuff
_evalcache fzf --zsh
_evalcache zoxide init --cmd cd zsh
_evalcache atuin init zsh
_evalcache navi widget zsh
_evalcache direnv hook zsh
#_evalcache ntfy shell-integration
#eval "$(keychain --dir "$XDG_CACHE_HOME"/keychain --eval --quiet id_rsa)"

View file

@ -0,0 +1,20 @@
pet_select () {
BUFFER=$(pet search --query "$LBUFFER")
CURSOR=$#BUFFER
zle redisplay
}
zle -N pet_select
bindkey '^s' pet_select
prev () {
PREV=$(fc -lrn | head -n 1)
sh -c "pet new $(printf %q "$PREV")"
}
run_ranger () {
echo
ranger < $TTY
zle redisplay
}
zle -N run_ranger
bindkey '^f' run_ranger

View file

@ -0,0 +1,195 @@
export ALIASES_FILE="$XDG_CONFIG_HOME"/aliasesrc
function mal {
# Use fzf to allow the user to select an alias from the aliases file
function _execute_alias {
local alias_to_execute=$(cut -d' ' -f2- "$ALIASES_FILE" | fzf)
# Check if the user cancelled the selection
test -z $alias_to_execute && return 1
echo "Executing alias: $alias_to_execute"
# Execute the selected alias
eval ${alias_to_execute%%=*}
return 0
}
# Delete an existing alias by selecting it from a list
function _interactive_delete {
local alias_to_delete=$(cut -d' ' -f2- "$ALIASES_FILE" | fzf)
# Check if the user cancelled the selection
test -z $alias_to_delete && return 1
echo "Deleted alias: $alias_to_delete"
# Delete the selected alias from the aliases file
sed -i "/^alias ${alias_to_delete%%=*}=/d" "$ALIASES_FILE"
unalias ${alias_to_delete%%=*}
}
# Delete an existing alias using specified name
function _parameter_delete {
local alias_to_delete=$1
local line_with_alias=$(grep "$1=" "$ALIASES_FILE")
# Check if the alias exists in the aliases file
if test -z "$line_with_alias"; then
echo "No alias with the name $1 found."
return 2
fi
echo "Deleted alias: $alias_to_delete"
# Delete the selected alias from the aliases file
sed -i "/^alias ${alias_to_delete%%=*}=/d" "$ALIASES_FILE"
unalias ${alias_to_delete%%=*}
}
# Rename an existing alias by selecting it from a list
function _interactive_rename {
local alias_to_rename=$(cut -d' ' -f2- "$ALIASES_FILE" | fzf)
# Check if the user cancelled the selection
test -z $alias_to_rename && return 1
echo "Input new name:"
read new_name
echo "Renaming alias from $alias_to_rename to $new_name"
sed -i "s/^alias ${alias_to_rename%%=*}=/alias ${new_name}=/g" "$ALIASES_FILE"
unalias ${alias_to_rename%%=*}
}
# Rename an existing alias using specified old and new names
function _parameter_rename {
local old_alias_name=$1
local new_alias_name=$2
local line_with_alias=$(grep "^alias ${old_alias_name}=" "$ALIASES_FILE")
if test -z "$line_with_alias"; then
echo "No alias with the name $old_alias_name found."
return 1
fi
echo "Renaming alias from $old_alias_name to $new_alias_name"
sed -i "s/^alias ${old_alias_name}=/alias ${new_alias_name}=/g" "$ALIASES_FILE"
unalias ${old_alias_name}
}
# Change the command associated with an existing alias by selecting it from a list
function _interactive_command_change {
local alias_to_change=$(cut -d' ' -f2- "$ALIASES_FILE" | fzf)
# Check if the user cancelled the selection
test -z $alias_to_change && return 1
echo "Input new command:"
read new_command
echo "Changing command for alias ${alias_to_change%%=*} to \"$new_command\""
sed -i "/^alias ${alias_to_change%%=*}=/{s/=.*/=\"$new_command\"/}" "$ALIASES_FILE"
}
# Change the command associated with an existing alias using specified name and command
function _parameter_command_change {
local alias_to_change=$1
local new_command="${@:2}"
local line_with_alias=$(grep "$alias_to_change=" "$ALIASES_FILE")
if test -z "$line_with_alias"; then
echo "No alias with the name $alias_to_change found."
return 1
fi
echo "Changing command for alias $alias_to_change to \"$new_command\""
sed -i "/^alias ${alias_to_change}=/{s/=.*/=\"$new_command\"/}" "$ALIASES_FILE"
}
# Add a new alias
function _add_command {
local line_with_alias=$(grep "$1=" "$ALIASES_FILE")
if test ! -z "$line_with_alias"; then
echo "Alias found: $line_with_alias; change alias by using the -c flag."
return 1
fi
local lh="alias $1"
local rh=\"${@:2}\"
local alias_str="$lh=$rh"
echo $alias_str >>"$ALIASES_FILE"
echo "added '$alias_str' to .aliases"
}
# List all aliases from the aliases file
function _list_aliases {
cut -d' ' -f2- "$ALIASES_FILE" | command cat
}
# ==============================================================================================================================================================
action="$1"
param1="$2"
param2="$3"
# Check if the user has provided a help option or no arguments
helpParams=('-h' '--help' '-help')
if (($helpParams[(Ie)$action])) || test $# -eq 0; then
# Display usage information
echo "Usage: mal [OPTION]... [ALIAS_NAME] [ALIAS_COMMAND]..."
echo ""
echo "Create, delete, change, or execute aliases interactively."
echo ""
echo "Options:"
echo " -h, --help display this help and exit"
echo " -l list all defined aliases"
echo " -e execute an alias interactively"
echo " -d delete an alias interactively"
echo " -dn NAME delete an alias by name"
echo " -r rename an alias interactively"
echo " -rn OLD NEW rename an existing alias"
echo " -c change the command associated with an existing alias interactively"
echo " -cc NAME COMMAND change the command associated with an existing alias by name"
return 0
fi
case "$action" in
"-e")
# Execute an alias interactively
_execute_alias
;;
"-l")
# List all aliases
_list_aliases
;;
"-d")
# Delete an alias interactively
_interactive_delete
;;
"-dn")
# Delete an alias using a parameter
_parameter_delete "$param1"
;;
"-r")
# rename an alias interactively
_interactive_rename
;;
"-rn")
# rename an alias using parameters
_parameter_rename "$param1" "$param2"
;;
"-c")
# change a command interactively
_interactive_command_change
;;
"-cc")
# change a command using parameters
_parameter_command_change "$param1" "$param2"
;;
*)
# add a new command
_add_command "$action" "$param1"
;;
esac
# Reload aliases
source "$ALIASES_FILE"
}

View file

@ -0,0 +1,5 @@
setopt NO_CLOBBER
setopt INTERACTIVE_COMMENTS
setopt HASH_EXECUTABLES_ONLY
setopt NUMERIC_GLOB_SORT
unsetopt FLOW_CONTROL

View file

@ -0,0 +1,75 @@
#
# Paths
#
# Export existing paths.
typeset -gxU path PATH
typeset -gxU fpath FPATH
typeset -gxU cdpath CDPATH
typeset -gxU mailpath MAILPATH
typeset -gxU manpath MANPATH
# Create and export new paths.
typeset -gxU infopath INFOPATH
typeset -gxU node_path NODE_PATH
# Tie the new paths.
typeset -gxTU INFOPATH infopath
typeset -gxTU NODE_PATH nodepath
# Set the list of directories that zsh searches for commands.
path=(
$HOME/bin
$HOME/.rvm/bin
/Applications/Postgres.app/Contents/MacOS/bin
/usr/local/{sbin,bin}
/usr/local/heroku/{sbin,bin}
/usr/local/opt/rbenv/shims
/usr/local/share/npm/bin
/opt/{sbin,bin}
/opt/local/{sbin,bin}
/usr/{sbin,bin}
/usr/X11R6/bin
/{sbin,bin}
$path
)
path=($^path(N-/))
# Set the list of directories that cd searches for directories.
setopt auto_cd
cdpath=(
.
$HOME
$HOME/Documents/Development
/Volumes/Daten/Development/gubo
/Volumes/Daten/Development/mojo
/Volumes/7\ Web/
)
cdpath=($^cdpath(N-/))
# Set the list of directories that info searches for manuals.
infopath=(
/usr/local/info
/usr/local/share/info
/usr/share/info
)
infopath=($^infopath(N-/))
# Set the list of directories that man searches for manuals.
manpath=(
/usr/local/man
/usr/local/share/man
/usr/share/man
)
manpath=($^manpath(N-/))
# Set the list of directories that zsh searches for mail.
mailpath=(
$mailpath
)
mailpath=($^mailpath(N-/))
# Set the list of directories that node.js searches for modules.
nodepath=(
/usr/local/share/npm/lib/node_modules
/usr/local/lib/node_modules
./node_modules
)

View file

@ -0,0 +1,24 @@
zstyle ':completion:*:(ssh|scp|sshfs|mosh|rsync):*' sort false
zstyle ':completion:*:(ssh|scp|sshfs|mosh|rsync):*' group-name ''
zstyle ':completion:*:(ssh|scp|sshfs|mosh|rsync):*' verbose yes
zstyle ':completion:*:(ssh|scp|sshfs|mosh|rsync):*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
zstyle ':completion:*:(scp|sshfs|rsync):*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr
zstyle ':completion:*:(ssh|mosh):*' group-order users hosts-domain hosts-host users hosts-ipaddr
zstyle ':completion:*:(ssh|scp|sshfs|mosh|rsync):*:users' ignored-patterns '*'
zstyle ':completion:*:(ssh|scp|sshfs|mosh|rsync):*:hosts-host' ignored-patterns '*(.|:)*' loopback localhost broadcasthost 'ip6-*' 'hbz*'
zstyle ':completion:*:(ssh|scp|sshfs|mosh|rsync):*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*' '*.eeleater.org' '*.hbz-nrw.de'
zstyle ':completion:*:(ssh|scp|sshfs|mosh|rsync):*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.*' '255.255.255.255' '::1' 'fe80::*' 'ff02::*'
[ -r ~/.ssh/config ] && _ssh_config=($(cat ~/.ssh/config | sed -ne 's/Host[=\t ]//p')) || _ssh_config=()
[ -r /etc/ssh/ssh_known_hosts ] && _global_ssh_hosts=(${${${${(f)"$(</etc/ssh/ssh_known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _global_ssh_hosts=()
[ -r ~/.ssh/known_hosts ] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=()
[ -r /etc/hosts ] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}} || _etc_hosts=()
hosts=(
# "$_ssh_config[@]"
"$_global_ssh_hosts[@]"
"$_ssh_hosts[@]"
"$_etc_hosts[@]"
)
zstyle ':completion:*:hosts' hosts $hosts

View file

@ -1,7 +0,0 @@
run_ranger () { echo; ranger < $TTY; zle redisplay }
zle -N run_ranger
bindkey '^f' run_ranger
pet_select () { BUFFER=$(pet search --query "$LBUFFER"); CURSOR=$#BUFFER; zle redisplay }
zle -N pet_select
bindkey '^l' pet_select

View file

@ -1,50 +0,0 @@
if test -v DISTROBOX_HOST_HOME; then unset ZDOTDIR; exec zsh; fi # fix distrobox
if test $TERMINALNAME = "alacritty"; then eval "$(zellij setup --generate-auto-start zsh)"; fi # autostart only in alacritty
#fastfetch
bofh; echo " - BOFH"
#hackerquotes
#colorscript random
try_source () { test -r $1 && source $1 }
# local env exports
try_source "$XDG_DATA_HOME"/zsh/env.zsh
# Powerlevel10k - instant prompt and config
try_source "$XDG_CACHE_HOME"/p10k-instant-prompt-$USERNAME.zsh
try_source "$XDG_CONFIG_HOME"/zsh/.p10k.zsh # p10k configure
# ensure zsh cache folder exists
mkdir -p "$XDG_CACHE_HOME"/zsh &>/dev/null
# compinit
autoload -Uz compinit; compinit -d "$XDG_CACHE_HOME"/zsh/compdump
# antidote
try_source /usr/share/zsh-antidote/antidote.zsh
zstyle ':antidote:bundle' use-friendly-names 'yes'
antidote load
# other themes
#_evalcache starship init zsh
#_evalcache oh-my-posh init zsh --config /usr/share/oh-my-posh/themes/kali.omp.json
# eval stuff
_evalcache zoxide init zsh
_evalcache dircolors -b /usr/share/LS_COLORS/LS_COLORS
_evalcache atuin init zsh
_evalcache navi widget zsh
_evalcache direnv hook zsh
try_source /opt/asdf-vm/asdf.sh
eval "$(keychain --dir "$XDG_CACHE_HOME"/keychain --eval --quiet id_rsa)"
# seperate configs
try_source "$ZDOTDIR"/aliases.zsh
try_source "$ZDOTDIR"/keybinds.zsh
try_source "$ZDOTDIR"/distroicon.zsh
try_source "$ZDOTDIR"/transfer.zsh
# ssh ignored patterns
zstyle ':completion:*:*:*:users' ignored-patterns '*'
zstyle ':completion:*:*:*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*' '*localdomain*' '*.eeleater.org' '*.local' '*.hbz-nrw.de'

View file

@ -1 +0,0 @@
zprofile.zsh

View file

@ -1 +0,0 @@
zsh_plugins.txt

View file

@ -1 +0,0 @@
env.zsh

View file

@ -1 +0,0 @@
rc.zsh

View file

@ -1,26 +0,0 @@
transfer(){
if [ $# -eq 0 ]; then
echo "No arguments specified.\nUsage:\n transfer <file|directory>\n ... | transfer <file_name>">&2
return 1
fi
if tty -s; then
file="$1"
file_name=$(basename "$file")
if [ ! -e "$file" ]; then
echo "$file: No such file or directory">&2
return 1
fi
if [ -d "$file" ]; then
file_name="$file_name.zip"
(cd "$file" && zip -r -q - .) | curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name" | tee /dev/null
else
cat "$file" | curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name" | tee /dev/null
fi
else
file_name=$1
curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name" | tee /dev/null
fi
}

View file

@ -1 +0,0 @@

View file

@ -1,29 +0,0 @@
# oh my zsh
ohmyzsh/ohmyzsh path:lib/history.zsh
ohmyzsh/ohmyzsh path:lib/completion.zsh
ohmyzsh/ohmyzsh path:lib/directories.zsh
ohmyzsh/ohmyzsh path:lib/key-bindings.zsh
ohmyzsh/ohmyzsh path:plugins/systemd
ohmyzsh/ohmyzsh path:plugins/fzf
ohmyzsh/ohmyzsh path:plugins/command-not-found
# other plugins
Aloxaf/fzf-tab
urbainvaes/fzf-marks
mroth/evalcache
zpm-zsh/colorize
zpm-zsh/ssh
sobolevn/wakatime-zsh-plugin
amyreese/zsh-titles
laggardkernel/zsh-thefuck
MichaelAquilina/zsh-you-should-use
alexdesousa/oath
TwoPizza9621536/zsh-exa
fdellwing/zsh-bat
# theme
romkatv/powerlevel10k
# fish like
zsh-users/zsh-autosuggestions
zsh-users/zsh-syntax-highlighting

View file

@ -1,5 +0,0 @@
#!/usr/bin/env bash
excuses_file="$HOME/.local/share/zsh/bofh"
num_lines=$(nl $excuses_file | tail -n 1 | awk '{print $1}')
awk 'NR=='$((1 + RANDOM % num_lines ))'{print;exit}' $excuses_file

View file

@ -1,195 +0,0 @@
#!/usr/bin/zsh
# Just print a hacker quote randomly when open a terminal.
#
# Config Variables
# ----------------------------------------
#
# ZSH_HACKER_QUOTES_ENABLE_WHEN_INTERACTIVE
# print quotes if print hacker quotes when shell is an interactive login shell,
# don't check whether shell is a login shell or not.
# default only print hacker quotes when shell is an interactive and login shell.
#
# Development Notes
# ----------------------------------------
#
# use namespace `_zp_hq` (Zsh Plugin Hacker Quotes) to avoid naming conflict
_zp_hq::print_quote() {
if which fold &>/dev/null && [ -n "${COLUMNS:-}" ]; then
printf '%b\n\n' "$*" | fold -s -w $COLUMNS
else
printf '%b\n\n' "$*"
fi
}
_zp_hq_hacker_quotes=(
# Linus Torvalds
# https://en.wikiquote.org/wiki/Linus_Torvalds
"Talk is cheap. Show me the code.\n - Linus Torvalds"
"Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.\n - Linus Torvalds"
"I'm an egotistical bastard, and I name all my projects after myself. First Linux, now git.\n - Linus Torvalds"
# Alan J. Perlis
# https://en.wikiquote.org/wiki/Alan_Perlis
"One man's constant is another man's variable.\n - Alan J. Perlis"
"Functions delay binding; data structures induce binding. Moral: Structure data late in the programming process.\n - Alan J. Perlis"
"Syntactic sugar causes cancer of the semicolon.\n - Alan J. Perlis"
"Every program is a part of some other program and rarely fits.\n - Alan J. Perlis"
"If a program manipulates a large amount of data, it does so in a small number of ways.\n - Alan J. Perlis"
"Symmetry is a complexity-reducing concept (co-routines include subroutines); seek it everywhere.\n - Alan J. Perlis"
"It is easier to write an incorrect program than understand a correct one.\n - Alan J. Perlis"
"A programming language is low level when its programs require attention to the irrelevant.\n - Alan J. Perlis"
"It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures.\n - Alan J. Perlis"
"Get into a rut early: Do the same process the same way. Accumulate idioms. Standardize. The only difference(!) between Shakespeare and you was the size of his idiom list - not the size of his vocabulary.\n - Alan J. Perlis"
"If you have a procedure with ten parameters, you probably missed some.\n - Alan J. Perlis"
"Recursion is the root of computation since it trades description for time.\n - Alan J. Perlis"
"If two people write exactly the same program, each should be put into microcode and then they certainly won't be the same.\n - Alan J. Perlis"
"In the long run every program becomes rococo - then rubble.\n - Alan J. Perlis"
"Everything should be built top-down, except the first time.\n - Alan J. Perlis"
"Every program has (at least) two purposes: the one for which it was written, and another for which it wasn't.\n - Alan J. Perlis"
"If a listener nods his head when you're explaining your program, wake him up.\n - Alan J. Perlis"
"A program without a loop and a structured variable isn't worth writing.\n - Alan J. Perlis"
"A language that doesn't affect the way you think about programming, is not worth knowing.\n - Alan J. Perlis"
"Wherever there is modularity there is the potential for misunderstanding: Hiding information implies a need to check communication.\n - Alan J. Perlis"
"Optimization hinders evolution.\n - Alan J. Perlis"
"A good system can't have a weak command language.\n - Alan J. Perlis"
"To understand a program you must become both the machine and the program.\n - Alan J. Perlis"
"Perhaps if we wrote programs from childhood on, as adults we'd be able to read them.\n - Alan J. Perlis"
"One can only display complex information in the mind. Like seeing, movement or flow or alteration of view is more important than the static picture, no matter how lovely.\n - Alan J. Perlis"
"There will always be things we wish to say in our programs that in all known languages can only be said poorly.\n - Alan J. Perlis"
"Once you understand how to write a program get someone else to write it.\n - Alan J. Perlis"
"Around computers it is difficult to find the correct unit of time to measure progress. Some cathedrals took a century to complete. Can you imagine the grandeur and scope of a program that would take as long?\n - Alan J. Perlis"
"For systems, the analogue of a face-lift is to add to the control graph an edge that creates a cycle, not just an additional node.\n - Alan J. Perlis"
"In programming, everything we do is a special case of something more general -- and often we know it too quickly.\n - Alan J. Perlis"
"Simplicity does not precede complexity, but follows it.\n - Alan J. Perlis"
"Programmers are not to be measured by their ingenuity and their logic but by the completeness of their case analysis.\n - Alan J. Perlis"
"The eleventh commandment was \"Thou Shalt Compute\" or \"Thou Shalt Not Compute\" - I forget which.\n - Alan J. Perlis"
"The string is a stark data structure and everywhere it is passed there is much duplication of process. It is a perfect vehicle for hiding information.\n - Alan J. Perlis"
"Everyone can be taught to sculpt: Michelangelo would have had to be taught not to. So it is with great programmers.\n - Alan J. Perlis"
"The use of a program to prove the 4-color theorem will not change mathematics - it merely demonstrates that the theorem, a challenge for a century, is probably not important to mathematics.\n - Alan J. Perlis"
"The most important computer is the one that rages in our skulls and ever seeks that satisfactory external emulator. The standarization of real computers would be a disaster - and so it probably won't happen.\n - Alan J. Perlis"
"Structured Programming supports the law of the excluded middle.\n - Alan J. Perlis"
"Re graphics: A picture is worth 10K words - but only those to describe the picture. Hardly any sets of 10K words can be adequately described with pictures.\n - Alan J. Perlis"
"There are two ways to write error-free programs; only the third one works.\n - Alan J. Perlis"
"Some programming languages manage to absorb change, but withstand progress.\n - Alan J. Perlis"
"You can measure a programmer's perspective by noting his attitude on the continuing vitality of FORTRAN.\n - Alan J. Perlis"
"In software systems, it is often the early bird that makes the worm.\n - Alan J. Perlis"
"Sometimes I think the only universal in the computing field is the fetch-execute cycle.\n - Alan J. Perlis"
"The goal of computation is the emulation of our synthetic abilities, not the understanding of our analytic ones.\n - Alan J. Perlis"
"Like punning, programming is a play on words.\n - Alan J. Perlis"
"As Will Rogers would have said, \"There is no such thing as a free variable.\"\n - Alan J. Perlis"
"The best book on programming for the layman is \"Alice in Wonderland\"; but that's because it's the best book on anything for the layman.\n - Alan J. Perlis"
"Giving up on assembly language was the apple in our Garden of Eden: Languages whose use squanders machine cycles are sinful. The LISP machine now permits LISP programmers to abandon bra and fig-leaf.\n - Alan J. Perlis"
"When we understand knowledge-based systems, it will be as before -- except our fingertips will have been singed.\n - Alan J. Perlis"
"Bringing computers into the home won't change either one, but may revitalize the corner saloon.\n - Alan J. Perlis"
"Systems have sub-systems and sub-systems have sub-systems and so on ad infinitum - which is why we're always starting over.\n - Alan J. Perlis"
"So many good ideas are never heard from again once they embark in a voyage on the semantic gulf.\n - Alan J. Perlis"
"Beware of the Turing tar-pit in which everything is possible but nothing of interest is easy.\n - Alan J. Perlis"
"A LISP programmer knows the value of everything, but the cost of nothing.\n - Alan J. Perlis"
"Software is under a constant tension. Being symbolic it is arbitrarily perfectible; but also it is arbitrarily changeable.\n - Alan J. Perlis"
"It is easier to change the specification to fit the program than vice versa.\n - Alan J. Perlis"
"Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.\n - Alan J. Perlis"
"In English every word can be verbed. Would that it were so in our programming languages.\n - Alan J. Perlis"
"In seeking the unattainable, simplicity only gets in the way.\n - Alan J. Perlis"
"In programming, as in everything else, to be in error is to be reborn.\n - Alan J. Perlis"
"In computing, invariants are ephemeral.\n - Alan J. Perlis"
"When we write programs that \"learn\", it turns out that we do and they don't.\n - Alan J. Perlis"
"Often it is the means that justify the ends: Goals advance technique and technique survives even when goal structures crumble.\n - Alan J. Perlis"
"Make no mistake about it: Computers process numbers - not symbols. We measure our understanding (and control) by the extent to which we can arithmetize an activity.\n - Alan J. Perlis"
"Making something variable is easy. Controlling duration of constancy is the trick.\n - Alan J. Perlis"
"Think of all the psychic energy expended in seeking a fundamental distinction between \"algorithm\" and \"program\".\n - Alan J. Perlis"
"If we believe in data structures, we must believe in independent (hence simultaneous) processing. For why else would we collect items within a structure? Why do we tolerate languages that give us the one without the other?\n - Alan J. Perlis"
"In a 5 year period we get one superb programming language. Only we can't control when the 5 year period will be.\n - Alan J. Perlis"
"Over the centuries the Indians developed sign language for communicating phenomena of interest. Programmers from different tribes (FORTRAN, LISP, ALGOL, SNOBOL, etc.) could use one that doesn't require them to carry a blackboard on their ponies.\n - Alan J. Perlis"
"Documentation is like term insurance: It satisfies because almost no one who subscribes to it depends on its benefits.\n - Alan J. Perlis"
"An adequate bootstrap is a contradiction in terms.\n - Alan J. Perlis"
"It is not a language's weakness but its strengths that control the gradient of its change: Alas, a language never escapes its embryonic sac.\n - Alan J. Perlis"
"Is it possible that software is not like anything else, that it is meant to be discarded: that the whole point is to see it as a soap bubble?\n - Alan J. Perlis"
"Because of its vitality, the computing field is always in desperate need of new cliches: Banality soothes our nerves.\n - Alan J. Perlis"
"It is the user who should parameterize procedures, not their creators.\n - Alan J. Perlis"
"The cybernetic exchange between man, computer and algorithm is like a game of musical chairs: The frantic search for balance always leaves one of the three standing ill at ease.\n - Alan J. Perlis"
"If your computer speaks English, it was probably made in Japan.\n - Alan J. Perlis"
"A year spent in artificial intelligence is enough to make one believe in God.\n - Alan J. Perlis"
"Prolonged contact with the computer turns mathematicians into clerks and vice versa.\n - Alan J. Perlis"
"In computing, turning the obvious into the useful is a living definition of the word \"frustration\".\n - Alan J. Perlis"
"We are on the verge: Today our program proved Fermat's next-to-last theorem.\n - Alan J. Perlis"
"What is the difference between a Turing machine and the modern computer? It's the same as that between Hillary's ascent of Everest and the establishment of a Hilton hotel on its peak.\n - Alan J. Perlis"
"Motto for a research laboratory: What we work on today, others will first think of tomorrow.\n - Alan J. Perlis"
"Though the Chinese should adore APL, it's FORTRAN they put their money on.\n - Alan J. Perlis"
"We kid ourselves if we think that the ratio of procedure to data in an active data-base system can be made arbitrarily small or even kept small.\n - Alan J. Perlis"
"We have the mini and the micro computer. In what semantic niche would the pico computer fall?\n - Alan J. Perlis"
"It is not the computer's fault that Maxwell's equations are not adequate to design the electric motor.\n - Alan J. Perlis"
"One does not learn computing by using a hand calculator, but one can forget arithmetic.\n - Alan J. Perlis"
"Computation has made the tree flower.\n - Alan J. Perlis"
"The computer reminds one of Lon Chaney -- it is the machine of a thousand faces.\n - Alan J. Perlis"
"The computer is the ultimate polluter: its feces are indistinguish- able from the food it produces.\n - Alan J. Perlis"
"When someone says \"I want a programming language in which I need only say what I wish done,\" give him a lollipop.\n - Alan J. Perlis"
"Interfaces keep things tidy, but don't accelerate growth: Functions do.\n - Alan J. Perlis"
"Don't have good ideas if you aren't willing to be responsible for them.\n - Alan J. Perlis"
"Computers don't introduce order anywhere as much as they expose opportunities.\n - Alan J. Perlis"
"When a professor insists computer science is X but not Y, have compassion for his graduate students.\n - Alan J. Perlis"
"In computing, the mean time to failure keeps getting shorter.\n - Alan J. Perlis"
"In man-machine symbiosis, it is man who must adjust: The machines can't.\n - Alan J. Perlis"
"We will never run out of things to program as long as there is a single program around.\n - Alan J. Perlis"
"Dealing with failure is easy: Work hard to improve. Success is also easy to handle: You've solved the wrong problem. Work hard to improve.\n - Alan J. Perlis"
"One can't proceed from the informal to the formal by formal means.\n - Alan J. Perlis"
"Purely applicative languages are poorly applicable.\n - Alan J. Perlis"
"The proof of a system's value is its existence.\n - Alan J. Perlis"
"You can't communicate complexity, only an awareness of it.\n - Alan J. Perlis"
"It's difficult to extract sense from strings, but they're the only communication coin we can count on.\n - Alan J. Perlis"
"The debate rages on: is PL/I Bachtrian or Dromedary?\n - Alan J. Perlis"
"Whenever two programmers meet to criticize their programs, both are silent.\n - Alan J. Perlis"
"Think of it! With VLSI we can pack 100 ENIACS in 1 sq. cm.\n - Alan J. Perlis"
"Editing is a rewording activity.\n - Alan J. Perlis"
"Why did the Roman Empire collapse? What is Latin for office automation?\n - Alan J. Perlis"
"Computer Science is embarrassed by the computer.\n - Alan J. Perlis"
"The only constructive theory connecting neuroscience and psychology will arise from the study of software.\n - Alan J. Perlis"
"Within a computer natural language is unnatural.\n - Alan J. Perlis"
"Most people find the concept of programming obvious, but the doing impossible.\n - Alan J. Perlis"
"You think you know when you can learn, are more sure when you can write, even more when you can teach, but certain when you can program.\n - Alan J. Perlis"
"It goes against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail and learning to be self-critical?\n - Alan J. Perlis"
"If you can imagine a society in which the computer- robot is the only menial, you can imagine anything.\n - Alan J. Perlis"
"Programming is an unnatural act.\n - Alan J. Perlis"
"Adapting old programs to fit new machines usually means adapting new machines to behave like old ones.\n - Alan J. Perlis"
# Donald E. Knuth
# https://en.wikiquote.org/wiki/Donald_Knuth
"Beware of bugs in the above code; I have only proved it correct, not tried it.\n - Donald E. Knuth"
"Science is knowledge which we understand so well that we can teach it to a computer; and if we don't fully understand something, it is an art to deal with it.\n - Donald E. Knuth"
"In fact, my main conclusion after spending ten years of my life working on the TEX project is that software is hard. Its harder than anything else Ive ever had to do.\n - Donald E. Knuth"
"Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.\n - Donald E. Knuth"
"The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming.\n - Donald E. Knuth"
# Edsger W. Dijkstra
# https://en.wikiquote.org/wiki/Edsger_W._Dijkstra
"Testing shows the presence, not the absence of bugs.\n - Edsger W. Dijkstra"
"The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.\n - Edsger W. Dijkstra"
"LISP has been jokingly described as \"the most intelligent way to misuse a computer\". I think that description a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts.\n - Edsger W. Dijkstra"
"Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer.\n - Edsger W. Dijkstra"
"Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.\n - Edsger W. Dijkstra"
"My point today is that, if we wish to count lines of code, we should not regard them as \"lines produced\" but as \"lines spent\": the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger.\n - Edsger W. Dijkstra"
# mics
"There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.\n - C.A.R. Hoare"
"There are only two hard things in Computer Science: cache invalidation and naming things.\n - Phil Karlton"
"There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors.\n - https://martinfowler.com/bliki/TwoHardThings.html"
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.\n - Martin Golding"
"The trouble with programmers is that you can never tell what a programmer is doing until its too late.\n - Seymour Cray"
"First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack.\n - George Carrette"
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.\n - Brian W. Kernighan"
"Measuring programming progress by lines of code is like measuring aircraft building progress by weight.\n - Bill Gates"
"The best programmers are not marginally better than merely good ones. They are an order-of-magnitude better, measured by whatever standard: conceptual creativity, speed, ingenuity of design, or problem-solving ability.\n - Randall E. Stross"
"For a long time it puzzled me how something so expensive, so leading edge, could be so useless. And then it occurred to me that a computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are, in short, a perfect match.\n - Bill Bryson"
"You cant have great software without a great team, and most software teams behave like dysfunctional families.\n - Jim McCarthy"
"Incorrect documentation is often worse than no documentation.\n - Bertrand Meyer"
"Correctness is clearly the prime quality. If a system does not do what it is supposed to do, then everything else about it matters little.\n - Bertrand Meyer"
"I would love to change the world, but they won't give me the source code.\n - Anonymous"
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand.\n - Martin Fowler"
"I am not a great programmer; I am just a good programmer with great habits.\n - Kent Beck"
"A Computer is a state machine. Threads are for people who can't program state machines.\n - Alan Cox"
"Not everything worth doing is worth doing well.\n - Tom West"
"Peace comes from thinking.\n - N.S.A"
)
_zp_hq::print_quote "${_zp_hq_hacker_quotes[RANDOM % $#_zp_hq_hacker_quotes + 1]}"

View file

@ -0,0 +1,5 @@
#!/bin/bash
tmpFile="$(mktemp -u)"
curl -so "$tmpFile" https://ohmyposh.dev/install.sh
bash "$tmpFile" -d "$HOME"/.local/bin

View file

@ -0,0 +1,20 @@
##!/usr/bin/env bash
case "$1" in
"dad")
joke=$(/usr/bin/curl -sH "Accept: text/plain" 'https://icanhazdadjoke.com/')
echo "Daily Dad Joke: $joke"
;;
"bofh")
excuses_file="$HOME/.local/share/bofh"
num_lines=$(nl "$excuses_file" | tail -n 1 | awk '{print $1}')
echo -n "Daily BOFH Excuse: "
awk 'NR=='$((1 + RANDOM % num_lines ))'{print;exit}' "$excuses_file"
;;
"hq")
file="$HOME/.local/share/hackerquotes/$2"
lines=$(nl "$file" | tail -n 1 | awk '{print $1}')
echo -n "Daily Hackerquote: "
awk 'NR=='$((1 + RANDOM % $lines ))'{print;exit}' "$file"
;;
esac

View file

@ -0,0 +1,9 @@
#!/bin/bash
newestVersion="$(curl -sL https://api.github.com/repos/JanDeDobbeleer/oh-my-posh/releases/latest | jq -r '.name' | cut -dv -f2)"
localVersion="$(oh-my-posh --version)"
tmpFile="$(mktemp -u)"
test "$newestVersion" != "$localVersion" && {
curl -so "$tmpFile" https://ohmyposh.dev/install.sh
bash "$tmpFile"
}

View file

@ -194,7 +194,7 @@ Did you pay the new Support Fee?
We only support a 1200 bps connection.
We only support a 28000 bps connection.
Me no internet, only janitor, me just wax floors.
I'm sorry a PPC won't do, you need an Intel to connect with us.
I'm sorry a pentium won't do, you need an SGI to connect with us.
Post-it Note Sludge leaked into the monitor.
the curls in your keyboard cord are losing electricity.
The monitor needs another box of pixels.
@ -222,9 +222,7 @@ The mainframe needs to rest. It's getting old, you know.
I'm not sure. Try calling the Internet's head office -- it's in the book.
The lines are all busy (busied out, that is -- why let them in to begin with?).
Jan 9 16:41:27 huber su: 'su root' succeeded for .... on /dev/pts/1
It's those computer people in New York City. They keep stuffing things up.
It's those computer people in Houston. They keep stuffing things up.
It's those computer people in New Delhi. They keep stuffing things up.
It's those computer people in X {city of world}. They keep stuffing things up.
A star wars satellite accidently blew up the WAN.
Fatal error right in front of screen
That function is not currently supported, but Bill Gates assures us it will be featured in the next upgrade.
@ -245,18 +243,13 @@ Software uses US measurements, but the OS is in metric...
The computer fleetly, mouse and all.
Your cat tried to eat the mouse.
The Borg tried to assimilate your system. Resistance is futile.
It must have been the lightning storm we had yesterday.
It must have been the lightning storm we had last week.
It must have been the lightning storm we had last month.
It must have been the lightning storm we had (yesterday) (last week) (last month)
Due to Federal Budget problems we have been forced to cut back on the number of users able to access the system at one time. (namely none allowed....)
Too much radiation coming from the soil.
Unfortunately we have run out of bits/bytes/whatever. Don't worry, the next supply will be coming next week.
Program load too heavy for processor to lift.
Processes running slowly due to weak power supply
Our ISP is having switching problems.
Our ISP is having routing problems.
Our ISP is having power problems.
Our ISP is having connection problems.
Our ISP is having {switching,routing,SMDS,frame relay} problems
We've run out of licenses
Interference from lunar radiation
Standing room only on the bus.
@ -326,7 +319,7 @@ Your EMAIL is now being delivered by the USPS.
Your computer hasn't been returning all the bits it gets from the Internet.
You've been infected by the Telescoping Hubble virus.
Scheduled global CPU outage
Your PPC has a heating problem - try cooling it with ice cold water.(Do not turn off your computer, you do not want to cool down the PPC Chip while he isn't working, do you?)
Your Pentium has a heating problem - try cooling it with ice cold water.(Do not turn off your computer, you do not want to cool down the Pentium Chip while he isn't working, do you?)
Your processor has processed too many instructions. Turn it off immediately, do not type any commands!!
Your packets were eaten by the terminator
Your processor does not develop enough heat.
@ -344,16 +337,13 @@ the xy axis in the trackball is coordinated with the summer solstice
the butane lighter causes the pincushioning
old inkjet cartridges emanate barium-based fumes
manager in the cable duct
We'll fix that in the next upgrade.
We'll fix that in the next update.
We'll fix that in the next patch release.
We'll fix that in the next service pack.
We'll fix that in the next (upgrade, update, patch release, service pack).
HTTPD Error 666 : BOFH was here
HTTPD Error 4004 : very old Motorola cpu - insufficient processing power
HTTPD Error 4004 : very old Intel cpu - insufficient processing power
The ATM board has run out of 10 pound notes. We are having a whip round to refill it, care to contribute ?
Network failure - call NBC
Having to manually track the satellite.
Your computer had suffered a memory leak, and we are waiting for them to be topped off.
Your/our computer(s) had suffered a memory leak, and we are waiting for them to be topped up.
The rubber band broke
We're on Token Ring, and it looks like the token got loose.
Stray Alpha Particles from memory packaging caused Hard Memory Error on Server.
@ -470,6 +460,10 @@ Power surges on the Underground.
Don't worry; it's been deprecated. The new one is worse.
Excess condensation in cloud network
It is a layer 8 problem
The math co-processor had an overflow error that leaked out and shorted the RAM
Leap second overloaded RHEL6 servers
DNS server drank too much and had a hiccup
Your machine had the fuses in backwards.
Foxconn factory caught fire
insufficient data; cannot compute
Please press all keys simultaneously to continue working.

View file

@ -0,0 +1,6 @@
Testing shows the presence, not the absence of bugs. - Edsger W. Dijkstra
The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague. - Edsger W. Dijkstra
LISP has been jokingly described as 'the most intelligent way to misuse a computer'. I think that description a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts. - Edsger W. Dijkstra
Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer. - Edsger W. Dijkstra
Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better. - Edsger W. Dijkstra
My point today is that, if we wish to count lines of code, we should not regard them as 'lines produced' but as 'lines spent': the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger. - Edsger W. Dijkstra

View file

@ -0,0 +1,5 @@
Beware of bugs in the above code; I have only proved it correct, not tried it. - Donald E. Knuth
Science is knowledge which we understand so well that we can teach it to a computer; and if we don't fully understand something, it is an art to deal with it. - Donald E. Knuth
In fact, my main conclusion after spending ten years of my life working on the TEX project is that software is hard. Its harder than anything else Ive ever had to do. - Donald E. Knuth
Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do. - Donald E. Knuth
The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming. - Donald E. Knuth

View file

@ -0,0 +1,19 @@
There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies. - C.A.R. Hoare
There are only two hard things in Computer Science: cache invalidation and naming things. - Phil Karlton
There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors. - https://martinfowler.com/bliki/TwoHardThings.html
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. - Martin Golding
The trouble with programmers is that you can never tell what a programmer is doing until its too late. - Seymour Cray
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. - George Carrette
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. - Brian W. Kernighan
Measuring programming progress by lines of code is like measuring aircraft building progress by weight. - Bill Gates
The best programmers are not marginally better than merely good ones. They are an order-of-magnitude better, measured by whatever standard: conceptual creativity, speed, ingenuity of design, or problem-solving ability. - Randall E. Stross
For a long time it puzzled me how something so expensive, so leading edge, could be so useless. And then it occurred to me that a computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are, in short, a perfect match. - Bill Bryson
You cant have great software without a great team, and most software teams behave like dysfunctional families. - Jim McCarthy
Incorrect documentation is often worse than no documentation. - Bertrand Meyer
Correctness is clearly the prime quality. If a system does not do what it is supposed to do, then everything else about it matters little. - Bertrand Meyer
I would love to change the world, but they won't give me the source code. - Anonymous
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. - Martin Fowler
I am not a great programmer; I am just a good programmer with great habits. - Kent Beck
A Computer is a state machine. Threads are for people who can't program state machines. - Alan Cox
Not everything worth doing is worth doing well. - Tom West
Peace comes from thinking. - N.S.A

View file

@ -0,0 +1,120 @@
One man's constant is another man's variable. - Alan J. Perlis
Functions delay binding; data structures induce binding. Moral: Structure data late in the programming process. - Alan J. Perlis
Syntactic sugar causes cancer of the semicolon. - Alan J. Perlis
Every program is a part of some other program and rarely fits. - Alan J. Perlis
If a program manipulates a large amount of data, it does so in a small number of ways. - Alan J. Perlis
Symmetry is a complexity-reducing concept (co-routines include subroutines); seek it everywhere. - Alan J. Perlis
It is easier to write an incorrect program than understand a correct one. - Alan J. Perlis
A programming language is low level when its programs require attention to the irrelevant. - Alan J. Perlis
It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures. - Alan J. Perlis
Get into a rut early: Do the same process the same way. Accumulate idioms. Standardize. The only difference(!) between Shakespeare and you was the size of his idiom list - not the size of his vocabulary. - Alan J. Perlis
If you have a procedure with ten parameters, you probably missed some. - Alan J. Perlis
Recursion is the root of computation since it trades description for time. - Alan J. Perlis
If two people write exactly the same program, each should be put into microcode and then they certainly won't be the same. - Alan J. Perlis
In the long run every program becomes rococo - then rubble. - Alan J. Perlis
Everything should be built top-down, except the first time. - Alan J. Perlis
Every program has (at least) two purposes: the one for which it was written, and another for which it wasn't. - Alan J. Perlis
If a listener nods his head when you're explaining your program, wake him up. - Alan J. Perlis
A program without a loop and a structured variable isn't worth writing. - Alan J. Perlis
A language that doesn't affect the way you think about programming, is not worth knowing. - Alan J. Perlis
Wherever there is modularity there is the potential for misunderstanding: Hiding information implies a need to check communication. - Alan J. Perlis
Optimization hinders evolution. - Alan J. Perlis
A good system can't have a weak command language. - Alan J. Perlis
To understand a program you must become both the machine and the program. - Alan J. Perlis
Perhaps if we wrote programs from childhood on, as adults we'd be able to read them. - Alan J. Perlis
One can only display complex information in the mind. Like seeing, movement or flow or alteration of view is more important than the static picture, no matter how lovely. - Alan J. Perlis
There will always be things we wish to say in our programs that in all known languages can only be said poorly. - Alan J. Perlis
Once you understand how to write a program get someone else to write it. - Alan J. Perlis
Around computers it is difficult to find the correct unit of time to measure progress. Some cathedrals took a century to complete. Can you imagine the grandeur and scope of a program that would take as long? - Alan J. Perlis
For systems, the analogue of a face-lift is to add to the control graph an edge that creates a cycle, not just an additional node. - Alan J. Perlis
In programming, everything we do is a special case of something more general -- and often we know it too quickly. - Alan J. Perlis
Simplicity does not precede complexity, but follows it. - Alan J. Perlis
Programmers are not to be measured by their ingenuity and their logic but by the completeness of their case analysis. - Alan J. Perlis
The eleventh commandment was \Thou Shalt Compute\ or \Thou Shalt Not Compute\ - I forget which. - Alan J. Perlis
The string is a stark data structure and everywhere it is passed there is much duplication of process. It is a perfect vehicle for hiding information. - Alan J. Perlis
Everyone can be taught to sculpt: Michelangelo would have had to be taught not to. So it is with great programmers. - Alan J. Perlis
The use of a program to prove the 4-color theorem will not change mathematics - it merely demonstrates that the theorem, a challenge for a century, is probably not important to mathematics. - Alan J. Perlis
The most important computer is the one that rages in our skulls and ever seeks that satisfactory external emulator. The standarization of real computers would be a disaster - and so it probably won't happen. - Alan J. Perlis
Structured Programming supports the law of the excluded middle. - Alan J. Perlis
Re graphics: A picture is worth 10K words - but only those to describe the picture. Hardly any sets of 10K words can be adequately described with pictures. - Alan J. Perlis
There are two ways to write error-free programs; only the third one works. - Alan J. Perlis
Some programming languages manage to absorb change, but withstand progress. - Alan J. Perlis
You can measure a programmer's perspective by noting his attitude on the continuing vitality of FORTRAN. - Alan J. Perlis
In software systems, it is often the early bird that makes the worm. - Alan J. Perlis
Sometimes I think the only universal in the computing field is the fetch-execute cycle. - Alan J. Perlis
The goal of computation is the emulation of our synthetic abilities, not the understanding of our analytic ones. - Alan J. Perlis
Like punning, programming is a play on words. - Alan J. Perlis
As Will Rogers would have said, \There is no such thing as a free variable. - Alan J. Perlis
The best book on programming for the layman is \Alice in Wonderland\; but that's because it's the best book on anything for the layman. - Alan J. Perlis
Giving up on assembly language was the apple in our Garden of Eden: Languages whose use squanders machine cycles are sinful. The LISP machine now permits LISP programmers to abandon bra and fig-leaf. - Alan J. Perlis
When we understand knowledge-based systems, it will be as before -- except our fingertips will have been singed. - Alan J. Perlis
Bringing computers into the home won't change either one, but may revitalize the corner saloon. - Alan J. Perlis
Systems have sub-systems and sub-systems have sub-systems and so on ad infinitum - which is why we're always starting over. - Alan J. Perlis
So many good ideas are never heard from again once they embark in a voyage on the semantic gulf. - Alan J. Perlis
Beware of the Turing tar-pit in which everything is possible but nothing of interest is easy. - Alan J. Perlis
A LISP programmer knows the value of everything, but the cost of nothing. - Alan J. Perlis
Software is under a constant tension. Being symbolic it is arbitrarily perfectible; but also it is arbitrarily changeable. - Alan J. Perlis
It is easier to change the specification to fit the program than vice versa. - Alan J. Perlis
Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it. - Alan J. Perlis
In English every word can be verbed. Would that it were so in our programming languages. - Alan J. Perlis
In seeking the unattainable, simplicity only gets in the way. - Alan J. Perlis
In programming, as in everything else, to be in error is to be reborn. - Alan J. Perlis
In computing, invariants are ephemeral. - Alan J. Perlis
When we write programs that \learn\, it turns out that we do and they don't. - Alan J. Perlis
Often it is the means that justify the ends: Goals advance technique and technique survives even when goal structures crumble. - Alan J. Perlis
Make no mistake about it: Computers process numbers - not symbols. We measure our understanding (and control) by the extent to which we can arithmetize an activity. - Alan J. Perlis
Making something variable is easy. Controlling duration of constancy is the trick. - Alan J. Perlis
Think of all the psychic energy expended in seeking a fundamental distinction between 'algorithm' and 'program'. - Alan J. Perlis
If we believe in data structures, we must believe in independent (hence simultaneous) processing. For why else would we collect items within a structure? Why do we tolerate languages that give us the one without the other? - Alan J. Perlis
In a 5 year period we get one superb programming language. Only we can't control when the 5 year period will be. - Alan J. Perlis
Over the centuries the Indians developed sign language for communicating phenomena of interest. Programmers from different tribes (FORTRAN, LISP, ALGOL, SNOBOL, etc.) could use one that doesn't require them to carry a blackboard on their ponies. - Alan J. Perlis
Documentation is like term insurance: It satisfies because almost no one who subscribes to it depends on its benefits. - Alan J. Perlis
An adequate bootstrap is a contradiction in terms. - Alan J. Perlis
It is not a language's weakness but its strengths that control the gradient of its change: Alas, a language never escapes its embryonic sac. - Alan J. Perlis
Is it possible that software is not like anything else, that it is meant to be discarded: that the whole point is to see it as a soap bubble? - Alan J. Perlis
Because of its vitality, the computing field is always in desperate need of new cliches: Banality soothes our nerves. - Alan J. Perlis
It is the user who should parameterize procedures, not their creators. - Alan J. Perlis
The cybernetic exchange between man, computer and algorithm is like a game of musical chairs: The frantic search for balance always leaves one of the three standing ill at ease. - Alan J. Perlis
If your computer speaks English, it was probably made in Japan. - Alan J. Perlis
A year spent in artificial intelligence is enough to make one believe in God. - Alan J. Perlis
Prolonged contact with the computer turns mathematicians into clerks and vice versa. - Alan J. Perlis
In computing, turning the obvious into the useful is a living definition of the word \frustration\. - Alan J. Perlis
We are on the verge: Today our program proved Fermat's next-to-last theorem. - Alan J. Perlis
What is the difference between a Turing machine and the modern computer? It's the same as that between Hillary's ascent of Everest and the establishment of a Hilton hotel on its peak. - Alan J. Perlis
Motto for a research laboratory: What we work on today, others will first think of tomorrow. - Alan J. Perlis
Though the Chinese should adore APL, it's FORTRAN they put their money on. - Alan J. Perlis
We kid ourselves if we think that the ratio of procedure to data in an active data-base system can be made arbitrarily small or even kept small. - Alan J. Perlis
We have the mini and the micro computer. In what semantic niche would the pico computer fall? - Alan J. Perlis
It is not the computer's fault that Maxwell's equations are not adequate to design the electric motor. - Alan J. Perlis
One does not learn computing by using a hand calculator, but one can forget arithmetic. - Alan J. Perlis
Computation has made the tree flower. - Alan J. Perlis
The computer reminds one of Lon Chaney -- it is the machine of a thousand faces. - Alan J. Perlis
The computer is the ultimate polluter: its feces are indistinguish- able from the food it produces. - Alan J. Perlis
When someone says \I want a programming language in which I need only say what I wish done, give him a lollipop. - Alan J. Perlis
Interfaces keep things tidy, but don't accelerate growth: Functions do. - Alan J. Perlis
Don't have good ideas if you aren't willing to be responsible for them. - Alan J. Perlis
Computers don't introduce order anywhere as much as they expose opportunities. - Alan J. Perlis
When a professor insists computer science is X but not Y, have compassion for his graduate students. - Alan J. Perlis
In computing, the mean time to failure keeps getting shorter. - Alan J. Perlis
In man-machine symbiosis, it is man who must adjust: The machines can't. - Alan J. Perlis
We will never run out of things to program as long as there is a single program around. - Alan J. Perlis
Dealing with failure is easy: Work hard to improve. Success is also easy to handle: You've solved the wrong problem. Work hard to improve. - Alan J. Perlis
One can't proceed from the informal to the formal by formal means. - Alan J. Perlis
Purely applicative languages are poorly applicable. - Alan J. Perlis
The proof of a system's value is its existence. - Alan J. Perlis
You can't communicate complexity, only an awareness of it. - Alan J. Perlis
It's difficult to extract sense from strings, but they're the only communication coin we can count on. - Alan J. Perlis
The debate rages on: is PL/I Bachtrian or Dromedary? - Alan J. Perlis
Whenever two programmers meet to criticize their programs, both are silent. - Alan J. Perlis
Think of it! With VLSI we can pack 100 ENIACS in 1 sq. cm. - Alan J. Perlis
Editing is a rewording activity. - Alan J. Perlis
Why did the Roman Empire collapse? What is Latin for office automation? - Alan J. Perlis
Computer Science is embarrassed by the computer. - Alan J. Perlis
The only constructive theory connecting neuroscience and psychology will arise from the study of software. - Alan J. Perlis
Within a computer natural language is unnatural. - Alan J. Perlis
Most people find the concept of programming obvious, but the doing impossible. - Alan J. Perlis
You think you know when you can learn, are more sure when you can write, even more when you can teach, but certain when you can program. - Alan J. Perlis
It goes against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail and learning to be self-critical? - Alan J. Perlis
If you can imagine a society in which the computer- robot is the only menial, you can imagine anything. - Alan J. Perlis
Programming is an unnatural act. - Alan J. Perlis
Adapting old programs to fit new machines usually means adapting new machines to behave like old ones. - Alan J. Perlis

View file

@ -0,0 +1,3 @@
Talk is cheap. Show me the code. - Linus Torvalds
Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program. - Linus Torvalds
I'm an egotistical bastard, and I name all my projects after myself. First Linux, now git. - Linus Torvalds

View file

@ -1,12 +0,0 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQUHFPSUJkUGc0anhDVkli
VlFYNHBVUEpmZmtwdXBTSGdvdnIrSjM1M3pFCmdzWkhmVGcwckpoVXRyNjJnK01t
b0h3dVRHcDh2Q0psV1NQZ2pvYmRoSUUKLS0tIEdIVVFMQkl4enBhMHI0OU5KWGZC
aTlibTdVcWcwanduVXZ4MXMxS2xsWUEKpSA8zaN0Lpk3Mqce5kQmDktfRNT5SSW9
u7k5jfk+7yzKocqiWKB3/GIdkFauNtFguyqeMy2BUq2VOE91wW/usgrOWiUHbulp
917pa72C72eGnSc1RcpXxyd5J6EqLXLIutJAxWPnKIZcQLQyj22YWT8pYnTibkGU
bodl1uZKrfEC7I013qr3hRdrbJAi3sAKmD76Ie2RCf2ubxqJxgOiAcgoZA44ArjC
Tw4KU1sKNzimm2MA4Hjf5/yYGOF00fo/DtuJtu1jHckyynK80Ppda/AcRfbE3ByC
My5ILbJ2/q0yMO9phMmOyC6kVomjgyFARAPQXAY6CZe0JdFIESbzz0yNbA7QKWKW
o59c
-----END AGE ENCRYPTED FILE-----