This repository contains configuration files and scripts to set up a development environment on Linux systems, specifically tailored for Manjaro and Ubuntu distributions. It includes dotfiles, package requirements, and installation scripts for various tools and applications.
- Dotfiles: Configuration files for tools like
zsh,git,kitty,starship, andbtop. - Package Management: Lists of required packages for both Manjaro and Ubuntu, including GUI and CLI tools.
- Automation: Scripts to automate the installation of packages, repositories, and configurations.
- GNOME Customization: Scripts to install GNOME extensions and set up keybindings if needed.
- Testing: Docker-based testing scripts to validate the setup on different distributions.
- Download the repository as a ZIP file manually or clone it using Git:
git clone https://github.com/andreasvikke/dotfiles.git - Extract the ZIP file or navigate to the cloned repository.
- Run the install script with the desired flags:
./install.sh -i -g-i: Install packages and set up the environment.-g: Install GUI-related packages and configurations.-m: Install GNOME extensions and set up keybindings
- If 1password SSH is used for git enable it by adding following to
~/.gitconfig[gpg "ssh"] program = /opt/1Password/op-ssh-sign
- Navigate to the
testdirectory:cd test - Run the test script:
./test.sh
- Navigate to the
testdirectory:cd test - Run the test script with the
-uflag:./test.sh -u
.home/: Contains dotfiles and configuration files for various tools..zshrc: ZSH configuration with plugins and aliases..gitconfig: Git configuration with aliases and signing setup..config/: Configuration files forbtop,kitty, andstarship.
.extra/: Lists of required packages for different distributions and package managers.req.apt: Packages for Ubuntu.req.pacman: Packages for Manjaro.req.gnome: GNOME extensions.req.snap: Snap packages.req.aur: AUR packages for Manjaro.
install.sh: Main installation script for setting up the environment.install-gnome.sh: Script to install GNOME extensions and configure keybindings.install-zsh.sh: Script to configure ZSH with plugins.install-repo.sh: Script to add third-party repositories for Ubuntu.test/: Contains scripts to test the setup in Docker containers.
install.sh: Automates the installation of packages, GUI tools, and GNOME extensions. It also sets up ZSH and firewall rules.install-gnome.sh: Installs GNOME extensions and sets up keybindings for improved productivity.install-zsh.sh: Installs Oh My Zsh and plugins likezawandzsh-syntax-highlighting.test.sh: Runs the installation scripts in a Docker container to validate the setup on Manjaro or Ubuntu.
- ZSH: Includes aliases, keybindings, and plugins for enhanced shell experience.
- Git: Configured with aliases, signing keys, and credential storage.
- Kitty: Customized terminal with the Nord theme.
- Starship: Configured prompt with a custom format and color palette.
- GNOME: Extensions and keybindings for workspace management and productivity.
- The scripts are designed to be idempotent, meaning they can be run multiple times without causing issues.
- Some scripts require
sudoprivileges to install system-wide packages and configurations.
This repository is licensed under the MIT License. See the LICENSE file for details.