Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thekevjames/dotsystem
re-un-over-complicating my dotfiles and system management
https://github.com/thekevjames/dotsystem
dotfiles
Last synced: 3 months ago
JSON representation
re-un-over-complicating my dotfiles and system management
- Host: GitHub
- URL: https://github.com/thekevjames/dotsystem
- Owner: TheKevJames
- License: mit
- Created: 2016-12-15T15:59:11.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-10-22T06:35:54.000Z (3 months ago)
- Last Synced: 2024-10-23T05:32:25.179Z (3 months ago)
- Topics: dotfiles
- Language: Shell
- Homepage:
- Size: 1.56 MB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- License: LICENSE.rst
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
dotsystem
=========Usage
-----Clone and run. To update configuration, pull and run. Changes will prompt you.
.. code-block:: console
git clone https://github.com/thekevjames/dotsystem.git
cd ./dotsystem
./sync [--force] [--skip-packages]New Machines
------------If you're provisioning a new machine from scratch, there's some extra steps
that have to be done outside of ``./sync`` to make your machine entirely
bootstrap-able:.. code-block:: console
# OSX only: disable SIP by booting into recovery mode (intel: hold cmd-r on boot, m1: hold power button)
csrutil disable# clone the dotsystem repo and do the initial sync
git clone https://github.com/thekevjames/dotsystem.git ~/src/personal/dotsystem
cd ~/src/personal/dotsystem
./sync --forceOld Machines
------------When sunsetting a machine, there's not much that needs to be done:
.. code-block:: console
# check for anything which needs backing up
./discover# check for unpushed branches
cd ~/src/*
git-wips# invalidate your ssh key (https://github.com/settings/keys)
gh ssh-key delete $(hostname)# nuke your homedir
sudo rm -Prf ~XDG
---I am a huge fan of the `XDG Base Directory Spec`_. Unfortunately, many apps
don't follow that spec unless they're coerced into it via env vars, CLI flags,
etc. Some don't support it env then.I generally go through and try to keep things as clean as possible.
`xdg-ninja`_ is a fantastic tool for this and has a great database of fixes.
The following are some extra fixes that I worked out before coming across
``xdg-ninja``... at some point, I'll open some PRs and move 'em over.- arc. Support with ``--arcrc-file`` flag.
- cpan. Partial support with ``-j`` flag and setting values in your
``Config.pm`` to XDG-compliant ones.
- gmailctl. Support with ``--config`` flag.
- helm. Support by setting ``$HELM_HOME``.
- irb. Partial support by setting ``$IRBRC``.
- jira. Partial support by setting ``$HOME``, which frankly I'm not sure counts.
- kubectl. Support by setting ``$KUBECONFIG`` and ``$KUBECACHEDIR``
- theano. Support by setting ``$THEANORC`` and including ``base_compiledir`` in ``$THEANO_FLAGS``.Besides the ones ``xdg-ninja`` knows about, I'm also tracking:
- colima (``~/.colima``). `Broken on OSX`_.
- lima (``~/.lima``)... _Broken on OSX: https://github.com/abiosoft/colima/pull/757
.. _XDG Base Directory Spec: https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
.. _xdg-ninja: https://github.com/b3nj5m1n/xdg-ninja