{"id":17177960,"url":"https://github.com/curusarn/dotfiles","last_synced_at":"2025-09-22T09:23:33.250Z","repository":{"id":129172845,"uuid":"73114437","full_name":"curusarn/dotfiles","owner":"curusarn","description":"My dotfiles","archived":false,"fork":false,"pushed_at":"2025-01-02T16:44:53.000Z","size":343,"stargazers_count":6,"open_issues_count":15,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-09T21:44:40.588Z","etag":null,"topics":["bash","bashrc","dotfiles","i3","i3wm","shell","tiling-managers","vim","vimrc"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/curusarn.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":"2016-11-07T19:44:21.000Z","updated_at":"2025-01-02T16:44:57.000Z","dependencies_parsed_at":"2025-01-03T20:45:50.903Z","dependency_job_id":null,"html_url":"https://github.com/curusarn/dotfiles","commit_stats":{"total_commits":333,"total_committers":5,"mean_commits":66.6,"dds":"0.11711711711711714","last_synced_commit":"a1009039494037cd0fc094da421505679d20f1ca"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curusarn%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curusarn%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curusarn%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curusarn%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/curusarn","download_url":"https://codeload.github.com/curusarn/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248750108,"owners_count":21155686,"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":["bash","bashrc","dotfiles","i3","i3wm","shell","tiling-managers","vim","vimrc"],"created_at":"2024-10-15T00:05:35.318Z","updated_at":"2025-09-22T09:23:28.195Z","avatar_url":"https://github.com/curusarn.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dotfiles\n\nThese are my dotfiles.\n\nAnd this is an incomplete list of what I use:\n\nOS: Manjaro  \nDE: Gnome  \nTerminal: gnome-terminal (with desktop file patched to always open fullscreen)  \nTerminal theme: hyper-snazzy  \nShell: zsh with oh-my-zsh  \nPrompt: pure  \nBrowser: Chome  \nPassword manager: 1password  \nDotfiles manager: yadm  \nShell history: resh  \nEditor: vscode with neovim  \nVscode theme: One Dark Pro  \nGnome extensions: Overlay icons, Switcher, Put windows, Sound IO Chooser, Clipboard Indicator  \nGnome configuration and keyboard shortcuts: heavily customized  \nKeyboard customizations: Capslock=Meta, Short press Caps -\u003e Escape, Caps+space -\u003e Gnome overlay  \n\n\n## My workflow\n\nI used i3wm before so I don't like to be forced to use mouse.  \nBut I also don't like to be forced to use the keyboard (+many other reasons) so I switched to Gnome.  \nI customized Gnome to get a more keyboard-friendly workflow.  \n\n### Keybindings\n\nI use vim (in vscode) so my keybindings use hjkl. \n\n- Capslock works as Meta/Super key\n- Single press of Caps works as Escape instead of openning Gnome Overview\n- Meta+hjkl moves focus\n    - Meta+jk \"moves focus\" down/up between workspaces\n    - Meta+hl moves focus left/right between windows (and displays)\n        - only possible using this extension https://github.com/negesti/gnome-shell-extensions-negesti\n- Meta+Shift+hjkl moves windows (and focus)\n\nSome more keybindings to resize windows: maximize, tile left, tile right, minimize  \nRebind Alt+Tab to Meta+ui so it's closer.  \nMeta+Enter to launch a new fullscreen terminal.  \nMeta+q to close a window.\n\n### Search open windows\n\nThis extension fuzzy searches windows by title: https://github.com/daniellandau/switcher\n\n\n## Setup step-by-step\n\n*This was written to be followed by me (use at your own risk)*\n\n### Setup\n\n1. Install Manjaro Gnome with disk encryption\n1. Refresh mirrorlist `sudo pacman-mirrors -g`\n1. Update\n1. Reboot\n\n### Manjaro hello\n\n1. Check default apps\n    - Install all fonts\n    - Uninstall contact app\n1. Set Layout to Gnome (via Manjaro Hello)\n1. Do not launch manjaro hello on start\n\n### Manjaro settings\n\n1. Install GPU drivers (maybe fixes issues from the next section)\n\n### Display settings\n\n1. ??? Install xorg-xdpyinfo\n1. Delete `~/.config/monitors.xml` (it sometimes gets corrupted)\n1. Setup displays\n\n### Gnome settings\n\n1. Naturall scrolling\n\n### Yay\n\n1. Install all base-devel: `sudo pacman -S base-devel yay` \n\n### Chrome\n\n1. Install Chrome\n    - `yay -S google-chrome`\n1. Log into 1Password website\n1. Log into Chrome\n1. Log into 1Password\n1. Log into other extensions\n1. Download wallpaper and avatar from drive\n1. Get SSH keys\n1. Use system title bar (more consistent window focus indication)\n    - Settings \u003e Appearance \u003e Show system title bar and borders\n\n### SSH\n\n1. Set file permissions for SSH keys to 600\n\n### Gnome tweaks\n\n1. Do nothing when the lid is closed\n    - General\n1. Dark theme (Matcha-dark-sea / whatever is default +dark)\n    - Appearance\n1. Set wallpaper\n    - Appearance\n1. Make Capslock additional Super\n    - Keyboard \u0026 Mouse \u003e Additional Layout Options\n\n### Dotfiles\n\n1. Install git\n    - `sudo pacman -S git`\n1. Install yadm\n    - `yay -S yadm`\n1. yadm clone, yadm bootstrap\n1. make install_packages\n1. make install_oh-my-zsh\n1. make install_resh\n1. make install_* \n\n### Gnome tweaks\n\n1. Run xcape on start up\n    - Startup applications \u003e Xcape caps_escape\n\n### Gnome terminal\n\n1. create a dummy profile for gnome-terminal (otherwise hyper-snazzy breaks https://github.com/tobark/hyper-snazzy-gnome-terminal/issues/3)\n1. `make install_hyper-snazzy`\n1. Set hyper-snazzy as default theme\n1. Patch Gnome-terminal to always launch fullscreen\n    - `make install_patch_gnome-terminal-desktop`\n\n### Gnome settings \n\n1. Create shortcut to launch terminal using Super+Enter\n    - Keyboard shortcuts \u003e scrolldown \u003e + \u003e `gnome-terminal --window --maximize`\n1. ? Create shortcut to launch small terminal using Super+' \n    - ... \u003e `gnome-terminal --window`\n1. Set Search to: Terminal, Files and Calculator (in that order)\n1. Set screen lock to 30 minutes\n    - Privacy \u003e Screen Lock\n1. Set automatic suspend to ???\n1. Never prompt to start programs\n    - Removable media\n1. Set avatar\n    - User\n\n### Applications\n\n1. Install applications\n    - `make install_apps`\n1. Set Favourite apps\n    - `make set_gnome_favourite-apps`\n1. Log into apps\n\n### Gnome extensions\n\n1. Install and build\n    - `make gnome_extensions`\n1. Enable Extensions\n    - Overlay icons, Switcher, Put windows, Sound IO Chooser, Clipboard Indicator\n1. Import settings\n    - `make set_gnome_ ...`\n    - `make set_gnome_extension_ ...`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcurusarn%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcurusarn%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcurusarn%2Fdotfiles/lists"}