4 ms·
I'd also use Ansible, but installing browser extensions, and pairing bluetooth is a bit more difficult, those probably require a different strategy/tool. If yo
by _frkl 7y ago
I'd also use Ansible, but installing browser extensions, and pairing bluetooth is a bit more difficult, those probably require a different strategy/tool.
If you don't mind me blowing my own horn: I wrote this project that started off as a way to let me re-install new development machines with a single command, 'freckles' ( https://freckles.io https://freckles.io ).
It uses Ansible under the hood, but configuration is simpler, all you'd need is a single text file containing something like:
- packages-installed:
packages:
- net-tools
- vlc
- sshfs
- file-with-content:
path: /home/nancy/.gitconfig
content: |
[user]
email = email@exmple
name = Nancy Drew
- file-with-content:
path: /home/nancy/.tmux.conf
content: |
unbind C-b
set -g prefix `
bind-key ` send-prefix
Choosing pre-made tasks from: https://freckles.io/frecklets/default https://freckles.io/frecklets/default or create your own (for example, there is none for installing steam currently, but I'm happy to add those over time when users request them -- the nice thing is those only need to be written once).
Then execute the thing with:
frecklecute <your_file>
It's smart enough to figure out whether it needs to ask for root and such. It needs (and autoinstalls if required) a minimal Python and rsync on the target machine, and it creates and installs some other helper tools into $HOME/.local/share/freckles, but that can be deleted after a run if necessary.
There's quite a bit more to it, but that'd be the simplest way to use it. The main thing really is that you can keep your machine specific configuration in a single, easy-to-read and -create file, and you only need one single command to apply it to your machine.
EDIT: anybody know how to format code blocks on here so they render on mobile properly?