Separate environment for personal and development use under macOS

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP












7















How can I separate my professional use of Apple computer from the personal use?



I am about to get a new Apple computer soon. I am a developer (actually .NET developer ^___^) and would like to have my personal and professional use separated under the same machine.



I know there is the possibility to use Bootcamp to install Windows, probably the cleanest approach, but I am learning .NET Core and other frameworks available in macOS that I like to work with.



Which approach would you try to keep both personal and developers use away from each other?










share|improve this question



















  • 4





    You can set up two users on the machine one for work and one for personal use. However if a .NET developer especially if you produce GUIs or want to make use of Visual Studio Bootcamp or a Virtual Machine running Windows would be better

    – Mark
    Feb 26 at 12:08















7















How can I separate my professional use of Apple computer from the personal use?



I am about to get a new Apple computer soon. I am a developer (actually .NET developer ^___^) and would like to have my personal and professional use separated under the same machine.



I know there is the possibility to use Bootcamp to install Windows, probably the cleanest approach, but I am learning .NET Core and other frameworks available in macOS that I like to work with.



Which approach would you try to keep both personal and developers use away from each other?










share|improve this question



















  • 4





    You can set up two users on the machine one for work and one for personal use. However if a .NET developer especially if you produce GUIs or want to make use of Visual Studio Bootcamp or a Virtual Machine running Windows would be better

    – Mark
    Feb 26 at 12:08













7












7








7








How can I separate my professional use of Apple computer from the personal use?



I am about to get a new Apple computer soon. I am a developer (actually .NET developer ^___^) and would like to have my personal and professional use separated under the same machine.



I know there is the possibility to use Bootcamp to install Windows, probably the cleanest approach, but I am learning .NET Core and other frameworks available in macOS that I like to work with.



Which approach would you try to keep both personal and developers use away from each other?










share|improve this question
















How can I separate my professional use of Apple computer from the personal use?



I am about to get a new Apple computer soon. I am a developer (actually .NET developer ^___^) and would like to have my personal and professional use separated under the same machine.



I know there is the possibility to use Bootcamp to install Windows, probably the cleanest approach, but I am learning .NET Core and other frameworks available in macOS that I like to work with.



Which approach would you try to keep both personal and developers use away from each other?







macos development






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Feb 26 at 12:16









nohillside

52.9k13112156




52.9k13112156










asked Feb 26 at 12:04









JulenJulen

1384




1384







  • 4





    You can set up two users on the machine one for work and one for personal use. However if a .NET developer especially if you produce GUIs or want to make use of Visual Studio Bootcamp or a Virtual Machine running Windows would be better

    – Mark
    Feb 26 at 12:08












  • 4





    You can set up two users on the machine one for work and one for personal use. However if a .NET developer especially if you produce GUIs or want to make use of Visual Studio Bootcamp or a Virtual Machine running Windows would be better

    – Mark
    Feb 26 at 12:08







4




4





You can set up two users on the machine one for work and one for personal use. However if a .NET developer especially if you produce GUIs or want to make use of Visual Studio Bootcamp or a Virtual Machine running Windows would be better

– Mark
Feb 26 at 12:08





You can set up two users on the machine one for work and one for personal use. However if a .NET developer especially if you produce GUIs or want to make use of Visual Studio Bootcamp or a Virtual Machine running Windows would be better

– Mark
Feb 26 at 12:08










3 Answers
3






active

oldest

votes


















15














There are multiple options:



The simplest would be to create two user accounts. Your first account is created during the first use of the Mac. Create a second account by clicking the Apple-menu in the top left corner, select System Preferences, Users & Groups, open the lock and click + to add a new user.



This way you can login to either a personal or professional account. In the same place you add accounts, you can click "Login Options" where you can enble "Fast User Switching". This allows you to easily switch between the personal and private account (both can be logged in at the same time).



Other options for seperating personal and professional use are:



1) BootCamp Windows installation for professional use, macOS installation for personal use. Major drawbacks are that it requires a full reboot every time you want to switch between the two, and it is a hassle to ensure that disk space is available according to where you need it.



