summaryrefslogtreecommitdiff
path: root/fish/conf.d/utils.fish
blob: 49e38fb3ffe236a403f2129d310e91e6d1eb5672 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
function fullest_i
    df -i | sort -n -k 5
end

function fullest_h
    df -h | sort -n -k 5
end

function usortn
    sort | uniq -c | sort -n
end

function asum
    awk '{ sum += $1 } END { print sum }'
end

function stop
    set -l service $argv[1]
    sudo service $service stop $argv
end

function start
    set -l service $argv[1]
    sudo service $service start $argv
end

function restart
    set -l service $argv[1]
    sudo service $service restart $argv
end

function statuss
    set -l service $argv[1]
    sudo service $service status $argv
end

function loop
    set -l sleep 10
    if set -q SLEEP
        set sleep $SLEEP
    end
    echo "sleep is $sleep" 1>&2
    while true
        $argv
        sleep $sleep
    end
end

function f
    find . -iname "*$argv*"
end

function random
    set -l upto $argv[1]
    set -l random (math $RANDOM % $upto)
    echo "Sleeping $random seconds"
    sleep $random
end

function dedup
    set -l file $argv[1]
    if test -z $file
        awk '{ if (line[$0] != 42) { print $0 }; line[$0] = 42; }'
    else
        awk '{ if (line[$0] != 42) { print $0 }; line[$0] = 42; }' $file | sudo tee $file.dedup >/dev/null
        if test ! -f $file.dedupbak
            sudo mv $file $file.dedupbak
        end
        sudo mv $file.dedup $file
        wc -l $file $file.dedupbak
        sudo gzip --best $file.dedupbak &
    end
end

function dedup_no_bak
    set -l file $argv[1]
    if test -z $file
        awk '{ if (line[$0] != 42) { print $0 }; line[$0] = 42; }'
    else
        awk '{ if (line[$0] != 42) { print $0 }; line[$0] = 42; }' $file | sudo tee $file.dedup >/dev/null
        if test ! -f $file.dedupbak
            sudo mv $file $file.dedupbak
        end
        sudo mv $file.dedup $file
        wc -l $file $file.dedupbak
        sudo rm -v $file.dedupbak &
    end
end

function drop_caches
    echo 3 | sudo tee /proc/sys/vm/drop_caches
end

function ssl_connect
    set -l address $argv[1]
    openssl s_client -connect $address
end

function ssl_dates
    ssl_connect $argv | openssl x509 -noout -dates
end

function lastu
    last | grep -E -v '(root|cron|nagios)'
end

function lastl
    lastu | less
end

abbr wetter 'curl http://wttr.in'

abbr tf terraform
abbr tfplan 'terraform plan -out=tfplan'
abbr tfappl 'terraform apply tfplan'

function touchtype
    tt --noskip --noreport --showwpm --bold --theme (tt -list themes | sort -R | head -n1) $argv
end

function touchtype::quote
    while true
        touchtype -quotes en
        sleep 0.2
    end
end

function touchtype::scifi
    find ~/git/scifi/summaries/ -type f -name \*.md | sort -R | head -n 1 | xargs cat | touchtype
end

function checkcert
    set host $argv[1]
    set port $argv[2]
    openssl s_client \
        -connect $host:$port \
        -servername $host \
        -showcerts </dev/null 2>/dev/null | openssl x509 -noout -dates -subject
end

abbr typing 'touchtype::quote'

function sway_config_view
    less /etc/sway/config
end

function ssh::force
    set -l server $argv[1]
    ssh-keygen -R $server
    ssh -A $server
end

function geheim
    echo 'Use KeePassXC and/or foostore'
end

function snonux::sync
    # snonux microblogger tool
    ~/go/bin/snonux --input ~/.gosdir/snonux/inbox/ --output ~/.gosdir/snonux/dist/ --sync
end