Skip to content

Nothing special, simply my dotfiles for everyday use.

License

Notifications You must be signed in to change notification settings

karras/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 

Repository files navigation

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