Skip to content

yutkat/dotfiles

Repository files navigation

dotfiles

total lines GitHub code size in bytes GitHub repo size Created

GitHub commit week activity GitHub commit month activity GitHub commit year activity

FOSSA Status FOSSA Status

Overview

My home dotfiles

overview

Supported OS

GUI

  • NixOS (recommend)
  • Arch Linux (You must install various GUI apps yourself)

CLI

  • NixOS
  • Arch Linux
  • Ubuntu
  • Fedora

Install (NixOS)

  1. Download

    git clone https://github.com/yutkat/dotfiles.git
    cd dotfiles
  2. Edit Configuration

    vi flake.nix
    # myHosts = {
  3. Install nix (+flake +home-manager)

    ./install.sh
  4. Setup (installing tools and linking to dotfiles)

    sudo nixos-rebuild switch --flake .#<hostname>
  5. zsh plugin install

    exec zsh
  6. mise upgrade-all

    mise upgrade
  7. neovim plugin install

    vi --headless -c 'Lazy! sync' -c 'qall'
  8. Enjoy!

Install (Other OS)

  1. Download

    git clone https://github.com/yutkat/dotfiles.git
    cd dotfiles
  2. Edit Configuration

    vi flake.nix
    # myHosts = {
  3. Install nix (+flake +home-manager)

    ./install.sh
  4. Setup (installing tools)

    # Default user and hostname
    home-manager switch --flake .#<hostname>
    
    # If you override NIX_USERNAME
    NIX_USERNAME=your_username home-manager switch --impure --flake .#<hostname>
  5. Link dotfiles (managed by [dotfiles] in .config/mise/config.toml)

    # First run: ~/.config/mise is not linked yet, so point mise at the repo config
    mise trust .config/mise/config.toml
    MISE_GLOBAL_CONFIG_FILE="$PWD/.config/mise/config.toml" mise dotfiles apply
    
    # After the first run
    mise dotfiles apply

    Link sources are relative to the repo's .config/mise/, so any clone location works without extra configuration.

  6. zsh plugin install

    exec zsh
  7. mise upgrade-all

    mise upgrade
  8. neovim plugin install

    vi --headless -c 'Lazy! sync' -c 'qall'

Temporary Install

If you do not want to dirty your home directory

  1. Setup the container

    docker run -it --rm archlinux:latest /bin/bash
  2. Setup the environment

    pacman -Sy --noconfirm sudo git
    useradd -m -s /bin/bash test
    echo 'test ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
    su - test
  3. Download

    git clone https://github.com/yutkat/dotfiles.git
    cd dotfiles
  4. Install

    ./install.sh --single
     exec bash
  5. Setup (installing tools and linking to dotfiles)

    home-manager switch --flake .#test
  6. zsh plugin install

    exec zsh
  7. mise upgrade-all

    mise upgrade
  8. neovim plugin install

    vi --headless -c 'Lazy! sync' -c 'qall'

Components

  • zsh
  • neovim
  • wezterm
  • (optional) Hyprland

Usage

Frequently used shortcuts

wezterm

key action
Alt-h/j/k/l switch window
Alt-j close window
Alt-k create window
S-Up/Down/Left/Right switch pane

Hyprland/i3/sway

key action
Mod-h/j/k/l switch window
Mod-S-h/j/k/l move window
Mod-C-S-h/j/k/l move workspace

Insight

Activity

Performance Stats of yutkat/dotfiles - Last 28 days

Changes

Lines of Code Changes of yutkat/dotfiles

Star History

Star History of yutkat/dotfiles

About

The best and strongest dotfiles. Editor: Neovim; Shell: zsh(zinit, powerlevel10k); Terminal: WezTerm; Desktop: Hyprland, walker, dunst; OS: NixOS, ArchLinux (Ubuntu/Fedora/CentOS)

Topics

Resources

License

Code of conduct

Contributing

Stars

976 stars

Watchers

7 watching

Forks

Contributors