Skip to content

duketuxem/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

My personal config for all my favorite software, in one place.

Motivation

Every time I set up a new machine, obviously none of the tools and configurations I need are available. Reinstalling the same software suite repeatedly is frustrating, and managing the corresponding configurations is even worse.

This repository addresses these issues by centralizing everything at one place, and allows for a fast deployment and maintenance of the configuration, thanks to Chezmoi.

Features

  • Works on your favorite platform, with or without a GUI.
    Can be used on a headless server, within your favorite desktop environment, or shipped with dwm.

  • Documented config files and tool scope in the relevant directories.

  • Comes with a default sensible home folder directories specification.
    Simply remove the empty directories under this home/'s folder before applying the procedure below.

CLI Tools

Notable Command Line Interface tools to be used with these dotfiles:

Tmux as the terminal multiplexer

This is to be documented. TODO

  • Prefix is bound to <C-a>

Vim as the text editor

This could be a whole page, but overall:

  • Config from scratch, including:
    • Use of the native vim pack system
    • [X11] Simple Copy/Paste even without +clipboard
    • Sensible defaults, like Y for y$, buffer delete, and so on
    • Most Recent Used (Bro plugin)
    • Custom color theme inspired from tomorrow-night-eighties!
  • Plugins to enhance the exeperience even more:
    • Vimwiki
    • Git integration (vim-fugitive / vim-gitgutter)
    • Linter support (ALE)
    • LSP Support (vim-lsp)
    • Autocomplete paths, LSP suggestion (Asyncomplete)
    • FZF integration
    • Lightline and popular themes out of the box (onedark, base16, material...)
    • Colorscheme discovery + a "devtool" for knowing syntax group (F12)

And much more to be discovered.

Zsh as the shell

  • Vanilla config also from scratch:
  • Light plugins support:
    • zsh-syntax-highlighting: for a fish shell-like command prevalidation
    • You-should-use: for alias usage hints

GUI

  • For now, good support for X11, but I am willing to try Hyperland.
  • Cool fonts (Code New Roman Nerd Font, Noto, CJK Support)
  • More to come

Getting Started

Convinced? Great!

The installation process requires some manual preliminary checks and actions.

After that, the dotfiles can be automatically deployed onto the host, then some final adjustments will be made.

Prerequisites

  1. Ensure you have an up to date system with internet access, and eventually reboot to take some changes into considerations.

  2. Ensure curl and git are installed

  3. Install chezmoi:

    sh -c "$(curl -fsLS get.chezmoi.io) -b ~/.local/bin"

  4. Then update the $PATH variable for chezmoi to be found:

    export PATH="$PATH:~/.local/bin"

Installation

  1. Retrieve and access this repository locally:
chezmoi init duketuxem
chezmoi cd
  1. Find your specific platform instructions under the targets directory.

    Then, resume from here.

  2. Deploy the dotfiles onto the host:

    chezmoi apply

  3. Change the default shell:

    chsh -s /bin/zsh

  4. Log off and then log back again to see everything loaded.

Some post installation steps

Congratulations!

At this point, you already have a working configuration, and can start enjoying it from your favorite terminal emulator, be the linux tty even!

However, if you would like to expand from here, there are some scripts inside the ./post-install directory that can install different things depending on what is needed.

Hints and reminders

Having done a lot of testing for this repository and some distro hopping in the past, here is my reminder list of 'things we always forget' which prevent us to enjoy our precious muscle memory.

- **Import your ssh key**

FAQ

  • Why is this process not fully automated as on some other repos ?

I deliberately chose to not have a full installation process despite having started to write one, see the trash/ folder for some legacy code and reasons this has been discarded.

License

This repository is licensed under the GPL-3.0 license.

About

Cross platform dotfiles for the homesick, managed by chezmoi. Work In Progress...

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published