What Linux "Productivity" (ideally FOSS) tools do you use?
I'm in a bit of a productivity rut and whilst I suspect the issue is mainly between the keyboard and chair I'm also interested in what (FOSS) tools there are that people find effective.
One of my issues at the moment is cross managing different workstreams particularly with personal projects which are more in the "if I have time category".
I'm interested in anything that helps manage time or limit distractions or anything that makes it easier to keep track of progress/next steps for project when there may be a bit of a time gap between.
One of my issues at the moment is cross managing different workstreams particularly with personal projects which are more in the "if I have time category".
Vikunja for managing all my projects/tasks. Also is very useful to have shared tasks with relatives. Another useful feature is that it can share specifics projects to people that do not have an account (for vacancy planning for example)
Logseq for managing all my thoughts, ideas, tracking content like books, movies, videos watched
Nomie (specifically this maintained instance which has some new features). I use it to track myself (mood, anxiety, adhd, symptoms, food and drug consumption, people). It has an API so I for example can automatically insert activities from Garmin API. It is very useful to correlate things in life, or to tell the doctor if a specific symptom has flared up or not and many more things
Omnivore is my read-later off choice app, replacing Wallabag. It has an EXTREMELY polished interface, can aggregate RSS feeds, supports tags, comments, many filters and more. But the amazing thing is that it has a plugin for Logseq which automatically syncs all my highlights, notes and tags to it
Ferdium to quickly access all my important services
Syncthing on my phone, laptops and Kobo to sync Logseq between devices and books/articles from my PC to Kobo
Liftosaur for exercise routines (it has script language even) and can also track body measurements.
waistline as a substitute for myfitnesspal or cronometer
For work use:
Logseq is my main tool, with the capability of connecting to Zotero, reading papers and taking notes which with queries I can leverage it to see new ideas forming. It also acts as the best logbook I've ever used through its powerful templates and queries which simplifies a lot the work of comparing results since it can all be done automatically
Zotero to manage all my papers
neovim with vimtex, ltex-ls and ultisnips to write documents in LaTeX very fast. Also have some scripts to manage vector graphics very easily using https://github.com/gillescastel/inkscape-figures
Inkscape for doing all the images for my papers since I plot my graphs in SVG. This way I can edit graphs after ploting and never lose quality
As a programmer most of my utilities are CLI oriented.
zsh
fzf (integrated into zsh, improves reverse search, killing processes and more)
zoxide - for quicker navigation into folders I visit often
Other programs I use from time to time: jq, btop, bat.
Flameshot - best screenshotting tool for linux (and also windows)
Redshift/Gammashift - blue light filter
ddccontrol - controlling monitor brightness and contrast without having to fiddle with buttons
Last but not least my Awesome WM (tiling) config - makes working with multiple windows/desktops so easy.
Taiga to manage projects. It's as easy and pleasant to use as Trello, but with velocity/burndown charts and the whole "agile" thing, but you can also turn parts of it on and off (per project even).
Trilium completely cured me of messy note-taking habits, simply by winning on the convenience side. I was firmly in the "folder tree of markdown documents" and "my Sublime Text tabs of random notes have no number" camp before.
I'm considering Habitica which lets you set up rewards and achievements for your real life (i.e. apply addictive reward/progress loop from video games to motivate your real self to do things). Also Wger for exercise tracking, but I'm not sure they're the right thing for my ticket/tracking-averse self (I wish there was something that covered the whole MyFitnessPal/FitDay and the whole Polar Personal Trainer/Garmin Connect side, but FOSS and self-hosted).
For leisure, I also run Stash (it bills itself as an organizer for your porn library, but it's really good for any kind of clips), Jellyfin for my music and movies and currently both Mango and Kavita for books and comics.
I have found Kate to be very capable with python and rust. With Sessions I can also have my own set of notes in markdown. The plugins are plentiful and git integration is built in.
My biggest productivity booster is tmux. I constantly ssh into my pc to continue my work. I even restart my window manager sometimes if I wanna play games or something, but tmux is always there in the background. And being able to get up, go to my living room, open my laptop and continue the work I was doing on my pc has definitely saved me from a few mental blocks.
Obsidian for a second brain based on the molecular notes method. And yes, I've tried all of the FOSS alternatives. None are ready to replace Obsidian yet.
Wallabag for saving resources offline for easy and permanent reference.
Lunarvim for actually sitting down to work instead of fiddling with and optimizing my setup.
python
i automated a ton of repeatative and boring tasks. made my work life super easy. made some tools for my manager to harvest all drawings for a user specified product. sky is the limit. well until you type import cosmos /s
I use Gnome as my main DE, so I use the Pop shell for automatic window tiling. It's not being actively maintained anymore while Pop works on their new DE, but it still works pretty great. I have my eye on Veshell which is an upcoming DE from the guy who made the Material Shell overhaul for Gnome. It's a significant change to the UX compared to any other DEs I've tried.
My main productivity work is making vector files for a laser cutter, so I use a combination of Inkscape and Lightburn (not FOSS) for that. I also use Openscad and Prusa Slicer for making various repair parts, but that's not usually paying work.
On the terminal side I prefer fish and kakoune. Kakoune's changes to the vim/neovim keybinds are a lot more intuitive and easier to learn imo, but come with the obvious downside of learning something less universally useful than the vim keybinds.
For keeping track of tasks on my projects i use todo txt. For each of my projects will drop a file named todo.txt in the root. each line is a task, and i order them based on priority. I can walk away from it and when i start working on the project again, i have an simple way to see the list of tasks i have laid out for this project.
I personally find it less useful to see the "big picture" of all tasks, and this lets me focus on the details of my projects without forcing a bunch of structure.
I capture all my predictable work items in icalendar-encoded files
that I mostly author by hand in emacs. I use evolution for a
conventional calendar view on my computer. I adb push to my phone
and use icsx5 to import so I can view
events there as well.
I've also been working on a
project to produce a
printable view that's reasonably mature at this point. It accepts
VEVENT, VJOURNAL, and VTODO entries and groups them by day,
month, or year. Todo items are rendered as lists so I have a little
circle to fill in when I've completed the work. I display both the
title and description for all types, with the description processed as
Markdown. So for instance a VJOURNAL with a weekly recurrence, a
title like "This Week", and a description like * \n* \n will appear
every week in the printout as a blank list for jotting down two items
not captured in my calendars.
I've been using the daily grouping so far to produce a weekly
"checklist". Every few weeks or so I hack on my RRULEs based on
what's working for me. For instance I bake a loaf of sourdough every
week so I have events for feeding the starter, mixing the dough, then
baking. I set each of those to recur on subsequent days of the week so
they all magically fall into place then I shifted the start days
around until I found my ideal baking day. I also have an entry for
changing the bed sheets every week, and another for washing the
washing machine scheduled for the same day of week at a slower
frequency. Capturing everything that needs to be done (with some
editorializing on granularity) and evolving their recurrences is the
fundamental way I synchronize independent work, leaning on icalendar
for expressiveness like this recurrence for planting the garden on the
Saturday before Memorial Day weekend:
The workflow doesn't require the bespoke tooling since I can see all
my maintenance items alongside my meetings using any application that
can render icalendar. That was key to getting moving, but having the
print out lets me feel more productive. I knock out all the routine
stuff throughout the day and find that "if I have time" becomes "what
do I want to do with this time".
There are tools in the project for generating events for solstices and
equinoxes as well as sunrises and sunsets. I include all of those in
my printed daily view but exclude the sunrises and sunsets from
evolution by capturing them in separate files. I also separate
routine/noisy tasks like "change the bed sheets" from holidays and
operational work like "plant the garden" or "change the water filters"
so those become more visible.
Have a look at Super Productivity it is a todo list app with projects, time tracking, break time reminder. It is completely offline, no registration required.
Nextcloud Calendar is where I'm blocking out my time. I use a proprietary task app with a Linux client because tasks.org/former Astrid/nextcloud tasks isn't quite there yet... for me. If I was creating a system to keep me on track today, I would center the whole thing on Nextcloud. The one thing I despise about nextcloud is how it handled locales and formats. There is no easy way to move to YYYY-MM-DD and HH-DD without messing up other stuff like day of the week captions language. The thing I love about nextcloud is how it doesn't spam you with garbage recommendations and clutter and such like Outlook.
I make use of flowtime, which is an timer app similar to pomodoro but with a smarter system for scheduling breaks. Instead of having a set time to go on break you can go on break anytime, and the app calculates a good break time. It also shows your working statistics, which is quite cool to see.
I ended up using spreadsheets for keeping track of todos and habits. LibreOffice Calc is the obvious solution for FOSS, though I am using Googles Spreadsheet for cloud syncing and the Android/iPhone apps. If I get trouble with Google I will just copy and paste to LibreOffice and I am good.
For notes, IMHO nothing beats a good directory structure/layout and markdown. (Sorry, org-mode guys. :-P )
And to avoid all the web browser player BS, use yt-dlp for any video link or worthwhile playlist. I just search and fetch video links from Invidious, or read comments on videos, so it ends up with practically zero bandwidth load on instance owners.