Separate environment for personal and development use under macOS
Clash Royale CLAN TAG#URR8PPP
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
add a comment |
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
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
add a comment |
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
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
macos development
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
add a comment |
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
add a comment |
3 Answers
3
active
oldest
votes
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.
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
add a comment |
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.
add a comment |
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.
@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'sgit 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
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
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
add a comment |
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.
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
add a comment |
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.
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.
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
add a comment |
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
add a comment |
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.
add a comment |
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.
add a comment |
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.
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.
answered Feb 26 at 14:37
John KeatesJohn Keates
2,220510
2,220510
add a comment |
add a comment |
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.
@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'sgit 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
add a comment |
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.
@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'sgit 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
add a comment |
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.
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.
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'sgit 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
add a comment |
@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'sgit 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
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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