Code Monkey home page Code Monkey logo

lolswagfiles9000's Introduction

๐Ÿ˜Ž Lol Swag Yolo 9000 files ๐Ÿ˜Ž

๐Ÿ‘‘ The last dot files I'm ever gonna need! Bay beeeee! ๐Ÿ‘‘

This represents probably the most effort I've put into getting my dotfiles in a state that I'm really happy with in a while. My goal for the project is to make it such that I can get as close as I can to fully automating my development environment. I also want to try and keep as much of my environment on a virtual machine as well so that I can be consistently tweaking and respinning up the environment to ensure that I don't get myself into the position again where I have done a heap of custom tweaks to my dev environment that I have to remember when I come to spinning up a new environment.

Install

  1. First you need to install httpie using this command:
sudo apt-get update && sudo apt-get install httpie -y
  1. Next you'll need to pull down the Makefile from this repo so it can do all the heavy lifting for you. You can do that with this command:
http https://raw.githubusercontent.com/zacbraddy/lolswagfiles9000/master/Makefile > Makefile

It needs to be said that the above assumes the machine has Make installed on it but Ubuntu does by default so you should be right there.

  1. Next you can run the command make install. This is going to install the necessary apps to download and run the ansible dotfile scripts which are going to do a lot of things themselves. Basically you just need to run this command and then fill in the answers to the prompts here and there

Whats included with the Ansible Build

Applications

Applications I only have because other things need them

ansible

  • ansible
  • software-properties-common

AWS Vault

  • build-essential
  • curl
  • file
  • git
  • Homebrew

docker

  • apt-transport-https
  • ca-certificates
  • curl
  • gnupg-agent
  • software-properties-common

Doom Emacs

  • fd-find
  • ripgrep

gcloud-cli

  • apt-transport-https
  • ca-certificates
  • gnupg

kubectl

  • gnupg2
  • apt-transport-https

PlantUML

  • default-jdk

Things are only installed so I can work with clients that

postgres

  • libpq-dev
  • postgres

heroku-cli

  • heroku

Frameworks

Available Language Editors/Runtimes

  • NodeJS LTS
  • Open Flavour of Java
  • Python3

Pipx modules available at the commandline

ZSH settings

Env vars

  • EDITOR, KUBE_EDITOR: Setting the standard editor for git and kubernetes to vim
  • NVM_DIR: Used by NVM to know where to store all them sweet node versions

Aliases

Here are the general idea behind my aliases but for all of them you're gonna have to check out zsh/.aliasrc

  • amazeballs: do fun things with terminal commands
  • kubernetes shortenings: kubectl lul more like k
  • git command shortnening: Tired - git status, Wired - gs
  • tmx: tmuxinator shortneing
  • plant: I ain't remembering the whole command when I can just type plant

Functions

  • kadc: Stands for kill all docker containers. I use this to clean up all the docker containers I always forget to kill when I'm done with them and they're chewing through my precious RAM.

Path

If I'm honest some of this doesn't really feel like it lives anywhere so I just shoved all the things that I've expecting to have available globally into the path rc

  • Yarn: I've added a link so that yarn knows how to install things globally
  • NPM: Getting NPM to install packaged globally and then use them afterwards without having to sudo is a bigger pain in the butt than you might think! There's a heap of script in there to make that work
  • Google Cloud SDK: Just took this straight from the google cloud docs to make gcloud available in the commandline

Completions

Nobody likes typing things, come on!

  • GCloud
  • KubeCtx
  • NVM

Startup

The startup runs commands to ensure that the following applications are ready to be interacted with once the console starts up

  • NVM

https://docs.github.com/en/free-pro-team@latest/rest/reference/users#create-a-public-ssh-key-for-the-authenticated-user

TMUX configuration

Key bindings

I have my prefix keybind rebound from the default ctrl+b to be instead ctrl+s so all sequences below will obviously need to happen after you've smashed that ctrl+s:

| Key bind | It does? | | | -------- | ----------------------------------------------------------------------------------------------------------------------------- | | | | | Splits window in what is described in the notes as horizontal but you end up with two vertical windows side by side basically | | - | A split as well but in the other direction to above | | | r | should reload the tmux config but I've never actually gotten this to work! | | | hjkl | Resizes the current pane to the left/down/up/right by a small about, keep hitting the letter you just hit to repeat this command without having to hit the prefix again | | HJKL | Same as above but does it by a larger amount |

You can also hit Meta-hjkl (Alt is meta) to move between panes without having to hit the prefix sequence first.

Tmux plugins

I also have a series of tmux plugins installed that are handled by Tmux plugin manager

The plugins I'm using are:

Things I haven't included in the dot files that I need to do

Webcam fix

The logitech webcam I use struggles to work correctly on linux so I have to set some settings for it. I need to automate the camera-fix-script stuff so that it looks alright and doesn't lose it's settings every time I reboot

Below doesn't seem to work right now but it's something like this I want to do

sudo ln -s ~/Projects/Personal/lolswagfiles9000/camera-fix.service /etc/systemd/system/camera-fix.service
sudo chmod 644 /etc/systemd/system/camera-fix.service
sudo systemctl enable camera-fix.service

lolswagfiles9000's People

Contributors

zacbraddy avatar

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.