/dotfiles

My bash, vim and other (.) files.

Primary LanguageShellMIT LicenseMIT

Kishore's development setup

This is an opinionated repo that contains our bash, vim and other (.) files.

This is an opioniated repo for Kishorekumar Neelamegam.

We have recorded our setup just so we dont forget how to bring back the workstation when there is a crash

OS

My primary OS is either

ArchLinux

(or)

FreeBSD Please refer the section below for the status of the migration.

(or)

Chromebook eventually - with everything on cloud 😄

At the moment on ArchLinux + Gnome.

Archlinux is much faster but eventually will move to FreeBSD or OpenBSD for OCaml dev.

Rapoo E9050 cheat sheet

This key board is much better than Logitech K380 where these keys are mapped with the Fn + combination, but in Rapoo they are available directly

  • PrntScrn
  • Home
  • End
  • Page up
  • Page down

Believe Logitech must learn from Rapoo guys.

20240211_213549

Logitech K380 cheat sheet

The K380 cheat sheet is available for referencing the shortcut keys mentioned below.

  • PrntScrn
  • Home
  • End
  • Page up
  • Page down

image

Product Management

Writing a good story

As a (type of user), I want to (perform some action) so that I (can achieve some goal/result/value).”

Scenario #1: User submits feedback form with the valid data
*Given I’m in a role of logged-in or guest user
When I open the Feedback page
Then the system shows me the Submit Feedback form containing “Email”,“Name” and “Comment” fields which are required
When I fill in the “Email” field with a valid email address
And I fill in the “Name” field with my name
And I fill in the “Comment” field with my comment
And I click the “Submit Feedback” button
Then the system submits my feedback
And the system shows the “You’ve successfully submitted your feedback” flash message
And the system clears the fields of the Submit Feedback form*

ArchLinux

Upon install, what tweaks are needed to bring my workstation up to the state for dev.

Solution for git permission errors.

image

  1. Trizen
  2. VIM & Vundle
  3. Node
  4. Rust
  5. OCaml
  6. Flameshot
  7. Libreoffice
  8. Brave
  9. VLC
  10. Docker
  11. Nautilus extensions
  12. 1Password

1 Trizen


pacman trizen

1a Powerline-go


trizen powerline-go-bin
trizen powerline-common
trizen powerline-fonts

2 Vim

This is recommended and have moved to this approach.

The install from release source is great, but have experienced slowness (un sure why) on the latest builds


trizen vim

VIM plugins

ℹ️ Install Vundle(plugin manager)

https://github.com/VundleVim/Vundle.vim

ℹ️ vim-devicon fonts


trizen ttf-nerd-fonts-symbols

ℹ️ Search using ripgrep


trizen ripgrep

ℹ️ Clipboard (wayland)

trizen wl-clipboard


vim --version | grep clipboard

If you see +clipboard or +xterm_clipboard, you are good to go.

If it's -clipboard and -xterm_clipboard, you will need to install


trizen gvim vim

To verify a mapping for CTRL-C and CTRL-V

::verbose map <C-V>

image

3 Node

Note, as of this writing 20.x was the latest, but replace the wget https url with the latest by visiting Node.js to grab the latest LTS

cd ~/bin; wget https://nodejs.org/dist/v20.11.0/node-v20.11.0-linux-x64.tar.xz

tar -xvf node*.tar.xz; mv ~/bin/node* ~/bin/node

4 Rust

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

trizen postgresql-libs

5 OCaml


trizen ocaml

cd ~/bin; wget https://github.com/ocaml/opam/releases/download/2.1.5/opam-2.1.5-x86_64-linux
mv ~/bin/opam* ~/bin/opam
opam init
opam install dune

6 Flameshot


trizen flameshot

The app indicator extension is gnome is needed.


trizen gnome-shell-extension-appindicator

7 Libreoffice


trizen libreoffice

8 Brave


trizen brave

9 VLC


trizen vlc

WIP: 10 Docker


trizen docker
trizen docker-buildx
trizen docker-compose

11 Nautilus extensions


trizen nautilus-open-any-terminal

curl -sS https://downloads.1password.com/linux/keys/1password.asc | gpg --import

trizen 1password

🩹 Experimental Using Ansible

Compose Ansible playbook to configure the workstation during the OS installation.

The objective is to have the script operate solely locally without running any daemons or agents.

⚓ Perhaps leverage ChatGPT to generate the script.

1 Install Ansible


trizen -S ansible

ansible --version

2 Connect GDrive

I have backed up my files in a standard repo. Hence I will apply both the GDrive private + the public files.

Use the Gnome online account and connect the GDrive account.


git clone https://github.com/indykish/dotfiles.git

4 Execute the playbook


cd dotfiles

ansible-playbook -K workstation_setup.yml

FreeBSD Migration

The current status of my FreeBSD migration is as follows:

I haven't had much luck with a full switch yet. I am not inclined to work using an emulation layer.

I prefer native solutions or workarounds. However, the list below is still a work in progress:

Workarounds for Teams and Zoom can function as additional workstations, running either Windows or Linux or connecting via mobile.

  • Slack (Completed)
  • Zoom (Incomplete)
  • Teams (Incomplete)
  • Vim (Completed)
  • OCaml (Incomplete)
  • Rust (Incomplete)
  • Perl (Incomplete)
  • Typescript (Incomplete)
  • Dry run ui (Incomplete)
  • Dry run coreapi/auth (Incomplete)
  • Dry run python, perl scripts (Incomplete)