Skip to content

🥶 My dotfiles for my Linux, WSL and Windows environments

Notifications You must be signed in to change notification settings

ahmedmahmud/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🥶 Dripfiles


My dotfiles across my linux, windows and wsl environments

🧊 Tool specific documentation are in their respective subdirectories


Setup

These dotfiles are managed by dotter. Its configuration folder is .dotter

  • global.toml - Configuration for all packages
  • linux/wsl/windows.toml - Configuration for "profiles" that contain the relevant packages
# AUR
yay -S dotter-rs-bin

# Cargo
cargo install dotter

II. Apply

First either choose a profile or create your own, read here.
After this, run:

dotter deploy -l .dotter/profiles/<profile>.toml

Note: --force flag may be required if you have existing files as these need to be replaced. Check conflicts with the -d flag


Profiles and themes

These dotfiles are managed by dotter. In the .dotter file you will find a collection of .toml files.

.dotter
├── global.toml
├── profiles
└── themes

Inside profiles each .toml file is a profile of structure:

includes = [] # These are like "imports" to configure package's variables and file mappings
packages = [] # A list of packages you want to include the dotfiles for

[files] # Table of any further file mapping changes

[varaibles] # Table of any further variable updates

A profile must include a theme .toml if the packages it uses have dynamic theming.

Inside themes each .toml file is a theme of structure:

[colors.variable.colors] # A mapping of names to colors of your palette
"green" = "#00ff00"

[<package>.variables] # A table of specific color variables a package needs mapped to a color in the palette
text_color = "green"

As you can see theme files just set variables on the original packages defined in global.toml. This is why you put them in the includes array in your profile.

Feel free to use an existing profile as a base and modify it to what packages are needed and what theme is wanted. Making your own theme is easy, either modify an existing one and change the colors from the palette base, or create your own base and update the usages accordingly in each of the packages variables

Note: Theming will change in the future, I wish to separate theme 'bases' and 'palettes`


Features

🏗️ Incomplete list...

  • Shell script for easier setup
  • Hyprland
    • Keybinds
    • Window rules
    • Documentation
  • Status Bar
  • Control Panel
  • Fish
  • Alacritty complete
  • Locking & Powermenu complete
  • Wofi complete
  • Clipboard management complete
  • Screenshot utilities complete
  • Neovim complete