Skip to content

mattkae/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matt's Dotfiles for Miracle on Ubuntu 26.04

These dotfiles are tailored for miracle-wm on Ubuntu 26.04. These dotfiles are very much geared towards my (corporate-ish) development life that largely revolves around C++, web, python, and other types of development.

Some dependencies that are not packaged in the Ubuntu archive are built from source here. The miracle-wm config plugin is not built locally — it is compiled by a GitHub workflow and downloaded as a prebuilt binary at install time (see Configurations).

I very much enjoy Dracula theming, so that's what you'll be getting if you install this 🧛

Note that this configuration will only work with the latest version of miracle-wm in the repository, so this is more of a rolling release than anything.

Screenshot

image

Software

Desktop

Development

  • Rust — via rustup
  • Go — via apt
  • pyenv — Python version manager
  • clang / clangd — C/C++ compiler and language server
  • cmake — build system
  • ripgrep — fast grep
  • bun — JavaScript runtime and package manager
  • Flutter — cross-platform UI SDK

Fonts

Icons

Requirements

Ubuntu 26.04 is required. The install script will exit immediately if run on any other OS or version.

Install

Caution

Only install on a fresh machine. This script is destructive — it will overwrite your existing dotfiles, shell configuration, and system packages without the ability to recover them. Do not run this on a machine with configuration you care about.

First, clone the repo:

git clone git@github.com:mattkae/dotfiles.git

Next, run the install script:

./install.sh [OPTIONS]

Run with no flags to get an interactive menu (a gum-powered TUI, or plain prompts if gum is unavailable) that lets you check/uncheck the optional feature groups before the install begins. Desktop config, fonts, themes and the swww/Rust build are always installed.

Optional flags (passing any feature flag, or --yes, skips the menu):

Options:
  --yes                   Skip the interactive menu / confirmation prompt
  --force                 Reinstall everything, ignoring 'already installed' checks
  --miracle               Install the miracle-wm PPAs + package (default)
  --no-miracle            Skip the miracle-wm PPAs + package (e.g. local build)
  --dev                   Install developer tooling (default)
  --no-dev                Skip developer tooling (bun, openssh, build tools, languages)
  --help                  Show this help message and exit

Directories

  • ~/.local/bin: local scripts
  • ~/.local/src: local source projects
  • ~/.local/share/wallpapers: the lockscreen image, plus a rotation/ set that the background cycles through

Configurations

The primary configuration is ~/.config/miracle-wm/config.yaml. Users may place any machine-specific configuration in ~/config/miracle-wm/user-config.yaml. For example, I run xdg-desktop-portal-wlr there so that screensharing works.

The compositor's behavior is driven by a WebAssembly plugin built from the Rust crate in config/miracle-wm/matts-config. Rather than compiling it locally, the Build workflow compiles it on every push to master and publishes matts_config.wasm as the nightly release asset. install.sh downloads that prebuilt binary into ~/.config/miracle-wm/plugins/matts_config.wasm.

Fish

  • Users may add custom fish configuration in ~/.config/fish/user.sh.

Credits

About

My dotfiles for a dracula themed miracle-wm on Ubuntu 26.04

Topics

Resources

License

Stars

2 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors