Setting up my environment in Fedora - Installing apps
Software Engineering Team Lead and Director of Cloudsure
I had to re-install so I documented my process. In this post, I focus on the installation of my most used apps.
Get dnf
ready
dnf
is Dandified YUM, a .rpm
-based distribution package manager.
To speed up the upgrade download times, try using fastest mirror.
# Install the fastestmirror plugin to speed up the upgrade
sudo yum install yum-plugin-fastestmirror
sudo yum clean
sudo yum update
sudo dnf upgrade
Apps
Here are some of the apps I use and where to download them from.
IntelliJ
Inotify watches limit
- Add the following line to either
/etc/sysctl.conf
file or a new*.conf
file (e.g.idea.conf
) under/etc/sysctl.d/
directory:
fs.inotify.max_user_watches = 524288
- Then run this command to apply the change:
sudo sysctl -p --system
And don't forget to restart your IDE.
Note: the watches limit is per-account setting. If there are other programs running under the same account which also uses Inotify the limit should be raised high enough to suit needs of all of them.
No nREPL ack received
The REPL is taking too long to connect and the timeout set in IntelliJ might be too low.
Settings -> Languages & Frameworks -> Clojure -> REPL startup timeout
You can bump that up while you investigate why the startup takes so long.
Java SDK
sudo dnf search openjdk | grep devel
sudo dnf install -y java-1.8.0-openjdk-devel.x86_64
java -version
which java
Node.js
sudo dnf search nodejs | grep "nodejs\."
sudo dnf install -y nodejs.x86_64
node --version
which node
To get the latest version of nodejs (v.10.x):
sudo dnf remove nodejs
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum -y install nodejs
node --version
which node
Leiningen
Leiningen is the easiest way to use Clojure. Leiningen and Clojure rquire Java. OpenJDK version 8 is recommended at this time.
curl -o lein https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
chmod a+x lein
mv /usr/bin
lein
Gatsby
I use Gatsby for my blog so I need to install it to build, test and deploy my website.
sudo npm install --global gatsby-cli
Vim
sudo yum install -y vim
Stopwatch
#!/bin/bash | |
echo "Stopwatch" | |
date1=`date +%s`; | |
while true; do | |
echo -ne "$(date -u --date @$((`date +%s` - $date1)) +%H:%M:%S)\r"; | |
sleep 0.1 | |
done | |
# chmod +x stopwatch | |
# stopwatch |
Countdown timer
#!/bin/bash | |
echo "Countdown" | |
date1=$((`date +%s` + $1)); | |
while [ "$date1" -ge `date +%s` ]; do | |
echo -ne "$(date -u --date @$(($date1 - `date +%s`)) +%H:%M:%S)\r"; | |
sleep 0.1 | |
done | |
# chmod +x countdown | |
# countdown 60 |
Datomic
-
Add license-key to
config/dev-transactor.properties
which is copied and renamed fromconfig/samples/dev-transactor-template.properties
-
Create console.sh
#!/bin/bash ./bin/console -p 8080 dev datomic:dev://localhost:4334
chmod a+x console.sh sudo ln -s /home/<user>/Workspace/datomic-pro-0.9.5703/console.sh /usr/bin/datomic-console
-
Create transactor.sh
#!/bin/bash ./bin/transactor config/dev-transactor.properties
chmod a+x transactor.sh sudo ln -s /home/clarice/Workspace/datomic-pro-0.9.5703/transactor.sh /usr/bin/datomic-transactor