Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/psamim/dotfiles

My dotfiles
https://github.com/psamim/dotfiles

config dotfile dotfiles shell

Last synced: 2 days ago
JSON representation

My dotfiles

Awesome Lists containing this project

README

        

* About
These are my dotfiles for everything I currently use or used to use. I use [[file:install.sh][install.sh]] to put everything in place.

* Screenshots and Posts
- [[https://www.reddit.com/r/emacs/comments/hnf3cw/my_orgmode_agenda_much_better_now_with_category/][My org-mode agenda, much better now with category icons!]]
- [[https://www.reddit.com/r/unixporn/comments/jprtoj/xmonad_productivity_workflow_emacs_orgmode_agenda/][xmonad Productivity workflow (Emacs org-mode agenda, Astroid notmuch email client)]]
- [[https://www.reddit.com/r/emacs/comments/moc6dw/my_orgagenda_on_my_phone/][My org-agenda on my phone]]

* Description
** Related to Emacs, Org-mode or ledger-cli
*** [[file:bin/clocking][clocking]]
:PROPERTIES:
:ID: 8363c5ec-6c3b-4c5c-b3c6-94649af38ab3
:END:
A shell script that displays the title of current active (clocked) heading in [[https://orgmode.org/][Org mode]] along with its Pomodoro counter and overall spent time. I use this in bars (polybar, awesomewm, i3blocks, etc).

*** [[file:bin/clocking.py][clocking.py]]
A python script that displays the current clocked heading in org-mode. A more fancy version of =clocking= script. It has functions like =clock_out= or =go_to_clock= to be used for click events in i3blocks.

*** [[file:bin/toggle-layout][toggle-layout]]
This shell script toggles the keyboard layout. It checks the current active window, if it is Emacs it sends =ctrl-\= to change the input method in Emacs otherwise it calls =xkb-switch -n=. This lets me toggle layout with a single key binding whether I am in Emacs or not.

*** [[file:bin/sync-agenda-svg][sync-agenda-svg]]
This script generates and SVG version of my org-agenda. Then I use the SVG file on my phone and also as my browser homepage. There is an screenshot of this in [[https://www.reddit.com/r/emacs/comments/moc6dw/my_orgagenda_on_my_phone/][My org-agenda on my phone]].

*** [[file:bin/sync-cal][sync-cal]]
I use this shell script to export my org-mode agenda to an ICS file and upload it to a place where Google Calendar or other calendars can access. This way I have my scheduled items in Google Calendar and can share it with others. The actual function to export to ICS is defined [[https://github.com/psamim/dotfiles/blob/master/doom/config.el#L965][here]].

*** [[file:bin/emc][emc]] and [[file:bin/emct][emct]]
Shell scripts to open =emacsclient= in terminal and in window mode. I use them alongside with a [[file:desktop-files/Emc.desktop][Emc.desktop]] file to make opening files in Emacs easier in file managers like Thunar or Dolphin; using "Open With..." menu.

*** [[file:ledger-autosync/plugins/][ledger-sync plugins]]
I use [[https://github.com/egh/ledger-autosync][ledger-autosync]] to import CSV files from my bank into my ledger files. These are the plugins I use for the banks I use.

*** [[file:bin/getquote][getquote]]
This small shell script needs to be in PATH so that [[https://www.ledger-cli.org/][ledger-cli]] can update its price database using =--download= [[https://www.ledger-cli.org/3.0/doc/ledger3.html#:~:text=a%20script%20named-,getquote,-and%20expecting%20that][option]].

*** [[file:doom/][Emacs doom configuration]]

** Other
*** [[file:bin/back][back]]
I use this shell script to backup everything. It uses [[https://borgbackup.readthedocs.io/en/stable/][Borg]] to backup and then uses [[https://rclone.org/][Rclone]] to send backups to various locations. I run it manually every month. It contains many utility functions to create asymmetric and symmetric encrypted files using GPG, to create and transfer backups and mount LUKS encrypted drives.

*** [[file:bin/reboot-p][reboot-p]]
A shell script to check if kernel needs a reboot to upgrade. I use this in bars to display REBOOT so that I know.

*** [[file:bin/hdmi-sound-toggle][hdmi-sound-toggle]]
This shell script checks if HDMI is connected, if is connected it switches Pulseaudio profile to HDMI; Otherwise switches to a default profile. I use this in [[https://github.com/phillipberndt/autorandr][autorandr]]'s [[file:autorandr/docked/postswitch][postswitch]] script to automatically switch to HDMI sound output.

*** [[file:bin/arbtt-running][arbtt-running]]
This shell script displays [[https://arbtt.nomeata.de/#what][arbtt time tracker]]'s overall time spent today. Also if arbtt-capture is not running it displays a red alert showing OFF. It toggles arbtt-capture on or off on click (in i3blocks).

*** [[file:bin/get-bing-wallpaper][get-bing-wallpaper]]
This shell script gets today's Bing wallpaper and also writes the image description on the image. There are systemd user services to run this script once daily ,here is the user [[file:systemd/user/get-bing-wallpaper.service][service]] and its [[file:systemd/user/get-bing-wallpaper.timer][timer]]. Also there is a separate [[file:systemd/user/feh-wallpaper.service][service]] and [[file:systemd/user/feh-wallpaper.timer][timer]] to change the desktop wallpaper periodically.

*** [[file:bin/invert][invert]]
This shell script inverts colors of the currently active window using picom and toggles it.

*** [[file:systemd/user/xcape.service][xcape]]
Small systemd user service to start [[https://github.com/alols/xcape][xcape]] to turn caps lock into escape, when pressed and released on its own. I also turn caps lock to control key in the [[file:bin/keyboard-configure][keyboard-configure]] script. So my caps lock both works as an escape key and control key.

*** [[https://gist.github.com/rsvp/1209835][noise.sh]]
Shell script to generate brown noise.

*** [[file:zsh/zshrc][zshrc]]
*** [[file:vim/vimrc][vimrc]]