Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/blobject/dotfiles


https://github.com/blobject/dotfiles

configuration desktop-environment-configuration dotfiles linux-configuration

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

* dotfiles

*** selection

| class | instance |
|-|-|
| hw | [[https://psref.lenovo.com/Detail/ThinkPad_X1_Nano_Gen_1?M=20UN00FSUS][thinkpad x1 nano g1]], [[https://github.com/foostan/crkbd][corne]], [[https://www.razer.com/ap-en/gaming-mice/razer-atheris][atheris]], [[https://xtrfy.com/mice/mz1-wireless/][mz1]], [[https://us.aoc.com/en-US/products/monitors/i1601fwux][i1601fwux]] |
| env | [[https://voidlinux.org/][void]] [[https://www.kernel.org/][linux]], [[https://labwc.github.io/][labwc]], [[https://www.gnu.org/software/bash/][bash]], [[https://www.tcl.tk/][tcl]] |
| look | [[https://github.com/blobject/cemant][cemant]], [[https://picaq.github.io/sarasa/][sarasa]], [[https://github.com/blobject/agave][agave]], [[https://rsms.me/inter/][inter]], [[https://fontawesome.com/][font awesome]] |

*** scripts

| name | description |
|-|-|
| *[[__shell/bin/00][00]]* | *run* file(s) based on mimetype (like =xdg-open=) |
| *[[__shell/bin/0c][0c]]* | pass *command* string to tcl |
| *[[__shell/bin/0l][0l]]* | read *log* |
| *[[__shell/bin/0m][0m]]* | wrap [[https://www.x.org/wiki/Projects/XRandR/][xrandr]] |
| *[[__shell/bin/0s][0s]]* | *system* utilities |
| *[[__shell/bin/0t][0t]]* | graphical *shell* utilities |
| *[[__shell/bin/0u][0u]]* | general utilities |
| *[[__shell/bin/0v][0v]]* | wrap [[https://www.qemu.org/][qemu]] |
| *[[__shell/bin/lib.tcl][lib.tcl]]* | *help* =0*= tcl scripts |

| *[[stow.tcl]]* | prep and link all user files |
| *[[load.tcl]]* | setup entire system + user configuration from scratch |

*** keybinding

| key template | key more | do |
|-|-|-|

| | | /GENERAL, MOVE, RESIZE/ |
|-|-|-|
| =MS-r= | | *reconfigure* |
| =CA-= *char* | =\b= / =\d= | *lock* / *sleep* |
| =M/A-L= | | *resize* / *move* window |
| =MS[C]-\e= | | *close* [ or *kill* ] window |
| =MS-= *num* | =1= / =2= / =3= / =4= | *move* window to *nth* desktop |
| =M[S]-= *dir* | =h= / =j= / =k= / =l= / =y= / =u= / =b= / =n= | *move* [ and *snap* ] window to *edge* |
| =M-= *char* | =c= / =slash= / =quote= / =semic= / =comma= / =dot= / =lt= / =gt= | *snap* window to variations of *grid* |
| =M[S]-f= | | toggle *maximise* [ or *fullscreen* ] |

| | | /FOCUS/ |
|-|-|-|
| =M-= *num* | =1= / =2= / =3= / =4= | *focus nth* desktop |
| =A[S]-\t= | | cycle *focus* [ *backwards* ] |
| =M-a= | | toggle *always on top* |

| | | /APP/ |
|-|-|-|
| =[S]-print= | | *take picture* of *screen* [ then *edit* ] |
| =M-\s= | | *dismiss* notification |
| =M-= *char* | =\n= / =grave= / =e= / =t= / =w= | launch *launcher* / *treeview* / *editor* / *terminal* / *www* |

*** usage

**** keep a user configuration file

1. Let's say this repository is saved as =dotfiles= and you are in it.
2. Create a directory with a name of your choice, prepending =_=.
3. ~cd~ inside the new directory.
4. Pretending that you are at =$HOME=, recreate the location of the configuration file.
- For example, say you want to back up [[https://wiki.archlinux.org/title/XDG_MIME_Applications#mimeapps.list][mimeapps.list]]. Create the path of folders =...dotfiles/_mime/.config=, and write the file =...dotfiles/_mime/.config/mimeapps.list=.

*Note*: Sometimes, a subpath may not exist, and that will affect both keeping and loading. Say you want to keep =$HOME/.config/foo/bar.txt=, but =$HOME/.config= doesn't exist yet. If you call ~./stow.tcl~ now to load everything, a link called =$HOME/.config= will be created referencing somewhere in =dotfiles=. When other files get put into =$HOME/.config=, all those files (even those you don't want to keep) will actually reside in this repository!

For this reason, edit the =fend= list inside =stow.tcl=. For the above example, add =.config= to the list (to link =foo/=) or add =.config/foo= (to link =bar.txt=).

**** load/restore all user configuration files

*Note*: If you don't want to load some =_configuration=, place it in =disabled= first.

1. Go to the =dotfiles= root directory.
2. ~./stow.tcl~

**** load entire system configuration

*IMPORTANT*: Customised to my system. Will most likely bork your system.

/WIP/

1. Go to the =dotfiles= root directory.
2. ~./load.tcl~
- presumes: drives prepped; base system and tcl installed; internet available

**** remove a user configuration file.

/WIP/

1. Find the link and manually ~rm~ it.