Package: machineconfig
Welcome to machineconfigShortcutsbit.ly/cfgrootis a shortcut to this repo.curl bit.ly/cfgread -L | bat -l md --style="header"to get the readme file.Machineconfig is a package for managing configuration files (aka dotfiles). The idea is to collect those critical, time-consuming-files-to-setup in one directory and reference them via symbolic links from their original locations. Thus, when a new machine is to be setup, all that is required is to clone the repo in that machine and create the symbolic links.
Dotfiles include, but are not limited to:~/.gitconfig~/.ssh~/.aws~/.bash_profile~/.bashrc~/.config$profilein Windows PowershelletcAdditionally, files that contain data, sensitive information that should not be pushed to a repository are contained in a directory~/dotfiles. The files therein are encrypted before backedup.Windows SetupWith elevatedPowerShell, run the following: (shortcurl bit.ly/cfgallwindows -L | iex)# apps  # short: `(iwr bit.ly/cfgappswindows).Content | iex`Invoke-WebRequesthttps://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/apps.ps1|Invoke-Expression# virtual enviornment  # short (iwr bit.ly/cfgvewindows).Content | iex OR `curl bit.ly/cfgvewindows -L | iex`Invoke-WebRequesthttps://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/ve.ps1|Invoke-Expression# dev repos  # short `(iwr bit.ly/cfgreposwindows).Content | iex` OR `curl bit.ly/cfgreposwindows -L | iex`Invoke-WebRequesthttps://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/repos.ps1|Invoke-Expression# symlinks # short `curl bit.ly/cfgsymlinkswindows -L | iex` OR `(iwr bit.ly/cfgsymlinkswindows).Content | iex`.~/code/machineconfig/src/machineconfig/setup_windows/symlinks.ps1# devapps:~/code/machineconfig/src/machineconfig/setup_windows/devapps.ps1# pwsh and wt settings: (iwr bit.ly/cfgwt).Content | iexiwrhttps://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/wt_and_pwsh.ps1|iex(iwrbit.ly/cfgappswindows).Content|iex(iwrbit.ly/cfgvewindows).Content|iex(iwrbit.ly/cfgreposwindows).Content|iex
.~/code/machineconfig/src/machineconfig/setup_windows/devapps.ps1(iwrbit.ly/cfgwt).Content|iex
.~/code/machineconfig/src/machineconfig/setup_windows/symlinks.ps1Setup SSH connection:# CHANGE pubkey_string APPROPRIATELY$pubkey_string=(Invoke-WebRequest'https://github.com/thisismygitrepo.keys').Content
Invoke-WebRequesthttps://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/openssh_all.ps1|Invoke-Expressionshort(iwr bit.ly/cfgsshwindows).Content | iexORcurl bit.ly/cfgsshwindows -L | iexInstall Croshell Terminal Directly,Invoke-WebRequesthttps://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/web_shortcuts/croshell.ps1|Invoke-Expressionshort:curl bit.ly/cfgcroshellwindows -L | iexOR(iwr bit.ly/cfgcroshellwindows).Content | iexLinux SetupWithsudoaccess, run the following: (shortcurl bit.ly/cfgalllinux -L | bash)exportpackage_manager="apt"exportpackage_manager="nix"# apps  # short: `curl bit.ly/cfgappslinux -L | bash`curlhttps://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/apps.sh|bash# Optionally: curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/apps_dev.sh | bash# virtual enviornment  # short `curl bit.ly/cfgvelinux -L | bash`curlhttps://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/ve.sh|bash# repos  # short `curl bit.ly/cfgreposlinux -L | bash`curlhttps://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/repos.sh|bash# symlinks and bash profile: # short `curl bit.ly/cfgsymlinkslinux -L | bash`source~/code/machineconfig/src/machineconfig/setup_linux/symlinks.sh# requires sudo since it invloves chmod of dotfiles/.ssh, however sudo doesn't work with source. best to have sudo -s earlier.# devappssource<(sudocat~/code/machineconfig/src/machineconfig/setup_linux/devapps.sh)Setup SSH connection:pubkey_url='https://github.com/thisismygitrepo.keys'# (CHANGE APPROPRIATELY)exportpubkey_string=$(curl--silent$pubkey_url)curlhttps://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/openssh_all.sh|sudobash# For WSL only, also run the following:exportport=2223curlhttps://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/openssh_wsl.sh|sudobash# don't forget to run `wsl_ssh_windows_port_forwarding -p 2223` from Windows using the designated port withshortcurl bit.ly/cfgsshlinux -L | bashInstall Croshell Terminal Directlycurlhttps://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/web_shortcuts/croshell.sh|sudobashshortcurl bit.ly/cfgcroshelllinux -L | bashAuthorAlex Al-Saffar.email