- github access
- fish shell
- fisher
- fish conf
- asdf
- ruby
- node
- vim plug
- vim conf
- podman
- postgres? (dockerize?)
- PIA vpn
- Lein? -> There's no officiall support so I need to manually add via it's script and then self install
- SSH setup to my desktop? I'm still hazy on how any of this works
- Laptop restarts after long suspend? What's up with that?
- Backups, how, when, where, why?
Generate a new ssh key
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Add to ssh-agent
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
Add it to github.com
sudo dnf install -y xclip
xclip -sel clip < ~/.ssh/id_rsa.pub
-> github.com -> settings -> ssh and gpg keys -> new Done!
Inside this repo is a default commit message template, config, and global ignore file. Copy these to the home directory
sudo dnf install fish util-linux-user
figure out which fish and add it to shells
echo $(which fish) | sudo tee -a /etc/shells
chsh -s $(which fish)
Fish in this case was /usr/bin/fish
NOTE: You will need to restart to get this to work (I don't know why)
Fisher now!
curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
now we have fisher
as a bin
from my-config-files/fishfile I can fisher add <package>
and have that get some more mileage
Conf
cp my-config-files/config.fish ~/.config/fish/config.fish
Get just the latest branch (in this case 0.7.4)
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.7.4
Make those autocompletes work in fish (see: https://asdf-vm.com/#/core-manage-asdf-vm)
echo 'source ~/.asdf/asdf.fish' >> ~/.config/fish/config.fish
-> This should already be in my config files
mkdir -p ~/.config/fish/completions; and cp ~/.asdf/completions/asdf.fish ~/.config/fish/completions
Add the ruby, python, and node plugins (There are more but these are the ones I always need)
asdf plugin-add ruby https://github.com/asdf-vm/asdf-ruby.git
asdf plugin-add nodejs https://github.com/asdf-vm/asdf-nodejs.git
Node requires that you import the gpg key as well
bash ~/.asdf/plugins/nodejs/bin/import-release-team-keyring
asdf plugin-add python
Make sure we have all the packages, We're gonna use develop for everything
sudo dnf install -y make openssl-devel readline-devel zlib-devel
asdf install ruby 2.6.5
... repeat for node
asdf global ruby 2.6.5
... repeat for node
Use the fedora package and
sudo dnf install python -y
gem install neovim
npm install -g neovim
pip2 install neovim
pip3 install neovim
sudo dnf install neovim
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
cp ~/my-config-files/vimrc ~/.config/nvim/init.vim
pop open that nvim and run :PlugInstall
sudo dnf install docker
sudo usermod -aG docker $USER
And set it up as service so I don't have to worry about it
sudo systemctl enable docker.service
sudo systemctl start docker.service
You can follow https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04 for the section on executing docker without sudo (which is good and what we want)
Benefits are that it installs container in a safe user space (no more sudo), you don't need to worry about messing with systemctl, and it will autolink stuff a bit easier. This is good
sudo dnf install podman
and we're done. You can just use podman
binary as a drop in replacement for any docker
command
Locally:
sudo dnf install postgresql-server postgresql-contrib pg_config
Try to run to make sure we get an error sudo systemctl start postgres
sudo postgresql-setup --initdb --unit postgresql
-> This will setup the initial database, postgres user, and the
sudo -iu postgres
-> switch to the postgres user
createuser --interactive
-> Create a database user with your current user
I think this is all the steps. At some point I may have created the linux user postgres with the password postgres for easier rails development
SO they recently rebuilt all their tooling and it works really well now on fedora (or linux in general) and with my ISP throttling whenever they can its worthwhile having on all the time. See: https://www.privateinternetaccess.com/installer/x/download_installer_linux
I've been using flathub to install tools like intellij, spotify, slack, and dbeaver so I just don't have to manage and worry about them. Fedora comes with the base installed so you only need to follow some small directions See: https://flatpak.org/setup/ NOTE: sometimes depending on the Desktop Environment the .Desktop files won't be accessible to the application launcher. You can copy those .Desktop entries over to where they will be launchable from the application / runner. In this one case my command was:
sudo cp /var/lib/flatpak/exports/share/applications/* /usr/share/applications/
Fedora. It's all free all open source all the way. Which means proprietary stuff like media drivers and encoders are not included (I forgot about this). So Time to figure out how that works
https://docs.fedoraproject.org/en-US/quick-docs/setup_rpmfusion/
- Enable both Free and Non-Free? (It's what I'm gonna do) See link above
dnf install ffmpeg-libs compat-ffmpeg28
-> Confirm that you trust those sources
dnf install gstreamer1-libav gstreamer1-plugins-ugly
-> not super sure what these are but they also include things I seem to need
It works! Done!