Code Monkey home page Code Monkey logo

workstation's Introduction

Workstation

Build License

This repository contains the configuration and setup scripts for my development workstation. I use Regolith (Ubuntu 20.04) as my operating system and my primary workstation is a Dell XPS 15 7590.

How to run

Prerequisites:

  • ansible version 2.8.5 or later
  • ansible-lint version 4.2.0 or later

Linux

  1. Run make init to initialize the environment.
  2. Run make run/linux to execute the playbook on a linux machine.

Please download version 8.1.1 of the proprietary NVIDIA cuDNN library to ./roles/drivers/nvidia/files/cudnn/cudnn-v8.1.1.tgz before executing the playbook.

MacOS

  1. Run make init to initialize the environment.
  2. Run make run/macos to execute the playbook on a macos machine.

Please make sure that the Apple Command Line Tools are installed (xcode-select --install).

References

Ansible Docs

Ansible Pull Docs

Manage Workstation With Ansible

Dell XPS 9570 Ubuntu Respin

Dell XPS 9500 Ubuntu Install

Better Battery Life On Ubuntu

workstation's People

Contributors

renovate[bot] avatar tomdewildt avatar

Watchers

 avatar  avatar  avatar

Forkers

antoinewaugh

workstation's Issues

Add CI/CD pipeline

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

Describe the solution you'd like
Add simple CI/CD pipeline that lints the playbook using ansible-lint.

Describe alternatives you've considered

Additional context

Add power/tlp role to the playbook

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

Describe the solution you'd like
Add power/tlp role to the playbook. This role should install tlp and tlp-rdw.

Describe alternatives you've considered

Additional context

Add development/clojure role to the playbook

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

Describe the solution you'd like
Add development/clojure role to the playbook. This role should install clojure.

Describe alternatives you've considered

Additional context

Add common/unzip role to the playbook

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

Describe the solution you'd like
Add common/unzip role to the playbook. This role should install unzip.

Describe alternatives you've considered

Additional context

Add power/intel role to the playbook

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

Describe the solution you'd like
Add power/intel role to the playbook. This role should set the following flag for the intel processor in /etc/modprobe.d/i915.conf:

options i915 enable_fbc=1 enable_guc=3 disable_power_well=0 fastboot=1
  • enable_fbc=1: turns on framebuffer compression
  • enable_guc=3: force loading the GuC/HuC firmware, enabling some video features.
  • disable_power_well=0: disable possible power wells
  • fastboot=1: enable faster display boot (experimental)

Describe alternatives you've considered

Additional context

Add development/docker role to the playbook

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

Describe the solution you'd like
Add development/docker role to the playbook. This role should install docker and docker-compose.

Describe alternatives you've considered

Additional context

Add interface/screen role to the playbook

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

Describe the solution you'd like
Add interface/screen role to the playbook. This role should configure regolith to use the Nordic theme in the login screen.

Describe alternatives you've considered

Additional context

Add common/permissions role to the playbook

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

Describe the solution you'd like
Add common/permissions role to the playbook. This role should recursively set the permissions inside the users home directory.

Describe alternatives you've considered

Additional context

Dependency Dashboard

This issue provides visibility into Renovate updates and their statuses. Learn more

This repository currently has no open or pending branches.


  • Check this box to trigger a request for Renovate to run again on this repository

Add development/csharp role to the playbook

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

Describe the solution you'd like
Add development/csharp role to the playbook. This role should install csharp.

Describe alternatives you've considered

Additional context

Add development/dart role to the playbook

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

Describe the solution you'd like
Add development/dart role to the playbook. This role should install dart and flutter.

Describe alternatives you've considered

Additional context

Add development/javascript role to the playbook

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

Describe the solution you'd like
Add development/javascript role to the playbook. This role should install node, create-react-app, expo-cli, gatsby-cli and netlify-cli.

Describe alternatives you've considered

Additional context

Add development/java role to the playbook

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

Describe the solution you'd like
Add development/java role to the playbook. This role should install the java sdk and runtime.

Describe alternatives you've considered

Additional context

Add communication/discord role to the playbook

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

Describe the solution you'd like
Add communication/discord role to the playbook. This role should install discord.

Describe alternatives you've considered

Additional context

Add development/vagrant role to the playbook

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

Describe the solution you'd like
Add development/vagrant role to the playbook. This role should install vagrant.

Describe alternatives you've considered

Additional context

Add common/wget role to the playbook

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

Describe the solution you'd like
Add common/wget role to the playbook. This role should install wget.

Describe alternatives you've considered

Additional context

Add browsing/chrome role to the playbook

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

Describe the solution you'd like
Add browsing/chrome role to the playbook. This role should install chrome.

Describe alternatives you've considered

Additional context

Add common/tweaks role to the playbook

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

Describe the solution you'd like
Add common/tweaks role to the playbook. This role should install gnome tweaks.

Describe alternatives you've considered

Additional context

Add communication/slack role to the playbook

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

Describe the solution you'd like
Add communication/slack role to the playbook. This role should install slack.

Describe alternatives you've considered

Additional context

Add boot/grub role to the playbook

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

