Skip to content

lindestad/dotfiles

Repository files navigation

~/.dotfiles

Cross-platform, cross-shell configuration


This repository provides a unified development environment across Linux, Windows, and WSL, with version-controlled configuration for editors, terminals, shells, and CLI tools.

image

Contents

This repo manages:

  • shell, terminal, editor, file manager, prompt, and Git configuration
  • bundled fonts and platform-specific config linking
  • optional Kanata keyboard remapping
  • optional Niri desktop configuration on supported Linux installs
  • package installs for the tools used by the dotfiles

See apps.md for the package inventory and platform-specific package names.

Installation

Linux and WSL

git clone https://github.com/lindestad/dotfiles ~/dev/dotfiles
cd ~/dev/dotfiles
./install.sh

install.sh detects Arch-based, Debian/Ubuntu-based, Fedora, and WSL installs, then dispatches to the matching platform installer.

The installer prompts for optional components when no flags are provided. Use flags for repeatable installs:

./install.sh --niri --kanata
./install.sh --no-niri --no-kanata --yes

Optional components:

  • --niri installs and links the Niri desktop stack: niri, waybar, fuzzel, swaylock/swayidle, and related Wayland utilities.
  • --kanata installs or links Kanata keyboard remapping config where supported.

Windows (PowerShell)

git clone https://github.com/lindestad/dotfiles $HOME\dev\dotfiles
cd $HOME\dev\dotfiles
.\install.ps1

The platform-specific scripts are still available for direct use when needed: install-arch.sh, install-ubuntu.sh, install-fedora.sh, install-wsl.sh, and install-windows.ps1.


Compatibility

This dotfiles setup is designed to support:

  • Linux: Arch-based, Debian/Ubuntu-based, and Fedora
  • WSL2
  • Windows

Kanata Key Remappings

Kanata is an optional install. Use --kanata, or answer the installer prompt when running interactively.

Standard binds:

  • Caps LockLeftCtrl
  • LeftCtrlEscape
  • RightCtrlCaps Lock
  • RightAlt + ;/'/[ø/æ/å

Optional binds:

These binds are only enabled if selected during install. Warning: Enter is rebound

  • ISO to ANSI-like feel:
  • < key (Between LeftShift and Z) → LeftShift -- Emulates long left shift key
  • Enter\ -- Remap Enter to the key that resides above Enter on ANSI.
  • \ key (between ' and Enter) → Enter -- Emulates long enter key, shorter stroke

Force exit Kanata: LeftCtrl + Space + Esc (Ignores rebinds).


License

This project is licensed under the MIT License. See LICENSE for details.


Back to top ↑

About

Personal shell/terminal emulator/etc. configurations and setups.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors