Skip to content

acikgozb/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

A collection of configuration files that forms a unique development environment.

UI wise, dotfiles is as minimal as one can go:

  • No status bar.
  • No notifications.
  • No wallpaper.

Table of Contents

Description

dotfiles is a configuration management project that allow users to easily replicate their local environment configuration.

For the architecture, please refer to ARCHITECTURE.md.

Showcase

Workspace 1 (btop) Workspace 2 (alacritty)
image image
Workspace 3 (librewolf) Special workspace (alacritty)
image image
helix nvim
image image
zellij tmux
image image

Here is a list of explanation about the main programs that are used in this development environment.

Window Manager

dotfiles installs and configures hyprland as the main window manager. dotfiles does not touch existing window managers during the installation and configuration of hyprland.

Status Bar

There are no status bars (e.g. waybar) in this configuration.

During the initial boot, hyprland is configured to open three programs in three seperate workspaces:

  • btop (1)
  • alacritty (2)
  • librewolf (3)

Note: User specific configurations for librewolf (e.g. extensions, themes, font, keymaps) should be done explicitly by the user.

hyprland's special workspace (scratchpad) is also configured to open alacritty. This workspace can be used to execute less frequent commands (e.g connecting to wifi or a bluetooth device).

Terminal

dotfiles installs and configures alacritty as the terminal on a given host. It also installs and configures starship as the shell prompt.

Terminal Multiplexer

dotfiles installs and configures either tmux or zellij to be used as the main terminal multiplexer.

Editor

dotfiles installs and configures either Neovim or Helix as the editor on a given host.

Requirements

As of version 0.3.0, dotfiles is designed to support x86_64 Arch Linux hosts only. Due to time constraints, unfortunately I can only maintain the project for the main OS I use.

However, most of the installation steps can be applied to other Linux distributions easily thanks to Ansible.

Installation

The installation is done through an Ansible playbook. Please refer here to see the tools and installation steps.

Usage

The usage of the tools are the same, regardless of the installation method. Please refer to each tool's documentation to see their usage.

TODO

  • (P1) Add missing tools to the installation (recurring).
  • (P1) Create an interface to verify and list the installed tools, a different playbook maybe?