yadm-dev / yadm

Yet Another Dotfiles Manager
https://yadm.io/
GNU General Public License v3.0
5.13k stars 176 forks source link

Include architecture in alternate selection #202

Closed jameshclrk closed 2 years ago

jameshclrk commented 4 years ago

Is your feature request related to a problem? Please describe.

Some dotfiles may change on architecture of the machine. This allows this to work with the alternate system.

Describe the solution you'd like

Expand the alternate section to consider the architecture of the machine.

##CLASS.ARCH.OS.HOSTNAME.USER
##CLASS.ARCH.OS.HOSTNAME
##CLASS.ARCH.OS
##CLASS.ARCH
##CLASS
##ARCH.OS.HOSTNAME.USER
##ARCH.OS.HOSTNAME
##ARCH.OS
##ARCH
##

Describe alternatives you've considered

Classes could allow this to work, however you may want a class and an arch.

Additional context

See PR #203

erijo commented 3 years ago

@jameshclrk: can you please elaborate about the use-case for this (as queried in #203)?

xenoterracide commented 3 years ago

I can think of one (that's not an actual problem for me yet, and I only really use x64 now). here's what I'm trying to do with yadm currently

  1. clone yadm repo
  2. yadm bootstrap
  3. bootstrap installs from system package manager and zinit
  4. zinit installs user only software
  5. some user software may install other software
  6. profit (my system is fully installed and configured)

if I were using a 32 bit system, or needed a cross compiler, I might need that information. I do not however have this need currently.

juodumas commented 3 years ago

Managing any kind of binaries with yadm screams for an arch config option. On the other hand yadm config local.class arch=$(uname -m) in bootstrap works fine.

TheLocehiliosan commented 2 years ago

This feature has been merged into the develop branch, and will be part of the next release.