Dotfiles management package
Project description
Welcome to machineconfig
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
$profile
in Windows Powershell- etc
Additionally, 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.
Additionally, scripts to perform setup of new machines and perform mundane tasks are maintained here in scripts
. The repo uses Python to perform the tasks.
Shortcuts
bit.ly/configroot
is a shortcut to this repo.- Use
curl bit.ly/readconfig -L | bat -l md
to get the readme file.
Windows Setup
With elevated PowerShell
, run the following:
# apps
Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/apps.ps1 | Invoke-Expression
# virtual enviornment
Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/ve.ps1 | Invoke-Expression
# dev repos
Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/repos.ps1 | Invoke-Expression
# symlinks: locally, run: `ftpsx username@hostname[:port] ~/dotfiles -z`, then, on the remote:
~/code/machineconfig/src/machineconfig/setup_windows/symlinks.ps1
# pwsh profile
# ~/code/machineconfig/src/machineconfig/setup_windows/wt_and_pwsh.ps1 # experimental
# devapps:
~/code/machineconfig/src/machineconfig/setup_windows/devapps.ps1
Setup SSH connection (CHANGE APPROPRIATELY):
Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/openssh_all.ps1 | Invoke-Expression # https://github.com/thisismygitrepo.keys
Install Croshell Terminal Directly,
Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/croshell.ps1 | Invoke-Expression
Linux Setup
With sudo
access, run the following:
# apps
# sudo -s
curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/apps.sh | bash
# virtual enviornment
curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/ve.sh | bash
# repos
curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/repos.sh | bash
# symlinks and bash profile.
# locally, run: `ftpsx username@hostname[:port] ~/dotfiles -z`
# for wsl: wsl_server.ps1; ftpsx $env:USERNAME@localhost:2222 ~/dotfiles -z # OR: ln -s /mnt/c/Users/$(whoami)/dotfiles ~/dotfiles
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.
# devapps
source <(sudo cat ~/code/machineconfig/src/machineconfig/setup_linux/devapps.sh)
Setup SSH connection (CHANGE APPROPRIATELY):
curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/openssh_all.sh | sudo bash # https://github.com/thisismygitrepo.keys
# For WSL only, also run the following:
curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/openssh_wsl.sh | sudo bash # "https://github.com/thisismygitrepo.keys"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for machineconfig-0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | afda1e9308729aa6b21e83837dd6b39a47116b681389b865fc89f2fb81e4ee39 |
|
MD5 | 0214e4fe4fdf8fbb39326504ff9ef5eb |
|
BLAKE2b-256 | ca5e716184dc951a07a375b6c35071845aec378d4696c3be65804110a8db09ca |