@@ 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, ???
@@ 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.
@@ 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()