Describe the solution you'd like
Add boot/grub role to the playbook. This role should set the following flags for grub:

  • quiet: default
  • splash: default
  • acpi_rev_override=1: make some changes in the way ACPI works
  • acpi_osi=Linux: make some changes in the way ACPI works
  • nouveau.modeset=0: prevent nouveau from managing the NVIDIA card
  • pcie_aspm=force: saves power by setting a lower power state for PCIe links
  • drm.vblankoffdelay=1: reduces wakeup events and theoretically saves power
  • scsi_mod.use_blk_mq=1: allows for a better usage of the NVME drive
  • nouveau.runpm=0: prevent nouveau from managing the NVIDIA card
  • mem_sleep_default=deep: fixes resume problems with the NVIDIA card

Describe alternatives you've considered

Additional context

Add development/python role to the playbook

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

Describe the solution you'd like
Add development/python role to the playbook. This role should install python, pip, black, pylint and virtualenv (python3).

Describe alternatives you've considered

Additional context

Add common/make role to the playbook

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

Describe the solution you'd like
Add common/make role to the playbook. This role should install make.

Describe alternatives you've considered

Additional context

Add development/golang role to the playbook

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

Describe the solution you'd like
Add development/golang role to the playbook. This role should install go.

Describe alternatives you've considered

Additional context

Add tools/vpn role to the playbook

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

Describe the solution you'd like
Add tools/vpn role to the playbook. This role should install the openvpn client.

Describe alternatives you've considered

Additional context

Add common/git role to the playbook

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

Describe the solution you'd like
Add common/git role to the playbook. This role should install git.

Describe alternatives you've considered

Additional context

Add interface/background role to the playbook

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

Describe the solution you'd like
Add interface/background role to the playbook. This role set the right backgrounds for the lock screen and home screen, it should also remove any unused backgrounds.

Describe alternatives you've considered

Additional context

Add common/curl role to the playbook

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

Describe the solution you'd like
Add common/curl role to the playbook. This role should install curl.

Describe alternatives you've considered

Additional context

Add media/spotify role to the playbook

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

Describe the solution you'd like
Add media/spotify role to the playbook. This role should install spotify.

Describe alternatives you've considered

Additional context

Add common/dig role to the playbook

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

Describe the solution you'd like
Add common/dig role to the playbook. This role should install dig.

Describe alternatives you've considered

Additional context

Add power/powertop role to the playbook

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

Describe the solution you'd like
Add power/powertop role to the playbook. This role should install powertop.

Describe alternatives you've considered

Additional context

Add common/exfat role to the playbook

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

Describe the solution you'd like
Add common/exfat role to the playbook. This role should install sudo exfat-fuse and exfat-utils.

Describe alternatives you've considered

Additional context

Add tools/postgres role to the playbook

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

Describe the solution you'd like
Add tools/postgres role to the playbook. This role should install the postgres shell.

Describe alternatives you've considered

Additional context

Add tools/mongo role to the playbook

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

Describe the solution you'd like
Add tools/mongo role to the playbook. This role should install the mongo shell.

Describe alternatives you've considered

Additional context

Add browsing/firefox role to the playbook

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

Describe the solution you'd like
Add browsing/firefox role to the playbook. This role should install firefox.

Describe alternatives you've considered

Additional context

Add tools/postman role to the playbook

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

Describe the solution you'd like
Add tools/postman role to the playbook. This role should install postman.

Describe alternatives you've considered

Additional context

Add interface/cleanup role to the playbook

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

Describe the solution you'd like
Add interface/cleanup role to the playbook. This role should uninstall non-used packages that come with regolith. It should also remove the shortcuts for i3-gaps-gnome, compton, regolith-terminal and remontoire from /usr/share/applications since these applications won't be used.

Describe alternatives you've considered

Additional context

Add development/android role to the playbook

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

Describe the solution you'd like
Add development/android role to the playbook. This role should install the android sdk.

Describe alternatives you've considered

Additional context

Add ansible playbook

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

Describe the solution you'd like
Create the base structure for the ansible playbook.

Describe alternatives you've considered

Additional context

Add development/code role to the playbook

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

Describe the solution you'd like
Add development/code role to the playbook. This role should install visual studio code and all the required extensions and themes.

Describe alternatives you've considered

Additional context

Add vagrant setup

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

Describe the solution you'd like
Add vagrant setup to run the playbook on virtual machines.

Describe alternatives you've considered

Additional context

Add development/rust role to the playbook

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

Describe the solution you'd like
Add development/rust role to the playbook. This role should install rust.

Describe alternatives you've considered

Additional context

Add common/nmap role to the playbook

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

Describe the solution you'd like
Add common/nmap role to the playbook. This role should install nmap.

Describe alternatives you've considered

Additional context

Add common/config role to the playbook

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

Describe the solution you'd like
Add common/config role to the playbook. This role should clone the config repository inside the users home directory.

Describe alternatives you've considered

Additional context

Add drivers/nvidia role to the playbook

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

Describe the solution you'd like
Add drivers/nvidia role to the playbook. This role should install nvidia-driver-435 and nvidia-settings.

Describe alternatives you've considered

Additional context

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.