From d666f30475528ce7f50cc3dd92a1693241083fe8 Mon Sep 17 00:00:00 2001 From: rubiigen Date: Fri, 2 Feb 2024 18:29:45 +0000 Subject: major refactor (treewide amongst general cleaning based on my modified dots (with help from notashelf) - perks 1: it works --- common/arrpc.nix | 15 +++ common/foot.ini | 225 +++++++++++++++++++++++++++++++++++++++++++++ common/gita.nix | 17 ++++ common/gitm.nix | 17 ++++ common/nvim-flake.nix | 23 +++++ common/programs.nix | 8 ++ common/toggle-keyboard.sh | 6 ++ common/waybar-style.nix | 174 +++++++++++++++++++++++++++++++++++ common/waybar.nix | 213 ++++++++++++++++++++++++++++++++++++++++++ common/waybarAU.nix | 230 ++++++++++++++++++++++++++++++++++++++++++++++ 10 files changed, 928 insertions(+) create mode 100644 common/arrpc.nix create mode 100644 common/foot.ini create mode 100644 common/gita.nix create mode 100644 common/gitm.nix create mode 100644 common/nvim-flake.nix create mode 100644 common/programs.nix create mode 100755 common/toggle-keyboard.sh create mode 100644 common/waybar-style.nix create mode 100644 common/waybar.nix create mode 100644 common/waybarAU.nix (limited to 'common') diff --git a/common/arrpc.nix b/common/arrpc.nix new file mode 100644 index 0000000..16f8be6 --- /dev/null +++ b/common/arrpc.nix @@ -0,0 +1,15 @@ +{ + inputs, + pkgs, + home, + ... +}: { + imports = [ + inputs.arrpc.homeManagerModules.default + ]; + + home.packages = [pkgs.webcord-vencord]; + + # provided by the arrpc-flake home-manager module + services.arrpc.enable = true; +} diff --git a/common/foot.ini b/common/foot.ini new file mode 100644 index 0000000..b738306 --- /dev/null +++ b/common/foot.ini @@ -0,0 +1,225 @@ +# -*- conf -*- + +# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd) +# term=foot (or xterm-256color if built with -Dterminfo=disabled) +# login-shell=no + +# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode +# title=foot +# locked-title=no + + font=monospace:size=14 +# font-bold= +# font-italic= +# font-bold-italic= +# font-size-adjustment=0.5 +# line-height= +# letter-spacing=0 +# horizontal-letter-offset=0 +# vertical-letter-offset=0 +# underline-offset= +# underline-thickness= +# box-drawings-uses-font-glyphs=no +# dpi-aware=no + +# initial-window-size-pixels=700x500 # Or, +# initial-window-size-chars= +# initial-window-mode=windowed +# pad=0x0 # optionally append 'center' +# resize-delay-ms=100 + +# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body} + +# bold-text-in-bright=no +# word-delimiters=,│`|:"'()[]{}<> +# selection-target=primary +# workers= +# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux) +# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ‘ulog’ (FreeBSD) + +[environment] +# name=value + +[bell] +# urgent=no +# notify=no +# visual=no +# command= +# command-focused=no + +[scrollback] +# lines=1000 +# multiplier=3.0 +# indicator-position=relative +# indicator-format="" + +[url] +# launch=xdg-open ${url} +# label-letters=sadfjklewcmpgh +# osc8-underline=url-mode +# protocols=http, https, ftp, ftps, file, gemini, gopher +# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[] + +[cursor] +# style=block +# color= +# blink=no +# beam-thickness=1.5 +# underline-thickness= + +[mouse] +# hide-when-typing=no +# alternate-scroll-mode=yes + +[touch] +# long-press-delay=400 + +[colors] + alpha=0.8 + background=1E1E2E + foreground=CDD6F4 +# flash=7f7f00 +# flash-alpha=0.5 + +## Normal/regular colors (color palette 0-7) +# regular0=242424 # black +# regular1=f62b5a # red +# regular2=47b413 # green +# regular3=e3c401 # yellow +# regular4=24acd4 # blue +# regular5=f2affd # magenta +# regular6=13c299 # cyan +# regular7=e6e6e6 # white + +## Bright colors (color palette 8-15) +# bright0=616161 # bright black +# bright1=ff4d51 # bright red +# bright2=35d450 # bright green +# bright3=e9e836 # bright yellow +# bright4=5dc5f8 # bright blue +# bright5=feabf2 # bright magenta +# bright6=24dfc4 # bright cyan +# bright7=ffffff # bright white + +## dimmed colors (see foot.ini(5) man page) +# dim0= +# ... +# dim7= + +## The remaining 256-color palette +# 16 = <256-color palette #16> +# ... +# 255 = <256-color palette #255> + +## Misc colors +# selection-foreground= +# selection-background= +# jump-labels= # black-on-yellow +# scrollback-indicator= # black-on-bright-blue +# search-box-no-match= # black-on-red +# search-box-match= # black-on-yellow +# urls= + +[csd] +# preferred=server +# size=26 +# font= +# color= +# hide-when-maximized=no +# double-click-to-maximize=yes +# border-width=0 +# border-color= +# button-width=26 +# button-color= +# button-minimize-color= +# button-maximize-color= +# button-close-color= + +[key-bindings] +# scrollback-up-page=Shift+Page_Up +# scrollback-up-half-page=none +# scrollback-up-line=none +# scrollback-down-page=Shift+Page_Down +# scrollback-down-half-page=none +# scrollback-down-line=none +# scrollback-home=none +# scrollback-end=none +# clipboard-copy=Control+Shift+c XF86Copy +# clipboard-paste=Control+Shift+v XF86Paste +# primary-paste=Shift+Insert +# search-start=Control+Shift+r +# font-increase=Control+plus Control+equal Control+KP_Add +# font-decrease=Control+minus Control+KP_Subtract +# font-reset=Control+0 Control+KP_0 +# spawn-terminal=Control+Shift+n +# minimize=none +# maximize=none +# fullscreen=none +# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-selected=[xargs -r firefox] none +# show-urls-launch=Control+Shift+o +# show-urls-copy=none +# show-urls-persistent=none +# prompt-prev=Control+Shift+z +# prompt-next=Control+Shift+x +# unicode-input=Control+Shift+u +# noop=none + +[search-bindings] +# cancel=Control+g Control+c Escape +# commit=Return +# find-prev=Control+r +# find-next=Control+s +# cursor-left=Left Control+b +# cursor-left-word=Control+Left Mod1+b +# cursor-right=Right Control+f +# cursor-right-word=Control+Right Mod1+f +# cursor-home=Home Control+a +# cursor-end=End Control+e +# delete-prev=BackSpace +# delete-prev-word=Mod1+BackSpace Control+BackSpace +# delete-next=Delete +# delete-next-word=Mod1+d Control+Delete +# extend-char=Shift+Right +# extend-to-word-boundary=Control+w Control+Shift+Right +# extend-to-next-whitespace=Control+Shift+w +# extend-line-down=Shift+Down +# extend-backward-char=Shift+Left +# extend-backward-to-word-boundary=Control+Shift+Left +# extend-backward-to-next-whitespace=none +# extend-line-up=Shift+Up +# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste +# primary-paste=Shift+Insert +# unicode-input=none +# scrollback-up-page=Shift+Page_Up +# scrollback-up-half-page=none +# scrollback-up-line=none +# scrollback-down-page=Shift+Page_Down +# scrollback-down-half-page=none +# scrollback-down-line=none +# scrollback-home=none +# scrollback-end=none + +[url-bindings] +# cancel=Control+g Control+c Control+d Escape +# toggle-url-visible=t + +[text-bindings] +# \x03=Mod4+c # Map Super+c -> Ctrl+c + +[mouse-bindings] +# scrollback-up-mouse=BTN_BACK +# scrollback-down-mouse=BTN_FORWARD +# selection-override-modifiers=Shift +# primary-paste=BTN_MIDDLE +# select-begin=BTN_LEFT +# select-begin-block=Control+BTN_LEFT +# select-extend=BTN_RIGHT +# select-extend-character-wise=Control+BTN_RIGHT +# select-word=BTN_LEFT-2 +# select-word-whitespace=Control+BTN_LEFT-2 +# select-quote = BTN_LEFT-3 +# select-row=BTN_LEFT-4 + +# vim: ft=dosini diff --git a/common/gita.nix b/common/gita.nix new file mode 100644 index 0000000..9dee562 --- /dev/null +++ b/common/gita.nix @@ -0,0 +1,17 @@ +_: { + # enable programs + programs = { + git = { + enable = true; + userName = "rubiigen"; + userEmail = "alyxwren@proton.me"; + extraConfig = { + commit.gpgsign = true; + gpg.format = "ssh"; + user.signingkey = "~/.ssh/id_ed25519.pub"; + init.defaultBranch = "master"; + }; + }; + # ... add more programs as you see fit + }; +} diff --git a/common/gitm.nix b/common/gitm.nix new file mode 100644 index 0000000..ef78829 --- /dev/null +++ b/common/gitm.nix @@ -0,0 +1,17 @@ +_: { + # enable programs + programs = { + git = { + enable = true; + userName = "beanigen"; + userEmail = "beanigit@protonmail.com"; + extraConfig = { + commit.gpgsign = true; + gpg.format = "ssh"; + user.signingkey = "~/.ssh/id_ed25519.pub"; + init.defaultBranch = "master"; + }; + }; + # ... add more programs as you see fit + }; +} diff --git a/common/nvim-flake.nix b/common/nvim-flake.nix new file mode 100644 index 0000000..daed404 --- /dev/null +++ b/common/nvim-flake.nix @@ -0,0 +1,23 @@ +{inputs, ...}: { + + imports = [ inputs.neovim-flake.homeManagerModules.default ]; + # enable programs + programs = { + neovim-flake = { + enable = true; + settings = { + vim.languages = { + nix.enable = true; + nix.lsp.enable = true; + ts.enable = true; + python.enable = true; + html.enable = true; + }; + vim.lsp = { + enable = true; + }; + }; + }; + # ... add more programs as you see fit + }; +} diff --git a/common/programs.nix b/common/programs.nix new file mode 100644 index 0000000..6970d2c --- /dev/null +++ b/common/programs.nix @@ -0,0 +1,8 @@ +_: { + # enable programs + programs = { + foot.enable = true; + wezterm.enable = true; + # ... add more programs as you see fit + }; +} diff --git a/common/toggle-keyboard.sh b/common/toggle-keyboard.sh new file mode 100755 index 0000000..37d9984 --- /dev/null +++ b/common/toggle-keyboard.sh @@ -0,0 +1,6 @@ +if pgrep -x "wvkbd-mobintl" > /dev/null +then + pkill wvkbd +else + wvkbd-mobintl -L 325 & +fi diff --git a/common/waybar-style.nix b/common/waybar-style.nix new file mode 100644 index 0000000..1297ade --- /dev/null +++ b/common/waybar-style.nix @@ -0,0 +1,174 @@ +'' + * { + border: none; + font-family: "JetbrainsMono Nerd Font", "Font Awesome 5" ; + font-size: 14px; + border-radius: 12px; /* Controls Rounding */ + } + + #window { + /*font-weight: bold;*/ + margin-top: 2px; + padding-left: 10px; + padding-right: 10px; + padding-bottom: 2px; + border-radius: 8px; + transition: none; + } + + window#waybar { + background: #000000; + padding: 2px 2px 2px 0px; + margin: 7; + /* background: transparent; */ + } + + window#waybar.empty { + animation: fadeIn 5s; + } + + # tray { + padding: 0 10px; + } + + window#waybar.hidden { + opacity: 0.2; + } + + /*-----module groups----*/ + .modules-right { + /* margin: 0 -12px 0 0; */ + padding-right:7px; + margin: 4px; + } + + .mnodules-center { + /* background: transparent; */ + margin: 0 0 0 0; + + } + + .modules-left { + /* margin: 0 -12px 0 0; */ + padding-left:7px; + } + + tooltip { + background: #060606; + color: #ffffff; + border-radius: 10; + } + + #workspaces { + padding: 0 10px; + } + + /*-----modules indv----*/ + #workspaces button { + font-weight: bold; + padding-right: 0px; + /* padding-right: 7px */ + } + #workspaces button:hover { + font-weight: bold; + padding-right: 0px; + /* padding-right: 7px */ + } + + #workspaces button.focused { + font-weight: bold; + padding-right: 0px; + /* padding-right: 7px */ + } + + #workspaces button.active { + font-weight: bold; + /* background-color: #ffffff; */ + /* padding-right: 7px */ + } + + #custom-sep_l { + color: #ffffff; + margin: 0px 10px 0px 10px; + } + + #custom-sep_r { + color: #ffffff; + padding-left: 4px; + padding-right: 4px; + } + + #custom-sep { + color: #ffffff; + } + + #custom-empty { + color: #ffffff; + } + + #clock { + font-weight: bold; + padding: 0px 4px + } + + #battery, #cpu, #memory, #temperature, #network, #pulseaudio, #custom-media, #backlight { + padding: 0 10px; + } + + #custom-updates { + padding: 0px 0px + } + + #keyboard-state { + padding-left: 0px; + padding-right: 0px; + } + + #mode, + #custom-power { + padding: 0 10px; + } + + #custom-launcher { + font-weight: bold; + /* padding-right: 7px */ + } + #custom-menu { + font-weight: bold; + /* padding-right: 7px; */ + } + #idle_inhibitor { + padding: 0 5px; + } + + #mode { + color: #cc3436; + font-weight: bold; + } + + /*-----Indicators----*/ + #network.disconnected { + color: #ff5454; + } + #network.disabled { + color: #e3c78a; + } + #idle_inhibitor.activated { + color: #2dcc36; + } + #pulseaudio.muted { + color: #aaaaaa; + } + #battery.charging { + color: #8cc85f; + } + #battery.warning:not(.charging) { + color: #e3c78a; + } + #battery.critical:not(.charging) { + color: #ff5454; + } + #temperature.critical { + color: #ff5454; + } +'' diff --git a/common/waybar.nix b/common/waybar.nix new file mode 100644 index 0000000..812da4d --- /dev/null +++ b/common/waybar.nix @@ -0,0 +1,213 @@ +{ + mainBar = { + margin-top = 7; + margin-left = 7; + margin-right = 7; + layer = "top"; + position = "top"; + fixed-center = true; + + modules-left = [ + "custom/wvkbd" + "custom/nwggrid" + "hyprland/workspaces" + "tray" + "custom/power" + ]; + + modules-center = [ + "clock" + "sep" + "custom/notification" + ]; + + modules-right = [ + "battery" + "cpu" + "temperature" + "backlight" + "disk" + "memory" + "pulseaudio" + "network" + ]; + + "custom/sep_r" = { + format = " "; + }; + + "custom/sep" = { + format = " "; + }; + + "custom/sep_l" = { + format = " "; + }; + + "custom/wvkbd" = { + format = " 󰌌 "; + on-click = "~/.config/nixos/homes/common/toggle-keyboard.sh"; + }; + + "custom/nwggrid" = { + format = " 󰕰 "; + on-click = "nwggrid"; + }; + + "backlight" = { + device = "acpi_video1"; + format = "{icon}{percent}%"; + format-icons = [" " " " " " " " " " " " " " " " " "]; + }; + + "custom/notification" = { + tooltip = true; + format = "{icon}"; + format-icons = { + "notification" = "  "; + "none" = "  "; + "dnd-notification" = "  "; + "dnd-none" = "  "; + }; + return-type = "json"; + exec-if = "which swaync-client"; + exec = "swaync-client -swb"; + on-click = "swaync-client -t -sw"; + on-click-middle = "swaync-client -d -sw"; + on-click-right = "swaync-client -C"; + escape = true; + }; + + "hyprland/workspaces" = { + disable-scroll = false; + all-outputs = true; + format = "{icon}"; + "on-scroll-up" = "hyprctl dispatch workspace e+1"; + "on-scroll-down" = "hyprctl dispatch workspace e-1"; + "on-click" = "activate"; + active-only = true; + format-icons = { + "1" = "I"; + "2" = "II"; + "3" = "III"; + "4" = "IV"; + "5" = "V"; + "6" = "VI"; + "7" = "VII"; + "8" = "VIII"; + "9" = "IX"; + "10" = "X"; + "11" = "XI"; + "12" = "XII"; + }; + }; + + "hyprland/language" = { + format = "{}"; + format-tr = "TR"; + }; + + "temperature" = { + critical-threshold = 85; + format-critical = "{temperatureC}°C {icon}"; + format = "{icon} {temperatureC}°C"; + format-icons = [" " "" " "]; + }; + + "hyprland/window" = { + format = "{}"; + seperate-outputs = true; + }; + + "keyboard-state" = { + interval = 1; + numlock = false; + capslock = false; + format = "{icon}"; + format-icons = { + "locked" = " "; + "unlocked" = ""; + }; + }; + + "idle_inhibitor" = { + format = "{icon}"; + format-icons = { + "activated" = ""; + "deactivated" = ""; + }; + }; + + "tray" = { + icon-size = 16; + spacing = 6; + }; + + "clock" = { + timezone = "Europe/London"; + format = "{: %H:%M}"; + format-alt = "{: %H:%M  %d/%m/%Y}"; + tooltip-format = "{: %H:%M  %d/%m/%Y}"; + today-format = "{}"; + calendar-weeks-pos = "right"; + format-calendar = "{}"; + format-calendar-weeks = "{}"; + format-calendar-weekdays = "{}"; + interval = 10; + on-click-middle = "kalendar"; + }; + + "cpu" = { + format = " {usage}%"; + tooltip = false; + }; + + "memory" = { + format = " {}%"; + }; + + "battery" = { + states = { + "good" = 80; + "warning" = 30; + "critical" = 5; + }; + format = "{icon}{capacity}% "; + format-charging = " {capacity}% "; + format-plugged = " {capacity}% "; + format-alt = "{icon}{time}"; + format-icons = [" " " " " " " " " "]; + }; + + "network" = { + format-wifi = " Connected"; + format-ethernet = " Connected"; + format-disconnected = " Disconnected"; + tooltip-format-wifi = "{essid} | Signal Strenght: {signalStrength}% | Down Speed: {bandwidthDownBits}, Up Speed: {bandwidthUpBits}"; + tooltip-format = "{ifname} via {gwaddr} "; + tooltip-format-ethernet = "{ipaddr} "; + format-linked = "{ifname} (No IP) "; + format-alt = "{ifname}: {ipaddr}/{cidr}"; + }; + + "pulseaudio" = { + on-click = "pavucontrol"; + format = "{icon}{volume}%"; + format-icons = { + "default" = [" " " " " "]; + }; + }; + + "disk" = { + interval = 90; + format = " {free} (/)"; + tooltip-format = "{used} / {total} ({percentage_used}%)"; + path = "/"; + }; + + "custom/power" = { + format = " "; + on-click = "hyprctl dispatch exit"; + }; + }; +} diff --git a/common/waybarAU.nix b/common/waybarAU.nix new file mode 100644 index 0000000..a59842c --- /dev/null +++ b/common/waybarAU.nix @@ -0,0 +1,230 @@ +{ + mainBar = { + margin-top = 7; + margin-left = 7; + margin-right = 7; + layer = "top"; + position = "top"; + fixed-center = true; + + modules-left = [ + "custom/wvkbd" + "custom/nwggrid" + "hyprland/workspaces" + "tray" + "custom/power" + ]; + + modules-center = [ + "clock" + "sep" + "custom/notification" + ]; + + modules-right = [ + "battery" + "battery#bat2" + "cpu" + "temperature" + "backlight" + "disk" + "memory" + "pulseaudio" + "network" + ]; + + "custom/sep_r" = { + format = " "; + }; + + "custom/sep" = { + format = " "; + }; + + "custom/sep_l" = { + format = " "; + }; + + "custom/wvkbd" = { + format = " 󰌌 "; + on-click = "~/.config/nixos/homes/common/toggle-keyboard.sh"; + }; + + "custom/nwggrid" = { + format = " 󰕰 "; + on-click = "nwggrid"; + }; + + "backlight" = { + device = "acpi_video1"; + format = "{icon}{percent}%"; + format-icons = [" " " " " " " " " " " " " " " " " "]; + }; + + "custom/notification" = { + tooltip = true; + format = "{icon}"; + format-icons = { + "notification" = "  "; + "none" = "  "; + "dnd-notification" = "  "; + "dnd-none" = "  "; + }; + return-type = "json"; + exec-if = "which swaync-client"; + exec = "swaync-client -swb"; + on-click = "swaync-client -t -sw"; + on-click-middle = "swaync-client -d -sw"; + on-click-right = "swaync-client -C"; + escape = true; + }; + + "hyprland/workspaces" = { + disable-scroll = false; + all-outputs = true; + format = "{icon}"; + "on-scroll-up" = "hyprctl dispatch workspace e+1"; + "on-scroll-down" = "hyprctl dispatch workspace e-1"; + "on-click" = "activate"; + active-only = true; + format-icons = { + "1" = "I"; + "2" = "II"; + "3" = "III"; + "4" = "IV"; + "5" = "V"; + "6" = "VI"; + "7" = "VII"; + "8" = "VIII"; + "9" = "IX"; + "10" = "X"; + "11" = "XI"; + "12" = "XII"; + }; + }; + + "hyprland/language" = { + format = "{}"; + format-tr = "TR"; + }; + + "temperature" = { + critical-threshold = 85; + format-critical = "{temperatureC}°C {icon}"; + format = "{icon} {temperatureC}°C"; + format-icons = [" " "" " "]; + }; + + "hyprland/window" = { + format = "{}"; + seperate-outputs = true; + }; + + "keyboard-state" = { + interval = 1; + numlock = false; + capslock = false; + format = "{icon}"; + format-icons = { + "locked" = " "; + "unlocked" = ""; + }; + }; + + "idle_inhibitor" = { + format = "{icon}"; + format-icons = { + "activated" = ""; + "deactivated" = ""; + }; + }; + + "tray" = { + icon-size = 16; + spacing = 6; + }; + + "clock" = { + timezone = "Australia/Perth"; + format = "{: %H:%M}"; + format-alt = "{: %H:%M  %d/%m/%Y}"; + tooltip-format = "{: %H:%M  %d/%m/%Y}"; + today-format = "{}"; + calendar-weeks-pos = "right"; + format-calendar = "{}"; + format-calendar-weeks = "{}"; + format-calendar-weekdays = "{}"; + interval = 10; + on-click-middle = "kalendar"; + }; + + "cpu" = { + format = " {usage}%"; + tooltip = false; + }; + + "memory" = { + format = " {}%"; + }; + + "battery" = { + states = { + "good" = 80; + "warning" = 30; + "critical" = 5; + }; + format = "{icon}{capacity}% "; + format-charging = " {capacity}% "; + format-plugged = " {capacity}% "; + format-alt = "{icon}{time}"; + format-icons = [" " " " " " " " " "]; + interval = 3; + }; + + "battery#bat2" = { + states = { + "good" = 80; + "warning" = 30; + "critical" = 5; + }; + format = "{icon}{capacity}% "; + format-charging = " {capacity}% "; + format-plugged = " {capacity}% "; + format-alt = "{icon}{time}"; + format-icons = [" " " " " " " " " "]; + interval = 3; + bat = "BAT2"; + }; + + "network" = { + format-wifi = " Connected"; + format-ethernet = " Connected"; + format-disconnected = " Disconnected"; + tooltip-format-wifi = "{essid} | Signal Strenght: {signalStrength}% | Down Speed: {bandwidthDownBits}, Up Speed: {bandwidthUpBits}"; + tooltip-format = "{ifname} via {gwaddr} "; + tooltip-format-ethernet = "{ipaddr} "; + format-linked = "{ifname} (No IP) "; + format-alt = "{ifname}: {ipaddr}/{cidr}"; + }; + + "pulseaudio" = { + on-click = "pavucontrol"; + format = "{icon}{volume}%"; + format-icons = { + "default" = [" " " " " "]; + }; + }; + + "disk" = { + interval = 90; + format = " {free} (/)"; + tooltip-format = "{used} / {total} ({percentage_used}%)"; + path = "/"; + }; + + "custom/power" = { + format = " "; + on-click = "hyprctl dispatch exit"; + }; + }; +} -- cgit v1.2.3-54-g00ecf