I am starting a new job on Monday, and this week I received my new machine. It's a nice macbook M1 and it's going to be the first time for me on MacOs for work. I am a long-time Linux user so everything is not really perfect yet. But enough talking, let's start to setup my dev environment ! ## CLI tools ### Basic setup First thing first, I need a tool to install cool packages (an `apt` like). On MacOs, there is a package manager that is commonly used called [homebrew](https://brew.sh/index). So I started by installing it (basically I copy-pasted this command line from their website). ```bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` I use zsh instead of bash and in particular the [oh-my-zsh](https://ohmyz.sh/) default configuration: ```bash sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" ``` I also like to use `tmux` on a daily basis. Mainly to get tabs and splitted screens (but it can do more). ```bash brew install tmux ```` There are some plugins I also like for tmux, but I don't want to manage them manually. Here comes [tpm](https://github.com/tmux-plugins/tpm) for Tmux Plugin Manager. ```bash git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm tmux source ~/.tmux.conf ``` Yep I know, what a lame way to install something. But the good things is I just copied my `tmux.conf` file, then `ctr` + `B` + `I` and *boom*, all my plugins installed and configured. ### dev tools The first package I wanted to install was [docker](https://www.docker.com/) (and docker-compose). Bad news, there is not really a docker support for MacOs and I need to use Docker Desktop (basically it's running docker inside a VM from what I understood). Second bad news, they recently changed their terms of service and it's a paying tool now. So I just skipped this part, and I'll check on Monday if I can get a license or something. I used to have different tools to manage my development environments like `nvm`, `rvm`, ... But this time I want to try something new. Let me introduce you to [asdf](https://github.com/asdf-vm/asdf) a tool that can manage multiple language environments. ```bash brew install asdf ``` And I can install all the languages I need by adding plugins: ```bash brew install gpg coreutils # This is needed to install plugins asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git asdf plugin add golang https://github.com/kennyp/asdf-golang.git asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git ``` ### Git configuration Of course I need the `git` command line, with a custom configuration ```bash brew install git ``` and my `~/.gitconfig` ```bash [user] email = me@company.com name = My name [core] default = code -w [commit] verbose = true [alias] pushf = push --force-with-lease ``` The core section is for using VSCode as my editor for commits, rebases, ... The commit verbose section will include the diff as comments at the end of the commit template. It's really useful when I write my commit messages from VSCode. And finally I added an alias for `git push --force-with-lease` which I never remember. You can follow [this link](https://thoughtbot.com/blog/git-push-force-with-lease) for more infos on this great options. Next: [tig](https://jonas.github.io/tig/). tig is a wondefull text-mode interface for git, I use it as a `git log` on steroids. Easy, just `brew install tig` And finally [git-mob](https://www.npmjs.com/package/git-mob) a node tool to include co-authors in my commit messages ```bash npm i -g git-mob ``` It always important to give credits to our colleagues when pairing (and I love pairing). This tool helps me adding "Co-authored-by" lines on my commit messages (and those are tracked by [github](https://docs.github.com/en/github/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors)) ### Misc Some other tools I installed : - htop (but the MacOs Activity monitor looks good, maybe I'll stop using it) - wget and curl - jq (for json manipulation on my beloved terminal) - nmap πππ tada ! My terminal is now looking great.  ## GUI tools ### My "IDE" Like almost every web developer these days, I use VSCode. I was an Atom fan for a long time, but a coworker convinced me to switch one day, and since I never switched back. To be honest I was also afraid that github will stop Atom support after MS acquisition. Recently I tested the VSCode integration on github (codespaces) and I also love it. The install process is pretty simple, I won't cover it but a few customisations make my life better. First of all, I want to be able to start VSCode from the command line, so let's add an alias for that. ```bash # The if statement is just so I can share my aliases across different machines if [[ $(echo $OSTYPE) == "darwin"* ]]; then export PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/bin/app/bin" fi ``` All my plugins are synchronized, but there is a tiny thing I need, a cool coding font. The one I use is called [FiraCode](https://github.com/tonsky/FiraCode) ```bash brew tap homebrew/cask-fonts brew install --cask font-fira-code ``` A little bit of VSCode configuration and voila:  Have you noticed the difference? It transforms symbols like =>, ===, ->, ... Better code reading experience but I must admit, it's a personal opinion. ### Other tools A list of the other tools I installed for now, not much to say: - Chrome - Postman - Wireshark ## A few things I don't like about this machine Installing stuffs on MacOs is not as pleasing as it is on Linux. During this setup I used at least 3 different install processes (homebrew, installers, and copying files from a dmg image). I'm not a huge fan of the default terminal. It does the job but that's it, maybe I'll try to find a better one later. M1 machines don't support more than one external display and I'm used to code with two displays + the laptop one. Spaces, the virtual desktop feature is not customizable enough. For example, I can't have spaces arranged vertically. There are also some apps that I need to find. A good markdown editor, but VSCode can be used for that, and a native app for Google meet (which is used by my new company). ## Conclusion I *really* like this machine. The machine itself is one of the best I worked on. The build is great, the screen is awesome and the keyboard is really nice for a laptop. I'm not a huge fan of the operating system tho. I already used it for music, but when it comes to developement, not as great as a Linux distrib. Also my external pheripherals are not supported like I want them to be (external soundcards, mechanical keyboard, webcam,...). And as strange as it may sound, there were more supported on Linux. And finally I don't know the ecosystem enough and I'm still looking for some applications. If you have some tips, I will be pleased to ear them :)
author | tipy |
---|---|
permlink | my-dev-environment |
category | hive-169321 |
json_metadata | {"links":["https://brew.sh/index","https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh","https://ohmyz.sh/","https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh","https://github.com/tmux-plugins/tpm","https://github.com/tmux-plugins/tpm","https://www.docker.com/","https://github.com/asdf-vm/asdf","https://github.com/asdf-vm/asdf-nodejs.git","https://github.com/kennyp/asdf-golang.git"],"image":["https://images.ecency.com/DQmckX2HqmYGkFgnZdTkgFpZEuxcaFcDnyRxx5TKZTKYEoT/screenshot_2021_09_19_at_16.58.48.png","https://images.ecency.com/DQmcdLm7Zhkz4xkUGf4Z9MRmnUfvXntvvm3idfqNNcHjk32/screenshot_2021_09_19_at_17.04.36.png"],"tags":["hive-169321","programming","proofofbrain"],"app":"ecency/3.0.19-vision","format":"markdown+html"} |
created | 2021-09-19 15:13:36 |
last_update | 2021-09-19 15:13:36 |
depth | 0 |
children | 10 |
last_payout | 2021-09-26 15:13:36 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 3.898 HBD |
curator_payout_value | 3.889 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 7,321 |
author_reputation | 2,619,324,280,425 |
root_title | "My dev environment" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 106,408,569 |
net_rshares | 8,966,626,604,716 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
drifter1 | 0 | 40,212,620,175 | 100% | ||
good-karma | 0 | 57,549,555,199 | 5.54% | ||
winstonwolfe | 0 | 1,163,471,012 | 100% | ||
wouerner | 0 | 0 | 100% | ||
someguy123 | 0 | 3,013,174,756,527 | 100% | ||
rishi556 | 0 | 10,972,373,506 | 100% | ||
esteemapp | 0 | 21,219,155,548 | 5.54% | ||
alphacore | 0 | 230,122,179,977 | 20.2% | ||
fatman | 0 | 8,175,722,529 | 2% | ||
deathwing | 0 | 1,238,479,259,587 | 100% | ||
esteem.app | 0 | 1,582,704,610 | 5.54% | ||
cadawg | 0 | 374,880,075,285 | 90% | ||
a-peiron | 0 | 394,037,450 | 100% | ||
demo123 | 0 | 3,135,361 | 100% | ||
giftgiver | 0 | 91,156,591,139 | 100% | ||
photographercr | 0 | 2,082,998,631 | 1.1% | ||
gangstalking | 0 | 1,880,778,643 | 1% | ||
shauner | 0 | 672,260,220 | 2.77% | ||
hextech | 0 | 105,778,328,580 | 100% | ||
ecency | 0 | 2,593,971,191,167 | 5.54% | ||
fakegod | 0 | 682,124,366 | 100% | ||
mafia.wallet | 0 | 29,507,211,522 | 100% | ||
ecency.stats | 0 | 1,867,128,003 | 5.54% | ||
nftmart | 0 | 27,055,151,307 | 100% | ||
mrtats | 0 | 44,389,420,561 | 100% | ||
betterdev | 0 | 886,768,341,718 | 100% | ||
mundo.curioso | 0 | 615,204,931 | 100% | ||
hykss.leo | 0 | 175,209,287,650 | 100% | ||
nanggroe1 | 0 | 1,293,417,894 | 2.77% | ||
thecouncil | 0 | 946,774,739 | 100% | ||
biggestloser | 0 | 2,718,275,714 | 100% | ||
cdrbushmills | 0 | 1,566,984,166 | 100% | ||
ntstatus | 0 | 536,086,999 | 100% |
author | demo123 |
---|---|
permlink | re-tipy-2021919t185239104z |
category | hive-169321 |
json_metadata | {"tags":["hive-169321","programming","proofofbrain"],"app":"ecency/3.0.19-vision","format":"markdown+html"} |
created | 2021-09-19 15:52:39 |
last_update | 2021-09-19 15:52:39 |
depth | 1 |
children | 3 |
last_payout | 2021-09-26 15:52:39 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 62 |
author_reputation | 510,583,572,156 |
root_title | "My dev environment" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 106,409,405 |
net_rshares | 4,765,376,559 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
tipy | 0 | 4,239,456,308 | 100% | ||
ntstatus | 0 | 525,920,251 | 100% |
Not related to Hive. Iβm a web developer, mostly on the backend side and my new job will be with Golang. And the good things is full remote job :)
author | tipy |
---|---|
permlink | re-demo123-2021919t175621593z |
category | hive-169321 |
json_metadata | {"tags":["hive-169321","programming","proofofbrain"],"app":"ecency/3.0.19-vision","format":"markdown+html"} |
created | 2021-09-19 15:56:21 |
last_update | 2021-09-19 15:56:21 |
depth | 2 |
children | 2 |
last_payout | 2021-09-26 15:56:21 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 146 |
author_reputation | 2,619,324,280,425 |
root_title | "My dev environment" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 106,409,474 |
net_rshares | 0 |
Oh congrats on new job! Thanks for help with vision, we would love to see you contribute again when time allows. π Will you be full time occupied or half time, reason I am asking, can try joining our team if interested, you are already part of the team with recent contribution. But if interested, please reach out... And good luck on new ventures π
author | good-karma |
---|---|
permlink | re-tipy-2021919t234518557z |
category | hive-169321 |
json_metadata | {"tags":["hive-169321","programming","proofofbrain"],"app":"ecency/3.0.19-vision","format":"markdown+html"} |
created | 2021-09-19 20:45:18 |
last_update | 2021-09-19 20:45:18 |
depth | 3 |
children | 1 |
last_payout | 2021-09-26 20:45:18 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 355 |
author_reputation | 656,219,147,858,305 |
root_title | "My dev environment" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 106,414,859 |
net_rshares | 4,517,676,009 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
tipy | 0 | 4,517,676,009 | 100% |
**Yay!** π€<br>Your content has been **boosted with Ecency Points**, by @tipy. <br>Use Ecency daily to boost your growth on platform! <br><br><b>Support Ecency</b><br>[Vote for Proposal](https://hivesigner.com/sign/update-proposal-votes?proposal_ids=%5B141%5D&approve=true)<br>[Delegate HP and earn more](https://ecency.com/hive-125125/@ecency/daily-100-curation-rewards)
author | ecency |
---|---|
permlink | re-2021919t155050906z |
category | hive-169321 |
json_metadata | {"tags":["ecency"],"app":"ecency/3.0.16-welcome","format":"markdown+html"} |
created | 2021-09-19 15:50:51 |
last_update | 2021-09-19 15:50:51 |
depth | 1 |
children | 0 |
last_payout | 2021-09-26 15:50:51 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 370 |
author_reputation | 624,420,001,071,091 |
root_title | "My dev environment" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 106,409,376 |
net_rshares | 0 |
Electronic-terrorism, voice to skull and neuro monitoring on Hive and Steem. You can ignore this, but your going to wish you didnt soon. This is happening whether you believe it or not. https://ecency.com/fyrstikken/@fairandbalanced/i-am-the-only-motherfucker-on-the-internet-pointing-to-a-direct-source-for-voice-to-skull-electronic-terrorism
author | gangstalking |
---|---|
permlink | re-tipy-my-dev-environment-20210919t151342819z |
category | hive-169321 |
json_metadata | {"app":"hive-bot/0.6.3"} |
created | 2021-09-19 15:13:45 |
last_update | 2021-09-19 15:13:45 |
depth | 1 |
children | 0 |
last_payout | 2021-09-26 15:13:45 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 343 |
author_reputation | -67,597,107,868,724 |
root_title | "My dev environment" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 106,408,577 |
net_rshares | -27,884,216,155 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
spaminator | 0 | -5,101,345,203 | -0.25% | ||
mmmmkkkk311 | 0 | -22,782,870,952 | -0.25% | ||
ntstatus | 0 | 0 | -1% |
Congratulations @tipy! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) : <table><tr><td><img src="https://images.hive.blog/60x70/http://hivebuzz.me/@tipy/upvotes.png?202109252241"></td><td>You distributed more than 1000 upvotes.<br>Your next target is to reach 1250 upvotes.</td></tr> </table> <sub>_You can view your badges on [your board](https://hivebuzz.me/@tipy) and compare yourself to others in the [Ranking](https://hivebuzz.me/ranking)_</sub> <sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub> **Check out the last post from @hivebuzz:** <table><tr><td><a href="/hivebuzz/@hivebuzz/pum-202109-20"><img src="https://images.hive.blog/64x128/https://i.imgur.com/kFuAY6V.png"></a></td><td><a href="/hivebuzz/@hivebuzz/pum-202109-20">Hive Power Up Month - Feedback from Day 20</a></td></tr></table>
author | hivebuzz |
---|---|
permlink | hivebuzz-notify-tipy-20210925t231053 |
category | hive-169321 |
json_metadata | {"image":["http://hivebuzz.me/notify.t6.png"]} |
created | 2021-09-25 23:10:54 |
last_update | 2021-09-25 23:10:54 |
depth | 1 |
children | 0 |
last_payout | 2021-10-02 23:10:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 921 |
author_reputation | 369,438,296,802,736 |
root_title | "My dev environment" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 106,561,286 |
net_rshares | 0 |
Great
author | ntstatus |
---|---|
permlink | re-tipy-2021919t224615283z |
category | hive-169321 |
json_metadata | {"tags":["hive-169321","programming","proofofbrain"],"app":"ecency/3.0.19-vision","format":"markdown+html"} |
created | 2021-09-19 18:16:15 |
last_update | 2021-09-19 18:16:15 |
depth | 1 |
children | 0 |
last_payout | 2021-09-26 18:16:15 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 5 |
author_reputation | 5,617,331,478 |
root_title | "My dev environment" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 106,412,365 |
net_rshares | 4,326,650,936 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
tipy | 0 | 4,326,650,936 | 100% |
> M1 machines don't support more than one external display and I'm used to code with two displays + the laptop one. Wait what? Really? That sucks. I was going to buy one soon, but thats a little off putting. I love/hate homebrew(always gotta update it before installing anything and that takes years) and the default terminal is pretty nice imo.
author | rishi556 |
---|---|
permlink | re-tipy-qzot4n |
category | hive-169321 |
json_metadata | {"tags":["hive-169321"],"app":"peakd/2021.09.1"} |
created | 2021-09-19 15:17:12 |
last_update | 2021-09-19 15:17:12 |
depth | 1 |
children | 1 |
last_payout | 2021-09-26 15:17:12 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 348 |
author_reputation | 132,848,718,962,432 |
root_title | "My dev environment" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 106,408,658 |
net_rshares | 4,153,704,780 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
tipy | 0 | 4,153,704,780 | 100% |
[Officially](https://support.apple.com/en-lamr/HT202351) only one external display is supported. Looks like there is some tricks to have more with a soft, but I'm not sure it's a good idea to use that on a machine I don't really own :)
author | tipy |
---|---|
permlink | re-rishi556-2021919t175917327z |
category | hive-169321 |
json_metadata | {"tags":["hive-169321"],"app":"ecency/3.0.19-vision","format":"markdown+html"} |
created | 2021-09-19 15:59:18 |
last_update | 2021-09-19 15:59:18 |
depth | 2 |
children | 0 |
last_payout | 2021-09-26 15:59:18 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 235 |
author_reputation | 2,619,324,280,425 |
root_title | "My dev environment" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 106,409,532 |
net_rshares | 0 |