Giter Club home page Giter Club logo

bermell_linux_config's Introduction

My Linux setup

Simple installs

Install some reasonable tools and all dependencies for the more advanced package installers

First, use snap (ubuntu software) to install gnome-tweaks, open and bind capslock to be ctrl

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
 && sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt install nodejs tmux htop vim curl git gh make fuse build-essential \
 libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
 libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev \
 liblzma-dev fzf btop fd-find kitty exa
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
cargo install sd tldr zellij

Snap installs

sudo snap install slack vscode discord gathertown diff-so-fancy
snap connect gathertown:audio-record
snap connect gathertown:camera

Installing fuse does something with the kernel so best to restart here

Custom installs (in order)

fish shell

sudo apt-add-repository ppa:fish-shell/release-3 && sudo apt update
sudo apt install fish
python -m pip install virtualfish

Then you need to do restart computer, then run vf install

pyenv and python

curl https://pyenv.run | bash
set -Ux PYENV_ROOT $HOME/.pyenv
fish_add_path $PYENV_ROOT/bin

Then you want to restart/reload the shell.

pyenv install 3.8
pyenv install 3.9
pyenv global 3.9

lazygit

Install instructions

Neovim

pip install jupyter-client Pillow cairosvg pnglatex plotly kaleido

mkdir ~/.fonts && cd ~/.fonts
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.0.1/Hack.zip
unzip Hack.zip
rm Hack.zip
fc-cache -fv
wget https://github.com/neovim/neovim/releases/download/stable/nvim.appimage
mv nvim.appimage ~/.config/nvim/nvim.appimage
chmod +x ~/.config/nvim/nvim.appimage

wget https://github.com/neovide/neovide/releases/download/0.12.2/neovide.AppImage
mv neovide.AppImage ~/.config/nvim/neovide.appimage
chmod +x ~/.config/nvim/neovide.appimage

Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
fish_add_path ~/.cargo/bin/

Docker

https://docs.docker.com/desktop/install/ubuntu/ install the docker desktop first, on Linux that is very different from the docker engine that runs on the host natively...

https://github.com/jesseduffield/lazydocker#binary-release-linuxosxwindows like lazygit for docker. Awesome!

Config files to link

ln -s $HOME/.config/gitconfig $HOME/.gitconfig
ln -s $HOME/.config/tmux.conf $HOME/.tmux.conf

Personalization

Kmonad - keyboard layout

Download the binary from kmonad github. Make it executable and put it in /home/mattias/.local/bin/kmonad We want to run kmonad as a user with the minimal privilages needed see more.

sudo usermod -aG input $USER
sudo groupadd uinput
sudo usermod -aG uinput $USER

echo 'KERNEL=="uinput", MODE="0660", GROUP="uinput", OPTIONS+="static_node=uinput"'\
 | sudo tee /etc/udev/rules.d/90-uinput.rules

echo uinput | sudo tee /etc/modules-load.d/uinput.conf

Now add it as a service to ubuntu:

sudo ln -s /home/mattias/.config/kmonad/kmonad.service /etc/systemd/system/kmonad.service
sudo systemctl daemon-reload  # this will register the new service to the deamon
sudo systemctl enable kmonad.service # enable on boot
sudo systemctl start kmonad.service # start now
sudo systemctl status kmonad.service
journalctl -u kmonad.service # to check the logs

To restart it after a config update run sudo systemctl restart kmonad.service

bermell_linux_config's People

Contributors

bermell avatar

Watchers

 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.