From d431c80d4793c80c8c0f2f50dc300a60b23c7d63 Mon Sep 17 00:00:00 2001 From: Razzi Abuissa Date: Fri, 11 Aug 2023 01:12:55 -0500 Subject: [PATCH] Start of razzi.py --- README.md | 9 +++++++++ UNLICENSE | 22 ++++++++++++++++++++++ razzi.py | 31 +++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 README.md create mode 100644 UNLICENSE create mode 100644 razzi.py diff --git a/README.md b/README.md new file mode 100644 index 0000000..d9215f5 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# razzi.py + +Python script to set up a system the razzi way. + +Usage: + +$ python3 razzi.py fish + +Other commands to come: tmux, vim, emacs, ??? diff --git a/UNLICENSE b/UNLICENSE new file mode 100644 index 0000000..b3dbff0 --- /dev/null +++ b/UNLICENSE @@ -0,0 +1,22 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/razzi.py b/razzi.py new file mode 100644 index 0000000..39d5dc2 --- /dev/null +++ b/razzi.py @@ -0,0 +1,31 @@ +import argparse +import subprocess + + +def _shell(command): + """Run a shell command. Only to be used for known, static commands.""" + subprocess.run(command.split()) + + +def do_fish_install(): + print("Installing fish config") + + _shell("sudo apt update") + _shell("sudo apt install -y fish git") + + print("Fish is all set up, reopen the terminal or run `exec fish`") + + +def main(): + parser = argparse.ArgumentParser( + prog="razzi", description="configure system the razzi way" + ) + parser.add_argument("action") + args = parser.parse_args() + + if args.action == "fish": + do_fish_install() + + +if __name__ == "__main__": + main() -- 2.45.2