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

Support multiple "profiles" #11

Open
DrPyser opened this issue Jan 2, 2020 · 1 comment
Open

Support multiple "profiles" #11

DrPyser opened this issue Jan 2, 2020 · 1 comment

Comments

@DrPyser
Copy link
Owner

DrPyser commented Jan 2, 2020

Currently, each top level directory is a set of files that define a set of configurations. Eventually, different (conflicting) sets of configurations could be desired, if different setups are to be experimented, or to version configurations for differnet machines.

To support different, independent sets of configurations,

  • add a top layer in the file hierarchy, each root directory containing the configurations for a particular machine.

Alternative configurations for the same machine could be supported in multiple ways:

  • git branches
  • different roots, e.g. x86-64-nixos-bspwm, x86-64-nixos-i3, x86-64.ubuntu.gnome, ...

Alternatively, or complementary, the definition of a set of configurations for a particular machine state(the "recipe") could be managed separately from the configurations themselves, for example using a script or some declarative tooling(e.g. vagrant, foreman, ansible/chef/puppet/salt).
The configurations could be organized arbitrarily, and the build script would refer to the configuration assets it requires from the repository.

@DrPyser
Copy link
Owner Author

DrPyser commented Jan 2, 2020

Instead of having

home/
  .configs/
    kak/...
    sxhkd/...
    bspwm/...
    polybar/...
    ...
  .xsession
  .bashrc
  ...
nixos/
  /etc/nixos/...
  ...

we could have

bspwm/
  .config/
    bpswm/...
    sxhkd/...
    polybar/...
    systemd/user/...
  ,xsession

bash/
  .bashrc
  .bash_profile

nixos/
  /etc/nixos/...
  ...

kakoune/
  .config/kak/...

That is, packages should contain configurations related to a particular purpose. Putting together configurations related to the graphical interface(bspwm & co), and separately configurations for other tools

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

1 participant