Files
skel/README.md
David Tomaschik b6af18017b Updates
2026-03-25 08:25:03 -07:00

87 lines
3.0 KiB
Markdown

### About ###
This is a repository of configuration files that I like to have on all the
machines that I use. For new systems, you can bootstrap by running the
included `clone.sh` script:
```bash
curl -L https://raw.githubusercontent.com/Matir/skel/master/clone.sh | bash
```
Alternatively, you can manually clone the repository and run `./install.sh`.
This started just as dotfiles, but expanded to include SSH keys, GPG keys,
and an ever-growing setup script. There are various
options to install just parts of it, such as on a machine where I only have a
user account but no root.
This environment supports using `dotfile_overlays/` or `local_dotfiles/` to
manage machine-specific or private configurations. You can use
[git-crypt](https://github.com/AGWA/git-crypt) on these overlay directories
for things you don't want to splash all over the internet. :)
I still wouldn't check in anything terribly sensitive, like private keys.
### Usefulness ###
Mostly I post this to github so I can quickly grab the things I want, but it
might also be useful to others. Feel free to raise an issue if you have any
questions. I don't anticipating taking merge requests -- make your own
dotfiles. ;)
### Options ###
### macOS-like Copy/Paste ###
To address keyboard shortcut conflicts between operating systems, this environment
now supports using `Alt+C` for copy and `Alt+V` for paste, similar to macOS.
This functionality is context-aware: it will automatically use `Ctrl+Shift+C/V`
in terminals and `Ctrl+C/V` in all other applications.
This feature requires the following packages to be installed:
- `xbindkeys`: To listen for the keyboard shortcuts.
- `xdotool`: To send the appropriate keypresses.
On Debian-based systems (like Ubuntu or Kali), you can install them with:
```bash
sudo apt-get update
sudo apt-get install xbindkeys xdotool
```
After installation, the functionality will be enabled automatically on your
next login.
On macOS, you can install the recommended packages using the included `Brewfile`:
```bash
brew bundle install
```
### Packages ###
The `packages/` directory contains lists of recommended packages. You can
manually install a set (e.g., on a Debian-based system) using:
```bash
grep -v "^#" packages/cli | xargs sudo apt-get install -y
```
```
BASEDIR: Where the skel framework is installed. Defaults to $HOME/.skel
MINIMAL: Don't do things that require git clones or installation of anything
not included in my .skel. (e.g., skips vim-plug, TPM) (Defaults to 0)
INSTALL_KEYS: Install GnuPG and SSH keys. SSH keys are placed in
authorized_keys. (Defaults to 1, installs keys.)
TRUST_ALL_KEYS: Allow all keys to be used for SSH login, versus a small subset.
VERBOSE: Enable verbose output during installation. (Defaults to 0)
SAVE: Save the install options to ${BASEDIR}/.installed-prefs
```
### TODO ###
- [X] Re-do the installation of packages.
- [X] Make manual installation of sets easy/possible.
- [X] Make missing packages not cause a full set failure.
- [X] Allow comments and blank lines. in packages