My general setup is a tiling window-manager on an existing Desktop-Environment (DE) like KDE or Xfce. I started with i3-wm on top of KDE but couldn't fix the issue of notifications popping up at the center of the screen. I then shifted to BSPWM which needed minimum configuration changes to replace KWin in Plasma.
In KDE Plasma, the environment variable $KDEWM needs to be changed before initialising the DE. It can be done using the instructions given below.
My current setup is an edited version of the Arco-linux repository config files. It also includes all the settings needed for compton and power-manager.
I have included all the configuration files I used in the past in this repository. Each folder is named accordingly.
I use a systemd-unit file to use the suspend-sedation to hibernate the laptop after a fixed time it has suspended. This makes sure that the battery is not completely drained if the laptop screen is shut, which suspends the machine.
The systemd file is given in the above repository, which is put in /etc/systemd/system/ and enabled using systemctl.
Source: https://wiki.debian.org/SystemdSuspendSedation
- Xfce-power-manager
- Alacritty: Terminal Emulator
- Ranger: CLI file manager
- Neovim and Vim: CLI text editors; I also use Nvim as my IDE for Python
- Nautilus: GUI file manager
- Blueman: bluetooth manager
- Joplin: note-taking application
- Dropbox: to sync with cloud
- Compton or Picom: Compositor
- KDE-Connect: share files and notifications with my android device
- Polybar: to make the bar housing the workspaces, systray and sys-information
- BSPWM: Tiling window manager
- Xfce Notification Daemon
- Gnome-screensaver: screen locking tool
- Gedit: Text-editor
- Rofi: application menu
- Pulseeffects: Sound filter and amplifier
The feature of adding plugins to Nvim made it easy to use it as an IDE for languages like Python or Java-Script whose prompts are generated by Deoplete plugin in the manager. I edited the init.vim file, the configuration of nvim, to use key bindings which enable me to convert a normal text-editor to an IDE if a .py file is opened. All the configurations are also described using comments in the configuration file. The above configuration file works as an IDE for Python and Julia. Support for any other language can be added by simply copying the functions already defined and editing them accordingly. The only requirement for a language to be used in this setup is an REPL and its Deoplete support.
- Ctrl+I : If the given file is .py or .jl the text editor converts to become an IDE
- F3 : Shift the cursor to the terminal/editor
- F5 : a shortcut in the editor to save and run the code
- Ctrl+o : In the file manager window to open the file in the text-editor
The only problem I faced in this setup is the text wrapping in the REPL. In a tiing window-manager when the window is resized to accomadate a new window, like a plot, the text gets distrubed in the terminal rendering the earlier output unreadable.