For a while, I was doing the bare-repo method. But I didn’t like it very much I ended up neglecting my files and forgetting to add and commit after incremental changes and ended up breaking things Even more confusing was when I cd into dotfiles and can’t see the files I had been adding? Once I ran git add . by accident and ruined everything
I learned how to convert the bare-repo to a normal one and just pushed everything to github yesterday in preparation for today’s fun-time OS install LOL .
I heard of GNU Stow - but sounds confusing?
Since this is a fresh new OS installation, I thought of just git init the entire /home but I know that’s not wise.
So how are you managing yours? Maybe tech this old guy some new tricks?!
I am not new to Linux, been a faithful user for over 10 years. And I never really cared about starting over and rebuilding my systems from scratch. I distro-hopped for over 5 years, because I enjoyed learning.
I just joined the EndeavoursOS Club today … coming from Pop OS which I used for several years, and finally managed to learn, use, and enjoy neovim, tmux, alacritty followed by kitty, and starship. Everything has been heavily customized over the course of the pandemic summer and I can’t wait to start customizing things.
Using git to manage dotfiles is a total overkill, and it just creates more pain than gain, in my opinion.
Move all important dotfiles to a custom directory. Make a simple script that symlinks those dotfiles to their proper place in your home directory. Make a backup of the dotfile directory.
Now, when you need to copy those dotfiles to another computer, or when you reinstall the OS, just copy the directory with the dotfiles (for example, using sshfs) and run the script from within it.
I find this to be fairly in line with the “Keep It Simple, Stupid” philosophy.
It goes on for a while like this. It’s not even an executable script, when I need to run it, I just run sh deploy.sh.
Now, I could be slightly fancier and store the source directory in a variable, but I don’t need it, since I keep my directory structure the same on all computers. Also, notice that the dotfiles in the dotfiles directory do not begin with a dot, and some have filename extensions (like .zsh and .bash). This is is a personal convention, again, since the filenames for the source file and destination link do not have to be the same, and I do it because I like to be able to easily see them, and I want my text editor to identify them as scripts.
I’ve been using wpgtk which in addition to allowing you to alter color schemes of all your dots simultaneously, also maintains a structure similar to what @Kresimir presented which makes it quite simple to back up.
Over 98% of my work files are in a git repo (Front End Web Dev). So that’s why I want them under version control. It’s quite literally a piece of cake for me
I don’t care about sharing my dots with others They’re for my own use. And I ask primarily because I am new to this OS, I will be editing just about every single thing.
This is my old Pop OS terminal. nvimtmuxkittyfish. I liked the Dracula theme I was using in VS Code and did my best to duplicate the colors into my terminal set-up.
Then repeat for bspwm neofetchpolybar ranger, and all the rest?!
I know there are MANY ways of doing this, but I like this most. I have total control.
I am lost on this though: “notice that the dotfiles in the dotfiles directory do not begin with a dot, and some have filename extensions”. You state it is a preference and I like. However I renamed a dotfile and it broke the symlink
The simplest method would be to start with the templates. However, you could also use your current setup by making sure your dots source their color from a setup adhering to wpgtk rules i.e. my rofi setup sources their colors from rofi_colors.rasi which looks like this:
I then have this file added in wpgtk as a template, which means the {colorx} will be replaced with a hex code by wpgtk when I set a color scheme using it. It’ll set the same color scheme in all your added templates, so all your dots will switch to the specified colors with the click of a button.
There are two ways of using wpgtk, either let it automatically source a color scheme from a wallpaper, or by importing your own json color scheme (if you don’t want to create your own there are quite a fee online from sources like terminal.sexy which let you pick and export. You can then import these to wpgtk and set the theme, without changing your wallpaper.
Last but not least, wpgtk offers a GUI which is quite straightforward, and the developer also has quite a few videos linked on the Github page explaining how things work.
edit: a bit additional information relevant to the topic. Wpgtk will backup your previous setup files, and then create a .base file in $home/.config/wpgtk and create a symlink to their proper location from this file. Meaning the important dot files which you would want to back up are all stored in the same folder, making it quite simple to do so. On a new system you would simply need to re-add them as templates.