2) Virtual Machine with Windows (or macOS) for professional use, and the macOS native system for personal use. Can be done with for example VMware Fusion, Parallels Desktop or free alternatives such as VirtualBox. You can run the two environments simultaneously and share files, clipboard, etc. However allocating storage correctly can still be a nuisance.



3) Spaces. You can divide your open application windows in different "spaces" on the Mac. When you change "spaces" a whole set of windows are exchanged, such that you can keep a virtual desktop with all your professional stuff seperated from the private stuff. It is however up to yourself to organize windows between the two spaces, and there's no seperation of files, etc. on the disk.






share|improve this answer


















  • 1





    For 2 I'd suggest keeping the dev env native and use a vm for personal. That way when it comes time to give up the machine (leaving or new laptop) you can just copy/wipe one file and you're done. It will also run the dev code faster and without artificial memory limits which is likely more important for work stuff than anything personal on a work machine.

    – Kevin
    Feb 26 at 18:56






  • 1





    You’re assuming that it is a company laptop. That might not be case. You do not have to artificially limit memory with virtual machines at all. For typical dev code, my experience is that virtual machines aren’t noticeable slower than native. But they offer important features for dev work such as snapshots and the ability to clone. Similarly personal stuff may include games which often run noticeable slower in a virtual machine - that’s why I suggested it this way around. However it is trivial to swap them around if you rather want that.

    – jksoegaard
    Feb 26 at 19:04











  • Actually I am considering an iMac. I would buy it myself.

    – Julen
    Feb 27 at 16:37











  • Yes, that's what I suspected - then I think the division I suggested in my answer is most suitable. YMMV ofcourse.

    – jksoegaard
    Feb 27 at 19:58


















3














You can create a second user account to separate both purposes, or even add a partition and install a second macOS for even more separation. An additional user account is usually more than enough.






