{"id":25696647,"url":"https://github.com/tizee/dotfiles","last_synced_at":"2025-08-17T20:10:37.101Z","repository":{"id":37208677,"uuid":"373844782","full_name":"tizee/dotfiles","owner":"tizee","description":"just dotfiles","archived":false,"fork":false,"pushed_at":"2025-08-14T17:31:13.000Z","size":2089,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-14T19:25:17.730Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/tizee.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,"zenodo":null}},"created_at":"2021-06-04T13:07:01.000Z","updated_at":"2025-08-14T17:31:17.000Z","dependencies_parsed_at":"2024-03-15T06:26:53.631Z","dependency_job_id":"c8b77fee-d77d-4c58-a7cc-df4206c79f79","html_url":"https://github.com/tizee/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tizee/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tizee%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tizee%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tizee%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tizee%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tizee","download_url":"https://codeload.github.com/tizee/dotfiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tizee%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270899582,"owners_count":24664720,"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","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-02-25T01:54:55.290Z","updated_at":"2025-08-17T20:10:37.092Z","avatar_url":"https://github.com/tizee.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Dotfiles\n\nMy dotfiles for Unix-like systems (MacOS/Arch Linux/WSL2).\n\n\u003c/div\u003e\n\n![ci](https://github.com/tizee/dotfiles/actions/workflows/ci.yaml/badge.svg)\n![Last commit](https://img.shields.io/github/last-commit/tizee/dotfiles?style=flat-square)\n![GitHub repo size](https://img.shields.io/github/repo-size/tizee/dotfiles?style=flat-square)\n\n![demo image](https://github.com/user-attachments/assets/4f133612-d318-4eac-bfe6-6c933772c025)\n\n## Installation\n\nClean setup directly from command line:\n```\n/bin/zsh -c \"$(curl -fsSL https://raw.githubusercontent.com/tizee/dotfiles/master/dotfile_scripts/install.sh)\"\n```\n\nInstall from github repo:\n```\nrun make install first\nmake help          - show help message\nmake install       -  backup old .config dir and create symlink\n                      1. mv $HOME/.config $HOME/.config_backup\n                      2. ln -s path/to/dotfiles $HOME/.config\nmake dry-uninstall -  a dry run of uninstall\nmake uninstall     -  require make dry-uninstall\n                      1. rm $HOME/.config\n                      2. mv $HOME/.config_back $HOME/.config\nmake emacs         -  require make install\nmake emacs-force   -  require make install\nmake tmux          -  require make install\nmake nvim          -  require make install\nmake nvim-force    -  require make install\nmake zsh           -  require make install\nmake zsh-force     -  require make install\nmake rm-zsh        -  require make install\n```\n\n\u003e I prefer `make` over `stow` so long as I could control the installation granuality.\n\n## Trade offs\n\n- Maybe it's a good idea to use a Dockerfile to setup the development environment and reuse it from the container instead of `make install` each time on a new machine.\n- But from my view, I think the frequency is too low and you have to pay a lot for this convenience later.\n  - 1. your productivity tools are restricted to directories mapped to the container.\n\n```\n docker run -v \u003cpath-to-local-dir\u003e:/root/work -it \u003cdotfiles-image\u003e\n```\n\n## Packages\n\nHere are some packages why I choose to use.\n\n### Terminal Emulator\n\n- Update: Use [Ghostty](https://github.com/ghostty-org/ghostty)\n\nI'd recommend [Wezterm](https://github.com/wez/wezterm) for:\n\n1. Font ligature\n2. Key assignment\n3. Use lua for configuration\n4. Commit frequently\n\nBTW, leader key bug has been fixed in [#1409](https://github.com/wez/wezterm/issues/1409). Now I could use it for my daily work with `use_ime=true` to type in non-latin words.\n\nI sometimes use Alacritty or Kitty to test the compatibility of cli apps.\n\n### Tmux\n\nI build the tmux from source to use its latest features as well as wezterm nightly. This is because my workflow in tmux based on `display-popup`, which is supported for Tmux \u003e= 3.2.\n\nBTW, the tmux plugin manager `tpm` for tmux is required.\n\nYou can install it with following command:\n\n```\ngit clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm\n```\n\n`make tmux` is equivalent to above command.\n\n### Editor\n\nI use Neovim and Vim. I try my best to maintain the compatibility of configuration between NeoVim and Vim. For example, some vim plugins use functions that Neovim hadn't implemented yet or Neovim uses different names. In such cases, I have to write some plugins myself.\n\n~~I do not use Emacs often but I'd like to maintain a minimal configuration of Emacs.~~\n\nI am trying to migrate to Emacs because the divergence between Neovim and Vim9 is tedious for me to maintain a compatible configuration.\n\nI would continue to use Vim/NeoVim when Emacs is not convenient to use i.e. in the termianl (It's easier to configure a usable Neovim/Vim than Emacs).\n\n### Shell\n\nZsh is more powerful than Bash in my opinion for its zle and completion system that enables autoloaded functions.\n\n[Zsh Completion System](https://zsh.sourceforge.io/Doc/Release/Completion-System.html)\n\n- Use `gitstatus` in order to enable faster git prompt in zsh\n  - [gitstatus](https://github.com/romkatv/gitstatus)\n- zsh completion idea from Phantas0s's article, see his dotfiles [Phantas0s/.dotfiles](https://github.com/Phantas0s/.dotfiles)\n\n## macOS\n\n- key\n  - ~~skhd~~\n  - karabiner elements\n- Window related\n  - ~~yabai~~\n  - hammerspoon\n- Editor\n  - Vim 9.0 (terminal)\n  - Neovim (terminal)\n  - lem (CommonLisp IDE in terminal)\n  - Emacs (GUI)\n- Shell\n  - Zsh\n- Terminal Emulator\n  - Kitty\n  - Wezterm\n\n## Arch Linux\n\n- Window\n  - X.Org\n  - i3wm\n- Program Launcher\n  - Rofi\n- Package manager\n  - pacman\n  - yay (easy to use)\n- Terminal Emulator\n  - Alacritty\n\n## Acknowledgement\n\nI have learned a lot from others dotfiles or scripts from which I could learn to write my own version of scripts to suit my need.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftizee%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftizee%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftizee%2Fdotfiles/lists"}