DEV Community

Cover image for Tired of Manual Setup? Automate Your Ubuntu/Debian Environment with My Dotfiles!
Mateusz Okulanis
Mateusz Okulanis

Posted on

Tired of Manual Setup? Automate Your Ubuntu/Debian Environment with My Dotfiles!

Hey everyone! πŸ‘‹

Have you ever felt that nagging feeling after a fresh OS install? You know, the one where you just dread setting up your entire development environment from scratch? Installing all your favorite tools, configuring git, setting up Docker, getting your bashrc just right... it’s like Groundhog Day, but with more apt install commands!

That was me, repeatedly. 😩

I got so tired of running the same setup scripts over and over on different machines that I decided to do something about it. And that's how setup-dotFiles was born!


What is setup-dotFiles?

It's a comprehensive collection of dotfiles and configuration scripts designed to automate the setup of your development environment on Ubuntu (24.04, 22.04, 20.04) and Debian (Bookworm, Bullseye). My goal was simple: make system setup quick, consistent, and headache-free.


Why should YOU care? (Or, "What's in it for you, seriously?")

Imagine this:

  • Scenario 1: New Laptop Day! πŸŽ‰ You just got a shiny new machine. Instead of spending hours installing everything, you clone setup-dotFiles, run one script, grab a coffee, and come back to a fully configured environment. No more forgetting that one crucial git config!
  • Scenario 2: Setting up a Dev Server! πŸ–₯️ Need to quickly spin up a consistent dev server? This project handles all the core installations (like Docker!) for you, ensuring uniformity across your machines.
  • Scenario 3: Collaborating on a Project! 🀝 You can fork this repo, customize it for your team's specific needs, and ensure everyone has the exact same baseline environment, reducing "it works on my machine" issues.

This isn't just about my setup; it's designed to be YOUR setup. Fork it, customize it, make it yours!


What can it do for you? (Features at a glance!)

I've packed in a bunch of useful automations:

  • Essential Packages: Automatically installs git, build-essential, curl, and more.
  • Git Global Settings: Sets up your global user.name and user.email, and core.fileMode (super handy for cross-OS dev!).
  • Productivity Power-ups: Installs and configures tmux (for persistent sessions!) and fzf (for fuzzy finding files like a wizard!).
  • Docker Ready: Full Docker installation and configuration, including adding your user to the docker group. No more sudo docker! (Just remember to log out/in after).
  • RAM Disk Setup: Creates a ~/RAMDISC for super fast temporary operations.
  • Custom bashrc: Integrates my customized bashrc for a snappier terminal experience.
  • VS Code & Tailscale: Options to install popular tools like Visual Studio Code and Tailscale.
  • SSH Key Generation: Helps you quickly set up new SSH keys for GitHub, GitLab, etc.

Play Safely: Docker Test Environment! 🐳

Worried about running scripts directly on your main system? I totally get it! That's why setup-dotFiles includes a Docker-based test environment.

You can test all the scripts in an isolated Ubuntu 24.04 container without touching your host system.

How to use it:

  1. Clone the repository:

    git clone [https://github.com/FPGArtktic/setup-DotFiles.git](https://github.com/FPGArtktic/setup-DotFiles.git)
    cd setup-DotFiles # Make sure you're in the right directory
    
  2. Run the test script:

    ./docker_test.sh
    

    This builds an Ubuntu 24.04 image, creates a container, and drops you into an interactive bash session. Inside the container, you can run ./setup-dotFile.sh and see exactly what happens!


Ready to Install on Your System?

If you're feeling brave and want to deploy it on your real system (after testing, of course! πŸ˜‰):


bash
git clone [https://github.com/FPGArtktktic/setup-DotFiles.git](https://github.com/FPGArtktktic/setup-DotFiles.git)
cd setup-DotFiles
./setup-dotFile.sh

The script is interactive, but you can also use flags like --yes to skip prompts or --dry-run to see what it would do!
Contribute & Customize!

This project is licensed under GNU GPLv3, meaning it's completely open for you to fork, adapt, and improve!

    Do you have a favorite tool that's missing?
    A better way to configure something?
    Want to add support for another distro?

Fork it, open a pull request, or just use it as a starting point for your own ultimate dotfiles!

You can find the repository here: https://github.com/FPGArtktktic/setup-DotFiles (Remember to update the link to your actual GitHub repo!)
Let me know what you think!

What are your biggest pain points when setting up a new dev environment? How do you automate your processes? Share your thoughts in the comments!

https://github.com/FPGArtktic/setup-DotFiles

Happy automating! ✨
Enter fullscreen mode Exit fullscreen mode

Top comments (0)