Something that is important to keep in mind, is security. To try it out, just run docker run lissy93/dotfiles. I went with an Alpine-based Docker container defined in the Dockerfile. There's several methods of doing this, like having a Docker container or spinning up VMs with a predefined config (with something like Vagrant or a NixOS-based config). This is awesome for a number of reasons: 1) Super minimal dependency installation on the host 2) Blazing fast, as you can pull your built image from a registry, instead of compiling everything locally 3) Cross-platform compatibility, whatever your host OS is, you can always have a familiar Linux system in the container 4) Security, you can control which host resources are accessible within each container You can also containerize your dotfiles, meaning with a single command, you can spin up a fresh virtual environment on any system, and immediately feel right at home with all your configurations, packages, aliases and utils. zshenv file.įor example, in my setup I've set these variables to: Variable You can do this by setting environmental variables, usually within the. This lets you specify where config, log, cache and data files are stored, keeping your top-level home directory free from clutter. The location of config files can usually be defined using the XDG base directory specification, which is honored by most apps. Even if you've only got a single device, how much time would you loose if your data became lost or corrupted? But it would be a pain to have to set each of these machines up manually. And you're much more productive when working from a familiar environment, with all your settings applied just how you like them. This is important, because as a developer, we usually have multiple machines (work / personal laptops, cloud servers, virtual machines, some GH codespaces, maybe a few Pis, etc). It's not hard to create your own dotfile repo, it's great fun and you'll learn a ton along the way!īy using a dotfile system, you can set up a brand new machine in minutes, keep settings synced across multiple environments, easily roll-back changes, and never risk loosing your precious config files. Once everything's setup, you'll be able to SSH into a fresh system or reinstall your OS, then just run your script and go from zero to feeling at right at home within a minute or two. Git is a near-perfect system for this, as it allows for easy roll-backs, branches and it's well supported with plenty of hosting options (like here on GitHub). It makes sense to back these files up, so that you don't need to set everything up from scratch each time you enter a new environment. You will often find yourself tweaking your configs over time, so that your system perfectly matches your needs. Some examples of dotfiles that you're likely already familiar with include. Usually these custom configurations are stored in files that start with a dot (hence dotfiles!), and typically located in your users home ~, or better yet ~/.config (even this can be customized, for apps that respect the XDG Base Directory spec). One of the beautiful things about Linux, is how easily customizable everything is. My dotfiles for configuring literally everything (automatically!) Reorganised ZSH, Tmux and Vim into Configs directoryĪdd execute Debian apt install script for deb-based distros gitattributes file for line endings and encodings Updates welcome banner, with date comparison and last loginĪdds. Merge branch 'master' of :Lissy93/dotfiles Alicia Sykes 58b71a6158 Merge branch 'master' of :Lissy93/dotfiles
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |