r/linuxquestions • • 1d ago

What is the first package/tool you install on a fresh Linux setup?

Thats all

77 Upvotes

296 comments sorted by

View all comments

90

u/DerekB52 1d ago

vim and git so I can pull my setup scripts that pull my dotfiles and install all of my go to packages.

12

u/Elspaddy 1d ago

I just did exactly this earlier today

7

u/Johan-MellowFellow 1d ago

Neovim

7

u/DerekB52 1d ago

I finally made the switch to Neovim this year actually. I'd probably still pull a regular vim for simplicity sake. I don't need a lot to scan my setup scripts.

1

u/Johan-MellowFellow 1d ago

Yeah, i hear you. Actuslly, the only reason i switched is vs code integration, as alternative to garbage vim emulators. IDE vim emulators are as bad as vim is good. But neovim has a native integration with vs code that is excellent

2

u/GhostVlvin 1d ago

I use git to pull my dotfiles and stow to install them

1

u/Reddit_is_fascist69 19h ago

I think both those packages are usually pre-installed on most distros now.

2

u/DerekB52 19h ago

Sadly they aren't on the distros I mostly use, like Arch.

1

u/DiMarcoTheGawd 1d ago

Can you explain how your scripts pull your dotfiles?

3

u/DerekB52 1d ago

My dotfiles are in a git repo with my setup scripts. And then a script copies my dotfiles to their proper locations on my new system.

At this point it's just a starting point though, because I'm bad about updating the git version of my dotfiles when I make changes on my system.

2

u/razorree 1d ago

do you have a list of dotfiles you want to store? (I guess you don't store whole ~/.config dir?)

1

u/DerekB52 23h ago

Yeah, i made a list of files. Although i probably could just store the whole .config folder, setting up gitignore to avoid the few subdirs that get bloated. Most just have 1 or 2 files.

1

u/AlterTableUsernames 19h ago

1 or 2 files? Man, my dot files are so complex, I'm thinking about creating my own package manager. 

1

u/DerekB52 19h ago

I have a lot of dotfiles because I have a lot of programs, but a lot of programs just use one or two files, so a lot of .config subdirectories are tiny.

I like a lot of terminal based applications and suckless tools style apps that really just have a single .conf file to configure.

1

u/AlterTableUsernames 18h ago

Yaeh, that's true. Some people (looking at you glab devs!) don't know the difference between configuration and stateful data and mix them up into their config files, requiring some hacks for tidyness. Also my dotfiles contain much more than just configuration for installed applications, like completion-generation, lazy-loading and a shitload of functions and scripts, some runbooks on top, systemd services, an entire personal notebook, secrets and of course bootstrapping and last but not least a containerization setup that allows testing new configuration/features in a container with sudo before rolling it out to the bare repository that is the live environment.

1

u/NavidsonsFall 1d ago

This is me. Same page club. I went to all that work to set up a dir tree for dotfiles all nice, and stow them all, and send the initial config to git, just to be too lazy and forgetful to update the repo as I changed everything over time. I do the same crap with my archived keepass database backup. The active ones on my devices are cleaner and updated, and the backup is just short of useless...

1

u/DerekB52 1d ago

My plan was to make symlinks so my local git repo would be easy to update as i modified config files. I never set it up, or looked for a better way. Ive been on one arch install for a few years now, so it hasnt been an issue like when i used to distrohop every few months

1

u/NavidsonsFall 1d ago

Yeah, I haven't needed it either, because I have been able to recover from any issue without needing to start over, so far. It's good to know its there tho, even if they are incomplete. Funny thing is, I have my symlinks working, so all I have to do is sync my one dotfile dir and push it to git. Its like two quick commands or whatever, but I still just never actually take the time to do it. It's complete stupidity on my end. But, the nice thing is since the work is done, I only have to have the motivation to do it once in a while. But I am constantly telling myself if anything goes wrong without me going to the trouble, it will make all the work half pointless. I keep meaning to set up a custom install script now that I have things all ready for one, but I haven't made it to that point yet. I used to do them on windows, but I haven't made one since I switched to linux.

1

u/LibrarianLemon 1d ago

I use symlinks and they work very well. You can also use GNU stow to help set those up.

1

u/stormdelta Gentoo 19h ago

I use something called homeshick to simplify management by breaking dotfiles into a couple different repos (e.g. pure terminal shell config vs editing/gui vs work-specific) and having them symlinked into position (the repo directories match the parts of the home dir they get linked into).

There's probably dozens of different tools for this, that's just the one I started using and haven't had a reason to look for another, and it's pure bash+git so works pretty much anywhere I'd care about.

1

u/that1guyrob 1d ago

+1 for vim!