wip ideas poweruser league

This commit is contained in:
hsv2 2022-07-21 00:51:22 +02:00 committed by Andrea Blankenstijn
parent b9670266c6
commit 5388afbd04
4 changed files with 317 additions and 72 deletions

View file

@ -0,0 +1,121 @@
digraph Basics {
layout=fdp
graph [colorscheme=accent8, style=rounded]
edge [arrowhead=vee]
node [fillcolor=white, style=filled]
subgraph clusterBasics {
graph [label="1. Basics"]
regexp [label="Regular Expressions"]
subgraph clusterShell {
graph [bgcolor=1, label="Shell"]
subgraph clusterShellTools {
graph [label="Common Tools"]
node [shape=doubleoctagon]
find
regexp -> {grep sed rename}
kill
ps
top
du
dd
df
mktemp
"… and more"
}
subgraph clusterShellUsage {
graph [label=Basics]
shellshortcuts [label=Shortcuts]
shellautocomp [label=Autocompletion]
shellenv [label=Environment]
shellhistory [label="Command History"]
shellconf [label=Configuration]
}
}
subgraph clusterDoc {
bgcolor=5
fontcolor=white
label="Getting Help"
subgraph clusterDocTheory {
label="Theory"
BNF [label="Grammar: understanding the BackusNaur form notation"]
RFC [label="Standards: understanding RFCs"]
APIDoc [label="understanding API and language documentation"]
}
subgraph clusterDocSrc {
label=Sources
subgraph clusterDocSrcOffline {
label=Offline
man [shape=doubleoctagon]
info [shape=doubleoctagon]
apropos [shape=doubleoctagon]
"package doc and exemples folder"
"Browsing the code"
}
subgraph clusterDocSrcOnline {
"Official web site"
IRC [shape=doubleoctagon]
}
}
}
subgraph clusterDev {
graph [bgcolor=2, label="Development"]
subgraph clusterGit {
graph [label="Git"]
{"Merge Conflicts" Hunks Branches Remotes}
}
}
subgraph clusterVim {
graph [bgcolor=3, label="Vanilla Vim/Neovim"]
vimfile [label="File Broswer"]
vimui [label="Buffers/Windows/Tabs"]
vimmacro [label=Macros]
vimmouv [label=Mouvements]
vimmode [label=Modes]
vimcmds [label=Commands]
vimkeymap [label=Shortcuts]
vimconf [label=Configuration]
}
subgraph clusterLinux {
graph [bgcolor=4, label=Linux]
{FHS XDG}
FHS [label="Filesystem Hierarchy Standard"]
XDG [label="freedesktop.org / XDG"]
LinuxStandards [label=Standards, shape=plain]
LinuxStandards -> {FHS XDG}
Debian [shape=doubleoctagon]
ArchLinux [label="Arch", shape=doubleoctagon]
AlpineLinux [label="Alpine", shape=doubleoctagon]
LinuxDistribs [bgcolor=4, label=Distributions, shape=plain]
LinuxDistribs -> { AlpineLinux ArchLinux Debian }
}
subgraph clusterSecurity {
bgcolor=8
fontcolor=white
label=Security
pwmanager [label="Password Manager"]
sshagent [label="SSH Agent", shape=doubleoctagon]
gpg [label=GnuPG, shape=doubleoctagon]
}
}
}

View file

@ -0,0 +1,53 @@
digraph Leet {
layout=fdp
graph [colorscheme=accent8, style=rounded]
edge [arrowhead=vee]
node [fillcolor=white, style=filled]
subgraph clusterLeet {
label="3. The Way of the 1337"
subgraph clusterleetSecurity {
graph [bgcolor=8, fontcolor=white, label="Linux Security"]
subgraph clusterLeetSecurityProjects {
label="Project Ideas"
leetsecproja0 [label="Setup a SELinux system"]
leetsecproja1 [label="Write SELinux policies"]
leetsecproja0 -> leetsecproja1
leetsecprojb0 [label="Write a nftables firewall advanced configuration script"]
leetsecprojc0 [label="Setup a P2P VPN"]
leetsecprojd0 [label="Setup OTP authentication with PAM"]
}
}
subgraph clusterleetNetworking {
label=Networking
bgcolor=7
subgraph clusterleetNetworkingProjects {
label="Project Ideas"
leetsecproje0 [label="Your community server"]
githost [label="Git hosting and project management"]
chat [label="Libre alternatives to Slack / discord"]
federated [label="Federated social networks"]
leetsecproje0 -> {IMAP SMTP DNS githost chat federated}
}
}
subgraph clusterOS {
label=OS
subgraph clusterOSProjects {
label="Project Ideas"
osproja0 [label="Linux From Scratch"]
osprojb0 [label="NetBSD / OpenBSD"]
osprojc0 [label="GNU/Hurd"]
}
}
}
}

View file

