GithubHelp home page GithubHelp logo

bradwilson / ansible-dev-pc Goto Github PK

View Code? Open in Web Editor NEW
92.0 92.0 51.0 535 KB

Ansible script to stand up a new development machine (Ubuntu/Pop!_OS)

License: MIT License

JavaScript 74.05% Shell 25.95%

ansible-dev-pc's Introduction

bradwilson's Stats

bradwilson's Top Languages

ansible-dev-pc's People

Contributors

bradwilson avatar kfcampbell avatar legg avatar steveoh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ansible-dev-pc's Issues

Better Gnome extension handling

Today, the list of Gnome extensions is outdated, and likely we are often installing the wrong version because it's not cognizant of the shell version that's in use vs. shell compatibility.

Remove dependency on snap

TL;DR: Remove dependency on snap so we can remove dependency on systemd in WSL 2 because bad things happen.


The longer version:

I just spent a couple hours puzzling about why I couldn't run a Docker container that was exposing port 5000, because it said port 5000 was already in use. Using all the normal tools (netstat, lsof, ss, etc.) the port was shown as opened but not owned by any specific process.

There were actually three ports in this condition: 22 (for SSH), 53 (for DNS), and 5000 (which ostensibly is for UPnP, though I did not have UPnP enabled in my WSL image. This was very curious.

A second piece of the puzzle: I run multiple WSL distros. The distro where most of the ports were shown with owning processes (but 22, 53, and 5000) weren't we'll call image "A". So I fired up a shell for image "B", which it turns out was already running. I ran sudo ss -plnt and I saw a very strange thing: three ports were in use with named processes: 22, 53, and 5000; and a whole bunch of ports were active without owning processes.

The lists were identical but inverted.

It turns out WSL not only reflects open ports from WSL images into Windows (so you can run a server in WSL and talk to it from Windows), it also does that between running WSL distros. So the open port 5000 in distro "B" was reflected into distro "A". (Coincidentally, I was running the same service in distro "B", but I've been trying to move myself into the new distro, and forgot that it was still running).

So why should ansible-dev-pc stop depending on snaps? Snaps require systemd. As noted above, enabling systemd means you start running at a minimum ssh & DNS. If you boot up two WSL distros at the same time that have systemd enabled, the second one to "boot" will collide with the first one.

And now you know.

Allow skipping things based on env vars

It would be nice to be able to disable things individually with environment variables.

For example: set ADP_RUBY=0 to disable installation of rbenv and Ruby.

Then it would be trivial to get something highly customized just by adding a shell script to set all the variables you care about (for example, maybe you only need .NET on the dev machine and don't care about anything else, so you skip Ruby, Node, Python, etc.).

PowerShell broken on Ubuntu 24.04

PowerShell is currently not functional on Ubuntu 24.04, despite the fact that the dotnet tool install succeeds. The dependency that's missing is libicu; 24.04 supports version 74, but the current PowerShell caps out at version 72.

Dependent issue: PowerShell/PowerShell#21385

Ansible fails on wsl with Ubuntu 20.04.

There are several issues and the general recommendation is to hold back libc6 or not use 20.04 at all.

The first error you will find if following the readme in this repo is about a /tmp drive. The real issue there is that the sleep command is broken. See: https://askubuntu.com/questions/1230252/sleep-doesnt-work-on-ubuntu-20-04-wsl

If you sub out the /usr/bin/sleep command you will run into a second issue with the TASK [Add Microsoft APT package key]
See: microsoft/WSL#5125
The general recommendation there is to hold back libc6.

I decided to just avoid 20.04 on wsl for now...

.NET prompt broken when SDK is missing

When visiting a project that requires a version of .NET that's not installed, the prompt is corrupted with error output:

image

Instead, it should display something akin to how Ruby is handled:

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.