Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Questions about hardware configuration #8

Open
PlaneTraveller opened this issue Mar 12, 2024 · 1 comment
Open

Questions about hardware configuration #8

PlaneTraveller opened this issue Mar 12, 2024 · 1 comment
Labels
question Further information is requested

Comments

@PlaneTraveller
Copy link

Hi! I'm a new nix user migrating from arch, trying to learn about the best practices of modularizing my systems, so this is more of a question than an issue.

I couldn't help but notice that you imported the same hardware-configuration.nix for all your profiles. Are you using the same disk for all your systems? Why is it that the disk uuid persists through the different hardware? Is there a good reason why you are using the same configuration for (presumably different) hardware?

Extracting settings like username, hostname, or profile into flake.nix is really elegant! But how do you use version control tools to sync the config between different systems? For example, for different machines, the hostname and profile might be different. Do you manually change them to the default one before pushing and pulling?

Have you considered using snowfall to manage everything? It seems like a really elegant solution, but I'm too noob to find out.

Thank you so much for your config! I'm a hyprland + doom emacs user too! I really learned a lot from your config about managing hyprland and doom with nix.

@librephoenix
Copy link
Owner

Thanks for the comment! I actually don't use the same hardware-configuration.nix for every system.

Essentially, the way I manage config on multiple systems is a bit hacky, but it goes something like this:

  • This repo is the configuration for my personal computer
  • I tweak the configuration slightly on other computers (modifying the settings in flake.nix and generating a different hardware-configuration.nix for each computer)
  • I make configuration changes and updates on my personal computer, and when ready, push these changes to a remote (GitHub, GitLab, etc..)
  • The other computers use git stash to store their tweaks, and I can pull the new updates (see pull.sh)

The main reason I use this hacky setup is that every other computer I install my config to has settings that I don't want to share publicly XD Until I setup a way to manage those settings as secrets, I'm probably going to stay with this setup.

So essentially I use my config here as a starting point, and tweak individual pieces as necessary for other machines.

Thanks for the snowfall recommendation! I don't know much about it, but from a cursory glance it looks really cool! I'll have to spend some time figuring it out!

@librephoenix librephoenix added the question Further information is requested label Jun 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants