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

Switching to DevOS (NixOS config architecture) #14

Closed
Narice opened this issue Sep 8, 2021 · 4 comments
Closed

Switching to DevOS (NixOS config architecture) #14

Narice opened this issue Sep 8, 2021 · 4 comments

Comments

@Narice
Copy link

Narice commented Sep 8, 2021

Hey! I really like the configuration that you have put together!
I think the structure was taken from a very old version of DevOS ;)
You should check the updated version, they have helping tools to manage the config and a lot of other cool stuff. And for people using DevOS, we can easily take some parts of your config independently 😁
Have fun!

@Icy-Thought
Copy link
Owner

Appreciate it & the suggestion!

At this moment in time I unfortunately find myself having little to no time for experiment with the current flake structure, but I have been intending to rewrite the whole flake setup with my personal spin.

What parts do you find somewhat challenging when it comes to replicating parts of my setup?

@Narice
Copy link
Author

Narice commented Sep 12, 2021

I guess I could replicate the entirety of your setup, but as the differents parts of your system are not seperated in small chunk, I cannot take only the parts I need

DevOS is really nice when it comes to this, there is documentation for the different concepts like profiles, hosts and stuff like this.

Profiles would be most likely what I would be browsing, they are defined as independent fo hardware bits of config, so for example, one would have it's i3 config in a certain profile, it's picom or xmonad config in another and then you could choose on a host basis what you want to include in your setup.
Hosts are where you define stuff that is hardware or host dependent like the video drivers you'll be using.

I think it's quite an effective system to organize stuff. Personnaly I switched to DevOS just by putting everything in a "core" profile and I'm working on seperating things ;)

The tools that are provided are also awesome, they have a command called bud with a lot of functionalities like firing up a vm with your config, switching easily to the new config, making isos and installers for the config etc. It's really nice and helps when installing for the first time NixOS for example or installing it for the first time on a new device.
You can also extend locally the command and it's provided (with many other things like experimental nix with flakes enables) through a dev-shell and .envrc file which is such a nice thing and practicle thing to have.
I can't praise it enough.

And then the community is really nice, it's not too big and you can participate very easily (I added the vm functionality for example)

@Icy-Thought
Copy link
Owner

I also think that DevOS is a good piece of Nix code and I do appreciate your contribution to the project!

The main reason behind why I have chosen not to adopt DevOS is due to my current learning habit, which is mainly accomplished through my interaction with the subject I happen to be studying. Among those interactions (projects) is my own flake repository. I don't think I will abandon that project anytime soon and if I do then I'll most likely wind up using a project like DevOS.

I don't think you need to copy the entirety of my flake repository, since I myself am not using everything for all my listed devices.

What I am using at the moment is found in the profiles & profiles/home, but to reduce your browsing:

  1. config/default.nix ++ packages is used by all devices.
  2. Xmonad: overlays (xmonad.nix & taffybar.nix) ++ config/xmonad.nix ++ modules/window-managers/xmonad.nix ++ modules/display-managers/sddm.nix
  3. Plasma: config/plasma.nix ++ modules/desktop-managers/plasma.nix ++ modules/display-managers/sddm.nix

I'll make sure to update the documentation in the near future to explain the different parts of my setup and how it is achieved for people to learn from. You can always create/update this issue and I'll make sure to explain whatever you are puzzled by!

@Narice
Copy link
Author

Narice commented Sep 30, 2021

The main reason behind why I have chosen not to adopt DevOS is due to my current learning habit, which is mainly accomplished through my interaction with the subject I happen to be studying. Among those interactions (projects) is my own flake repository.

Oh I see, that's awesome!
Thank you also for the pointers, that's really nice of you ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants