What Linux "Productivity" (ideally FOSS) tools do you use?

zerakith@lemmy.ml to Linux@lemmy.ml – 231 points –

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.

139

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".

Literally what I use virtual desktops to solve

That and using multiple instances of the browser instead of one instance with many tabs helped me a lot. If i have to switch tasks i go to a new workspace and only open the software related to that task there. Once I'm done i just close everything in the workspace and move back to the previous one that is the same way it was before i switch.

1 more...

Kde activities should suit this well since it's integrated to the level of the file viewer.

So you keep a project open in the Virtual Desktop and then boot it up when you are working on it?

They're not talking about a virtual machine. There is no "booting up".

You can have multiple desktops in linux, I personally use three, which you can switch between using a keyboard shortcut (or widget/ taskbar item).

It's kinda like turning one computer into multiple computers that you hop between on demand.

I have one for gaming and entertainment, one for work, and a third for personal projects.

How does resource management work for desktops? Is the computer running all of the processes in the background as though they are just minimized?

Yes. Or out of focus. If you have one monitor, three virtual desktops would be like having three monitors. Looking at a different one, doesn't stop anything running on another. You can also "send" a window on one desktop to another, equivalent to dragging a window from one monitor to another when using two or more.

KDE Activities is a similar feature, but it can actually suspend everything running in a certain "activity" when you switch to another, if that's something you want.

Ah KDE activities might be what I'm looking for then. I am planning to transition from Gnome to KDE very soon.

It's essentially the same as having more monitors, except you can only see the active ones. Nothing changes except what your displays are showing.

Ah thanks for the clarification. I never did manage to use Virtual Desktops effectively but it sounds like the problem was me trying to use them within the workflow rather than for different projects. I always found it difficult to switch compared with just having an extra monitor.

I do worry it might be quite resource intensive just sitting loads in the background though.

I'm going to give it a try!

Is it possible to "save" those sessions between reboots? That would be awesome.

I do with KWin rules. It's not elegant but it doesn't require coding

Thank you, I will look into KWin.

Turns out, it is awesome and does more than I need. I already move a lot of my applications with xdotool to prediscribed positions and sizes, via hotkeys, which start some scripts. Now I found out, it also can move them across virtual desktops. Nice :)

1 more...

emacs org-mode

This is the way.

Nothing comes even close. I just wish there was a distributed / mobile-enabled way to use org-mode. I guess there exists some project, but running full emacs org-mode mobile is hardly usable.

I got acceptable results with org-roam cooperating with logseq. It took some fiddling with org IDs, config and a bit of elisp, but it's stable enough for me.

How did you handle note interlinking?

I forced logseq to use relative file links and skipped backlinking in org-roam. However, it looks like logseq now supports org-id links with backlinking. I might need another script to convert :).

Would you mind sharing your experience and/or the script? Would be nice for the community!

3 more...
3 more...

Need to use strokes to make gestures for cycling, todo cycling, etc and see how it works.

3 more...

I worry I'm not "hardcore" enough for emacs (I have tried in the past and now mostly use Vim). I will give it a try though as quite a few people recommend here!

It takes a little bit of getting used to, but I found once limited myself to a few useful features I really started using it every day. For the most part I organize myself inside of Jira, but for tasks that I am currently thinking about I put them in a org-mode document. I have a few minor customizations, use a few hot keys, and that's it.

You could try spacemacs (what I use) or doom emacs. Both have vi-like keybindings as a default and are slightly easier to get going with than vanilla emacs. On the other hand, especially with spacemacs, there's more to learn than vanilla emacs and more that can go wrong.

I've recently started replacing most of my shell usage with org mode and babel, along with GitHub copilot and similar LLM backed tools it's like autocomplete on steroids

3 more...

I use a variety of FOSS tools for both personal and work productivity.

For personal I use:

  • Nextcloud (Calendar, sync files, contacts etc, forms, availability sharing)
  • Thunderbird (Mail & Calendar)
  • 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)
  • Tasks.org to manage Vikunja tasks in Android
  • 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
  • Ranger file manager
  • Espanso

Update 1: Fixed Nomie link Update 2: added waistline and liftosaur since I had forgotten Update 3: added Inkscape

Your nomie link isn't working, this is the one that interests me the most. But I'm trying logseq too. Thanks for the recommendations

These are all excellent suggestions and your username is very apt :)

My read it now is just save as epub and at some point send over to ereader so Omnivore could help me a lot.

Thank you, glad to help!

Yeah that's what I was doing before but in a more streamlined way. Wallabag has an integration with KoReader (which I have installed in my Kobo). So I saved articles in my browser or phone and then pulled them from Wallabag directly in the Kobo.

I hope the dev of Omnivore eventually implements this. He is very responsive and fast implementing features

10-15 years ago the suggested app listings would be about apps that you create something with them, eg gimp, freecad etc. Most of what you suggest here are just apps to manage yourself, where you control your life down to minute detail. I consider such apps to have the effect of losing freedom and the randomness of life. Basically, we've moved from being creator beings, to barely living, and requiring app assistance for it.

Interesting take. I think different though, because it does not mean we are not free, I think it helps in moments we are lost. I often find my self overwhelmed by what I need to do so organising myself or keeping myself organised can be very important to me. I don't use apps to this extend yet, but plan on doing so after building my Nas. I think it's also very interesting to keep track of my health and mood in order to learn patterns I should avoid in order to stay mentally stable

Do you know if it's possible to use Vikunja as a frontend for next cloud tasks? It does it have some extra sauce on top of caldav?

No, Vikunja has both the front-end and backend for the tasks and is the caldav provider itself.

You can use planify and Tasks.org as frontends to manage Nextcloud tasks on your computer and phone, respectively

Why Logseq over Obsidian?

Foss I suspect.

I avoid obsidian for the same reason, instead I use org mode and MediaWiki (see also dokuwiki)

As the others said, the main reason is that it is FOSS. Before Logseq, I was using Standard Notes, which is also FOSS and was enough for my needs then.

Then Logseq appeared at the same time I was learning about graph structured and linked notes as the likes of Tiddlywikis and RoamReasearch

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.

Could you share your config for Awesome? I’m toying with the idea of moving to a tiling WM.

I don't really have it ready to publicize but it's based on powerarrow-dark from awesome-copycats github repo (I have mainly removed things I don't use and added some more mappings like media keys etc).

I'm running a few on my NAS:

  • 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.

These are really useful suggestions, thanks!

Particularly excited about Trillium. I'm current trying Joplin but labour and time reflect and organize the noted means I'm rarely using it effectively.

Habitica sounds interesting. I definitely feel I need something like that. My struggle sometimes is in splitting projects into bitesize chunks (some are easier than others) some of my work can be quite open ended thought projects. I get caught in a trap of doing the easier work to plan work (like coding) rather than necessarily the most urgent.

You could try

  • Liftosaur for exercise routines (it has script language even) and can also track body measurements.

  • waistline as a substitute for myfitnesspal or cronometer

  • Nomie for tracking habits, mood, activities and many more

All these apps are FOSS

What kind of build do you have for a NAS? How expensive does that look?

I'm not up-to-date with current NAS systems anymore -- I'm running an older QNAP NAS (TS-453), and it has their proprietary "Container Station" which can run web applications in Docker + LXD containers. Not FOSS, though the containers very much are and can be moved to other systems.

As an alternative, FreeNAS/TrueNAS sells NAS systems where at least the software side is FOSS. They're quite expensive, though.

The prices of other brands also quickly breach silly levels, but a basic 2-bay NAS is about ~$250 for QNAP, ~$200 for Synology and ~$1000 for a TrueNAS. Without hard drives.

If you're not interested in the data storage side, a Mini PC w/Proxmox (popular Docker/LXD container engine w/browser-based management) or even a direct install on a Raspberry PI are possible for under $100.

selfhosted searchengine . i see zero reason not to.

Whoogle (through Tor)? ;)

Or searx??

2 more...

Try out a tiling wm (i use i3/sway) they are much easier to focus in than a regular de

It's on the list to try. I briefly tried i3 but couldn't get on with it. Though that was a bad time to try change as there was a lot of deadlines and I didn't really have the time to learn. I have a bit more time so I'm going to try again.

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.

Been using Kate as just a notepad…what plugins should I be made aware of ?

Im my distro the all the plugins are included in the repo package. But you just need to Configure Kate and there is a plugins section.

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.

My ssh config has RemoteCommand=/usr/bin/tmux -u new-session -A -s laptop for Host *

Many have already mentioned Obsidian, I too ventured to it from Joplin and couldn't be happier.

Other (FOSS) tools I use for productivity... GUI tools:

  • nocodb - a web-based database which can be accessed over API too
  • I'm keeping an eye on vikunja.io, hope to have it mature and implement more features regarding project management
  • paperless-ngx, make order of your paper-mess.

CLI tools:

  • Fish - a very nice and modern shell
  • chezmoi - a really nice dotfile manager
  • lsd instead of ls, dust instead of du, zoxide instead of cd
  • kopia - awesome backup tool. How backup is related to productivity? Disaster recovery ;-)

Just because the phrasing of this post implies Obsidian is OSS, just FYI to others, it isn't 😢

Also +1 for Vikunja! 👍

Try bare git repos over chemo, I’ve been much happier with that over chezmoi

Useful suggestions, thank you!

I'm going to try some of the more FOSS options (I'm on Joplin at the moment) first but if they don't work out I'm going to give Obsidian a try.

Zettlr for technical writing into any format.

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.

I'm with you on obsidian. Logseq comes close, but the app falls a bit short for me as of yet.

I haven't tried Obsidian, but I use Logseq all the time. What do you think is holding Logseq back? I'm just curious.

I know for me the mobile app lacks some polish and it lacks plugins, which is annoying.

Plugin support is a huge thing, obsidian does this so good. Also, tags are pretty cool, not sure if logseq has them. Do I remember correctly that Logseq does not store your stuff in a pure mix of markdown and directories, or was that another App?

Logseq has tags. Logseq does store data in markdown files. There's one file for each page.

Are you perhaps thinking about Anytype?

Honestly, I just found the android app incredibly clunky and annoying to navigate. I'm hoping it'll improve with time, because I would like to move to a FOSS solution.

I tried obsidian, but the Android app is pretty terrible. So in the end I still use Google keep. I would definitely like a more open Foss option, but haven't found one that works on Linux and Android that I like.

I've been interested in Anytype, it's supposed to be like Notion, which I haven't used either. You might want to check it out. I'm also trying to get away from Google Keep.

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.

Thank you for reminding me of Material Shell, I tried it years ago on an older build of Zorin OS and it crashed constantly. Excited to give it another whirl, and great to see he's working on the same concept with a new implementation,

I use emacs, Denote, and markdown-mode to keep a loose Zettlekasten archive of notes.

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.

http://todotxt.org/

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.

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

Sway really sped things up for me. Also using ble.sh helps with bash. Then custom scripts and aliases in bashrc.

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:

RRULE:FREQ=YEARLY;BYMONTH=5;BYDAY=SA;BYMONTHDAY=16,17,18,19,20,21,22

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.

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 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 )

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.

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.

Love Flowtime, I use it almost every time I need to work on something other than my full-time job

This sounds interesting I did have some success with Pomodoro but stopped for some reason. I'll try flowtime out, thanks!

Nextcloud, FreshRSS and KdeConnect come to mind.

How do you use KDEConnect for productivity? I am currently planning a move to KDE Plasma from Gnome (when 6 comes out).

joplin has allowed me to be a lot more flexible with managing and viewing my sheet music.

i converted my notes pretty easily and now i have access to them on all my devices.

I just wished Joplin would store notes as some kind of plain text, like Obsidian does. I've also been trying out AppFlowy, which looks kinda promising (and Foss), but it stores notes in a db as well.

Joplin does store the notes as plain text files, they're just named after IDs, so you can't tell which note is which

@JoYo @zerakith #Joplin is my second brain. I store damn near everything in there. The only thing I wish it did better was tables.

I mainly use joplin for tables. it can't do equations but for set lists and repertoire it's much easier to use than anything else i've tried.

@JoYo I do use tables in Joplin, but when they get large, dealing with them in markdown becomes unwieldy.

Honestly Obsidian or a similar note-taking app is enough for me. It has a KanBan plugin if you like using that, otherwise just use bulleted lists.

Obsidian is amazing and more people should use it.

It's not foss unfortunately and the license prohibits its free usage in a company

At the moment they are "don't be evil". It's easy to access all your data in a folder with md files. I like Obsidian and use it on all devices with syncthing. Of course private use. In the long run I will migrate to emacs with my notes. But it's one of my favorites at this time, too. But of course FOSS will be always free and fair.

A combination of different.

For brainstorming Logseq is great, for tasks I use CalDAV in combination with Thunderbird and JTX Board (Android) a lot.

OBSIDIAN!

Obsidian is not open source.

not really open source, but all of your data is safe as markdown files. While normally prefer FOSS applications, I make an acception for Obsidian, because nothing really matches it

Not even logseq?

In my experience, nope. I tried so hard to use Logseq, but I had massive issues with speed, stability, and database corruption.

Really I think the root of the issue is their database. The database causes so many problems and makes their synchronization methods dirty hacks at best.