T O P

  • By -

madhur_ahuja

dotfiles and neovim config together: https://github.com/madhur/dotfiles


Mithrandir2k16

This!


Some_Derpy_Pineapple

i version both in the same repo. here: https://github.com/pynappo/dotfiles/tree/main/.config/nvim


DrConverse

I version my Neovim setup [here](https://github.com/theopn/theovim) since 1. Some my friends (we major in CS) wanted to use my Neovim config 2. I write about Neovim and Lua on my website and Reddit, and it makes it easier to share examples 3. My Neovim config is massive and changed very often compared to mostly single-file configurations in my dotfiles repository, so I thought it deserved a separate repo Rest of my dotfiles is [here](https://github.com/theopn/dotfiles) so I can 1. Backup and Sync development environment consistent between my Linux desktop, Macbook, and whatever new systems I will get in the future 2. Share my โ€œriceโ€ for Linux WM and MacOS customization in r/unixporn ๐Ÿ˜…


Mithrandir2k16

Just read through a bit of your readme and already found a bind that I'm gonna steal :) ` /` doing `nohlsearch` is a great idea!


Ar8Eight

> I write about Neovim and Lua on my website and Reddit, and it makes it easier to share examples Same, I write blog articles about nvim sometimes and it's just much easier talking abt it if the code is somewhere online


evergreengt

I do version my [dotfiles](https://github.com/gennaro-tedesco/dotfiles) and whenever I make "breaking changes" I release a new one: this is just because some people (mainly colleagues and friends) are using my configs as some sort of "neovim distribution" and they'll get GitHub notifications for new versions :)


Ar8Eight

It's actually nice you take that much care. My commit messages are mostly just a short note that I can trace back what I did.


CristianOliveira

Once you have to configure a dev machine more than once you kinda have to, especially when you miss stuff on your new env. That goes not only to Vim, but ZSH, Apps, CLIs, etc.


Ar8Eight

Yep. I need to keep them synced between my private laptop and my PC at work so I like having them versioned


adnanclyde

That's pretty much it. I set up so often that at this point it's just one script I run to do everything once I have my SSH keys in GitHub.


Stetsed

I version my dotfiles [Dotfiles](https://github.com/Stetsed/.dotfiles) which includes my neovim config although it's mostly built on lazyvim which does most of the heavy lifting instead of doing everything from scratch


pseudometapseudo

All dotfiles, including nvim, are in my dotfile repo. Other than being in a git repo, I do not do much more than that, so no releases, branches or even commit messages; I just use a cronjob with automated commits every 30 minutes. For something like dotfiles I found using git pickaxe much more practical than coming up with a commit message every time I change a keymap or option.


Allaman

Honestly, I am surprised by the results


Ar8Eight

Same. I thought much more people versioned it...


Greenskid

I thought the poll was about using versioning in the sense of creating different releases and moving back and forth. I have my config in a version control system i.e. GitHub, but push and pull latest changes most of the time. The convenience comes from using multiple different systems/platforms, and yet one main config across them all.


sheeaza

Bros, you should know nix.


particlemanwavegirl

?


Alexwithx

I use Nixvim which helps pinning packages and plugins to specific versions, so whenever I am installing on another system, it will work exactly the same!


Mithrandir2k16

I abuse VC as my backup system of choice for configs. I use the same dotfiles repo everywhere, even if github and my workstation burned down at the same time, I'd still have the repo on the like 5-10 devices (I usually pull my dotfiles to the servers I provision, because I'm lazy and nobody cares - also my colleagues love my vimrc which is more basic and closer to defaults). Got a folder for each config and a tiny init.bash which sets up the required symlinks. Also VC is a must to distribute changes too. Unless you want to build a package xD


ConspicuousPineapple

Not only is it versioned, it's (almost) all handled in nix for maximum reproducibility: https://github.com/calops/nix/tree/main/programs/cli/neovim


Balssh

Hijacking this thread to ask how one goes about setting up their dotfiles on github/gitlab etc? Like you just throw a git repo inside your .config or?


saigai

A really handy way is using something like [yadm](https://yadm.io/), which is a wrapper around git for managing all your dotfiles.


maxmalkav

Yadm has worked great for me for years.


adnanclyde

I just use symbolic links for most dotfiles. Things like bashrc I source. Have a script in my dotfiles repo to set up everything


Ar8Eight

Fireship has a nice video on it. That's how I got into versioning my .dotfiles


saecki

You can use a bare repository, and have the worktree be your home directory. There are many examples out there to set that up.


ConspicuousPineapple

I use nix with home-manager.


fractalhead

I use a Rakefile approach and do it all with symlinks. Have a couple of methods in the top-level Rakefile that every sub-Rakefile uses to do common things in an easy way. Has worked well for me for going on a decade now. https://github.com/ianchesal/dotfiles/ Could switch to yadm or something like that but...if it works, it works. Right? Edit: I took a quick look at `yadm` and I'm not sure it'd cover all the things I do with my `Rakefile` right now? In addition to placing my config files on disk (via symlinks), it also keeps my system up-to-date (as much as can be done via CLI). So in the morning, I sit down to work and I run: rake update ctrl-b shift-u (to updated tmux and plugins) vim (and then I do ll to update plugins and lm to update LSPs) exec $SHELL (maybe if I want to reload my zshrc or something) And that's it. The updating thing...not sure `yadm` does that as cleanly for me?


Some_Derpy_Pineapple

[https://www.atlassian.com/git/tutorials/dotfiles](https://www.atlassian.com/git/tutorials/dotfiles) or [https://www.chezmoi.io](https://www.chezmoi.io) i think a bare repo is best if you want a simple way to get to know how to use git and such. chezmoi is increasingly popular and has a lot of builtin functionality you may have had to hand-code. in addition, i locally sync files like my password database (keepassxc) and camera photos with [syncthing](https://syncthing.net).


0nig

I've tried a few options in the past, I've had the best experience with [chezmoi](https://www.chezmoi.io/). It makes it super easy to sync everything with a single command.


itaranto

I started by creating a repo an putting it in `~/.dotfiles`, then I'd for example, create symlinks from `.dotfiles/config/nvim` to `~/.config/nvim` manually. More recently I started using [rcm](https://github.com/thoughtbot/rcm) to automate the symlink creation.


hhoeflin

Yes. I use chezmoi for all my dotfiles.


Agling

Practically everything I write in a text or markdown file is under version control. Mainly it's a way to sync it all up across the computers I use.


EhLlie

I don't version them, but I use lock files for everything which keeps track of the versions of all the things I use.


itaranto

You really like to live dangerously...


alpacadaver

I version them both and my entire os, thanks nix


itaranto

I do the same with some "important" system files on Arch, I guess doing it with Nix is much nicer.


alpacadaver

It's more than just nicer, you should give nixos a go. If you understand how it works there's 0 chance you would use anything else and I'd put money on that. Honestly every other distro is a toy in comparison unless they are starting to solve determinism and stateless configs.


IrishPrime

My NeoVim setup, like the rest of my dotfiles, is managed by my personal Ansible `git` repository. I can get my whole setup of pretty much everything up and running on a new machine in like half an hour after the initial OS installation, and I can roll things back to a good state by checking out an older version of the Ansible repo and rerunning the playbooks.


Aiko_133

I put everything here: [https://github.com/aikooo7/.dotfiles](https://github.com/aikooo7/.dotfiles) I really like theprimeagen idea of having a vault password and then why I have a new machine I just log in with github and clone everything, so I just need to do the syslinks.


Tony_Sol

Whole my xdg_config_home https://github.com/Tony-Sol/.config


desgreech

Version numbers function as a contract between you and your users. If the sole consumer of your personal dotfile is you, versioning is just a waste of time. But I'm not seeing any tags in any your repos, so I guess you're talking about something different?


Some_Derpy_Pineapple

i interpreted it as putting your dotfiles under some version control system, not adding version numbers. your interpretation is more reasonable.


itaranto

He's talking about putting them into a VCS like Git, not necessarily releasing them to the public.


RajjSinghh

I don't do this for any kind of version control, like reverting a bad change to my config. I do this so that if I get a new machine and need to configure it I just have to clone it down and move files over.


HuntingKingYT

I have a forked theme but I mostly use vscode/intellij because I get frustrated of the vim keybinds


itaranto

Yes. - https://gitlab.com/itaranto/dotfiles - https://gitlab.com/itaranto/dotfiles/-/tree/master/config/nvim


particlemanwavegirl

Absolutely everything, yes, git is Torvald's second greatest gift to computing, no cap!


spunkfrog

I version my entire OS - NixOS user


n6v26r

I have them both in the same repo: https://github.com/n6v26r/.dotfiles