diff options
author | jdlugosz963 <jdlugosz963@gmail.com> | 2024-04-26 18:21:56 +0200 |
---|---|---|
committer | jdlugosz963 <jdlugosz963@gmail.com> | 2024-04-27 18:20:11 +0200 |
commit | 73af89d935df5a8166114c9257f9f247f29850bf (patch) | |
tree | c8addfe86575b030ca5a61644dbc77adb8f63c43 /.bin | |
parent | 9ca1ae3ceca5944765af94514e75a96195de5716 (diff) | |
download | dotfiles-73af89d935df5a8166114c9257f9f247f29850bf.tar.gz dotfiles-73af89d935df5a8166114c9257f9f247f29850bf.zip |
Migrate from stumpwm to sway and from manifests to home-services.
Diffstat (limited to '.bin')
-rwxr-xr-x | .bin/chiaki | 21 | ||||
-rwxr-xr-x | .bin/oath | 14 | ||||
-rwxr-xr-x | .bin/whois-at-hsp | 84 |
3 files changed, 119 insertions, 0 deletions
diff --git a/.bin/chiaki b/.bin/chiaki new file mode 100755 index 0000000..5fa6547 --- /dev/null +++ b/.bin/chiaki | |||
@@ -0,0 +1,21 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | CHIAKI_SHELL=/tmp/.chiaki.nix | ||
4 | |||
5 | cat <<EOF > $CHIAKI_SHELL | ||
6 | let | ||
7 | nixgl = import (fetchTarball https://github.com/guibou/nixGL/archive/main.tar.gz) { }; | ||
8 | in | ||
9 | { nixpkgs ? import <nixpkgs> {} }: | ||
10 | with nixpkgs; mkShell { | ||
11 | buildInputs = [ | ||
12 | chiaki | ||
13 | nixgl.auto.nixGLDefault | ||
14 | ]; | ||
15 | shellHook = '' | ||
16 | nixGL chiaki && exit; | ||
17 | ''; | ||
18 | } | ||
19 | EOF | ||
20 | |||
21 | nix-shell $CHIAKI_SHELL | ||
diff --git a/.bin/oath b/.bin/oath new file mode 100755 index 0000000..7444993 --- /dev/null +++ b/.bin/oath | |||
@@ -0,0 +1,14 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | if [[ $1 ]]; then | ||
4 | PASS=$(oathtool -b --totp $(pass show "oath/$1")) | ||
5 | printf $PASS | wl-copy | ||
6 | echo "pass: $PASS" | ||
7 | echo "Password should be in your clipboard!" | ||
8 | else | ||
9 | echo "Usage: oath <pass>" | ||
10 | echo "Available pass:" | ||
11 | pass oath | ||
12 | fi | ||
13 | |||
14 | |||
diff --git a/.bin/whois-at-hsp b/.bin/whois-at-hsp new file mode 100755 index 0000000..0cd03f7 --- /dev/null +++ b/.bin/whois-at-hsp | |||
@@ -0,0 +1,84 @@ | |||
1 | #!/usr/bin/env -S guix shell guile guile-json -- guile --no-auto-compile -e main -s | ||
2 | -*- scheme -*- | ||
3 | !# | ||
4 | |||
5 | (use-modules (srfi srfi-1) | ||
6 | (ice-9 iconv) | ||
7 | (ice-9 receive) | ||
8 | (web client) | ||
9 | (json)) | ||
10 | |||
11 | (define whois-at-hsp-endpoint "https://whois.at.hsp.sh/api/now") | ||
12 | |||
13 | (define (http-get-serialize-json url) | ||
14 | (receive (response data) (http-request url) | ||
15 | (values (json-string->scm (bytevector->string data "UTF-8")) | ||
16 | response))) | ||
17 | |||
18 | (define (whois-data->users whois-data) | ||
19 | (assoc-ref whois-data "users")) | ||
20 | |||
21 | (define (whois-data->unknown-devices whois-data) | ||
22 | (assoc-ref whois-data "unknown_devices")) | ||
23 | |||
24 | (define (whois-data->head-count whois-data) | ||
25 | (assoc-ref whois-data "headcount")) | ||
26 | |||
27 | (define (whois-data->formated-users whois-data) | ||
28 | (let ((users (vector->list (whois-data->users whois-data)))) | ||
29 | (if (> (length users) 0) | ||
30 | (fold-right | ||
31 | (lambda (a b) (string-append a " " b)) | ||
32 | "" | ||
33 | users) | ||
34 | "No visible users!"))) | ||
35 | |||
36 | (define (whois-data->summary whois-data) | ||
37 | (string-append | ||
38 | "Unknown devices: " | ||
39 | (number->string (whois-data->unknown-devices whois-data)) | ||
40 | "\nUsers: [" (number->string (whois-data->head-count whois-data)) "] " | ||
41 | (whois-data->formated-users whois-data))) | ||
42 | |||
43 | (define (notify data) | ||
44 | (system* "notify-send" | ||
45 | "WHOIS AT HSP" | ||
46 | (whois-data->summary data))) | ||
47 | |||
48 | (define (command-line-option? option args) | ||
49 | (> (length (or (member option args) | ||
50 | '())) | ||
51 | 0)) | ||
52 | |||
53 | (define-syntax-rule (command-line-args-handle args default ((option ...) body ...) ...) | ||
54 | (let ((option? (lambda (o) (command-line-option? o args))) | ||
55 | (something-executed? #f)) | ||
56 | (when (or (option? option) ...) | ||
57 | (set! something-executed? #t) | ||
58 | body ...) ... | ||
59 | (when (not something-executed?) | ||
60 | default))) | ||
61 | |||
62 | (define (main args) | ||
63 | (let ((whois-data (http-get-serialize-json whois-at-hsp-endpoint))) | ||
64 | (command-line-args-handle args | ||
65 | (begin (display (whois-data->summary whois-data)) | ||
66 | (newline)) | ||
67 | (("-h" "--help") | ||
68 | (display (string-append "-h, --help Help message\n" | ||
69 | "-n, --notify Notification massage with whois information.\n" | ||
70 | "-u Get users\n" | ||
71 | "-H Get head count\n" | ||
72 | "-U Get unknown devices\n"))) | ||
73 | (("-n" "--notify") | ||
74 | (notify whois-data)) | ||
75 | (("-u") | ||
76 | (display (whois-data->formated-users whois-data)) | ||
77 | (newline)) | ||
78 | (("-H") | ||
79 | (display (whois-data->head-count whois-data)) | ||
80 | (newline)) | ||
81 | (("-U") | ||
82 | (display (whois-data->unknown-devices whois-data)) | ||
83 | (newline))))) | ||
84 | |||