Skip to content

droposhado/dotfiles

Repository files navigation

dotfiles

Project that aims to make the configuration of *NIX environments easy and replicable.

Always installing minimal software and checking external installers.

Supported systems

  • macOS >= 10.15
  • Debian >= 11
  • Arch
  • Fedora > 36

Packages (Linux)

Requirements

macOS

$ sudo xcodebuild -license accept
$ git clone https://github.com/droposhado/dotfiles.git "$HOME/.dotfiles"
$ cd "$HOME/.dotfiles" || exit 1
$ make install
$ make install-vim

Debian (minimal)

# apt-get update
# apt-get install --no-install-recommends ca-certificates curl \
                  lsb-release sudo build-essential git gnupg
# usermod -aG sudo <your-user>

Logout and login again (for sudo effect), now:

$ git clone https://github.com/droposhado/dotfiles.git "$HOME/.dotfiles"
$ cd "$HOME/.dotfiles" || exit 1
$ make install
$ make install-vim

Arch

Download ISO from site, use live install with command:

# archinstall --config https://droposhado.org/archinstall

Configure disk and users with wizard, finsh install, reboot with:

Remove install media

# shutdown -r now

Clone project from Github and install

$ git clone https://github.com/droposhado/dotfiles.git "$HOME/.dotfiles"
$ cd "$HOME/.dotfiles" || exit 1
$ make install
$ make install-vim

Fedora (netinst)

The wheel group is to use sudo command.

# dnf install --setopt=install_weak_deps=False ca-certificates curl \
              redhat-lsb sudo automake gcc gcc-c++ make git gnupg
# adduser -G wheel <new-user>
# passwd <new-user>
$ git clone https://github.com/droposhado/dotfiles.git "$HOME/.dotfiles"
$ cd "$HOME/.dotfiles" || exit 1
$ make install
$ make install-vim

Scripts folder

Inside the scripts folder there are shell script files for configuring or updating the configurations/packages packages in this project.

  • arch-*: prefix represents files for Arch
  • check-*: contains check scripts for validating homebrew and apt packages;
  • common-*: common scripts between Linux and macOS;
  • common-install-*: official installation scripts for Linux and macOS;
  • debian-*: prefix represents files for Debian, not necessarily compatible with Debian like distributions;
  • fedora-*: prefix represents files for Fedora, not necessarily compatible with RHEL/CentOS like distributions;
  • linux-*: prefix represents files for Linux;
  • linux-install-*: official installation scripts for Linux;
  • macos-*: prefix represents files for macOS;
  • macos-install-*: official installation scripts for macOS;
  • macos-config-*: configure macOS or applications.

Linters file

This repository store scripts for many languages, the files below show which language and which project it configures. Remembering that they are not necessary for dotfiles, they are only to help with script tests:

  • .bandit: for Python to use with bandit;
  • .flake8: for Python to use with flake8;
  • .isort.cfg: for Python to use with isort;
  • .luacheckrc: for Lua to use with luacheck;
  • .pylintrc: for Python to use with pylint.

Inspired by

References

License

For this project see LICENSE.

For external resources like fonts, scripts and other, see their respective licenses: