The better approach is to start from a basic setup. For example, with vim, don't use vim-sensible right off the bat. Instead, just use vim. If a need arises, research what you can set up to address it. If you are curious about what is out there, read through the source of plugins like vim-sensible, taking each option, reading the docs for it, learning a bit of vimscript as needed, and only adding stuff to your vimrc if you really understand what you are adding. Don't add a bunch of things all at once. Do one at a time, and try it out for a while.
It's a good start to give people the sense of what can be achieved by customization. If they don't like it from there they can certainly learn and tune to their needs, which should give more motivation than getting stuck googling for hours without any results from a bare terminal.
From my perspective, a stripped-down system is like a set of wood blocks, and a batteries-included system is like a doll house.
If you give a child a doll house, the child could reverse-engineer the doll house to figure out how it was built, and to customise it, but the child will probably just play with it as-is, and focus on setting up doll furniture and re-enacting domestic life.
If you give the child wood blocks, the child will have to build a house for the dolls. The child will have to figure out how to make it structurally sound, how to make a gabled roof, how to make holes in a wall for windows, how to make a porch, etc. Of course, if they have never seen a doll house, it may never occur to them to build one, but they will probably build something. Later the child may progress to customising blocks, or making new blocks, or even full carpentry, building upon the earlier skill-set.
But, like you say, if you just give the child a felled tree, it is unlikely that they will figure out how to turn it into blocks, or into a doll house, or anything really. It's too big of a leap for them to make.
Additionally, the website mentions:
> Install
> To install, run this command in your terminal:
> sh -c "$(wget -q https://raw.githubusercontent.com/aaronkjones/noobs-term/mas... -O -)"
> If you do not have wget use,
> sh -c "$(curl -fsSL https://raw.githubusercontent.com/aaronkjones/noobs-term/mas...
I smirked at the "if you do not have wget" cause whilst I was reading it I expected an alternative to executing the shell script, but no. What if I don't want to download a .sh script and execute it? Why teach "noobs" this behaviour?
If that gets new users in, make them comfortable until they outgrow the setup then it's a good thing.
Take tmux-sensible for example, https://github.com/tmux-plugins/tmux-sensible. Each configuration item is explained in detail.
So the goal here is to give new users a starting point that is well documented and explained, instead of finding joeschmo's dotfiles that has "set -g default-command "reattach-to-user-namespace -l $SHELL"" with no explanation on what that does.
Sensible isn't a whole mess of scripts and settings. It's 100 lines of highly readable vim settings and at the top there's a comment instructing people to use :help to learn more about what everything does.
I guess a case could be made for adding descriptive comments to make it more approachable for beginners, but it's not some black box of magic.
1. Mastering getting around terminal with slight configuration (bash, zsh, random dotfiles, maybe a plugin manager)
2. Getting used to editing files in the terminal (Vim)
3. Managing multiple terminals at once (tmux)
Managing all of those changes at once kind of overloads you where it slows you down to much to really consider this a practical change at one once.
You have just about the same exact set up that I do as well barring a few minor differences, Nord theme included, which is pretty funny that they converged like that.
The problem I run into with sharing dotfiles is that my dotfiles aren't what someone who's new should be using. They need sane defaults that they can build upon, not the mess that my dotfiles have become over 10 years. This seems to be a good solution to that problem; giving some nice basics to set a newbie on the right track.
Really well done.
"control + a" moves you to the beginning of the line in bash (and in other shells, like zsh).
It depends on what OS/platform you are using to uninstall a package.
The configuration files are in the ".dotfiles" directory of your home folder. You can remove one or all of them from there and restart your terminal.
However, the script can't be overly long this way, since there is a limit to the command line length on Linux.
Safe, however, this is clearly still not.
My own dotfiles are installable with only a couple of commands - I just clone the repo and run a simple shell script that symlinks some things to a central location. The only thing that isn't included is the installation of binary dependencies (like neovim and its plugins), but that differs between OSes and didn't seem worthwhile to automate.