#+TITLE: dotfiles #+AUTHOR: Mohammed Ismail Ansari team.terminal@gmail.com

The 'replicable' heart of my computer(s)

** Init (Note for my future self)

Simply run the below on a new computer:

#+BEGIN_EXAMPLE /bin/bash -c "$(curl https://raw.githubusercontent.com/myTerminal/dotfiles/master/.setup/bootstrap)" #+END_EXAMPLE

** Setup

dotfiles contains software setup for multiple operating platforms and starts if it finds a compatible one.

To start setup, run the following command in a terminal running bash:

#+BEGIN_EXAMPLE . .setup/start #+END_EXAMPLE

On start, [[https://github/myTerminal/twiner][twiner]] is fetched as a dependency which provides most of the underlying features.

If you're running a shell different than bash, run something like:

#+BEGIN_EXAMPLE bash .setup/start #+END_EXAMPLE

The setup scripts should take of the rest except for a couple of prompts for optional setup.

** Software selection

*** Core packages

| | Void | Debian | Arch | MacOS | |--------------------+-------------------------------+-------------------------------+-------------------------------------------+--------------------------| | Base | [[https://voidlinux.org][Void]] | [[https://www.debian.org][Debian]] | [[https://www.archlinux.org][Arch]] | [[https://en.wikipedia.org/wiki/MacOS][MacOS]] | | Package managers | [[https://docs.voidlinux.org/xbps/index.html][xbps]], [[https://flatpak.org][flatpak]] | [[https://wiki.debian.org/Apt][apt]], [[https://flatpak.org][flatpak]], [[https://snapcraft.io][snap]] | [[https://www.archlinux.org/pacman][pacman]], [[https://github.com/morganamilo/paru][paru]] (for [[https://aur.archlinux.org][AUR]]) | (native), [[https://brew.sh][Homebrew]], [[https://github.com/Homebrew/homebrew-cask][Cask]] | | Interface | [[https://github.com/tmux/tmux][tmux]] | [[https://github.com/tmux/tmux][tmux]] | [[https://github.com/tmux/tmux][tmux]] | [[https://github.com/tmux/tmux][tmux]] | | Shell | [[https://fishshell.com][fish]] | [[https://fishshell.com][fish]] | [[https://fishshell.com][fish]] | [[https://fishshell.com][fish]] | | File system tools | [[https://github.com/sharkdp/fd][fd]], [[https://the.exa.website][exa]], [[https://github.com/sharkdp/bat][bat]], [[https://dev.yorhel.nl/ncdu][ncdu]] | [[https://github.com/sharkdp/fd][fd]], [[https://the.exa.website][exa]], [[https://github.com/sharkdp/bat][bat]], [[https://dev.yorhel.nl/ncdu][ncdu]] | [[https://github.com/sharkdp/fd][fd]], [[https://the.exa.website][exa]], [[https://github.com/sharkdp/bat][bat]], [[https://dev.yorhel.nl/ncdu][ncdu]] | [[https://github.com/sharkdp/fd][fd]], [[https://the.exa.website][exa]], [[https://github.com/sharkdp/bat][bat]], [[https://dev.yorhel.nl/ncdu][ncdu]] | | Text Searcher | [[https://github.com/BurntSushi/ripgrep][ripgrep]] | [[https://github.com/BurntSushi/ripgrep][ripgrep]] | [[https://github.com/BurntSushi/ripgrep][ripgrep]] | [[https://github.com/BurntSushi/ripgrep][ripgrep]] | | Fuzzy finder | [[https://github.com/junegunn/fzf][fzf]] | [[https://github.com/junegunn/fzf][fzf]] | [[https://github.com/junegunn/fzf][fzf]] | [[https://github.com/junegunn/fzf][fzf]] | | Text editor | [[https://www.gnu.org/software/emacs][GNU Emacs]] | [[https://www.gnu.org/software/emacs][GNU Emacs]] | [[https://www.gnu.org/software/emacs][GNU Emacs]] | [[https://www.gnu.org/software/emacs][GNU Emacs]] | | Spell checker | [[http://aspell.net][Aspell]] | [[http://aspell.net][Aspell]] | [[http://aspell.net][Aspell]] | [[http://aspell.net][Aspell]] | | SCM | [[https://git-scm.com][Git]], [[https://github.com/jonas/tig][Tig]] | [[https://git-scm.com][Git]], [[https://github.com/jonas/tig][Tig]] | [[https://git-scm.com][Git]], [[https://github.com/jonas/tig][Tig]] | [[https://git-scm.com][Git]], [[https://github.com/jonas/tig][Tig]] | | File manager | [[https://ranger.github.io][ranger]] | [[https://ranger.github.io][ranger]] | [[https://ranger.github.io][ranger]] | [[https://ranger.github.io][ranger]] | | File sync | [[https://rsync.samba.org][rsync]] | [[https://rsync.samba.org][rsync]] | [[https://rsync.samba.org][rsync]] | [[https://rsync.samba.org][rsync]] | | Archive manager | [[http://infozip.sourceforge.net/Zip.html][zip]], [[http://infozip.sourceforge.net/UnZip.html][unzip]] | [[http://infozip.sourceforge.net/Zip.html][zip]], [[http://infozip.sourceforge.net/UnZip.html][unzip]] | [[http://infozip.sourceforge.net/Zip.html][zip]], [[http://infozip.sourceforge.net/UnZip.html][unzip]] | (native) | | Process management | [[https://htop.dev][htop]], [[https://gitlab.com/psmisc/psmisc][psmisc]] | [[https://htop.dev][htop]], [[https://gitlab.com/psmisc/psmisc][psmisc]] | [[https://htop.dev][htop]], [[https://gitlab.com/psmisc/psmisc][psmisc]] | [[https://htop.dev][htop]] | | Disk management | [[https://wiki.archlinux.org/index.php/Udisks][udisks]] | [[https://wiki.archlinux.org/index.php/Udisks][udisks]] | [[https://wiki.archlinux.org/index.php/Udisks][udisks]] | [[https://wiki.archlinux.org/index.php/Udisks][udisks]] | | Network tools | [[https://wiki.gnome.org/Projects/NetworkManager][networkmanager]], [[https://www.isc.org/bind][bind-utils]] | [[https://wiki.gnome.org/Projects/NetworkManager][networkmanager]], [[https://packages.debian.org/buster/dnsutils][dnsutils]] | [[https://wiki.gnome.org/Projects/NetworkManager][networkmanager]], [[https://www.isc.org/bind][bind]] | -- | | Communication tool | [[https://weechat.org][WeeChat]] | [[https://weechat.org][WeeChat]] | [[https://weechat.org][Weechat]] | [[https://weechat.org][WeeChat]] | | Virtualization | [[https://www.docker.com][Docker]] | [[https://www.docker.com][Docker]] | [[https://www.docker.com][Docker]] | [[https://www.docker.com][Docker]] | | Language runtimes | [[https://nodejs.org][Node.js]], [[https://rustup.rs][rustup]] | [[https://nodejs.org][Node.js]], [[https://rustup.rs][rustup]] | [[https://nodejs.org][Node.js]], [[https://rustup.rs][rustup]] | [[https://nodejs.org][Node.js]], [[https://rustup.rs][rustup]] | | Hardware | [[https://github.com/Hummer12007/brightnessctl][brightnessctl]], [[https://archlinux.org/packages/community/x86_64/acpi][acpi]], [[https://github.com/rg3/numlockx][numlockx]] | [[https://github.com/Hummer12007/brightnessctl][brightnessctl]], [[https://archlinux.org/packages/community/x86_64/acpi][acpi]], [[https://github.com/rg3/numlockx][numlockx]] | [[https://github.com/Hummer12007/brightnessctl][brightnessctl]], [[https://archlinux.org/packages/community/x86_64/acpi][acpi]], [[http://percival.ybalrid.info/aur/numlockontty.html][systemd-numlockontty]] | -- | | Misc | [[https://github.com/dylanaraps/neofetch][neofetch]], [[https://www.gnu.org/software/wget][wget]], [[https://www.openssh.com][ssh]] | [[https://github.com/dylanaraps/neofetch][neofetch]], [[https://www.gnu.org/software/wget][wget]], [[https://www.openssh.com][ssh]] | [[https://github.com/dylanaraps/neofetch][neofetch]], [[https://www.gnu.org/software/wget][wget]], [[https://www.openssh.com][openssh]] | [[https://github.com/dylanaraps/neofetch][neofetch]] |

*** Graphical packages

| | Void | Debian | Arch | MacOS | |--------------------------+-------------------------------------+--------------------------+-----------------------------------------------------------+------------------------------------------| | Display server | [[https://www.x.org][Xorg]] | [[https://www.x.org][Xorg]] | [[https://www.x.org][Xorg]] | (native) | | Display drivers | (machine-dependent) | (machine-dependent) | (machine-dependent) | (stock) | | Display manager | [[https://wiki.archlinux.org/index.php/SDDM][sddm]] | [[https://wiki.archlinux.org/index.php/SDDM][sddm]] | [[https://wiki.archlinux.org/index.php/SDDM][sddm]] | (native) | | Compositor | [[https://github.com/yshui/picom][picom]] | [[https://github.com/chjj/compto][compton]] | [[https://github.com/yshui/picom][picom]] | (native) | | Graphical environments | [[https://github.com/i3/i3][i3]], [[https://xfce.org][xfce4]] | [[https://github.com/i3/i3][i3]], [[https://xfce.org][xfce4]] | [[https://github.com/i3/i3][i3]], [[https://xfce.org][xfce4]] | (native) | | Alternate interface | | | [[https://github.com/GitSquared/edex-ui][edex-ui]] | [[https://github.com/GitSquared/edex-ui][edex-ui]] | | Wallpaper manager | [[https://feh.finalrewind.org][feh]] | [[https://feh.finalrewind.org][feh]] | [[https://feh.finalrewind.org][feh]] | (native) | | Application launcher | [[https://tools.suckless.org/dmenu][dmenu]], [[https://github.com/davatorium/rofi][Rofi]] | [[https://github.com/davatorium/rofi][Rofi]] | [[https://tools.suckless.org/dmenu][dmenu]], [[https://github.com/davatorium/rofi][Rofi]] | (native) | | Dock | -- | -- | -- | (native) | | Desktop widgets | [pending] | [pending] | [pending] | (native) | | Desktop theme | [[https://github.com/WernerFP/Shades-of-gray-theme][Shades of gray]] | [[https://github.com/WernerFP/Shades-of-gray-theme][Shades of gray]] | [[https://github.com/WernerFP/Shades-of-gray-theme][Shades of gray]] | (native) | | Icon packs | [[https://github.com/madmaxms/iconpack-obsidian][Obsidian]] | [[https://github.com/madmaxms/iconpack-obsidian][Obsidian]] | [[https://github.com/madmaxms/iconpack-obsidian][Obsidian]] | (native) | | Mouse cursor | [[https://github.com/ful1e5/Bibata_Cursor][Bibata]] | [[https://github.com/ful1e5/Bibata_Cursor][Bibata]] | [[https://github.com/ful1e5/Bibata_Cursor][Bibata]] | (native) | | Lockscreen | [[https://github.com/i3/i3lock][i3lock]] | [[https://github.com/i3/i3lock][i3lock]] | [[https://github.com/i3/i3lock][i3lock]] | (native) | | Terminal | [[https://github.com/kovidgoyal/kitty][kitty]] | [[https://github.com/kovidgoyal/kitty][kitty]] | [[https://github.com/kovidgoyal/kitty][kitty]] | [[https://support.apple.com/guide/terminal/welcome/mac][Terminal]] (native), [[https://github.com/alacritty/alacritty][Alacritty]] | | Clipboard helper | [[http://www.vergenet.net/~conrad/software/xsel][xsel]] | [[http://www.vergenet.net/~conrad/software/xsel][xsel]] | [[http://www.vergenet.net/~conrad/software/xsel][xsel]] | pbcopy/pbpaste (native) | | Disk management | [[https://github.com/coldfix/udiskie][udiskie]], [[https://gparted.org][GParted]] | [[https://github.com/coldfix/udiskie][udiskie]], [[https://gparted.org][GParted]] | [[https://github.com/coldfix/udiskie][udiskie]], [[https://gparted.org][GParted]] | [[https://support.apple.com/guide/disk-utility/welcome/mac][Disk Utility]] (native), [[https://mounty.app][Mounty]] | | File managers | [[https://www.linuxlinks.com/Thunar][thunar]] (with [[https://wiki.gnome.org/Projects/gvfs][gvfs]]) | [[https://www.linuxlinks.com/Thunar][thunar]] (with [[https://wiki.gnome.org/Projects/gvfs][gvfs]]) | [[https://www.linuxlinks.com/Thunar][thunar]] (with [[https://wiki.gnome.org/Projects/gvfs][gvfs]]) | [[https://support.apple.com/en-us/HT201732][Finder]] (native) | | File sync client | [[https://syncthing.net][Syncthing]] | [[https://syncthing.net][Syncthing]] | [[https://syncthing.net][Syncthing]] | [[https://syncthing.net][Syncthing]] | | Web browsers | [[https://www.mozilla.org/en-US/firefox][firefox]], [[https://www.chromium.org][chromium]] | [[https://www.mozilla.org/en-US/firefox][firefox-esr]], [[https://www.chromium.org][chromium]] | [[https://www.mozilla.org/en-US/firefox/developer][Firefox Developer Edition]], [[https://www.google.com/chrome][Google Chrome]] | [[https://www.mozilla.org/en-US/firefox/developer][Firefox Developer Edition]], [[https://www.google.com/chrome][Google Chrome]] | | To-Do manager | | | [[https://www.rememberthemilk.com][Remember The Milk]] | [[https://www.rememberthemilk.com][Remember The Milk]] | | List manager | | | [[https://dynalist.io][Dynalist]] | [[https://dynalist.io][Dynalist]] | | Password manager | [[https://keepassxc.org][KeePassXC]] | [[https://keepassxc.org][KeePassXC]] | [[https://keepassxc.org][KeePassXC]] | [[https://keepassxc.org][KeePassXC]] | | 2-factor authentication | | [[https://authy.com][Authy]] | [[https://authy.com][Authy]] | [[https://authy.com][Authy]] | | VPN client | | | [[https://www.tunnelbear.com][TunnelBear VPN]] | [[https://www.tunnelbear.com][TunnelBear VPN]] | | Email clients | [[https://www.thunderbird.net][Thunderbird]] | [[https://www.thunderbird.net][Thunderbird]] | [[https://www.thunderbird.net][Thunderbird]] | [[https://support.apple.com/en-us/HT204093][Mail]] (native) | | Messengers | [[https://discordapp.com][Discord]], [[https://element.io][Element]] | [[https://discordapp.com][Discord]], [[https://element.io][Element]] | [[https://discordapp.com][Discord]], [[https://element.io][Element]] | [[https://discordapp.com][Discord]], [[https://element.io][Element]] | | Cloud storage clients | | | Google Drive**, [[https://www.pcloud.com][pCloud]] | [[https://www.google.com/drive/download/backup-and-sync][Google Backup And Sync]], [[https://www.pcloud.com][pCloud]] | | Torrent client | [[https://transmissionbt.com][Transmission]] | [[https://transmissionbt.com][Transmission]] | [[https://transmissionbt.com][Transmission]] | [[https://transmissionbt.com][Transmission]] | | REST client | | [[https://www.postman.com][Postman]] | [[https://www.postman.com][Postman]] | [[https://www.postman.com][Postman]] | | Remote access manager | | | [[https://www.nomachine.com][NoMachine]] | [[https://www.nomachine.com][NoMachine]] | | File diff tool | | -- | -- | [[https://sourcegear.com/diffmerge][DiffMerge]] | | Virtualization | [[https://virt-manager.org][Virt-Manager]] | [[https://virt-manager.org][Virt-Manager]] | [[https://virt-manager.org][Virt-Manager]] | [[https://www.virtualbox.org][VirtualBox]] | | Office suite | [[https://www.libreoffice.org][LibreOffice]] | [[https://www.libreoffice.org][LibreOffice]] | [[https://www.libreoffice.org][LibreOffice]] | [[https://www.libreoffice.org][LibreOffice]] | | Bluetooth interface | [[https://github.com/blueman-project/blueman][blueman]] | [[https://github.com/blueman-project/blueman][blueman]] | [[https://github.com/blueman-project/blueman][blueman]] | (native) | | Picture viewers | [[https://github.com/GNOME/shotwell][Shotwell]] | [[https://github.com/GNOME/shotwell][Shotwell]] | [[https://github.com/GNOME/shotwell][Shotwell]] | [[https://support.apple.com/guide/preview/welcome/mac][Preview]] (native), [[https://www.xnview.com/en/xnviewmp][XNView MP]] | | Picture editor | [[https://www.gimp.org][GIMP]], [[https://www.darktable.org][darktable]] | [[https://www.gimp.org][GIMP]], [[https://www.darktable.org][darktable]] | [[https://www.gimp.org][GIMP]], [[https://www.darktable.org][darktable]] | [[https://www.gimp.org][GIMP]], [[https://www.darktable.org][darktable]] | | Audio player | [[https://www.clementine-player.org][Clementine]], [[https://www.mpg123.de][mpg123]] | [[https://www.clementine-player.org][Clementine]], [[https://www.mpg123.de][mpg123]] | [[https://www.clementine-player.org][Clementine]], [[https://www.mpg123.de][mpg123]] | [[https://www.clementine-player.org][Clementine]] | | Audio frontend | [[https://freedesktop.org/software/pulseaudio/pavucontrol][pavucontrol]] | [[https://freedesktop.org/software/pulseaudio/pavucontrol][pavucontrol]] | [[https://freedesktop.org/software/pulseaudio/pavucontrol][pavucontrol]] | (native) | | Audio backend | [[https://gstreamer.freedesktop.org][GStreamer]], [[https://wiki.archlinux.org/index.php/PulseAudio][pulseaudio]], [[https://github.com/wwmm/pulseeffects][pulseeffects]] | [[https://wiki.archlinux.org/index.php/PulseAudio][pulseaudio]], [[https://github.com/wwmm/pulseeffects][pulseeffects]] | [[https://gstreamer.freedesktop.org][GStreamer]], [[https://wiki.archlinux.org/index.php/PulseAudio][pulseaudio]], [[https://wiki.archlinux.org/index.php/PulseAudio][pulseaudio-bluetooth]], [[https://github.com/wwmm/pulseeffects][pulseeffects]] | [[https://lame.sourceforge.io][LAME]], [[https://www.ffmpeg.org][FFmpeg]] | | Audio editor | [[https://www.audacityteam.org][Audacity]] | [[https://www.audacityteam.org][Audacity]] | [[https://www.audacityteam.org][Audacity]] | [[https://www.audacityteam.org][Audacity]] | | MP3 tag editor | [[https://wiki.gnome.org/Apps/EasyTAG][EasyTAG]] | [[https://wiki.gnome.org/Apps/EasyTAG][EasyTAG]] | [[https://wiki.gnome.org/Apps/EasyTAG][EasyTAG]] | [[https://kid3.kde.org][Kid3]] | | Video player | [[https://www.videolan.org/vlc/index.html][VLC]] | [[https://www.videolan.org/vlc/index.html][VLC]] | [[https://www.videolan.org/vlc/index.html][VLC]] | [[https://www.videolan.org/vlc/index.html][VLC]] | | Video editor | [[https://handbrake.fr][HandBrake]], [[https://www.blender.org][Blender]] | [[https://handbrake.fr][HandBrake]], [[https://www.blender.org][Blender]] | [[https://handbrake.fr][HandBrake]], [[https://www.blender.org][Blender]] | [[https://handbrake.fr][HandBrake]], [[https://www.blender.org][Blender]] | | YouTube video downloader | [[https://ytdl-org.github.io/youtube-dl/index.html][youtube-dl]] | [[https://ytdl-org.github.io/youtube-dl/index.html][youtube-dl]] | [[https://ytdl-org.github.io/youtube-dl/index.html][youtube-dl]] | [[https://ytdl-org.github.io/youtube-dl/index.html][youtube-dl]] | | Multimedia tool | [[https://kodi.tv][KODI]] | [[https://kodi.tv][KODI]] | [[https://kodi.tv][KODI]] | [[https://kodi.tv][KODI]] | | Screenshot tool | [[https://flameshot.org][flameshot]] | [[https://flameshot.org][flameshot]] | [[https://flameshot.org][flameshot]] | (native) | | Screencast tool | [[https://obsproject.com][OBS Studio]], [[https://github.com/phw/peek][peek]] | [[https://obsproject.com][OBS Studio]], [[https://github.com/phw/peek][peek]] | [[https://obsproject.com][OBS Studio]], [[https://github.com/phw/peek][peek]] | [[https://obsproject.com][OBS Studio]], [[https://www.cockos.com/licecap][LICEcap]] | | Keystroke echoing tool | [[https://github.com/scottkirkwood/key-mon][Key-mon]] | | [[https://github.com/scottkirkwood/key-mon][Key-mon]] | [[https://github.com/keycastr/keycastr][keycastr]] | | Startup disk creator | | | [[https://www.balena.io/etcher][balenaEtcher]] | [[https://www.balena.io/etcher][balenaEtcher]] | | Gaming clients | [[https://store.steampowered.com][Steam]], [[https://www.gamehub.gg][GameHub]] | [[https://store.steampowered.com][Steam]] | [[https://store.steampowered.com][Steam]], [[https://www.gamehub.gg][GameHub]] | [[https://store.steampowered.com][Steam]], [[https://www.origin.com][Origin]], [[https://www.playstation.com/en-us/explore/ps4/remote-play][Sony Remote Play]] | | Razer software | [[https://openrazer.github.io/][OpenRazer]], [[https://github.com/z3ntu/RazerGenie][RazerGenie]] | [[https://openrazer.github.io/][OpenRazer]], [[https://github.com/z3ntu/RazerGenie][RazerGenie]] | [[https://openrazer.github.io/][OpenRazer]], [[https://polychromatic.app][polychromatic]] | [[https://www.razer.com/synapse-3][Razer Synapse]] | | Misc | [[https://github.com/debauchee/barrier][barrier]] | [[https://github.com/debauchee/barrier][barrier]] | [[https://github.com/debauchee/barrier][barrier]] | [[https://github.com/debauchee/barrier][barrier]] |

*** Fonts

  • Font-Awesome
  • Open Sans
  • Inconsolata
  • Roboto Mono
  • Droid
  • Fira Code
  • Liberation

*** Legend

=*= - in-built, =**= - through web-client

** To-Do

  • Fill in missing parts for Linux configuration
  • Highlight errors during setup and pause execution

Local Variables:

fill-column: 80

eval: (auto-fill-mode 1)

End:

Dotfiles

The 'replicable' heart of my computer(s)

Dotfiles Info

⭐ Stars 20
🔗 Source Code github.com
🕒 Last Update 9 months ago
🕒 Created 9 years ago
🐞 Open Issues 0
➗ Star-Issue Ratio Infinity
😎 Author myTerminal