{"id":17113849,"url":"https://github.com/soptikha2/archlinux-dotfiles","last_synced_at":"2025-07-14T19:32:45.947Z","repository":{"id":144223157,"uuid":"174850131","full_name":"SoptikHa2/archlinux-dotfiles","owner":"SoptikHa2","description":"Archlinux i3 dotfiles","archived":false,"fork":false,"pushed_at":"2023-01-23T14:06:14.000Z","size":19582,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T20:45:17.486Z","etag":null,"topics":["archlinux","i3","i3-gaps","i3lock","polybar","rice","unixporn"],"latest_commit_sha":null,"homepage":"https://soptik.tech/","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SoptikHa2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-10T16:30:43.000Z","updated_at":"2024-03-10T10:45:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"7f9f8ade-d1e5-4cff-9eef-710e7c542085","html_url":"https://github.com/SoptikHa2/archlinux-dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SoptikHa2/archlinux-dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoptikHa2%2Farchlinux-dotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoptikHa2%2Farchlinux-dotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoptikHa2%2Farchlinux-dotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoptikHa2%2Farchlinux-dotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SoptikHa2","download_url":"https://codeload.github.com/SoptikHa2/archlinux-dotfiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoptikHa2%2Farchlinux-dotfiles/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265336321,"owners_count":23749176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["archlinux","i3","i3-gaps","i3lock","polybar","rice","unixporn"],"created_at":"2024-10-14T17:12:58.292Z","updated_at":"2025-07-14T19:32:45.894Z","avatar_url":"https://github.com/SoptikHa2.png","language":"Vim Script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# archlinux-dotfiles\nArchlinux i3 dotfiles\n\n## Setup\nSee xorg conf. Setup keyboard with `localectl set-x11-keymap us,cz pc105 ,qwerty compose:lwin,caps:swapescape,grp:ctrl_alt_toggle`. See `kbd(4)` and `xkeyboard-config(7)`.\n\n## Useful hotkeys\n\n|Key combo|Effect|\n|---|---|\n|`\u003cEsc\u003e`|Acts as capslock|\n|`\u003cCapsLock\u003e`|Acts as escape|\n|`\u003cA-d\u003e`|Opens rofi - start/switch programs|\n|`\u003cA-Q\u003e`|Kills currently focused program|\n|`\u003cA-w\u003e`|Opens wireless menu in rofi: switch wifi/ethernet, connect to VPN|\n|`\u003cA-t\u003e`|Opens monitor setup menu in rofi: switch between monitors, or combine them together in multiple ways|\n|`\u003cA-Tab\u003e`|Switch keyboards (currently: US and Czech Qwerty)|\n|`\u003cA-g\u003e`|Enter gaming mode - most hotkeys are disabled (incl. window/workspace i3 hotkeys) (except kill, fullscreen, and exit gaming mode)|\n|`\u003cA-Esc\u003e`|Exit gaming mode|\n|`\u003cA-f\u003e`|Toggle fullscreen on currently focused window|\n|`\u003cA-[1,2..0]\u003e`|Switch to i3 workspace 1,2..10|\n|`\u003cA-Enter\u003e`|Start terminal emulator|\n|`\u003cA-S-Enter\u003e`|Start terminal emulator as scratchpad|\n|`\u003cA-E\u003e`|Exit i3|\n|`\u003cA-jkl;\u003e`|Move window focus|\n|`\u003cA-JKL:\u003e`|Move windows|\n|`\u003cPrtSc\u003e`|Take a screenshot and save it into `~/data/Pictures`|\n|`\u003cS-PrtSc\u003e`|Take a screenshot and save it into clipboard|\n|`\u003cC-PrtSc\u003e`|Take a screenshot of current window and save it into `~/data/Pictures`|\n|`\u003cS-C-PrtSc\u003e`|Take a screenshot of current window and save it into clipboard|\n|`\u003cC-Space\u003e`|Dismiss notification|\n|`\u003cC-~\u003e`|Show dismissed notification|\n|`\u003cC-S-Space\u003e`|Toggle floating window|\n|`\u003cA-S\u003e`|Toggle between current workspace and empty workspace|\n|`\u003cA-F1\u003e`|Focus Firefox|\n|`\u003cA-F2\u003e`|Focus latest Alacritty|\n|`\u003cA-F3\u003e`|Focus Discord|\n|`\u003cA-F4\u003e`|Focus Caprine|\n|`\u003cA-F5\u003e`|Focus Thunderbird|\n\n## Useful aliases and functions\n|Alias\\|Function|Real command\\|Description|\n|---|---|\n|`please`|`sudo`|\n|`ga`|`git add`|\n|`gc`|`git commit`|\n|`gs`|`git status`|\n|`gd`|`git diff`|\n|`gds`|`git diff --staged` (works on files that were `ga`'ed)|\n|`gaa`|`git add -u` (adds all tracked modified files)|\n|`enclip`|Encrypt text to recipient via GPG and save to clipboard|\n|`declip`|Decrypt PGP message saved in clipboard|\n\n## Tips \u0026 tricks\n|Trick|Description|\n|---|---|\n| FF config: `full-screen-api.ignore-widgets = true` | Fullscreen videos are not really fullscreen, but are borderless intead. See first screenshot, but it's quite nice feature. |\n\n## Useful cli tools\n\n- [awk](https://tildes.net/~comp/f1a/awk_by_example) - linked awesome tutorial, I wrote md-\\\u003ehtml converter in it.\n\n- [fselect](https://github.com/jhspetersson/fselect) - find files (and do magic with them) with sql-like queries\n\n- [dust](https://github.com/bootandy/dust) - du replacement, shows where did all your disk space go\n\n- [fd](https://github.com/sharkdp/fd) - find replacement that is user friendly\n\n- [pazi](https://github.com/euank/pazi) - quick movement across most-visited directories ([z](https://github.com/rupa/z) replacement)\n\n- [bb](https://github.com/epilys/bb) (BigBrother) - htop alternative\n\n## Vim workflow\n### Html snippets\nAfter creating new html file, one can type `html\u003ctab\u003e` in order to have basic html structure - head, body, links to css/js/favicon, meta tags - setup.\nAfter typing `\u003c`, one can press tab so the closing tag will autocomplete.\n\n### LaTeX snippets\nPressing `\\ll` turns autocompilation on/off. After file is saved, changes will be automatically compiled and pdf viewer (`mupdf`) will be updated.\n\nAfter creating new tex file, one can type `article\u003ctab\u003e` which fills in latex preamble with basic declarations.\n\n`begin` autofills begin block.\n\n`fm` and `dm` (without tab) creates math blocks.\n\n`{number}/\u003ctab\u003e` or `//` creates a `\\frac` block.\n\nTyping `name-of-figure\u003cC-f\u003e` launches inkscape which let's user draw the figure, which is automagically compiled into latex document. [`inkscape-figures watch`](https://github.com/gillescastel/inkscape-figures) has to be launched beforehand.\n\nExisting figures can be edited by pressing `\u003cC-f\u003e` in normal mode and selecting one via rofi.\n\n### Nonstandard or uncommon keybindings\n- Visual select lines and press `zf` to create foldable section. Use `za` to toggle it and `zd` to delete it.\n- When a folder is opened, file browser NerdTree is opened, which doesn't close when one opens files. This way it works like Solution Browser in VS. This can be toggled with `\\n`.\n- When hovering over a symbol, `\u003cC-]\u003e` sometimes - when CTAGs are generated - navigates user to definition. The same can be achieved with `\\j` without the need for ctags.\n- `\u003cTab\u003e` and `\u003cS-Tab\u003e` switches between multiple open buffers. `\u003cC-X\u003e` closes current buffer.\n- `\u003cF5\u003e` compiles and runs current code. Only works in Rust so far.\n\n## Screenshots\n\n![JUST MONICA](https://raw.githubusercontent.com/SoptikHa2/archlinux-dotfiles/master/forever-and-ever.png)\n\nBorderless fullscreen video in Firefox (!, not via youtubedl)\n\n![Borderless fullscreen video in Firefox](https://raw.githubusercontent.com/SoptikHa2/archlinux-dotfiles/master/screenshots/firefox-video-fullscreen-in-window.png)\n\nNeofetch and firefox (the tree style tabs window shrinks when I don't have mouse over it):\n![Screenshot Archlinux Rice i3 - Neofetch](https://raw.githubusercontent.com/SoptikHa2/archlinux-dotfiles/master/screenshots/firefox-neofetch.png)\n\nLocked with i3lock and custom image:\n![Screenshot Archlinux Rice i3 - locked](https://raw.githubusercontent.com/SoptikHa2/archlinux-dotfiles/master/lockscreen.png)\n\n## Firefox about:config\n\n|Configuration|Value|Explanation|\n|---|---|---|\n|devtools.debugger.remote-enabled|true|Useful for userchrome.css live changing (`\u003cC-A-S-i\u003e`)|\n|devtools.theme|dark||\n|media.navigator.enabled|false||\n|media.peerconnection.enabled|false||\n|network.trr.mode|2|[see this](https://daniel.haxx.se/blog/2018/06/03/inside-firefoxs-doh-engine/)|\n|privacy.resistFingerprinting|true||\n|privacy.spoof\\_english|2||\n|privacy.trackingprotection.enabled|true||\n|privacy.userContext.enabled|true||\n|devtools.chrome.enabled|true|Enable userChrome.css and userContent.css|\n|toolkit.legacyUserProfileCustomizations.stylesheets|true|Enable userChrome.css and userContent.css|\n|full-screen-api.warning.timeout|0|Disable fullscreen warning|\n|layers.acceleration.force-enabled|true|OpenGL OMTC (see Firefox/Tweaks AW)|\n|gfx.webrender.all|true|Enable Servo WebRender instead of Gecko. Unstable!|\n|browser.sessionstore.resume\\_from\\_crash|false|Don't restore after caching. Disabling this saves write (opened urls, cookies, history, form data) to disk every 15 seconds.|\n|browser.in-content.dark-mode|true||\n|ui.systemUsesDarkTheme|1|You may need to create new key|\n\n### Enable RAM cache\nInstead of saving cache to disk, save it to RAM instead. It's faster and it doesn't hurt my SSD so much. See [AW](https://wiki.archlinux.org/index.php/Firefox/Tweaks#Turn_off_the_disk_cache).\n\n|Configuration|Value|Explanation|\n|---|---|---|\n|browser.cache.disk.enable|false||\n|browser.cache.memory.enable|true||\n|browser.cache.memory.capacity|-1|Maximum memory, in KB, used. Use `-1` for auto detection.|\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoptikha2%2Farchlinux-dotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoptikha2%2Farchlinux-dotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoptikha2%2Farchlinux-dotfiles/lists"}