diff --git a/.gitmodules b/.gitmodules index 1756160..d64d61e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,7 @@ [submodule "dirs/klipper"] path = dirs/klipper url = https://github.com/Klipper3d/klipper + +[submodule "dirs/moonraker"] + path = dirs/moonraker + url = https://github.com/Arksine/moonraker \ No newline at end of file diff --git a/README.md b/README.md index aad3749..b18f4ab 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,9 @@ Huge WIP FYI ## TODO -* Install prerequisites -* Select Klipper config and copy to ./dirs/klipper -* Compile Klipper in ./dirs/klipper -* Install Klipper onto USB device (TUI picker, save device path for later) +* ~~Select Klipper config and copy to ./dirs/klipper~~ +* ~~Compile Klipper in ./dirs/klipper~~ +* ~~Install Klipper onto USB device (TUI picker, save device path for later)~~ * Edit config files accordingly * Recursive Copy dirs into `~//` * Install System services diff --git a/config/apt-packages b/config/apt-packages new file mode 100644 index 0000000..5637a78 --- /dev/null +++ b/config/apt-packages @@ -0,0 +1,17 @@ +git +virtualenv +python-dev +libffi-dev +build-essential +libncurses-dev +libusb-dev +avrdude +gcc-avr +binutils-avr +avr-libc +stm32flash +dfu-util +libnewlib-arm-none-eabi +gcc-arm-none-eabi +binutils-arm-none-eabi +libusb-1.0 \ No newline at end of file diff --git a/config/drwho-packages b/config/drwho-packages new file mode 100644 index 0000000..011affc --- /dev/null +++ b/config/drwho-packages @@ -0,0 +1,1294 @@ +adduser +adwaita-icon-theme +alsa-topology-conf +alsa-ucm-conf +alsa-utils +apt-listchanges +apt-utils +apt +aspell-en +aspell +at-spi2-core +avahi-autoipd +avahi-daemon +avahi-discover +avahi-dnsconfd +avahi-ui-utils +avahi-utils +avr-libc +avrdude +base-files +base-passwd +bash-completion +bash +bind9-host +bind9-libs +binutils-aarch64-linux-gnu +binutils-arm-none-eabi +binutils-avr +binutils-common +binutils +blt +bluez-firmware +bluez +bsdextrautils +bsdutils +bubblewrap +build-essential +busybox +bzip2 +ca-certificates +chafa +cheese-common +cheese +cifs-utils +cmake-data +cmake +console-setup-linux +console-setup +coreutils +cpio +cpp-10 +cpp +crda +cron +crudini +curl +dash +dbus-user-session +dbus +dc +dconf-gsettings-backend +dconf-service +debconf-i18n +debconf-utils +debconf +debian-archive-keyring +debianutils +desktop-file-utils +device-tree-compiler +dfu-util +dhcpcd5 +dictionaries-common +diffutils +dirmngr +distro-info-data +dmidecode +dmsetup +dns-root-data +dnsmasq-base +docbook-xml +dos2unix +dosfstools +dphys-swapfile +dpkg-dev +dpkg +e2fsprogs +ed +eject +emacsen-common +enchant-2 +ethtool +exfatprogs +fake-hwclock +fakeroot +fbset +fdisk +ffmpeg +file +findutils +firmware-atheros +firmware-brcm80211 +firmware-libertas +firmware-misc-nonfree +firmware-realtek +flashrom +fontconfig-config +fontconfig +fonts-dejavu-core +fonts-dejavu-extra +fonts-dejavu +fonts-droid-fallback +fonts-lyx +fonts-noto-mono +fonts-urw-base35 +freeglut3 +fuse +g++-10 +g++ +gcc-10-base +gcc-10 +gcc-9-base +gcc-arm-none-eabi +gcc-avr +gcc +gdal-data +gdb +gdisk +geoip-database +gettext-base +ghostscript +gir1.2-atk-1.0 +gir1.2-freedesktop +gir1.2-gdkpixbuf-2.0 +gir1.2-glib-2.0 +gir1.2-gtk-3.0 +gir1.2-harfbuzz-0.0 +gir1.2-pango-1.0 +git-man +git +glib-networking-common +glib-networking-services +glib-networking +gnome-desktop3-data +gnome-video-effects +gnupg-l10n +gnupg-utils +gnupg +gpg-agent +gpg-wks-client +gpg-wks-server +gpg +gpgconf +gpgsm +gpgv +grep +groff-base +gsettings-desktop-schemas +gsfonts +gstreamer1.0-clutter-3.0 +gstreamer1.0-gl +gstreamer1.0-libav +gstreamer1.0-plugins-bad +gstreamer1.0-plugins-base +gstreamer1.0-plugins-good +gstreamer1.0-x +gtk-update-icon-cache +gvfs-common +gvfs-daemons +gvfs-libs +gvfs +gzip +hardlink +hicolor-icon-theme +hostname +htop +hunspell-en-us +i2c-tools +ifupdown +imagemagick-6-common +init-system-helpers +init +initramfs-tools-core +initramfs-tools +iproute2 +iptables +iputils-ping +isc-dhcp-client +isc-dhcp-common +iso-codes +iw +javascript-common +kbd +keyboard-configuration +keyutils +klibc-utils +kmod +kms++-utils +less +libaa1 +libaacs0 +libacl1 +libaec0 +libalgorithm-diff-perl +libalgorithm-diff-xs-perl +libalgorithm-merge-perl +libalien-wxwidgets-perl +libaom0 +libapparmor1 +libappstream4 +libapt-pkg6.0 +libarchive13 +libargon2-1 +libarmadillo10 +libarpack2 +libasan6 +libasound2-data +libasound2 +libaspell15 +libass9 +libassuan0 +libasyncns0 +libatasmart4 +libatk-bridge2.0-0 +libatk1.0-0 +libatk1.0-data +libatlas-base-dev +libatlas3-base +libatomic1 +libatopology2 +libatspi2.0-0 +libattr1 +libaudit-common +libaudit1 +libauthen-sasl-perl +libavahi-client3 +libavahi-common-data +libavahi-common3 +libavahi-core7 +libavahi-glib1 +libavahi-ui-gtk3-0 +libavc1394-0 +libavcodec-dev +libavcodec58 +libavdevice58 +libavfilter7 +libavformat-dev +libavformat58 +libavresample4 +libavutil-dev +libavutil56 +libb-hooks-endofscope-perl +libb-hooks-op-check-perl +libbabeltrace1 +libbasicusageenvironment1 +libbdplus0 +libbinutils +libblas3 +libblkid1 +libblockdev-crypto2 +libblockdev-fs2 +libblockdev-loop2 +libblockdev-part-err2 +libblockdev-part2 +libblockdev-swap2 +libblockdev-utils2 +libblockdev2 +libbluetooth3 +libbluray2 +libboost-filesystem1.74.0 +libboost-geometry-utils-perl +libboost-nowide1.74.0 +libboost-program-options1.74.0 +libboost-regex1.74.0 +libboost-thread1.74.0 +libbpf0 +libbrotli-dev +libbrotli1 +libbs2b0 +libbsd-dev +libbsd0 +libbz2-1.0 +libc-bin +libc-dev-bin +libc-devtools +libc-l10n +libc6-dbg +libc6-dev +libc6 +libcaca0 +libcairo-gobject2 +libcairo2 +libcamera-apps-lite +libcamera-dev +libcamera0 +libcanberra-gtk3-0 +libcanberra-gtk3-module +libcanberra0 +libcap-ng0 +libcap2-bin +libcap2 +libcbor0 +libcc1-0 +libcdio-cdda2 +libcdio-paranoia2 +libcdio19 +libcdparanoia0 +libcfitsio9 +libcgi-fast-perl +libcgi-pm-perl +libchafa0 +libcharls2 +libcheese-gtk25 +libcheese8 +libchromaprint1 +libclass-accessor-perl +libclass-method-modifiers-perl +libclass-xsaccessor-perl +libclone-perl +libclutter-1.0-0 +libclutter-1.0-common +libclutter-gst-3.0-0 +libclutter-gtk-1.0-0 +libcodec2-0.9 +libcogl-common +libcogl-pango20 +libcogl-path20 +libcogl20 +libcolord2 +libcom-err2 +libconstant-defer-perl +libcrypt-dev +libcrypt1 +libcryptsetup12 +libctf-nobfd0 +libctf0 +libcups2 +libcurl3-gnutls +libcurl4 +libdaemon0 +libdap27 +libdapclient6v5 +libdata-dump-perl +libdatrie1 +libdav1d4 +libdb5.3 +libdbus-1-3 +libdc1394-25 +libdca0 +libdconf1 +libde265-0 +libdebconfclient0 +libdebuginfod1 +libdeflate0 +libdevel-callchecker-perl +libdevmapper1.02.1 +libdns-export1110 +libdpkg-perl +libdrm-amdgpu1 +libdrm-common +libdrm-nouveau2 +libdrm-radeon1 +libdrm2 +libdv4 +libdvdnav4 +libdvdread8 +libdw1 +libdynaloader-functions-perl +libebml5 +libedit2 +libegl-dev +libegl-mesa0 +libegl1 +libelf1 +libenchant-2-2 +libencode-locale-perl +libepoxy0 +libepsilon1 +liberror-perl +libestr0 +libevdev2 +libevent-2.1-7 +libevent-core-2.1-7 +libevent-dev +libevent-extra-2.1-7 +libevent-openssl-2.1-7 +libevent-pthreads-2.1-7 +libexif12 +libexpat1-dev +libexpat1 +libext2fs2 +libfaad2 +libfakeroot +libfastjson4 +libfcgi-bin +libfcgi-perl +libfcgi0ldbl +libfdisk1 +libfdt1 +libffi-dev +libffi7 +libfftw3-double3 +libfftw3-single3 +libfido2-1 +libfile-fcntllock-perl +libfile-listing-perl +libflac8 +libflite1 +libfluidsynth2 +libfmt7 +libfont-afm-perl +libfont-ttf-perl +libfontconfig1 +libfreetype-dev +libfreetype6-dev +libfreetype6 +libfreexl1 +libfribidi0 +libfstrm0 +libftdi1-2 +libftdi1 +libfuse2 +libfyba0 +libgail-common +libgail18 +libgbm1 +libgcc-10-dev +libgcc-s1 +libgck-1-0 +libgcr-base-3-1 +libgcrypt20 +libgd3 +libgdal28 +libgdbm-compat4 +libgdbm6 +libgdcm3.0 +libgdk-pixbuf-2.0-0 +libgdk-pixbuf-xlib-2.0-0 +libgdk-pixbuf2.0-0 +libgdk-pixbuf2.0-bin +libgdk-pixbuf2.0-common +libgeoip1 +libgeos-3.9.0 +libgeos-c1v5 +libgeotiff5 +libgfortran5 +libgif7 +libgirepository-1.0-1 +libgl-dev +libgl1-mesa-dev +libgl1-mesa-dri +libgl1 +libglapi-mesa +libgles-dev +libgles1 +libgles2 +libglib2.0-0 +libglib2.0-bin +libglib2.0-data +libglu1-mesa-dev +libglu1-mesa +libglvnd-dev +libglvnd0 +libglx-dev +libglx-mesa0 +libglx0 +libgme0 +libgmp10 +libgnome-desktop-3-19 +libgnutls30 +libgomp1 +libgpg-error0 +libgpgme11 +libgphoto2-6 +libgphoto2-l10n +libgphoto2-port12 +libgpm2 +libgraphene-1.0-0 +libgraphite2-3 +libgroupsock8 +libgs9-common +libgs9 +libgsm1 +libgssapi-krb5-2 +libgssdp-1.2-0 +libgstreamer-gl1.0-0 +libgstreamer-plugins-bad1.0-0 +libgstreamer-plugins-base1.0-0 +libgstreamer1.0-0 +libgtk-3-0 +libgtk-3-bin +libgtk-3-common +libgtk2.0-0 +libgtk2.0-bin +libgtk2.0-common +libgudev-1.0-0 +libgupnp-1.2-0 +libgupnp-igd-1.0-4 +libharfbuzz-icu0 +libharfbuzz0b +libhdf4-0-alt +libhdf5-103-1 +libhdf5-hl-100 +libheif1 +libhidapi-libusb0 +libhogweed6 +libhtml-form-perl +libhtml-format-perl +libhtml-parser-perl +libhtml-tagset-perl +libhtml-tree-perl +libhttp-cookies-perl +libhttp-daemon-perl +libhttp-date-perl +libhttp-message-perl +libhttp-negotiate-perl +libhunspell-1.7-0 +libhyphen0 +libi2c0 +libice6 +libicu67 +libidn11 +libidn2-0 +libiec61883-0 +libijs-0.35 +libilmbase25 +libimage-png-libpng-perl +libimagequant0 +libimport-into-perl +libinput-bin +libinput10 +libinstpatch-1.0-2 +libio-all-perl +libio-html-perl +libio-socket-ssl-perl +libio-string-perl +libio-stringy-perl +libip4tc2 +libip6tc2 +libisc-export1105 +libisl23 +libitm1 +libiw30 +libjack-jackd2-0 +libjansson4 +libjavascriptcoregtk-4.0-18 +libjbig0 +libjbig2dec0 +libjim0.79 +libjpeg-dev +libjpeg62-turbo-dev +libjpeg62-turbo +libjs-jquery-ui +libjs-jquery +libjs-sphinxdoc +libjs-underscore +libjson-c5 +libjson-glib-1.0-0 +libjson-glib-1.0-common +libjsoncpp24 +libk5crypto3 +libkate1 +libkeyutils1 +libklibc +libkmlbase1 +libkmldom1 +libkmlengine1 +libkmod2 +libkms++0 +libkrb5-3 +libkrb5support0 +libksba8 +liblapack3 +liblcms2-2 +libldap-2.4-2 +libldap-common +liblept5 +liblilv-0-0 +liblinear4 +liblivemedia-dev +liblivemedia77 +libllvm11 +liblmdb-dev +liblmdb0 +liblocale-gettext-perl +liblognorm5 +liblqr-1-0 +liblsan0 +libltc11 +libltdl7 +liblua5.1-0 +liblua5.3-0 +libluajit-5.1-2 +libluajit-5.1-common +liblwp-mediatypes-perl +liblwp-protocol-https-perl +liblz4-1 +liblzma5 +libmagic-mgc +libmagic1 +libmagickcore-6.q16-6 +libmagickwand-6.q16-6 +libmailtools-perl +libmanette-0.2-0 +libmariadb3 +libmath-convexhull-monotonechain-perl +libmath-geometry-voronoi-perl +libmath-libm-perl +libmath-planepath-perl +libmatroska7 +libmaxminddb0 +libmbim-glib4 +libmbim-proxy +libmd-dev +libmd0 +libminizip1 +libmjpegutils-2.1-0 +libmm-glib0 +libmms0 +libmnl0 +libmodplug1 +libmodule-implementation-perl +libmodule-pluggable-perl +libmodule-runtime-perl +libmoo-perl +libmount1 +libmp3lame0 +libmpc3 +libmpcdec6 +libmpdec3 +libmpeg2encpp-2.1-0 +libmpfr6 +libmpg123-0 +libmplex2-2.1-0 +libmsgpackc2 +libmtdev1 +libmtp-common +libmtp-runtime +libmtp9 +libmysofa1 +libnamespace-clean-perl +libncurses-dev +libncurses6 +libncursesw6 +libndp0 +libnet-http-perl +libnet-smtp-ssl-perl +libnet-ssleay-perl +libnetcdf18 +libnetfilter-conntrack3 +libnettle8 +libnewlib-arm-none-eabi +libnewlib-dev +libnewt0.52 +libnfnetlink0 +libnfsidmap2 +libnftables1 +libnftnl11 +libnghttp2-14 +libnginx-mod-http-geoip +libnginx-mod-http-image-filter +libnginx-mod-http-xslt-filter +libnginx-mod-mail +libnginx-mod-stream-geoip +libnginx-mod-stream +libnice10 +libnl-3-200 +libnl-genl-3-200 +libnl-route-3-200 +libnm0 +libnorm1 +libnotify4 +libnpth0 +libnsl-dev +libnsl2 +libnspr4 +libnss-mdns +libnss3 +libntfs-3g883 +libnuma1 +libodbc1 +libofa0 +libogdi4.1 +libogg0 +libopenal-data +libopenal1 +libopencv-calib3d4.5 +libopencv-contrib4.5 +libopencv-core4.5 +libopencv-dnn4.5 +libopencv-features2d4.5 +libopencv-flann4.5 +libopencv-highgui4.5 +libopencv-imgcodecs4.5 +libopencv-imgproc4.5 +libopencv-ml4.5 +libopencv-objdetect4.5 +libopencv-photo4.5 +libopencv-shape4.5 +libopencv-stitching4.5 +libopencv-video4.5 +libopencv-videoio4.5 +libopenexr25 +libopengl-dev +libopengl-perl +libopengl0 +libopenjp2-7 +libopenmpt0 +libopenni2-0 +libopus0 +liborc-0.4-0 +libp11-kit0 +libpackage-stash-perl +libpackage-stash-xs-perl +libpackagekit-glib2-18 +libpam-chksshpwd +libpam-modules-bin +libpam-modules +libpam-runtime +libpam-systemd +libpam0g +libpango-1.0-0 +libpangocairo-1.0-0 +libpangoft2-1.0-0 +libpangoxft-1.0-0 +libpaper-utils +libpaper1 +libparams-classify-perl +libparams-validate-perl +libparted-fs-resize0 +libparted2 +libpcap0.8 +libpci3 +libpcre2-8-0 +libpcre2-posix2 +libpcre3 +libpcsclite1 +libpdf-api2-perl +libpdf-api2-xs-perl +libperl5.32 +libpgm-5.3-0 +libpipeline1 +libpipewire-0.3-0 +libpipewire-0.3-modules +libpixman-1-0 +libpng-dev +libpng-tools +libpng16-16 +libpocketsphinx3 +libpolkit-agent-1-0 +libpolkit-gobject-1-0 +libpoppler102 +libpopt0 +libpostproc55 +libpq5 +libprocps8 +libproj19 +libprotobuf-c1 +libprotobuf23 +libproxy1v5 +libpsl5 +libpthread-stubs0-dev +libpugixml1v5 +libpulse0 +libpython3-dev +libpython3-stdlib +libpython3.9-dev +libpython3.9-minimal +libpython3.9-stdlib +libpython3.9 +libqhull8.0 +libqmi-glib5 +libqmi-proxy +librabbitmq4 +libraspberrypi-bin +libraspberrypi-dev +libraspberrypi-doc +libraspberrypi0 +libraw1394-11 +libreadline8 +librest-0.7-0 +librhash0 +librole-tiny-perl +librsvg2-2 +librsvg2-common +librtmp1 +librttopo1 +librubberband2 +libsamplerate0 +libsasl2-2 +libsasl2-modules-db +libsasl2-modules +libsbc1 +libsdl2-2.0-0 +libseccomp2 +libsecret-1-0 +libsecret-common +libselinux1 +libsemanage-common +libsemanage1 +libsensors-config +libsensors5 +libsepol1 +libserd-0-0 +libshine3 +libshout3 +libslang2 +libsm6 +libsmartcols1 +libsnappy1v5 +libsndfile1 +libsndio7.0 +libsocket++1 +libsodium-dev +libsodium23 +libsord-0-0 +libsoundtouch1 +libsoup-gnome2.4-1 +libsoup2.4-1 +libsource-highlight-common +libsource-highlight4v5 +libsoxr0 +libspa-0.2-modules +libspandsp2 +libspatialite7 +libspeex1 +libsphinxbase3 +libspiffy-perl +libsqlite3-0 +libsratom-0-0 +libsrt1.4-gnutls +libsrtp2-1 +libss2 +libssh-gcrypt-4 +libssh2-1 +libssl-dev +libssl1.1 +libstdc++-10-dev +libstdc++-arm-none-eabi-newlib +libstdc++6 +libstemmer0d +libstrictures-perl +libsub-exporter-progressive-perl +libsub-identify-perl +libsub-name-perl +libsub-quote-perl +libsuperlu5 +libsvg-perl +libswresample-dev +libswresample3 +libswscale5 +libsystemd0 +libsz2 +libtag1v5-vanilla +libtag1v5 +libtalloc2 +libtasn1-6 +libtbb2 +libtcl8.6 +libtdb1 +libteamdctl0 +libtermkey1 +libtesseract4 +libtevent0 +libtext-charwidth-perl +libtext-iconv-perl +libtext-wrapi18n-perl +libthai-data +libthai0 +libtheora0 +libtiff5 +libtimedate-perl +libtinfo6 +libtirpc-common +libtirpc-dev +libtirpc3 +libtk8.6 +libtry-tiny-perl +libtsan0 +libturbojpeg0 +libtwolame0 +libubsan1 +libuchardet0 +libudev1 +libudfread0 +libudisks2-0 +libunibilium4 +libunistring2 +libunwind8 +liburi-perl +liburiparser1 +libusageenvironment3 +libusb-0.1-4 +libusb-1.0-0-dev +libusb-1.0-0 +libusb-1.0-doc +libusb-dev +libutempter0 +libuuid1 +libuv1 +libv4l-0 +libv4l2rds0 +libv4lconvert0 +libva-drm2 +libva-x11-2 +libva2 +libvariable-magic-perl +libvdpau-va-gl1 +libvdpau1 +libvidstab1.1 +libvisual-0.4-0 +libvo-aacenc0 +libvo-amrwbenc0 +libvolume-key1 +libvorbis0a +libvorbisenc2 +libvorbisfile3 +libvpx6 +libvterm0 +libvulkan1 +libwacom-bin +libwacom-common +libwacom2 +libwavpack1 +libwayland-client0 +libwayland-cursor0 +libwayland-egl1 +libwayland-server0 +libwbclient0 +libwebkit2gtk-4.0-37 +libwebp6 +libwebpdemux2 +libwebpmux3 +libwebrtc-audio-processing1 +libwildmidi2 +libwoff1 +libwpe-1.0-1 +libwpebackend-fdo-1.0-1 +libwrap0 +libwww-perl +libwww-robotrules-perl +libwx-glcanvas-perl +libwx-perl +libwxbase3.0-0v5 +libwxbase3.0-dev +libwxgtk-media3.0-gtk3-0v5 +libwxgtk-media3.0-gtk3-dev +libwxgtk3.0-gtk3-0v5 +libwxgtk3.0-gtk3-dev +libx11-6 +libx11-data +libx11-dev +libx11-xcb1 +libx264-160 +libx265-192 +libxau-dev +libxau6 +libxcb-dri2-0 +libxcb-dri3-0 +libxcb-glx0 +libxcb-present0 +libxcb-randr0 +libxcb-render0 +libxcb-shape0 +libxcb-shm0 +libxcb-sync1 +libxcb-xfixes0 +libxcb1-dev +libxcb1 +libxcomposite1 +libxcursor1 +libxdamage1 +libxdmcp-dev +libxdmcp6 +libxerces-c3.2 +libxext6 +libxfixes3 +libxft2 +libxi6 +libxinerama1 +libxkbcommon0 +libxkbregistry0 +libxml-namespacesupport-perl +libxml-parser-perl +libxml-sax-base-perl +libxml-sax-expat-perl +libxml-sax-expatxs-perl +libxml-sax-perl +libxml2 +libxmu6 +libxmuu1 +libxpm4 +libxrandr2 +libxrender1 +libxshmfence1 +libxslt1.1 +libxss1 +libxt6 +libxtables12 +libxtst6 +libxv1 +libxvidcore4 +libxxf86vm1 +libxxhash0 +libyaml-0-2 +libyelp0 +libz3-4 +libzbar0 +libzmq5 +libzstd1 +libzvbi-common +libzvbi0 +linux-base +linux-headers-5.10.0-27-arm64 +linux-headers-5.10.0-27-common +linux-headers-5.10.0-28-arm64 +linux-headers-5.10.0-28-common +linux-headers-arm64 +linux-kbuild-5.10 +linux-libc-dev +lmdb-doc +locales +login +logrotate +logsave +lrzsz +lsb-base +lsb-release +lsof +lua-bitop +lua-lpeg +lua-luv +lua5.1 +luajit +lynx-common +lynx +mailcap +make +man-db +manpages-dev +manpages +mariadb-common +mawk +media-types +mesa-va-drivers +mesa-vdpau-drivers +mesa-vulkan-drivers +mime-support +minicom +mksh +mkvtoolnix +modemmanager +mount +mysql-common +nano +ncdu +ncurses-base +ncurses-bin +ncurses-term +neofetch +neovim-runtime +neovim +net-tools +netbase +netcat-openbsd +netcat +network-manager +nfs-common +nftables +nginx-common +nginx-core +nginx +nmap-common +nmap +notification-daemon +ntfs-3g +ocl-icd-libopencl1 +odbcinst1debian2 +odbcinst +openresolv +openssh-client +openssh-server +openssh-sftp-server +openssl +p7zip-full +p7zip +packagekit-tools +packagekit +parted +passwd +patch +pci.ids +pciutils +perl-base +perl-modules-5.32 +perl-openssl-defaults +perl +pi-bluetooth +pigz +pinentry-curses +pipewire-bin +pipewire +pkg-config +pocketsphinx-en-us +policykit-1 +poppler-data +ppp +printcore +printrun-common +procps +proj-bin +proj-data +pronsole +pronterface +psmisc +publicsuffix +python-apt-common +python-is-python3 +python-matplotlib-data +python-pip-whl +python-tinycss2-common +python3-appdirs +python3-apt +python3-avahi +python3-bs4 +python3-cairocffi +python3-cairosvg +python3-certifi +python3-cffi-backend +python3-cffi +python3-chardet +python3-colorzero +python3-cssselect2 +python3-cycler +python3-dateutil +python3-dbus +python3-debconf +python3-defusedxml +python3-dev +python3-distlib +python3-distro +python3-distutils +python3-filelock +python3-future +python3-gdbm +python3-gi +python3-gpiozero +python3-greenlet +python3-html5lib +python3-idna +python3-importlib-metadata +python3-iniparse +python3-kiwisolver +python3-kms++ +python3-lib2to3 +python3-libcamera +python3-libxml2 +python3-lxml +python3-matplotlib +python3-minimal +python3-more-itertools +python3-msgpack +python3-neovim +python3-numpy +python3-opencv +python3-picamera2 +python3-pidng +python3-piexif +python3-pil +python3-pip +python3-pkg-resources +python3-ply +python3-png +python3-prctl +python3-psutil +python3-pycparser +python3-pyglet +python3-pynvim +python3-pyparsing +python3-requests +python3-rpi.gpio +python3-serial +python3-setuptools +python3-simplejpeg +python3-six +python3-soupsieve +python3-spidev +python3-tinycss2 +python3-tk +python3-toml +python3-urllib3 +python3-v4l2 +python3-virtualenv +python3-webencodings +python3-wheel +python3-wxgtk4.0 +python3-xcffib +python3-zipp +python3.9-dev +python3.9-minimal +python3.9 +python3 +raspberrypi-archive-keyring +raspberrypi-bootloader +raspberrypi-kernel +raspberrypi-net-mods +raspberrypi-sys-mods +raspi-config +raspi-gpio +raspi-utils +raspinfo +read-edid +readline-common +rfkill +rng-tools-debian +rng-tools +rpcbind +rpi-eeprom +rpi-update +rpi.gpio-common +rsync +rsyslog +runit-helper +screen +sed +sensible-utils +sgml-base +sgml-data +shared-mime-info +slic3r +sound-theme-freedesktop +ssh-import-id +ssh +stm32flash +strace +sudo +systemd-sysv +systemd-timesyncd +systemd +sysvinit-utils +tar +tasksel-data +tasksel +tightvnc-java +timgm6mb-soundfont +tk8.6-blt2.5 +tmux +triggerhappy +ttf-bitstream-vera +tty-clock +tzdata +ucf +udev +udisks2 +unzip +usb-modeswitch-data +usb-modeswitch +usbutils +userconf-pi +util-linux +v4l-utils +va-driver-all +vdpau-driver-all +vim-common +vim-tiny +virtualenv +wget +whiptail +wireguard-tools +wireguard +wireless-regdb +wireless-tools +wpasupplicant +wx-common +wx3.0-headers +x11-common +x11proto-dev +xauth +xclip +xdg-dbus-proxy +xdg-desktop-portal-gtk +xdg-desktop-portal +xkb-data +xml-core +xorg-sgml-doctools +xtrans-dev +xxd +xz-utils +yelp-xsl +yelp +zip +zlib1g-dev +zlib1g +zsh-common +zsh diff --git a/dirs/printer_data/config/.theme_old b/dirs/printer_data/config/.theme_old deleted file mode 160000 index 0a1c82a..0000000 --- a/dirs/printer_data/config/.theme_old +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0a1c82a144b2c68ecb37030cfd08493b9f2b1b23 diff --git a/setup.sh b/setup.sh index e69de29..abdfd06 100755 --- a/setup.sh +++ b/setup.sh @@ -0,0 +1,47 @@ +#!/bin/bash +ROOT_DIR="$(dirname "$0")" +cd $ROOT_DIR + +# TODO: add CMD line args +# - skip makeconfig + +# Pull Klipper +git submodule update --init --recursive + +# Select Klipper Config +cd dirs/klipper +make menuconfig +CONFIG_FILES=(`ls config`) +let i=0 +C=() +for f in ${CONFIG_FILES[@]}; do + C+=($i $f) + let i+=1 +done +CONFIG_INDEX=$(dialog --backtitle "drwho@hackers.town" --title "Printer Selection" --menu "Select Printer Config" --output-fd 1 40 0 1 ${C[@]}) +CONFIG_FILE=${CONFIG_FILES[$CONFIG_INDEX]} + +# Select Serial Device +DEVICES=(`ls /dev/serial/by-id/`) +let i=0 +C=() +for f in ${DEVICES[@]}; do + C+=($i $f) + let i+=1 +done +DEVICE_INDEX=$(dialog --backtitle "drwho@hackers.town" --title "USB Device Selection" --menu "Select USB Device" --output-fd 1 40 0 1 ${C[@]}) +DEVICE=${DEVICES[$DEVICE_INDEX]} + +# Build Klipper +cat ./config/$CONFIG_FILE | sed -e "s/^serial: .\+$/serial: \/dev\/serial\/by-id\/${DEVICE}/" > ./printer.cfg +make -j$(nproc) + +# Flash Firmware +make flash FLASH_DEVICE=/dev/serial/by-id/$DEVICE + +# Copy over printer config file +cd $ROOT_DIR +cp dirs/klipper/printer.cfg dirs/printer_data/config/printer.cfg + +# Apply Edits to Configs +