Git Product home page Git Product logo

dotfiles's Introduction

~/.dotfiles

screenshot

Some of the worthy tools that I use, develop or help maintain:

  • sway (window manager) + waybar (status bar)
  • kitty (fast GPU-accelerated terminal)
  • kakoune (modular text editor with multiple cursors)
  • zsh + powerlevel10k and various other plugins
  • yubikey-touch-detector - a tool that can detect when your YubiKey is waiting for a touch.
  • browserpass - browser extension for pass and gopass.
  • wire-desktop - end-to-end encrypted chat app.
  • wluma - automatic brightness adjustment based on screen contents.
  • wl-clipboard-manager - clipboard manager for Wayland.
  • ttf-joypixels - latest JoyPixels font that provides colorful emojis for almost all apps on Linux (formerly EmojiOne).
  • aurutils - the most reasonable AUR helper out there.
  • nnn - extremely fast file manager.
  • arch-secure-boot + snap-pac - UEFI Secure Boot for Arch Linux + btrfs snapshots during system update.

Fun things you can find in this repo:

☑ A common color scheme for kakoune, terminal and sway itself.

It is called Gruvbox dark.

☑ Unobtrusive and minimalistic design of sway, waybar and terminal.

Display only actionable items, use color to highlight importance, slightly dim inactive windows.

☑ True Color support everywhere.

Including kitty, kakoune; terminal can even display picture previews.

☑ Almost instant terminal startup.

And yet it is empowered with antigen, prezto, powerlevel10k and other plugins.

☑ More secure gpg and ssh configuration.

Stronger algorithms, more sensible defaults.

☑ gpg-agent configured to act as ssh-agent.

Extremely nicely integrated with YubiKey, with forwarding to selected remote hosts.

☑ sway automatically renames workspaces to show currently opened apps.

Using iconic font to fit a lot of info even on laptop screens.

☑ Automatically change terminal's background color based on the ssh host.

Terminal turns red when you are on production, yellow on staging, etc.

☑ Automatically adjust brightness level based on screen contents and amount of ambient light around.

Useful for working at night, e.g. by dimming screen when switching from a dark terminal to a bright browser.

☑ Automatically backup the list of installed packages (pacman and AUR).

These files are used to bootstrap the new system, all apps are installed in one command.

☑ Setup script that configures user and system dotfiles, systemd services and other little things.

This script is safe to re-run at any time.

☑ Arch Linux installation script.

Fully automated script that installs Arch Linux from scratch and configures it exactly as I like.

☑ btrfs snapshots for easy system recovery.

Snapshots are automatically taken before and after each pacman transaction for easy system recovery.

Usage:

$ git clone https://github.com/maximbaz/dotfiles.git ~/.dotfiles
$ ~/.dotfiles/setup-system.sh
$ ~/.dotfiles/setup-user.sh

System recovery

In case system doesn't boot:

  1. Boot in a recent snapshot that works

  2. Make it the default snapshot

    # cd /mnt/btrfs-root/
    # mv root root-bak
    # btrfs subvolume snapshot snapshots/NN/snapshot root
    
  3. Reboot

dotfiles's People

Contributors

maximbaz avatar romkatv avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.