share|improve this answer






























    3














    Caveat



    I am not a user of or developer for Microsoft technologies, generally speaking. I do almost all of both my professional and personal use on a combination of MacOS and Linux. I use almost exclusively free tools (e.g. vim) for development, and so little to no concerns of licensing, product activation, etc.



    That being said...



    I would challenge you to reframe your way of looking at this: development environments, for work or personal use, should be (as far as is possible given the constraints) completely disposable.



    I do almost all of my dev work in VMs that are provisioned by scripts. Reusable, replaceable, reproducible VMs. The host and guest OSes aren't super-relevant, as long as the system meets those goals.



    On my trusty MBP, that is achieved through a combination of Vagrant/VirtualBox for server vms (sub with Docker if you swing that way) and Parallels for my actual dev environment. All of my configuration and provisioning are stored and versioned courtesy of github, and I regularly update them as my needs/tastes change.



    Now, I don't always strictly adhere to that, I do some work on the host MacOS. But I'm 60% remote, and it's really nice not to have to switch gears too much between home office (MBP) and office office (linux workstation).



    You may not want to go this far, and I'm still not sure it was worth all of the effort it took to set up, but I can be productive on a new machine in half and hour or so, and I never have to worry about "works on my machine" kind of issues.






    share|improve this answer























    • @PascLeRasc nah, no syncing or versioning of individual vms. If I want to "update" I just make a new one. The provisioning scripts will pull in everything I need. Then it's git clone a few projects (also scriptable) and it's off to the races. I try really hard to avoid anything that requires much manual setup. As for resources, you can see my current setup here. It's not very polished (it's for my own personal use) but it'll get you started.

      – Jared Smith
      Feb 26 at 22:40











    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "118"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fapple.stackexchange.com%2fquestions%2f352501%2fseparate-environment-for-personal-and-development-use-under-macos%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    15














    There are multiple options:



    The simplest would be to create two user accounts. Your first account is created during the first use of the Mac. Create a second account by clicking the Apple-menu in the top left corner, select System Preferences, Users & Groups, open the lock and click + to add a new user.



    This way you can login to either a personal or professional account. In the same place you add accounts, you can click "Login Options" where you can enble "Fast User Switching". This allows you to easily switch between the personal and private account (both can be logged in at the same time).



    Other options for seperating personal and professional use are:



    1) BootCamp Windows installation for professional use, macOS installation for personal use. Major drawbacks are that it requires a full reboot every time you want to switch between the two, and it is a hassle to ensure that disk space is available according to where you need it.



    2) Virtual Machine with Windows (or macOS) for professional use, and the macOS native system for personal use. Can be done with for example VMware Fusion, Parallels Desktop or free alternatives such as VirtualBox. You can run the two environments simultaneously and share files, clipboard, etc. However allocating storage correctly can still be a nuisance.



    3) Spaces. You can divide your open application windows in different "spaces" on the Mac. When you change "spaces" a whole set of windows are exchanged, such that you can keep a virtual desktop with all your professional stuff seperated from the private stuff. It is however up to yourself to organize windows between the two spaces, and there's no seperation of files, etc. on the disk.






    share|improve this answer


















    • 1





      For 2 I'd suggest keeping the dev env native and use a vm for personal. That way when it comes time to give up the machine (leaving or new laptop) you can just copy/wipe one file and you're done. It will also run the dev code faster and without artificial memory limits which is likely more important for work stuff than anything personal on a work machine.

      – Kevin
      Feb 26 at 18:56






    • 1





      You’re assuming that it is a company laptop. That might not be case. You do not have to artificially limit memory with virtual machines at all. For typical dev code, my experience is that virtual machines aren’t noticeable slower than native. But they offer important features for dev work such as snapshots and the ability to clone. Similarly personal stuff may include games which often run noticeable slower in a virtual machine - that’s why I suggested it this way around. However it is trivial to swap them around if you rather want that.

      – jksoegaard
      Feb 26 at 19:04











    • Actually I am considering an iMac. I would buy it myself.

      – Julen
      Feb 27 at 16:37











    • Yes, that's what I suspected - then I think the division I suggested in my answer is most suitable. YMMV ofcourse.

      – jksoegaard
      Feb 27 at 19:58















    15














    There are multiple options:



    The simplest would be to create two user accounts. Your first account is created during the first use of the Mac. Create a second account by clicking the Apple-menu in the top left corner, select System Preferences, Users & Groups, open the lock and click + to add a new user.



    This way you can login to either a personal or professional account. In the same place you add accounts, you can click "Login Options" where you can enble "Fast User Switching". This allows you to easily switch between the personal and private account (both can be logged in at the same time).



    Other options for seperating personal and professional use are:



    1) BootCamp Windows installation for professional use, macOS installation for personal use. Major drawbacks are that it requires a full reboot every time you want to switch between the two, and it is a hassle to ensure that disk space is available according to where you need it.



    2) Virtual Machine with Windows (or macOS) for professional use, and the macOS native system for personal use. Can be done with for example VMware Fusion, Parallels Desktop or free alternatives such as VirtualBox. You can run the two environments simultaneously and share files, clipboard, etc. However allocating storage correctly can still be a nuisance.



    3) Spaces. You can divide your open application windows in different "spaces" on the Mac. When you change "spaces" a whole set of windows are exchanged, such that you can keep a virtual desktop with all your professional stuff seperated from the private stuff. It is however up to yourself to organize windows between the two spaces, and there's no seperation of files, etc. on the disk.






    share|improve this answer


















    • 1





      For 2 I'd suggest keeping the dev env native and use a vm for personal. That way when it comes time to give up the machine (leaving or new laptop) you can just copy/wipe one file and you're done. It will also run the dev code faster and without artificial memory limits which is likely more important for work stuff than anything personal on a work machine.

      – Kevin
      Feb 26 at 18:56






    • 1





      You’re assuming that it is a company laptop. That might not be case. You do not have to artificially limit memory with virtual machines at all. For typical dev code, my experience is that virtual machines aren’t noticeable slower than native. But they offer important features for dev work such as snapshots and the ability to clone. Similarly personal stuff may include games which often run noticeable slower in a virtual machine - that’s why I suggested it this way around. However it is trivial to swap them around if you rather want that.

      – jksoegaard
      Feb 26 at 19:04











    • Actually I am considering an iMac. I would buy it myself.

      – Julen
      Feb 27 at 16:37











    • Yes, that's what I suspected - then I think the division I suggested in my answer is most suitable. YMMV ofcourse.

      – jksoegaard
      Feb 27 at 19:58













    15












    15








    15







    There are multiple options:



    The simplest would be to create two user accounts. Your first account is created during the first use of the Mac. Create a second account by clicking the Apple-menu in the top left corner, select System Preferences, Users & Groups, open the lock and click + to add a new user.



    This way you can login to either a personal or professional account. In the same place you add accounts, you can click "Login Options" where you can enble "Fast User Switching". This allows you to easily switch between the personal and private account (both can be logged in at the same time).



    Other options for seperating personal and professional use are:



    1) BootCamp Windows installation for professional use, macOS installation for personal use. Major drawbacks are that it requires a full reboot every time you want to switch between the two, and it is a hassle to ensure that disk space is available according to where you need it.



    2) Virtual Machine with Windows (or macOS) for professional use, and the macOS native system for personal use. Can be done with for example VMware Fusion, Parallels Desktop or free alternatives such as VirtualBox. You can run the two environments simultaneously and share files, clipboard, etc. However allocating storage correctly can still be a nuisance.



    3) Spaces. You can divide your open application windows in different "spaces" on the Mac. When you change "spaces" a whole set of windows are exchanged, such that you can keep a virtual desktop with all your professional stuff seperated from the private stuff. It is however up to yourself to organize windows between the two spaces, and there's no seperation of files, etc. on the disk.






    share|improve this answer













    There are multiple options:



    The simplest would be to create two user accounts. Your first account is created during the first use of the Mac. Create a second account by clicking the Apple-menu in the top left corner, select System Preferences, Users & Groups, open the lock and click + to add a new user.



    This way you can login to either a personal or professional account. In the same place you add accounts, you can click "Login Options" where you can enble "Fast User Switching". This allows you to easily switch between the personal and private account (both can be logged in at the same time).



    Other options for seperating personal and professional use are:



    1) BootCamp Windows installation for professional use, macOS installation for personal use. Major drawbacks are that it requires a full reboot every time you want to switch between the two, and it is a hassle to ensure that disk space is available according to where you need it.



    2) Virtual Machine with Windows (or macOS) for professional use, and the macOS native system for personal use. Can be done with for example VMware Fusion, Parallels Desktop or free alternatives such as VirtualBox. You can run the two environments simultaneously and share files, clipboard, etc. However allocating storage correctly can still be a nuisance.



    3) Spaces. You can divide your open application windows in different "spaces" on the Mac. When you change "spaces" a whole set of windows are exchanged, such that you can keep a virtual desktop with all your professional stuff seperated from the private stuff. It is however up to yourself to organize windows between the two spaces, and there's no seperation of files, etc. on the disk.







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Feb 26 at 13:36









    jksoegaardjksoegaard

    19.4k2049




    19.4k2049







    • 1





      For 2 I'd suggest keeping the dev env native and use a vm for personal. That way when it comes time to give up the machine (leaving or new laptop) you can just copy/wipe one file and you're done. It will also run the dev code faster and without artificial memory limits which is likely more important for work stuff than anything personal on a work machine.

      – Kevin
      Feb 26 at 18:56






    • 1





      You’re assuming that it is a company laptop. That might not be case. You do not have to artificially limit memory with virtual machines at all. For typical dev code, my experience is that virtual machines aren’t noticeable slower than native. But they offer important features for dev work such as snapshots and the ability to clone. Similarly personal stuff may include games which often run noticeable slower in a virtual machine - that’s why I suggested it this way around. However it is trivial to swap them around if you rather want that.

      – jksoegaard
      Feb 26 at 19:04











    • Actually I am considering an iMac. I would buy it myself.

      – Julen
      Feb 27 at 16:37











    • Yes, that's what I suspected - then I think the division I suggested in my answer is most suitable. YMMV ofcourse.

      – jksoegaard
      Feb 27 at 19:58












    • 1





      For 2 I'd suggest keeping the dev env native and use a vm for personal. That way when it comes time to give up the machine (leaving or new laptop) you can just copy/wipe one file and you're done. It will also run the dev code faster and without artificial memory limits which is likely more important for work stuff than anything personal on a work machine.

      – Kevin
      Feb 26 at 18:56






    • 1





      You’re assuming that it is a company laptop. That might not be case. You do not have to artificially limit memory with virtual machines at all. For typical dev code, my experience is that virtual machines aren’t noticeable slower than native. But they offer important features for dev work such as snapshots and the ability to clone. Similarly personal stuff may include games which often run noticeable slower in a virtual machine - that’s why I suggested it this way around. However it is trivial to swap them around if you rather want that.

      – jksoegaard
      Feb 26 at 19:04











    • Actually I am considering an iMac. I would buy it myself.

      – Julen
      Feb 27 at 16:37











    • Yes, that's what I suspected - then I think the division I suggested in my answer is most suitable. YMMV ofcourse.

      – jksoegaard
      Feb 27 at 19:58







    1




    1





    For 2 I'd suggest keeping the dev env native and use a vm for personal. That way when it comes time to give up the machine (leaving or new laptop) you can just copy/wipe one file and you're done. It will also run the dev code faster and without artificial memory limits which is likely more important for work stuff than anything personal on a work machine.

    – Kevin
    Feb 26 at 18:56





    For 2 I'd suggest keeping the dev env native and use a vm for personal. That way when it comes time to give up the machine (leaving or new laptop) you can just copy/wipe one file and you're done. It will also run the dev code faster and without artificial memory limits which is likely more important for work stuff than anything personal on a work machine.

    – Kevin
    Feb 26 at 18:56




    1




    1





    You’re assuming that it is a company laptop. That might not be case. You do not have to artificially limit memory with virtual machines at all. For typical dev code, my experience is that virtual machines aren’t noticeable slower than native. But they offer important features for dev work such as snapshots and the ability to clone. Similarly personal stuff may include games which often run noticeable slower in a virtual machine - that’s why I suggested it this way around. However it is trivial to swap them around if you rather want that.

    – jksoegaard
    Feb 26 at 19:04





    You’re assuming that it is a company laptop. That might not be case. You do not have to artificially limit memory with virtual machines at all. For typical dev code, my experience is that virtual machines aren’t noticeable slower than native. But they offer important features for dev work such as snapshots and the ability to clone. Similarly personal stuff may include games which often run noticeable slower in a virtual machine - that’s why I suggested it this way around. However it is trivial to swap them around if you rather want that.

    – jksoegaard
    Feb 26 at 19:04













    Actually I am considering an iMac. I would buy it myself.

    – Julen
    Feb 27 at 16:37





    Actually I am considering an iMac. I would buy it myself.

    – Julen
    Feb 27 at 16:37













    Yes, that's what I suspected - then I think the division I suggested in my answer is most suitable. YMMV ofcourse.

    – jksoegaard
    Feb 27 at 19:58





    Yes, that's what I suspected - then I think the division I suggested in my answer is most suitable. YMMV ofcourse.

    – jksoegaard
    Feb 27 at 19:58













    3














    You can create a second user account to separate both purposes, or even add a partition and install a second macOS for even more separation. An additional user account is usually more than enough.






    share|improve this answer



























      3














      You can create a second user account to separate both purposes, or even add a partition and install a second macOS for even more separation. An additional user account is usually more than enough.






      share|improve this answer

























        3












        3








        3







        You can create a second user account to separate both purposes, or even add a partition and install a second macOS for even more separation. An additional user account is usually more than enough.






        share|improve this answer













        You can create a second user account to separate both purposes, or even add a partition and install a second macOS for even more separation. An additional user account is usually more than enough.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Feb 26 at 14:37









        John KeatesJohn Keates

        2,220510




        2,220510





















            3














            Caveat



            I am not a user of or developer for Microsoft technologies, generally speaking. I do almost all of both my professional and personal use on a combination of MacOS and Linux. I use almost exclusively free tools (e.g. vim) for development, and so little to no concerns of licensing, product activation, etc.



            That being said...



            I would challenge you to reframe your way of looking at this: development environments, for work or personal use, should be (as far as is possible given the constraints) completely disposable.



            I do almost all of my dev work in VMs that are provisioned by scripts. Reusable, replaceable, reproducible VMs. The host and guest OSes aren't super-relevant, as long as the system meets those goals.



            On my trusty MBP, that is achieved through a combination of Vagrant/VirtualBox for server vms (sub with Docker if you swing that way) and Parallels for my actual dev environment. All of my configuration and provisioning are stored and versioned courtesy of github, and I regularly update them as my needs/tastes change.



            Now, I don't always strictly adhere to that, I do some work on the host MacOS. But I'm 60% remote, and it's really nice not to have to switch gears too much between home office (MBP) and office office (linux workstation).



            You may not want to go this far, and I'm still not sure it was worth all of the effort it took to set up, but I can be productive on a new machine in half and hour or so, and I never have to worry about "works on my machine" kind of issues.






            share|improve this answer























            • @PascLeRasc nah, no syncing or versioning of individual vms. If I want to "update" I just make a new one. The provisioning scripts will pull in everything I need. Then it's git clone a few projects (also scriptable) and it's off to the races. I try really hard to avoid anything that requires much manual setup. As for resources, you can see my current setup here. It's not very polished (it's for my own personal use) but it'll get you started.

              – Jared Smith
              Feb 26 at 22:40
















            3














            Caveat



            I am not a user of or developer for Microsoft technologies, generally speaking. I do almost all of both my professional and personal use on a combination of MacOS and Linux. I use almost exclusively free tools (e.g. vim) for development, and so little to no concerns of licensing, product activation, etc.



            That being said...



            I would challenge you to reframe your way of looking at this: development environments, for work or personal use, should be (as far as is possible given the constraints) completely disposable.



            I do almost all of my dev work in VMs that are provisioned by scripts. Reusable, replaceable, reproducible VMs. The host and guest OSes aren't super-relevant, as long as the system meets those goals.



            On my trusty MBP, that is achieved through a combination of Vagrant/VirtualBox for server vms (sub with Docker if you swing that way) and Parallels for my actual dev environment. All of my configuration and provisioning are stored and versioned courtesy of github, and I regularly update them as my needs/tastes change.



            Now, I don't always strictly adhere to that, I do some work on the host MacOS. But I'm 60% remote, and it's really nice not to have to switch gears too much between home office (MBP) and office office (linux workstation).



            You may not want to go this far, and I'm still not sure it was worth all of the effort it took to set up, but I can be productive on a new machine in half and hour or so, and I never have to worry about "works on my machine" kind of issues.






            share|improve this answer























            • @PascLeRasc nah, no syncing or versioning of individual vms. If I want to "update" I just make a new one. The provisioning scripts will pull in everything I need. Then it's git clone a few projects (also scriptable) and it's off to the races. I try really hard to avoid anything that requires much manual setup. As for resources, you can see my current setup here. It's not very polished (it's for my own personal use) but it'll get you started.

              – Jared Smith
              Feb 26 at 22:40














            3












            3








            3







            Caveat



            I am not a user of or developer for Microsoft technologies, generally speaking. I do almost all of both my professional and personal use on a combination of MacOS and Linux. I use almost exclusively free tools (e.g. vim) for development, and so little to no concerns of licensing, product activation, etc.



            That being said...



            I would challenge you to reframe your way of looking at this: development environments, for work or personal use, should be (as far as is possible given the constraints) completely disposable.



            I do almost all of my dev work in VMs that are provisioned by scripts. Reusable, replaceable, reproducible VMs. The host and guest OSes aren't super-relevant, as long as the system meets those goals.



            On my trusty MBP, that is achieved through a combination of Vagrant/VirtualBox for server vms (sub with Docker if you swing that way) and Parallels for my actual dev environment. All of my configuration and provisioning are stored and versioned courtesy of github, and I regularly update them as my needs/tastes change.



            Now, I don't always strictly adhere to that, I do some work on the host MacOS. But I'm 60% remote, and it's really nice not to have to switch gears too much between home office (MBP) and office office (linux workstation).



            You may not want to go this far, and I'm still not sure it was worth all of the effort it took to set up, but I can be productive on a new machine in half and hour or so, and I never have to worry about "works on my machine" kind of issues.






            share|improve this answer













            Caveat



            I am not a user of or developer for Microsoft technologies, generally speaking. I do almost all of both my professional and personal use on a combination of MacOS and Linux. I use almost exclusively free tools (e.g. vim) for development, and so little to no concerns of licensing, product activation, etc.



            That being said...



            I would challenge you to reframe your way of looking at this: development environments, for work or personal use, should be (as far as is possible given the constraints) completely disposable.



            I do almost all of my dev work in VMs that are provisioned by scripts. Reusable, replaceable, reproducible VMs. The host and guest OSes aren't super-relevant, as long as the system meets those goals.



            On my trusty MBP, that is achieved through a combination of Vagrant/VirtualBox for server vms (sub with Docker if you swing that way) and Parallels for my actual dev environment. All of my configuration and provisioning are stored and versioned courtesy of github, and I regularly update them as my needs/tastes change.



            Now, I don't always strictly adhere to that, I do some work on the host MacOS. But I'm 60% remote, and it's really nice not to have to switch gears too much between home office (MBP) and office office (linux workstation).



            You may not want to go this far, and I'm still not sure it was worth all of the effort it took to set up, but I can be productive on a new machine in half and hour or so, and I never have to worry about "works on my machine" kind of issues.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Feb 26 at 17:18









            Jared SmithJared Smith

            1896




            1896












            • @PascLeRasc nah, no syncing or versioning of individual vms. If I want to "update" I just make a new one. The provisioning scripts will pull in everything I need. Then it's git clone a few projects (also scriptable) and it's off to the races. I try really hard to avoid anything that requires much manual setup. As for resources, you can see my current setup here. It's not very polished (it's for my own personal use) but it'll get you started.

              – Jared Smith
              Feb 26 at 22:40


















            • @PascLeRasc nah, no syncing or versioning of individual vms. If I want to "update" I just make a new one. The provisioning scripts will pull in everything I need. Then it's git clone a few projects (also scriptable) and it's off to the races. I try really hard to avoid anything that requires much manual setup. As for resources, you can see my current setup here. It's not very polished (it's for my own personal use) but it'll get you started.

              – Jared Smith
              Feb 26 at 22:40

















            @PascLeRasc nah, no syncing or versioning of individual vms. If I want to "update" I just make a new one. The provisioning scripts will pull in everything I need. Then it's git clone a few projects (also scriptable) and it's off to the races. I try really hard to avoid anything that requires much manual setup. As for resources, you can see my current setup here. It's not very polished (it's for my own personal use) but it'll get you started.

            – Jared Smith
            Feb 26 at 22:40






            @PascLeRasc nah, no syncing or versioning of individual vms. If I want to "update" I just make a new one. The provisioning scripts will pull in everything I need. Then it's git clone a few projects (also scriptable) and it's off to the races. I try really hard to avoid anything that requires much manual setup. As for resources, you can see my current setup here. It's not very polished (it's for my own personal use) but it'll get you started.

            – Jared Smith
            Feb 26 at 22:40


















            draft saved

            draft discarded
















































            Thanks for contributing an answer to Ask Different!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fapple.stackexchange.com%2fquestions%2f352501%2fseparate-environment-for-personal-and-development-use-under-macos%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown






            Popular posts from this blog

            How to check contact read email or not when send email to Individual?

            Bahrain

            Postfix configuration issue with fips on centos 7; mailgun relay