Live data from Hacker News

Ask HN: Developer PC setup automations for company owned devices

news.ycombinator.com

11–20 of 51 posts

Re: Ask HN: Developer PC setup automations for company owned devices

#11
Buy an MDM, spend a couple of days setting it up and you’re off to the races.

Every place I’ve worked at where I had some control over workforce device management, we had devices shipping from the store directly to the end user, which would get automatically set up once the user logged in with their gsuite creds.

Re: Ask HN: Developer PC setup automations for company owned devices

#13
post #5
post #3

Can everything live inside a docker thing that you redistribute?

And now everyone has to pay royalties if the end-users don’t know how to run docker without docker desktop

Distribute a container and a link to Podman Desktop:

https://podman-desktop.io/downloads

Re: Ask HN: Developer PC setup automations for company owned devices

#14
In my experience, doing the automation is very easy but getting the list of requirements is very hard. The guys taking an entire day to set up a computer could just install their stuff with (any package manager), so why does it take so long? They don't know what they need and just go with it until they hit a road block.

We pre install the licensed corporate tools and universally used tools like np++ and git for windows, and let them figure out the rest. Every time we bring up baseline changes with that group it turns into bikeshed city.

Re: Ask HN: Developer PC setup automations for company owned devices

#15
Similar here.

More than onboarding, there is also the question of changing your laptop, and having to setup everything again.

Some pieces of software that help:

- Humble bundle (https://github.com/homebrew/homebrew-bundle) with a `Brewfile` stored in git and shared;

- dump of all dot files in $HOME encrypted and stored in the company's cloud (because it contains ssh private keys, or password manager db, etc);

- All documents are synchronized with OneDrive.

Mostly, there isn't a one-size fits all, but there is a common set of packages that all devs want, but IDE choice is personal, and many other things.

Re: Ask HN: Developer PC setup automations for company owned devices

#16
For Developers on Windows 11, depending on what you think of Microsoft's "Preview" status, the growing power tool here in this space is Windows Dev Home: https://learn.microsoft.com/en-us/windows/dev-home/

One of the key pieces of Dev Home is Machine Configuration via WinGet Configuration files [1], which are an upgrade from PowerShell DSC, if you've tried that for server configs, with increased support for installing software from WinGet, cloning git repositories (to Windows Dev Drive if you want to allow that). These config files are just YAML files so you could very easily offer starter templates and also allow developers to customize them based on their own preferences. (Also as YAML they could be source controlled in git themselves.)

Some sample configuration files: https://github.com/microsoft/devhome/tree/main/docs/sampleCo...

Microsoft has been iterating on Dev Home pretty rapidly and adds new features regularly (relatively recently it added support to applying the same configuration files to building new virtual machines either locally under Hyper-V or remotely with Microsoft Dev Box).

I've not yet seen a company try to use WinGet Configuration and Dev Home as a company-wide initiative, but I have seen some growing "bottom up" usage as Developers like myself adopt parts of it for our own multi-device needs or virally share YAML snippets among each other for common corporate repos and tools.

[1]: https://learn.microsoft.com/en-us/windows/package-manager/co...

Re: Ask HN: Developer PC setup automations for company owned devices

#17
Unless you are getting ready to hire a lot of developers, or churn a lot of developers, the three OS choices mean 3 versions of the same image/script to get setup. That now becomes another application you have to manage. The setup docs are more of a live training not a waste of time. Their setup time will never be zero as they have to setup logins, verify license keys, etc, for all the tools that are installed.

The internal IT team should already have a way to configure security software and such but will also not want to manage a specific group setup for likely a small amount of people.

Reference.

https://xkcd.com/974/

Re: Ask HN: Developer PC setup automations for company owned devices

#18
I'm really out of the loop on this, but in the past for Windows at least you could customize an image and use PXE to install it from the network. Then all the user had to do was login with a domain account.

Does that not work any more or is it just not popular ? Any insights as to why not ?

Re: Ask HN: Developer PC setup automations for company owned devices

#19
After corporate IT gives out a MacBook, we run a local-only Ansible script I wrote.

It sets .zshrc, .zshenv, and .zshenv-private for tokens etc.

It also uses Homebrew to install a bunch of packages, then creates various config files.

It works well. Developer setup time went from days to less than 2 hours (corporate VPN is slow)

Edited to add:

Workflow is:

  1. Install homebrew, xcode command line tools, Ansible, and then git+credential helper.
  2. Clone repo (which ensures the new dev has correct roles/groups to access the repo)
  3. Run Ansible.
Snippet of the Ansible script:

  ---
  - name: Configure dev macOS
    hosts: localhost
    vars_prompt:
      - name: githubtoken
        prompt: What is your github token?
        private: false

    tasks:
      - name: Create variable from brew prefix
        ansible.builtin.command: "brew --prefix"
        register: brew_prefix
        changed_when: false

      - name: Update Homebrew
        community.general.homebrew:
          update_homebrew: true

      - name: Install GNU Coreutils
        community.general.homebrew:
          name: coreutils
          state: present

Re: Ask HN: Developer PC setup automations for company owned devices

#20
I would take "Now some people ask for an automation to get a "pre-installed" laptop" as a lack of " developers preferences".

Personally I dislike Git, and haven't found a git UI I like, so throw whatever you want on there. I am not going to like it, but not because I want something else.

Since you support a range of OSes I assume you would go with a cross platform editor IntelliJ, VSCode or something. Both are fine, and "something" probably is too.

I like beyond compare enough that I bought a personal license for it.

Give them a 100% works out of the box then they can customize the 1 or 2 things they care about.

Post reply on HN