@ -0,0 +1,143 @@
digraph Medium {
layout=fdp
graph [colorscheme=accent8, style=rounded]
edge [arrowhead=vee]
node [fillcolor=white, style=filled]
subgraph cluster {
label="2. Power User"
subgraph clusterUtilVarious {
graph [bgcolor=5, label="Various utilities"]
"Document Production" -> {
LaTeX
Graphviz
LilyPond
}
"Configuration" -> {
yadm
".env"
".editorconfig"
}
"Task lists management" -> { Taskwarrior Unfog }
Multimedia -> {
ffmpeg
mpv
mpd
GraphicsMagick
}
}
subgraph clusterShell {
graph [bgcolor=1, label="Shell"]
shellmedplugins [label="Plugins and Customization"]
shellscripts [label="Script writing"]
}
subgraph clusterDev {
graph [bgcolor=2, label="Development tools"]
subgraph clusterDocuGen {
graph [label="Documentation Generation"]
Sphinx
doxygen
}
subgraph clusterCodeTools {
graph [label="Code Tools"]
{"Static Analysis" Linters Debuggers Compilers REPL}
}
subgraph clusterBuildTools {
graph [label="Build Tools"]
{ CMake Meson }
}
subgraph clusterPython {
label=Python
pydepend [label="Dependencies Management and Virtual Environment"]
{ mypy micropipenv poetry Packaging }
Typing -> mypy
pydepend -> { micropipenv poetry }
}
subgraph clusterGit {
graph [label=Git]
{"git-lfs" "cherry-pick"}
}
}
subgraph clusterVim {
graph [bgcolor=3, label="Vim/Neovim"]
vimplugins [label=Plugins]
vimplugins -> { "Code Completion and Code Snippets" "Linting" "Git Integration"
"Refactoring" "Debugger Integration" "TODOs Management" "Templates" }
subgraph clusterVimProjects {
label="Project ideas"
vimproj0 [label="Configure your plugin set"]
vimproj1 [label="Write your own plugin"]
}
}
subgraph clusterLinux {
graph [bgcolor=4, label=Linux]
LinuxDistrib [label="Distribution"]
Gentoo [label="Gentoo", URL="https://gentoo.org"]
LinuxDistrib -> Gentoo
acl [label="POSIX ACL"]
systemd [shape=doubleoctagon]
OpenRC [shape=doubleoctagon]
GRUB2 [shape=doubleoctagon]
systemd_boot [label="systemd-boot", shape=doubleoctagon]
oci [label="OCI Containers"]
virt [label="Containers and Virtualization"]
podman [shape=doubleoctagon]
oci -> podman
LXD [shape=doubleoctagon]
KVM [shape=doubleoctagon]
libvirt [shape=doubleoctagon]
BTRFS [shape=doubleoctagon]
mdadm [shape=doubleoctagon]
libvirt -> {LXD KVM}
virt -> {oci LXD libvirt}
RAID -> { BTRFS mdadm }
vols [label="Volums, Snapshots, ..."]
vols -> { LVM BTRFS }
subgraph clusterLinuxProjects {
graph [label="Project Ideas"]
linuxproj0 [label="Manually install a fully customized Linux system"]
linuxproj1 [label="init: Write systemd units and OpenRC scripts"]
linuxproj2 [label="Make your own package"]
linuxproj3 [label="Build, install and boot a Linux kernel from sources"]
linuxproj4 [label="Install, configure and use a tiling window manager"]
linuxproj5 [label="Setup a Linux router with LibreCMC",
URL="https://librecmc.org"]
linuxproj7 [label="Linux Native Containers and VMs"]
}
}
subgraph clusterDigitalSovereignty {
bgcolor=7
label="Own your stuff"
subgraph clusterSovereignty {
label="Project Ideas"
dsproj0 [label="Cloudless: Serverless synchronization"]
dsproj1 [label="Setup a polivalent home server"]
}
}
}
}

View file

@ -1,72 +0,0 @@
digraph G {
layout=fdp
graph [colorscheme=accent4, style=rounded]
edge [arrowhead=vee]
node [fillcolor=white, style=filled]
subgraph clusterBasics {
graph [label="Basics"]
subgraph clusterShell {
graph [bgcolor=1, label="Shell Basics"]
subgraph clusterShellTools {
label="Tools"
{"grep" "sed" "tmux" "find" "regular expressions"}
}
subgraph clusterShellUsage {
graph [label=Basics]
{"Command History" Shortcuts Autocompletion Environment
Configuration}
}
}
subgraph clusterDev {
graph [bgcolor=2, label="Development tools"]
{ Make "C/C++ compiler" }
subgraph clusterGit {
graph [label="Git"]
{"merge conflicts" branches remotes}
}
}
subgraph clusterVim {
graph [bgcolor=3, label="Vanilla Vim/Neovim"]
{Mouvements, Modes, Commands, Shortcuts, Configuration}
}
subgraph clusterLinux {
graph [bgcolor=4, label=Linux]
Standards -> {FHS XDG}
}
}
subgraph clusterAdvanced {
subgraph clusterAdvancedShell {
graph [bgcolor=1, label="Shell Advanced"]
{"flow control" functions "…"}
}
subgraph clusterAdvancedDev {
graph [bgcolor=2, label="Advanced development tools"]
subgraph CodeTools {
graph [label="Code Tools"]
{"static analysis" "linting" "debugging"}
}
subgraph clusterAdvancedGit {
graph [label=Git]
{"git-lfs" "cherry-pick" "hunks"}
}
}
subgraph clusterAdvancedVim {
graph [bgcolor=3, label="Advanced Vim/Neovim"]
vimplugins [label=Plugins]
vimplugins -> { "Code Completion" "Linting" "Git integration"
"Refactoring" "Debugger integration" "…" "Write your own plugin!"}
}
}
root [label="From n00b to power user", shape=diamond, center=true]
root -> clusterBasics
clusterBasics -> clusterAdvanced
}