{"id":18739293,"url":"https://github.com/1995parham/dotfiles","last_synced_at":"2025-04-11T02:12:51.725Z","repository":{"id":25347727,"uuid":"28775264","full_name":"1995parham/dotfiles","owner":"1995parham","description":":rocket: @1995parham Linux / OSx configurations files","archived":false,"fork":false,"pushed_at":"2025-04-09T18:34:27.000Z","size":7292,"stargazers_count":117,"open_issues_count":4,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-11T02:12:35.810Z","etag":null,"topics":["archlinux","doom-emacs","dotfiles","emacs","linux","neovim","vim","zsh"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/1995parham.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2015-01-04T13:43:21.000Z","updated_at":"2025-04-09T18:34:31.000Z","dependencies_parsed_at":"2023-09-24T11:41:50.816Z","dependency_job_id":"a5b26bd7-78cd-4fea-8a99-8a31e4a93860","html_url":"https://github.com/1995parham/dotfiles","commit_stats":null,"previous_names":[],"tags_count":4,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1995parham%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1995parham%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1995parham%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1995parham%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/1995parham","download_url":"https://codeload.github.com/1995parham/dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248328160,"owners_count":21085261,"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","doom-emacs","dotfiles","emacs","linux","neovim","vim","zsh"],"created_at":"2024-11-07T15:33:23.078Z","updated_at":"2025-04-11T02:12:51.713Z","avatar_url":"https://github.com/1995parham.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e1995parham's dotfiles\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"GitHub\" src=\"https://img.shields.io/github/license/1995parham/dotfiles?logo=gnu\u0026style=for-the-badge\"\u003e\n    \u003cimg alt=\"GitHub Workflow Status\" src=\"https://img.shields.io/github/actions/workflow/status/1995parham/dotfiles/install.yaml?logo=github\u0026style=for-the-badge\u0026label=install\"\u003e\n    \u003cimg alt=\"GitHub Workflow Status\" src=\"https://img.shields.io/github/actions/workflow/status/1995parham/dotfiles/sh-lint.yaml?label=lint\u0026logo=github\u0026style=for-the-badge\"\u003e\n    \u003ca href=\"https://github.com/1995parham-me/ansible-role\"\u003e\n        \u003cimg alt=\"Ansible\" src=\"https://img.shields.io/badge/ansible-ready-black?logo=ansible\u0026style=for-the-badge\"\u003e\n    \u003c/a\u003e\n    \u003cimg alt=\"GitHub repo size\" src=\"https://img.shields.io/github/repo-size/1995parham/dotfiles?style=for-the-badge\"\u003e\n\u003c/p\u003e\n\n## Introduction\n\nThis repository houses Parham Alvani's personal `dotfiles`,\nwhich serve as configuration files for various tools in his development and living environment.\nThese `dotfiles` are designed specifically for use on macOS and Linux systems, excluding Windows or WSL.\n\n`Dotfiles` repositories are personal repositories that facilitate the management of configurations across different systems.\nTo make the process easier for others, I have made this repository a template that can be used as a starting point\nfor creating personal `dotfiles` repositories.\nYou can find more information about `dotfiles` and their significance [here](https://virgool.io/@rsharifnasab/dotfiles-emhmfto0nijw).\n\nI would like to express my special thanks to [@elahe-dastan](https://github.com/elahe-dastan/) for not only utilizing this project\nbut also providing valuable feedback, particularly regarding macOS compatibility.\nHer remarkable contributions to both this repository and my personal life are truly unforgettable.\n\n## Installation\n\n\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"Compatibility\" src=\"https://img.shields.io/badge/works%20on-macos-white?logo=macos\u0026style=for-the-badge\"\u003e\n    \u003cimg alt=\"Compatibility\" src=\"https://img.shields.io/badge/works%20on-ubuntu-orange?logo=ubuntu\u0026style=for-the-badge\"\u003e\n    \u003cimg alt=\"Compatibility\" src=\"https://img.shields.io/badge/works%20on-arch-blue?logo=archlinux\u0026style=for-the-badge\"\u003e\n\u003c/p\u003e\n\nYou need to first install an operating system to use these `dotfiles`,\nFor installing [`ArchLinux`](https://archlinux.org/) from scratch with [`archinstall`](https://github.com/archlinux/archinstall/),\nplease check [here](./archinstall).\n\nIn the case of using macOS, you already have the installed macOS\n(Use recovery mode by Press and hold the power button on your Mac until the system volume and the Options button\nappear). During the fresh-installation, please check [here](./macos).\nThere is no need for installing the operating system, and you cannot customize anything about it.\nJust run the following script to have the setup:\n\n```bash\n# install brew with the default configuration.\n./start.sh brew\n# configure osx with Parham's preferences.\n./start.sh macos\n```\n\nTo install these `dotfiles` on a fresh system, run the following command:\n\n```bash\ngit clone https://github.com/1995parham/dotfiles.git ~/.dotfiles \u0026\u0026 cd ~/.dotfiles \u0026\u0026 ./start.sh env \u0026\u0026 ./install.sh\n```\n\nThis will clone the repository into your home directory (`~/.dotfiles`), and run the `start.sh env` script to install\nrequired tools and then run `install.sh` script to\ncreate symbolic links between the `dotfiles` and their expected locations in your home directory.\n\nAfter that, you can set `zsh` as your default terminal (you can use bash too, there is no hard requirement to use `zsh`):\n\n```bash\nsudo chsh $USER -s /bin/zsh\n```\n\nRun `start.sh font` script to install useful fonts (obviously on a desktop system):\n\n```bash\n./start.sh font\n```\n\n**Don't** forget to set the git username and email:\n\n```bash\ntouch $HOME/.config/git/config\n```\n\nor you can use mine (it's crystal clear these values is useful only for **me** and my **queen**):\n\n```bash\n./start.sh git\n```\n\nRun `start.sh neovim` script to install `neovim` with [`ElieVIM`](https://github.com/1995parham/elievim) configurations:\n\n```bash\n./start.sh neovim\n```\n\n## Hosts (naming based on Star Wars and Battlestar Galactica movies)\n\nElahe and I have the following systems with [starship naming](https://namingschemes.com/Starships) as follows.\nHere is the list of available resources to find name names using the schema.\n\n- \u003chttps://en.wikipedia.org/wiki/List_of_fictional_spacecraft\u003e\n\n### Parham\n\n- [`millennium-falcon`](https://en.wikipedia.org/wiki/Millennium_Falcon): After years I bought another MacBook\n  to taste the Apple world again. Please note that the disk is encrypted and named `Falcon HD`.\n  The last `macOS Ventura` installation happened on 14 Dec 2024. ✅\n\n    |   Type    |                           Value                           |\n    | :-------: | :-------------------------------------------------------: |\n    |  System   |                   `Mac16,7 (MX2Y3LL/A)`                   |\n    | Processor | `Apple M4 Pro 14 cores (10 performance and 4 efficiency)` |\n    |  Memory   |                 `LPDDR5 - Hynix - 48 GB`                  |\n\n    ![](\u003chttps://img.shields.io/badge/Apple-MacBook_Pro_(16--inch,_2024)-333333?style=for-the-badge\u0026logo=apple\u0026logoColor=white\u003e)\n\n- [`tantive-iv`](https://en.wikipedia.org/wiki/Tantive_IV): MacBook Air (14,2) given by Snapp, and it should\n  return to them when I decide to leave. The last `macOS Ventura` installation happened on 24 Jun 2024. ✅\n\n    |   Type    |                        Value                        |\n    | :-------: | :-------------------------------------------------: |\n    |  System   |              `Mac15,12 (MXCR3LL/A)`                 |\n    | Processor | `Apple M3 8 cores (4 performance and 4 efficiency)` |\n    |  Memory   |              `LPDDR5 - Hynix - 16 GB`               |\n\n    ![](\u003chttps://img.shields.io/badge/Apple-MacBook_Air_(13--inch,_M2,_2022)-333333?style=for-the-badge\u0026logo=apple\u0026logoColor=white\u003e)\n\n- [`ghost`](https://starwars.fandom.com/wiki/Ghost) is my phone which is Nothing phone 1.\n\nThe username is always set to [`parham`](https://en.wikipedia.org/wiki/Parham).\n\n### Elahe\n\n- [`sandcrawler`](https://en.wikipedia.org/wiki/Sandcrawler): MacBook Pro (14,9) given by Digikala, and it should\n  return to them when Elahe decide to leave. The last `macOS` installation happened on dawn of the time. 🗑️\n\n    |   Type    |                          Value                           |\n    | :-------: | :------------------------------------------------------: |\n    |  System   |                  `Mac14,9 (MPHE3LL/A)`                   |\n    | Processor | `Apple M2 Pro 10 cores (6 performance and 4 efficiency)` |\n    |  Memory   |                `LPDDR5 - Micron - 16 GB`                 |\n\n    ![](\u003chttps://img.shields.io/badge/Apple-MacBook_Pro_(14--inch,_2023)-333333?style=for-the-badge\u0026logo=apple\u0026logoColor=white\u003e)\n\nThe username is always set to `elahe`.\n\n## Usage\n\nThese `dotfiles` configure various tools and applications, including:\n\n- `docker`\n- `yt-dlp`\n- `alacritty`\n- etc.\n\nYou can install most of them by running the following script:\n\n```bash\n./start.sh \u003cname\u003e\n```\n\n### Package Managers\n\nThe following operating systems and their package managers are supported:\n\n- `ArchLinux`:\n    - [`pacman`](https://archlinux.org/pacman/)\n    - [Yet another Yogurt (`yay`)](https://github.com/Jguer/yay)\n- `macOS`\n    - [`brew`](https://brew.sh)\n\n### Applications\n\nFor each package, I provided information on its installation script and how to run it on different operating systems.\nApplications with command names in all lowercase can be run from the command line interface, while those with title cases need to be launched using your application launcher.\nIf an application is marked with a (?), it means I had a negative experience with that application on that particular operating system.\n\nTo find software compatible with sway, always check the [`are we wayland yet`](https://arewewaylandyet.com/) website.\n\n|          Role          | How to Install?           | ArchLinux                                 | macOS                           |\n| :--------------------: | :------------------------ | :---------------------------------------- | :------------------------------ |\n|        AnyDesk         | `anydesk-bin (yay)`       | AnyDesk                                   | -                               |\n|        Browser         | `./start.sh browser`      | Google Chrome Beta                        | Google Chrome Beta              |\n|        Calendar        | `./start.sh env`          | `cal`, `jcal`                             | `cal`, `jcal`                   |\n|         Camera         | `guvcview (pacman)`       | `guvcview`                                | Photo Booth                     |\n|  cat clone with wings  | `./start.sh env`          | `bat`                                     | `bat`                           |\n|         Fetch          | `./start.sh fetch`        | `neofetch`, `onefetch`, `tokei`           | `neofetch`, `onefetch`, `tokei` |\n|         `btop`         | `./start.sh btop`         | `btop`                                    | `btop`                          |\n|    Container Engine    | `./start.sh docker`       | `docker`                                  | Docker                          |\n|    Desktop Manager     | `./archinstall/i3.sh`     | `lightdm`                                 | -                               |\n|     Window Manager     | `./archinstall/i3.sh`     | `i3`                                      | -                               |\n|       Dictionary       | `./start.sh def`          | `def`                                     | `def`                           |\n|    Download Manager    | `./start.sh env`          | `aria2c`                                  | `aria2c`                        |\n|    Drawing Diagram     | `./start.sh drawio`       | `drawio`                                  | `drawio`                        |\n|         Emacs          | `./start.sh emacs`        | `emacs`                                   | `emacs`                         |\n|   GNU Privacy Guard    | `./start.sh gpg`          | `gpg`                                     | `gpg`                           |\n|     Habit Tracker      | `./start.sh dijo`         | `dijo`                                    | `dijo`                          |\n|  HTTP/GRPC Load Test   | `./start.sh env`          | `k6`                                      | `k6`                            |\n|      Image Editor      | `./start.sh image`        | GNU Image Manipulation Program, `convert` | Preview                         |\n|      Image Viewer      | `./start.sh i3`           | `imv`                                     | Preview                         |\n| Terminal Image Viewer  | `./start.sh env`          | `chafa`                                   | `chafa`                         |\n|        Launcher        | `./start.sh i3`           | `rofi`                                    | -                               |\n|         neovim         | `./start.sh neovim`       | `nvim`                                    | `nvim`                          |\n|          vim           | `./start.sh env`          | `vim`                                     | `vim`                           |\n|       Networking       | `NetworkManager (pacman)` | `nmtui`, `nmcli`                          | -                               |\n| Network Time Protocol  | `chrony (pacman)`         | -                                         | -                               |\n|      Office Suite      | `./start.sh office`       | LibreOffice                               | Office                          |\n|     Packet Sniffer     | `./start.sh wireshark`    | Wireshark                                 | -                               |\n|     Packet Sniffer     | `termshark (pacman)`      | `termshark`                               | -                               |\n|    Password Manager    | `./start.sh gopass`       | `gopass`                                  | `gopass`                        |\n|       PDF Viewer       | `./start.sh i3`           | `mupdf`                                   | Preview                         |\n|     Power Manager      | -                         | -                                         | -                               |\n|         Skype          | `./start.sh skype`        | Skype Preview                             | Skype                           |\n|       Clipboard        | `./start.sh i3`           | `xclip`                                   | `pbcopy`/`pbpaste`              |\n|     Network Speed      | `./start.sh env`          | `speedtest`                               | `speedtest`                     |\n|       Status Bar       | `./start.sh i3`           | `polybar`                                 | -                               |\n|       Syncthing        | `./start.sh syncthing`    | `syncthing`                               | `syncthing`                     |\n|   Terminal Emulator    | `./start.sh alacritty`    | `alacritty`                               | Alacritty (?)                   |\n|   Terminal Emulator    | `./start.sh kitty`        | `kitty`                                   | Kitty                           |\n|  Terminal Multiplexer  | `./start.sh env`          | `tmux`                                    | `tmux`                          |\n|      Video Editor      | `./start.sh ffmpeg`       | `ffmpeg`                                  | `ffmpeg`                        |\n|      Video Player      | `./start.sh mpv`          | `mpv`                                     | `mpv`                           |\n|       Wallpaper        | `./start.sh i3`           | `feh`                                     | -                               |\n|   YouTube Downloader   | `./start.sh yt-dlp`       | `yt-dlp`                                  | `yt-dlp`                        |\n|        Timezone        | `./start.sh gotz`         | `gotz`                                    | -                               |\n|      Google Cloud      | `./start.sh gcloud`       | `gcloud`                                  | -                               |\n| Multi-OS Bootable Disk | `./start.sh ventoy`       | `ventoy`                                  | -                               |\n|  LaTeX/XeTeX/TeXLive   | `./start.sh tex`          | `tectonic`                                | `tectonic`                      |\n|    Bandwidth Usage     | `./start.sh env`          | `bandwhich`                               | -                               |\n|          TLDR          | `./start.sh tealdeer`     | `tldr`                                    | `tldr`                          |\n|          DNS           | `./start.sh blocky`       | `blocky`                                  | -                               |\n|          JSON          | `./start.sh env`          | `jq`, `jless`                             | `jq`, `jless`                   |\n|  Disk Usage Analyzer   | `./start.sh env`          | `dua`                                     | `dua`                           |\n\n## [Window Managers](https://wiki.archlinux.org/title/Window_manager) (on ArchLinux)\n\nI am using [`sway`](https://github.com/swaywm/) or [`hyprland`](https://github.com/hyprwm) as my primary window managers. This repository\nstructured around creating soft links and because of that the duplicate configurations\nbetween these window-managers are gathered in `wayland/`.\n\nI also, have configuration for [`i3`](https://i3wm.org/) and [`awesomewm`](https://awesomewm.org/) as x11 window managers.\nThe shared configuration of these two are placed in `x11` folder.\n\n## [Emacs](https://www.gnu.org/software/emacs/)\n\nI am using Emacs for the following:\n\n- latex documents (especially when writing them in Persian)\n- org-mode (for managing my daily life)\n\n### Searching\n\n[Ivy](https://github.com/abo-abo/swiper) is a plugin for searching in buffers, notes, etc.\nAlmost everything in Doom Emacs works with ivy. It is simple and will show you a popup for everything.\n\n### Configuration (based on doom)\n\nI use Emacs based on [doom](https://github.com/doomemacs), and I found the following configurations are useful to update my configurations based on them.\n\n1. [psamim dotfiles](https://github.com/github/psamim/dotfiles)\n    - [My org-mode agenda, much better now with category icons!](https://www.reddit.com/r/emacs/comments/hnf3cw/my_orgmode_agenda_much_better_now_with_category/?utm_source=share\u0026utm_medium=web2x\u0026context=3)\n2. [Academic doom](https://github.com/sunnyhasija/Academic-Doom-Emacs-Config)\n3. [elenapan dotfiles](https://github.com/elenapan/dotfiles)\n\n### Workspace\n\nNever close Emacs, just use workspace to manage your work.\nTo work with workspace just start with `SPACE-TAB`.\n\n## Windows as Virtual Machine\n\nBecause there are software applications like [Microsoft Office](https://www.office.com/) that are only available on Windows,\nI install Windows using [KVM](https://www.redhat.com/en/topics/virtualization/what-is-KVM)\nor VMWare Fusion on my host machine to use them. Based on my naming schema, I named it `Rager`.\n\n### What do we need to do after installation?\n\nDuring installation, you need to provide your Outlook account, and then you have an up and running system in no time.\nThese are the software that I need on my system:\n\n|         Name          | How to Install?                                        |\n| :-------------------: | :----------------------------------------------------- |\n| Microsoft Office 2021 | [p30download](https://p30download.ir/fa/entry/101362/) |\n|    GitHub Desktop     | `winget install 'github desktop'`                      |\n|  Visual Studio Code   | `winget install vscode`                                |\n|       Anaconda        | `winget install anaconda3`                             |\n|   Adobe Acrobat Pro   | [p30download](https://p30download.ir/fa/entry/58302/)  |\n|          Git          | `winget install Git.Git`                               |\n|         Skype         | `winget install 'Skype Insiders'`                      |\n\n## References\n\n- \u003chttps://github.com/Ruixi-rebirth/sway-dotfiles\u003e\n- \u003chttps://github.com/philiprein/macos-settings\u003e\n- Icons by [Icons8](https://icons8.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1995parham%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F1995parham%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1995parham%2Fdotfiles/lists"}