2023-02-21 10:20:32 +02:00
2023-03-17 08:52:24 +02:00
2023-03-17 08:52:24 +02:00
2022-12-23 13:30:52 +02:00

.dotfiles

Welcome to ivuorinen's .dotfiles repository. It's a hodgepodge of scripts and configurations, tests and mistakes I'm not aware of yet. As I find more interesting tools, configs and other stuff, this repository will live accordingly.

Please for the love of everything good do not use these 1:1 as your own dotfiles, fork or download the repo as a zip and go from there with your own configs.

Setup

First time setup

  1. Clone this repository to $HOME/.dotfiles
  2. bash $HOME/.dotfiles/scripts/settler.sh
  3. ???
  4. Profit

Note: there's a bit chicken/egg situation, because settler assumes you don't have git, and you need git to clone the repo. This will change soon™.

Interesting files and locations

Interesting folders

Path Description
.github GitHub Repository configuration files.
host-{hostname}/ Configurations that should apply to that host only.
local/bin Helper scripts that I've collected or wrote.
scripts Setup scripts.

dotfile folders

Repo Destination Description
config/ .config/ Configurations for applications.
local/ .local/ XDG Base folder: bin, share and state
ssh/ .ssh/ SSH Configurations.

dfm - the dotfiles manager

.local/bin/dfm is a shell script that has some tools that help with dotfiles management.

scripts/install-dotfiles.sh - dotfiles linker

The scripts/install-dotfiles.sh is a rcm generated shell script that does all the necessary linking.

To refresh the file, you can run dfm dotfiles update

Configuration

The folder structure follows XDG Base Directory Specification where possible.

XDG Variables

Var Default
Executables $HOME/.local/bin
$XDG_DATA_HOME $HOME/.local/share
$XDG_STATE_HOME $HOME/.local/state
$XDG_CONFIG_HOME $HOME/.config
  • $XDG_DATA_HOME defines the base directory relative to which user-specific data files should be stored. If $XDG_DATA_HOME is either not set or empty, a default equal to $HOME/.local/share should be used.
  • $XDG_CONFIG_HOME defines the base directory relative to which user-specific configuration files should be stored. If $XDG_CONFIG_HOME is either not set or empty, a default equal to $HOME/.config should be used.
  • $XDG_STATE_HOME defines the base directory relative to which user-specific state files should be stored. If $XDG_STATE_HOME is either not set or empty, a default equal to $HOME/.local/state should be used.
  • The $XDG_STATE_HOME contains state data that should persist between (application) restarts, but that is not important or portable enough to the user that it should be stored in $XDG_DATA_HOME. It may contain:
    • actions history (logs, history, recently used files, …)
    • current state of the application that can be reused on a restart (view, layout, open files, undo history, …)
  • User-specific executable files may be stored in $HOME/.local/bin. Distributions should ensure this directory shows up in the UNIX $PATH environment variable, at an appropriate place.
  • $XDG_DATA_DIRS defines the preference-ordered set of base directories to search for data files in addition to the $XDG_DATA_HOME base directory. The directories in $XDG_DATA_DIRS should be seperated with a colon ':'.

Interesting dotfiles repos

Description
No description provided
Readme 11 MiB
Languages
Lua 43%
Shell 41.1%
Vim Script 7.4%
Python 2.6%
Perl 2.5%
Other 3.3%