"titleBar.activeBackground": "#215732",
"titleBar.activeForeground": "#e7e7e7",
"titleBar.inactiveBackground": "#21573299",
- "titleBar.inactiveForeground": "#e7e7e799"
+ "titleBar.inactiveForeground": "#e7e7e799",
+ "editorGroup.border": "#2f7c47",
+ "panel.border": "#2f7c47",
+ "sash.hoverBorder": "#2f7c47",
+ "sideBar.border": "#2f7c47",
+ "statusBarItem.remoteBackground": "#215732",
+ "statusBarItem.remoteForeground": "#e7e7e7"
},
"peacock.color": "#215732",
"python.pythonPath": "/usr/bin/python3"
--- /dev/null
+# Setup GitHub Key
+
++ Visit
+https://github.com/settings/keys
+
+```sh
+vim .git/config
+```
+
+```
+url = git@github.com:edthedev/dotfiles.git"
+```
+
+```sh
+cat ~/.ssh/id_rsa.pub
+```
+
+++ /dev/null
-BASEDIR=$(CURDIR)
-
-hello:
- echo "Hello!"
-
-world:
- echo "$(BASEDIR)"
\ No newline at end of file
# dotfiles
-EdTheDev's Linux and Windows dot files. These are shared so that I can easily share a link to a tip or trick.
+EdTheDev's Linux and Windows dot files.
+These are shared so that I can easily share a link to a tip or trick.
-## Bare Minimum
+## Getting Started
-+ `install.sh` - Script I use to install packages on Linux, most typically a Raspberry Pi.
-+ `setup.sh` - Script I use to get to bare minimum (by my definition) setup on Linux - typically a Raspberry Pi.
-+ `bootstrap.ps1` - Script I use to setup on Windows. Mostly relies on the `Chocolatey` package manager for Windows, of course.
++ [Windows](/start_windows.md)
++ [Raspberry Pi](/start_pi.md)
-## Installations
+## Further Reading
-See the `\install` folder for scripts to install various handy utilities. Most of these rely on `Apt` on Linux, or `Chocolatey` on Windows.
-
-## Setups
-
-See the `\setup` folder for configurations.
-These are, obviously, just my preferred configurations.
-
-In general, these work by setting up symlinks on Linux, and on Windows by copying a stub file that sources the versioned file.
-
-Most of these are cross platform `.ps1` files that run under PowerShell.
+See [pi/i3.md](/pi/i3.md) for info on setting up the I3 window manager on Raspberry Pi.
+++ /dev/null
-<#
-.SYNOPSIS
-
-Setup my Windows PowerShell environment.
-
-.DESCRIPTION
-
-.NOTES
-
-Relies heavily on the Chocolatey package manager.
-
-#>
-
-param(
- # [Parameter(Mandatory=$true, HelpMessage="Install Development Tools")]
- [switch]$dev_tools,
- # [Parameter(Mandatory=$true, HelpMessage="Install Modeling Tools")]
- [switch]$archi,
- # [Parameter(Mandatory=$true, HelpMessage="Install Vim")]
- [switch]$vim,
- # [Parameter(Mandatory=$true, HelpMessage="Setup PowerShell Profile")]
- [switch]$profile,
- [switch]$fav_ps_modules
-)
-
-## Install SSH client
-Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
-
-## Always Install Chocolatey if missing
-$testchoco = powershell choco -v
-if(-not($testchoco)){
- Write-Output "Seems Chocolatey is not installed, installing now..."
- Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
-}
-
-# OWASP ZAP for web application security scanning
-if($false) {
- choco install zap
-}
-
-## TODO: Can I set this via command line: chrome://flags/#enable-force-dark
-
-if($doBootStrap) {
- # DONE!
- New-Item -ItemType File -Path $doneFlagFile
-}
-
-# ArchiMate for enterprise modeling
-if($archi) {
- choco install archi
-}
-
-# Install dev tools
-if($dev_tools){
- ./install/dev.ps1
-}
-
-if($vim){
- ./install/vim.ps1
-}
-
-if($profile){
- ./install/profile.ps1
-}
-
-if($fav_ps_modules) {
- Write-Host "Reminder: Need to install these modules with admin escalation."
- ./install/admin/favorite-ps-modules.ps1
-}
+++ /dev/null
-mkdir -p ~/.installed
-
-if [ ! -f ~/.installed/gimp ]; then
- sudo apt-get install gimp
- touch ~/.installed/gimp
-fi
-
-ls -al ~/.installed
+++ /dev/null
-if [ ! -d ~/.installed/code ]; then
- echo "************** Install Visual Studio Code"
- # sudo apt install snapd
- # sudo snap install --classic code
- wget https://packagecloud.io/headmelted/codebuilds/gpgkey -O - | sudo apt-key add -
- curl -L https://raw.githubusercontent.com/headmelted/codebuilds/master/docs/installers/apt.sh | sudo bash
- touch ~/.installed/code
-fi
+++ /dev/null
-if [ ! -f ~/.installed/i3 ]; then
- echo "************** Install i3 Window Manager"
- sudo apt-get install i3
- touch ~/.installed/i3
-fi
+++ /dev/null
-#/bin/bash
-
-code-oss --install-extension ban.spellright
-code-oss --install-extension benjpas.close-all
-code-oss --install-extension fabiospampinato.vscode-markdown-todo
-code-oss --install-extension geeklearningio.graphviz-markdown-preview
-code-oss --install-extension Gruntfuggly.todo-tree
-code-oss --install-extension janisdd.vscode-edit-csv
-code-oss --install-extension johnpapa.vscode-peacock
-code-oss --install-extension mechatroner.rainbow-csv
-code-oss --install-extension ms-python.python
-code-oss --install-extension ms-toolsai.jupyter
-code-oss --install-extension oderwat.indent-rainbow
-code-oss --install-extension pajoma.vscode-journal
-code-oss --install-extension telesoho.vscode-oss-markdown-paste-image
-code-oss --install-extension vscodevim.vim
-code-oss --install-extension yzane.markdown-pdf
-code-oss --install-extension yzhang.markdown-all-in-one
sudo apt-get install -y screen
fi
-echo "Installed:"
-ls -al ~/.installed
-echo "Setup Options:"
-ls -al ~/setup
+echo "************** Install Midnight Commander"
+sudo apt-get install mc
--- /dev/null
+# Docker Pirate
+
+## On Building the Image
+
+A Raspberry Pi network connected Docker host.
+
++ https://blog.hypriot.com/faq/
++ https://github.com/hypriot/image-builder-rpi/releases
+
+See existing volumes.
+```
+lsblk
+```
+
+Use the `dd` command from the tutorial.
+
+```
+sudo dd if=hypriotos-rpi-v1.12.3.img of=/dev/<new thing that showed up> bs=1M
+```
+
+## On Finding the Image
+
+No wireless support in the image.
+Plug into the network directly.
+
+```
+sudo apt install nmap
+hostname -I
+nmap -sP <ip from command above>.0/24
+```
+
+## Updates
+
+Remember to change the default username and password.
+
+```
+sudo raspi-config
+```
+
+To update the hostname:
+
+```sh
+ssh pirate@black-pearl.lan
+sudo vi /boot/user-data
+sudo reboot now
+```
--- /dev/null
+# Setting up I3 on Raspbian
+
+Start with Raspbian Lite.
+
+## Install basic surival packages.
+
+```bash
+sudo apt-get install lightdm i3 tilix chromium
+```
+
+## Boot into i3
+
+```bash
+sudo raspi-config
+```
+
++ System?
++ Boot Options
++ Desktop / CLI
++ Choose boot to user.
++ Reboot
+
+## Configuring i3wm
+
+```
+vim ~/.config/i3/config
+```
+
+## Notes
+
+- lightdm - allows booting directly to desktop
+- tilix is literally any terminal other than the blinding default. It has a dark more theme.
--- /dev/null
+sudo apt-get install gimp
--- /dev/null
+apt install code
--- /dev/null
+echo "************** Install i3 Window Manager"
+sudo apt-get install i3 lightdm
+echo "************** Install Chromium"
+sudo apt-get install chromium
+echo "************** Install Tilix Terminal"
+sudo apt-get install tilix
--- /dev/null
+./install/i3.sh
+sudo apt-get install chromium
+
--- /dev/null
+sudo apt install xrdp remmina
--- /dev/null
+apt install npm
--- /dev/null
+# Deps
+apt install make cc65
+apt install libsdl2-dev
-\r
-## TODO: Would be clever to make this a DSC module: https://docs.microsoft.com/en-us/powershell/scripting/dsc/quickstarts/website-quickstart?view=powershell-7\r
-Write-Host "Adding ability to switch Joystick"\r
-# https://github.com/meleu/RetroPie-joystick-selection\r
-Write-Host "Enable SSH first via Raspi-Config"\r
-ssh pi@retropi -C 'wget -O- "https://raw.githubusercontent.com/meleu/RetroPie-joystick-selection/master/install.sh" | sudo bash'\r
+
+## TODO: Would be clever to make this a DSC module: https://docs.microsoft.com/en-us/powershell/scripting/dsc/quickstarts/website-quickstart?view=powershell-7
+Write-Host "Adding ability to switch Joystick"
+# https://github.com/meleu/RetroPie-joystick-selection
+Write-Host "Enable SSH first via Raspi-Config"
+ssh pi@retropi -C 'wget -O- "https://raw.githubusercontent.com/meleu/RetroPie-joystick-selection/master/install.sh" | sudo bash'
Write-Host "Now launch the script via RetroPi Setup - Configuration Tools - Joystick selection"
\ No newline at end of file
--- /dev/null
+mkdir -p ~/x16
+
+cd ~/x16
+git clone https://github.com/commanderx16/x16-rom.git
+cd x16-rom
+make
+
+cd ~/x16
+git clone https://github.com/commanderx16/x16-emulator.git
+cd x16-emulator
+make
+
+cp ~/x16/x16-rom/build/x16/rom.bin ~/x16/x16-emulator/
--- /dev/null
+## Getting Started - Raspberyy Pi
+
+### Get Online
+
+```sh
+rasppi-config
+```
+
++ Set up wireless
++ Set keyboard location
+
+### Clone this repository
+
+```sh
+sudo apt-get install git
+git clone https://github.com/edthedev/dotfiles.git
+```
+
+### Create a new user
+
+```sh
+sudo useradd bob -m -G sudo
+sudo passwd bob
+sudo passwd pi
+```
+
+### Boostrap CLI
+
+```
+sudo ./install_cli_basics.sh
+```
+
+## Installations
+
+See the `\install` folder for scripts to install various handy utilities. Most of these rely on `Apt` on Linux, or `Chocolatey` on Windows.
+
+## Setups
+
+See the `\setup` folder for configurations.
+These are, obviously, just my preferred configurations.
+
+In general, these work by setting up symlinks on Linux, and on Windows by copying a stub file that sources the versioned file.
+
+Most of these are cross platform `.ps1` files that run under PowerShell.
--- /dev/null
+code --install-extension benjpas.close-all
+code --install-extension johnpapa.vscode-peacock
+code --install-extension mechatroner.rainbow-csv
+code --install-extension oderwat.indent-rainbow
+code --install-extension pajoma.vscode-journal
+code --install-extension telesoho.vscode-oss-markdown-paste-image
+code --install-extension vscodevim.vim
--- /dev/null
+code --install-extension benjpas.close-all
+code --install-extension johnpapa.vscode-peacock
+code --install-extension mechatroner.rainbow-csv
+code --install-extension oderwat.indent-rainbow
+code --install-extension pajoma.vscode-journal
+code --install-extension telesoho.vscode-oss-markdown-paste-image
+code --install-extension vscodevim.vim
--- /dev/null
+if(-Not(Test-Path -Path ~/edthedev.github.io)) {
+ cd ~
+ git clone git@github.com:edthedev/edthedev.github.io.git
+}
fi
echo "************** Reminder to setup GitHub key"
-echo "https://github.com/settings/keys"
-echo "vim .git/config -- add: url = git@github.com:edthedev/dotfiles.git"
+cat GitHubKey.md
cat ~/.ssh/id_rsa.pub
filetype off " required
+" =================
+" Install vim-plug if missing
+" =================
+let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim'
+if empty(glob(data_dir . '/autoload/plug.vim'))
+ silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
+ autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
+endif
+
" =================
" Here be Plugins!
" =================
-<#\r
-.SYNOPSIS\r
-\r
-Install Vim for Windows\r
-\r
-.NOTES\r
-\r
-Requires Chocolatey package manager.\r
-\r
-#>\r
-\r
+<#
+.SYNOPSIS
+
+Install Vim for Windows
+
+.NOTES
+
+Requires Chocolatey package manager.
+
+#>
+
choco install vim
\ No newline at end of file
--- /dev/null
+
+Archimate
+`choco install archi`
+
+OWASP Zap
+`choco install zap`
\ No newline at end of file
--- /dev/null
+
+Enable incoming RDP.
+```powershell
+Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server'-name "fDenyTSConnections" -Value 0
+Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
+Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "UserAuthentication" -Value 1
+```
+
+Now reboot.
\ No newline at end of file
--- /dev/null
+
+HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SafeDllSearchMode
\ No newline at end of file
-cd c:\src\r
+cd c:\src
git clone https://github.com/edthedev/minion.git
\ No newline at end of file
--- /dev/null
+function ShowFileExtensions()
+{
+ # http://superuser.com/questions/666891/script-to-set-hide-file-extensions
+ Push-Location
+ Set-Location HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
+ Set-ItemProperty . HideFileExt "0"
+ Pop-Location
+ Stop-Process -processName: Explorer -force # This will restart the Explorer service to make this work.
+}
+
+ShowFileExtensions
\ No newline at end of file
--- /dev/null
+
+## Getting Started - Windows
+
+> Note: Bookmark this guide. You're going to reboot at least a few times.
+
+Optional - change host name
+```
+Rename-Computer -NewName FOOOOOOO -Restart
+```
+
+1. [Install chocolatey](https://chocolatey.org/install)
+
+2. Tell `choco` to watch for reboots, as this is Windows.
+```
+choco feature enable -name=exitOnRebootDetected
+```
+
+3. Install a decent terminal. This invokes a bunch of KBs.
+```powershell
+choco install microsoft-windows-terminal # reboot after
+```
+
+3. Set dark theme (non-admin prompt)
+```
+Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name AppsUseLightTheme -Value 0
+```
+
+4. Reboot after first setup - you may see errors in `choco` commands otherwise.
+5. Set the PC time zone correctly - otherwise expect an install error in later `choco` commands.
+
+4. More packages
+```
+choco install git
+choco install vscode
+choco install powertoys # reboot after
+```
+
+```
+git clone https://github.com/edthedev/dotfiles.git
+cd dotfiles
+code .
+```
+
+Admin prompt:
+```
+Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
+```
+
+Install VSCode plugins:
+```
+.\setup\code-plugins.ps1
+```
+
+Set git username.
+```
+git config --global user.email "edward@delaporte.us"
+git config --global user.name "Edward Delaporte"
+```
--- /dev/null
+$wsh = New-Object -ComObject WScript.Shell
+$minutes = 15
+do{
+ "Staying awake for $minutes minutes"
+ $minutes-=1;
+ # Send Shift+F15
+ $wsh.SendKeys('+{F15}')
+ Start-Sleep -seconds 59
+}until($minutes -lt 0)
+# Thank you to http://www.zhornsoftware.co.uk/caffeine/