Giter VIP home page Giter VIP logo

dotfiles's Introduction

Dotfiles

Nothing special, simply my dotfiles for everyday use.

Structure

The main goal is to keep the home directory as clean as possible by forcing everything to be stored in ~/.local. I would not recommend to use it as a plug'n play setup!

The structure and placement of all files is heavily inspired by the awesome Ayekat!

XDG Paths

The XDG base directories are customized as follows:

Variable Location
XDG_CACHE_HOME $HOME/.local/var/cache
XDG_CONFIG_HOME $HOME/.local/etc
XDG_DATA_HOME $HOME/.local/share
XDG_STATE_HOME $HOME/.local/var/lib

Also PATH is extended by the below paths:

Path Purpose
$HOME/.local/bin Custom scripts and wrappers

Most wrapper scripts are required for those applications which do not support custom XDG paths (e.g. Ansible or Firefox).

Dependencies

Due to the deprecation of pam_env it heavily depends on the chosen login flow (i.e. headless, Wayland-based, etc.) how to ideally inject the necessary environment variables. There is often a chicken and egg problem related to XDG_CONFIG_HOME as its customization must be injected as early as possible, otherwise the systemd user variables are not loaded either.

In this case the problem is solved (read "glued and hacked together") via a separate wayfire-run wrapper script which loads all environment variables and then finally starts Wayfire. The login flow looks like this:

Boot
--> greetd
    --> greetd-gtkgreet
        --> wayfire-run
            --> wayfire

The wayfire-run script is deployed and managed via Ansible.

Components

Whenever possible only GTK-based (3.0+) applications are used and the overall application bloat should be kept at a minimum. Also, when configurable, the awesome Nord theme is applied.

Below is an incomplete list of the covered main components:

Installation

  • Clone this repository to the destination of your choice (e.g. ~/git/dotfiles)

  • Ensure you have injected at least the above mentioned XDG variables into the environment

  • Install all dotfiles, make sure the ~/.local directory is removed first:

    cd ~
    ln -s /path/to/this/repo .local
  • Copy your desktop wallpaper to ~/.local/share/backgrounds/wallpaper.png, which will be used by swaybg

  • Copy your lock screen wallpaper to ~/.local/share/backgrounds/wallpaper_lockscreen.png, which will be used by swaylock

dotfiles's People

Contributors

karras avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  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.