Originally published at deepu.tech.
There is a new version of this post where I wrote about my current setup. Check it out here.
One of the que...
For further actions, you may consider blocking this person and/or reporting abuse
I'm currently interested in trying to automate my environments. In the past, especially on OS X, I have spent days getting my environment perfected. I probably couldn't do it again if I had to rebuild the precise environment, so I am working on scripting out my configuration, keeping configurations in source control, and fun stuff like that so that my environment is more disposable in the future and I can experiment freely knowing everything can easily be rebuilt.
A great first step, if you haven't done it yet, is to save your configuration files in your home directory in a dotfiles git repo (here's mine for example). While you may need to do a couple of steps to get ready to pull it down, it can shave a bunch of time getting things like common tool and editor configs set up quickly.
I did just start doing that, also handy for keeping my org mode files in sync. I am trying to learn Puppet as well, but that's going to take some time!
I do the same. Also, have a separate repo for my IDE (PHPStorm) settings.
For Linux, check out the ansible playbooks I wrote github.com/fazlearefin/ubuntu-dev-...
Yes that's something I'm trying to do as well. A fully automated setup for Fedora is the dream. This article is kind of a first step for me
Hey great article! this maybe can serve as inpiration. I have for both Fedora and Ubuntu (it is also possible that it doesn't work, I remember there were a few bugs :). Cheers!
flrnprz / ansible
Workstation auto-conf
Workstation ansible playbooks
Need ansible installed in your local machine.
Command line
Testing:
Thank you
Nixos
You should check this out: github.com/geerlingguy/mac-dev-pla...
It uses Ansible and home brew to help automate Mac setup.
I do the same as well as make use of a utility called GNU Stow to manage said configs
That's a great idea for a write-up I would totally read the shit out of. Would love to hear about your progress and conclusions.
I use Arch BTW.
Its a great choice
Yes it is, but my comment was not serious, just a reference to the meme: google.com/search?q=i+use+arch+btw ;)
I am surprised to find such a similar Linux config to my own!
I also use Arc theme albeit a slightly different variant called X-Arc-Darker with the paper icon theme.
I also run Fedora 30 (the main laptop is running Pop_OS! though due to Nvidia driver stability issue).
Also using Tilix, Mailspring, ohmyzsh with powerlevel9k, VS Code, GitKraken, DashToDock, Topicon Plus, etc. Doing web dev with Django and Angular most of the time.
So at least on the superficial side, the setup is pretty similar :D. Thanks for the article~
Try powerlevel10k you won't regret
yep, will try~
I also find the spaceship theme very attractive (just like those icons XD)
Powerlevel10k is 28 times faster than Spaceship in a representative benchmark: reddit.com/r/zsh/comments/c3osfa/p.... Spaceship is faster than Powerlevel9k.
WOW, that's some number. Will definitely try it out!
How is your experience with Pop_OS!. Is it as great and clean as advertised
Sorry for getting back to you this late. I don't check the notification very frequently. -.-
Getting to your question, yes, at least I think so.
The nicest thing about PopOS is hardware compatibility. Most distros don't respect the fact that most laptops have hybrid graphics. For me, providing an NVidia option OOB is highly appreciated.
Regarding performance, I think some YT channels compared it to Ubuntu and came to the conclusion that it was actually a bit snappier and performs a bit better in games. I have not used Ubuntu since 16.04, which gave me horrible memories at the time btw, so I cannot attest that. But I can attest that it runs as snappy as a vanilla Fedora of the same age, and ran much faster compared to Zorin OS 15 when it came out.
I don't know your definition of "clean" but I don't think it is bloated. It contains many PopOS-specific plugins that fit in really well, so the experience is cohesive. I am not a fan of their design aesthetics, especially the choices of fonts, colors and icon styles, but it is well-thought-out and well-put-together.
So yeah, my experience with PopOS is largely positive. There are some issues which you would be able to find in their Github issues but generally, they are not deal breaker.
Nice!
I personally prefer XFCE desktop environment (Xubuntu LTS to be specific) as performance is more important to me than theming and UI enhancements. And besides, I like its minimal RAM consumption (yeah, 32GB is lots of RAM but even that gets scarce when you get into web development!).
For emails, I like thunderbird which is a wonderful email client. I don't like Mailspring for two reasons:
LibreOffice is great for office work, yeah. And I also use GIMP for image editing and meld for file/folder comparison (which is similar to BeyondCompare).
Apart from that, I use a whole lot of other linux tools like geany, synaptic, tmux, dict, etc..
If you don't care about UI/UX then, of course, there are distros and DEs that are better. But I'm a sucker for nice UI/UX and Gnome has one of the best in Linux world. Also, I have not encountered any performance issue with this setup so far. I believe you would notice it only in a less powerful laptop.
I tried Thunderbird and Evolution, but they were too cluttered for my taste. I like the minimal UX of Mailspring. I don't notice resource hog. It's not closed source see this github.com/Foundry376/Mailspring
And of course, GIMP is a given, though I miss Photoshop. I'll try Meld.
I think this is very misleading. UX is user experience and that experience depends on a lot of things. My experience on a slower laptop with a heavyweight DE is going to be worse than my experience with a lightweight DE on the same hardware. Simply correlating UX with things looking pretty is not helpful in the real world. My experience using a different desktop paradigm is also going to be very subjective.
Agree I should have been clearer. I was talking about a nice UI and yes UX is subjective
From the link you gave:
Ya, the sync engine is not oss. I was referring to the client itself. Anyway I don't consider that as a negative. Being a OSS developer myself IMO, being closed source doesn't make something bad.
May be you are not using it for the right purpose. Anyway everyone has the right to choose and use what they like. Also I don't understand the Windows relationship here
I was delighted to see another power user with VScode. I think OP is just speaking out of his something and assuming it's just for .net
Windows doesn't have relationship with VSCode. maybe using VSCode on fedora or debian do not make any problem.
But, individually, I dislike text editors that you have to work with them by mouse.
That's personal preference, I would prefer these to VIM/Emacs for example.
Each view has its own value and respect.
Have you try Webstorm, so so nice...
I don't any difference between webstorm and IntelliJ with JS plugins. I still prefer VSCode for front end dev
I have tried it briefly once. I don't see any difference between webstorm and IntelliJ with JS plugins. I still prefer VSCode for front end dev
I switched from Unbuntu 18.04 to Fedora 30. Then I realised docker was still not supported so I reverted to Fedora 30. I couldn't live more happily without those PPAs.
How did you get around for fedora 30 and docker ?
I don't understand your question. Docker was always supported on Fedora. I use docker everyday. It works fine without any issues.
docs.docker.com/install/linux/dock...
The third paragraph only Fedora 28 and 29 are supported. I tried with 30 but you had to go through the unstable channel to get anything and I wasn't willing to do it to develop.
I already had docker installed and I upgraded to Fedora 30. So docker still works fine. I do need to check the PPA situation. I think maybe it's just that they haven't updated the PPA for docker yet. I see this issue github.com/docker/for-linux/issues...
Anyway, for me, it's not a big deal to use repo for 29 or test repo but if you find it a problem may be better to stay on Fedora 29 until 30 is stable and all repo is available
Yes, that's what I do. It's only docker not being supported on 30 that "holds me back". 29 being an LTS is good until then.
Btw did you try
sudo dnf install --releasever=29 docker-ce docker-ce-cli containerd.io
try out podman! Fedora 31 changed to cgroup v2.0 so docker is no longer compatible at the moment. check out podman, a rootless alternative to docker. you can easily install and add alias docker='podman' to your .bashrc or .zshrc file.
For now, I have changed startup to use cgroup v1.0, but ya I need to try Podman
If you like Fedora (I do too) maybe you should give a try to Manjaro.
My coworker uses Manjaro. Looks like a compromise between Arch and Fedora. It is definitely the next distro I'll try.
I'll check it out
Help, i am trying to develop a web app on javascript full stack, i have installed on fedora core 36 node and npm, and vscode, but when i use node command on the internal terminal of vscode i receive the message "command not found" i have inserted the path but it does not work. do you know a guide or can please tell me what other component or configuration i am missing?
Are you able to run node/npm on other terminals, may be its not properly set on your PATH
Thanks for sharing this setup! I'm currently using a very stable, ubuntu based distro built wih UI/UX in mind: Pop! OS. It's smooth, beautiful and works! You should take a look at it.
Off topic (If there is a space for this here): I'm a BIG fan of JHipster. Since the first try of this generator in 2017 I came across a very important doubt: How to handle generated code maintainability when upgrading the JDL model? I know you can create some /api/extended/... controllers, extend the service layer to create your own business logic, create your own repositories for custom querys.. and it's great, this way your custom code will not be overwritten. But, I don't want to have an /api/my-entity/delete endpoint published with no authorization restrictions over a business sensitive entity.
If been trying different options but I have found some points which I don´t feel "clean" with:
Do you have any recommendation for this?
Unfortunately this something we are still trying to solve. I think a better place to discuss this would in the Jhipster gitter channel
I also have the Dell Precision 5530 but seem to have problems with the fans. They seem to be spinning constantly when the laptop is charging (they stop if I unplug the charger). Do you have similar issues?
Otherwise, great article, thanks! :)
Also I hope you have latest bios firmware and stuff. Else probably you need to visit the Dell service. I have 2 precision machines and don't have this issue. Few of my colleagues also have this machine.
Yep, latest bios / drivers. Seems like I will really need to pay them a visit :)
Thanks, have a nice day!
Love this kind of posts.
I think I am using almost all the tools you mentioned ;)
Tilix is really awesome and I think not that well known compared with Terminator for example.
I am currently using Ubuntu 18.04 as my OS but I am planning to buy a new Laptop and I am thinking if I should keep it or try something new.
I like the stability of it but would prefer a somewhat faster release cycle. (without compromising too much the stability).
How is your experience with Fedora and how you compare it with other distros like Ubuntu? I see someone mention Manjaro in the comments, which is a distro I am also considering.
When I switched from Windows I started with Ubuntu but after six months I switched to Fedora and never looked back. Personally I had many quirks with Ubuntu and also the slow release cycles were annoying. Fedora has been super stable for me so far. Every version update has been problem free(except you have to update the gnome extensions sometimes) and fully automatic
Try Fedora. It's like Ubuntu but some details are making it, imo, better. Like getting rid of those PPAs.
I love my Linux dev environment but ran into a ton of problems witth permissions when setting up Docker. Did you run into roadblocks with Docker on Linux? Any tips on setting it up? I eventually gave up on it for the time being but really want to learn the workflow soon and begin using for dev and prod. Great write-up, definitely bookmarking this!
I had some permissions-related issues with Docker on Linux too.
This is what solved them for me: docs.docker.com/install/linux/linu... (first section)
Give it a try if you haven't yet
It's funny because they are flagged as optonial but they are totally necessary for it to be properly working (yeah I know it's because of the root privileges)
I setup docker with the user group suggested and everything was fine. I also changed the default docker directory to avoid eating space on root disk.
Loving your setup !
I wonder if this is doable for someone who has to heavily use Photoshop, Illustrator and XD on a daily basis. Do these apps run smoothly on a VM ?
I'd love to hear your experiences on that.
Thanks !
Yes those apps will run fine on a VM. The only issue I had on the VM is when there was Audio involved. I couldn't get Audio working inside the VM. But I didn't try hard enough.
Glad to know ! I'm definitely trying this.
Thanks again !
Actually, programs that rely on direct graphics card access, like Photoshop and Illustrator, will take a huge performance hit in VMs. They are usable, but for having many files open at the same time or large files, it will be noticeably slower.
Man, that is great. i am going to apply a ton of that to my linux box. just a quick linux question, is there a way to sync/export your desktop settings? i am about to get an linux computer and i don't want all that setup work to go to the trash
When I migrated from my old laptop I used Timeshift to backup and sync using an external HDD. But it works only if you use the same distro. Another option is to put all your dotfiles in a git repo and sync.
I could not recommand Timeshift enough. I have it take an image everyday and keep a trail for 1 week. Does not take a lot of space and is a nice safety espacially when you switch distro or you break yours by trying stuff you shouldn't.
More people need to code in Linux distros. I see so many people always grunting and complaining about their macbooks and macOSes but never bothering to take the chance to try a custom Linux based environment. This is specially true in the frontend world.
Thank you very much for this interesting post!
I would like to recommend another very useful, docker-based component that will save you hours of installing and configuring http servers, database systems, certificates to simulate https, catch-all mail servers...
Devilbox
devilbox.org/
Thanks will check it out
I’ve been using MacOS for the last four years and i built a custom computer, so I’m trying to setup my development environment and I don’t know which should I install, I’m between Ubuntu, elementary or fedora. Any suggestions?
I haven't tried elementary but I heard it looks very much like Mac. I have tried both Ubuntu and Fedora and would recommend Fedora.
Good choice i'm personaly use ArcoLinux for development, also i recommend you another version control manager (similar to SDKman, but wider choice for programming languages) asdf manager (Erlang, Elixir, Rust, Nodejs): github.com/asdf-vm/asdf
Sure I'll check it out
Nice write up! Thank you!
I noticed we go opposite paths. I use Windows as host and Linux in Virtual Box VM's. And as I have to install these VM's quite frequently, I decided to make a script. It's still a wip, so take that with a grain of salt. Here:
github.com/marcelocg/scripts
Everyone please feel free to fork, comment and suggest if you like it.
I'm preparing a series of posts where I will list all things shell script I've been learning while putting this down.
Looks cool. I might steal(fork :P) it to automate my setup in future :)
What has your experience been like using docking stations?
I don't use the docking station. I just connect 2 screens using USB-C and then power. I'm thinking of getting the station though. A colleague of mine has the same machine running Linux and has the Docking station and seems to work well except for flicker on screen rarely when switching display
Awesome. Love your post and your setup. It might be time for me to make the jump from Ubuntu to a more legit distro like Fedora.
just out of pure interest: what makes fedora more legit ?
Reddit comments mostly...
In all seriousness I think the advantage is two-fold.
1) Frequent updates to upstream packages.
2) Redhat is based off of Fedora, which gives your workstation the same feel as servers you might be managing if you're a sysadmin.
Really just the first thing though.
Good read. Have you looked at those System76 machines before? Seems like they have a custom Linux distro just for devs.
Yes, I even considered them a few years ago when I was deciding a Laptop. They are great in terms of power and quality but they are bit bulky IMO. I travel a lot and I wanted something lightweight and powerful which was only met by Dell XPS and Precision series. So far really happy with the choice and that's why bought Dell again when I was due for an upgrade.
I am curious: how do you make use of the Quadro P2000?
I don't at the moment. I have an Xbox so there is no much use of a dedicated graphics card. So l have turned it off. If the configuration had an option without that card I would have opted for that. But if you need to use it you can install the Official NVidia drivers and it works well. I have used to play steam games in the past. It gave better frame rate then a MacBook Pro
You can still temporarily unplug that card.
Its turned of with prime so doesn't bother me anyway.
An amazing device you got. I must say, great setup. I have always thought of using Fedora or Arch, but after trying out several disros (Ubuntu, Lubuntu, Zorin, Mint, Elementry) I finally settled with Ubuntu Budgie. It has great UI/UX experience and very sleek with less resource consumption. Its the best Ubuntu based I have tried so far. Thanks to you I've got to try some good tools
Great suggestions. As a long-time Windows user and developer, I have recently started to experiment more with developing in Linux. I've tried a few distros (Ubuntu, Debian) but I think I'm going to give Fedora a try. Thanks!
Try it. You wouldn't regret
in terms of beauty it's as ugly as every other "beautiful" *nix desktop, and usability of dock is as bad as always
in terms of everything else I have some questions:
does Tilix hide properly out of task switcher when quake-hidden or it still pops-up there?
why VSC? it's heavy for a code editor and poor for IDE, especially when you have Idea Ultimate already, why not just load it with tools for other languages and call it a day having much better toolbox?
Shy you started using chrome in the first place? It never was any good. I assume by Opera you mean the damned imposter based on Chromium and having literally no functionality, if so: why?
As of messaging I assume you were forced to use Slack by the company since it's as poor of a choice as every other "modern messenger"
You think you are very smart, don't you? I thought of responding to your questions but forget it.
Can I ask you what IDE you use for java projects ?
I'm using NetBeans but I'm not satisfied
As mentioned in the post I use IntelliJ IDEA. Its great for Java. You can use the free community edition as long you don't need some advanced features
Sorry I missed the section about IDE, thanks
I have previously used Nvidia prime to switch between cards for playing steam games. But ever since I got an Xbox I have turned off the Nvidia card. You have to initially fiddle a little to get prime working but once you do it works quite well. Also turning off Nvidia card saves some battery
Am using a 2gig laptop please help me choose a light Linux distribution
If you are looking for a light distribution then I would recommend Ubuntu MATE, Lubuntu or Xubuntu. Basically, the Desktop environment is what matters more for a light distribution so anything with LXDE, Xfce or MATE desktop would be light enough
Thanks but is manjaro xfce as recommended by someone any good
Depends on your Linux experience. If you are new I wouldn't recommend any Arxh based distro. But if you know Linux well and is fine with a rolling release then Manjaro xfce is great
Cool stuff, Deepu. I'm going to try out Tilix :-)
Thanks for sharing.
wonderful write up thank you for sharing your setup 😄
Thank you
And a dual boot windows, because one has to play some games once in a while LOL
If you are interested in playing some games every now and then, you can actually do it quite hassle free on linux, just install your graphics drivers.
Then you have two choices, steam with proton activated like this a lot of games work perfectly just by installing as you would on windows or wine with lutris installed, have a look at this for some more context:
lutris.net/
protondb.com/
You can install Steam and play games quite well. I used to play Call of Duty on my earlier Dell with similar setup without any issues. Also you can turn off the NVidia card when not needed using the Prime setup
Come on guys. I was joking. Don't you have a sense of humor?
What about Sketch? What about other fancy GUI tools that don't have a Linux client?
I don't use Sketch, I use a Windows VM for Photoshop and the likes which I use rarely
Great write up!
This isn't a computer. This is a monster, quantum computer etc :/)
Does mailspring do calendaring as well?
Unfortunately not yet. I use the default Linux calendar for that. Works fine for my needs.
That IS a nice looking distro!
Thanks buddy. Good work.
do you have totorial install? or blog recommendations
I used the Defora installation wizard originally which worked well. I will consider writing a post later.
Great, Well I prefer to use:
OS: ZorinOs
Mail: Evolution
Comunication: Slack
Code Editor: Sublime-Text
Terminal: Default ---> I will try Tilix
Capture Screen: Shutter
Wow. Great job with the GNOME plugins. Great post. Thank you for the encouragement.
I switched to github.com/romkatv/powerlevel10k/ which I found WAYYYY faster.
Wow thanks. I'm gonna try this
Nice environment. It looks like a zen mode.
Any thoughts in dual-booting? I do have a spare PC, but I want the GPU goodness as I want to learn ML/AI packages on Linux
Dual-booting should be perfectly fine, provide a partition of 50 or 100GB and you are good to go
There are gnome plugins providing most of those features(Like clipboard history, the default search is great as well), but ya Alfred looks much more integrated and polished.
I just stumbled upon Albert albertlauncher.github.io/docs/ check it out. It looks a lot like Alfred
You must also love yourself too much!
A little love doesn't hurt
Core i9 still dreaming for me #LOL wkwkwk
The thumbnail looks like windows 8 -- which I hated.
If you are talking about the header image then it's the app drawer, which you rarely use. It's not the same as Windows 8 home view.
I stopped using Linux because of its bad battery management and so many bugs and problems every time I update. Used to be my favorite but slowly started hating it and switched back to Windows.