From 487d64163c59fa3de79b5ff1abf303475395c4a2 Mon Sep 17 00:00:00 2001 From: Warrick Lo Date: Sat, 11 Dec 2021 23:33:16 -0800 Subject: Restructure entire home directory The new XDG base directories will resemble the Filesystem Hierarchy Standard on Linux or the FreeBSD/OpenBSD directory structure. Refer to the FHS or hier(7). XDG user directories are defined in $XDG_CONFIG_HOME/user-dirs.dirs. --- etc/alacritty/alacritty.yml | 71 ++++++++++++++++++++++++++++++ etc/aliasrc | 31 +++++++++++++ etc/dunst/dunstrc | 46 +++++++++++++++++++ etc/gtk-2.0/gtkrc | 4 ++ etc/gtk-3.0/settings.ini | 6 +++ etc/gtk-4.0/settings.ini | 6 +++ etc/nvim/init.vim | 40 +++++++++++++++++ etc/picom/picom.conf | 52 ++++++++++++++++++++++ etc/rofi/config.rasi | 10 +++++ etc/rofi/theme.rasi | 105 ++++++++++++++++++++++++++++++++++++++++++++ etc/user-dirs.dirs | 8 ++++ 11 files changed, 379 insertions(+) create mode 100644 etc/alacritty/alacritty.yml create mode 100644 etc/aliasrc create mode 100644 etc/dunst/dunstrc create mode 100644 etc/gtk-2.0/gtkrc create mode 100644 etc/gtk-3.0/settings.ini create mode 100644 etc/gtk-4.0/settings.ini create mode 100644 etc/nvim/init.vim create mode 100644 etc/picom/picom.conf create mode 100644 etc/rofi/config.rasi create mode 100644 etc/rofi/theme.rasi create mode 100644 etc/user-dirs.dirs (limited to 'etc') diff --git a/etc/alacritty/alacritty.yml b/etc/alacritty/alacritty.yml new file mode 100644 index 0000000..7c43cb8 --- /dev/null +++ b/etc/alacritty/alacritty.yml @@ -0,0 +1,71 @@ +# Alacritty configuration + +# Window properties + +window: + padding: + x: 8 + y: 8 + title: Alacritty + class: + instance: Alacritty + general: Alacritty + +# Scrolling + +scrolling: + history: 100000 + multiplier: 8 + +# Appearance + +font: + size: 12 + + normal: + family: Iosevka + style: Regular + + bold: + family: Iosevka + style: Bold + + italic: + family: Iosevka + style: Italic + +colors: + primary: + background: '#101010' + foreground: '#ebdbb2' + + cursor: + text: '#202020' + cursor: '#fbf1c7' + + normal: + black: '#202020' + red: '#fa1d48' + green: '#5c991f' + yellow: '#d6ac20' + blue: '#497287' + magenta: '#6a5db0' + cyan: '#6a9e7f' + white: '#d0d0d0' + + bright: + black: '#404040' + red: '#fa345f' + green: '#72ba29' + yellow: '#fac32a' + blue: '#859da6' + magenta: '#958ad4' + cyan: '#80bf93' + white: '#f0f0f0' + +background_opacity: 0.9 + +cursor: + style: Block + unfocused_hollow: true + blink_interval: 750 diff --git a/etc/aliasrc b/etc/aliasrc new file mode 100644 index 0000000..e5fdfd3 --- /dev/null +++ b/etc/aliasrc @@ -0,0 +1,31 @@ +#!/bin/sh + +# Shell alias definitions + +# General-purpose + +# This first alias gets inherited by the other ls aliases. +alias ls="ls -F" +alias la="ls -A" +alias ll="ls -alh" +alias lsm="ls -alht" +alias lss="ls -alhsS" + +alias cp="cp -iv" +alias mv="mv -iv" +alias rm="rm -iv" +alias mkdir="mkdir -p" + +alias ipinfo="curl https://ipinfo.io/ip -w '\n'" + +# Alias vim to neovim. +alias vim="nvim" + +# Clear history (needs to be sourced). +alias clhs="source \$HOME/bin/clhs" + +# startx does not respect $XINITRC. +alias startx="startx \$XINITRC" + +# Alias git bare to manage configuration files. +alias cfg="/usr/bin/git --git-dir=\$HOME/cfg --work-tree=\$HOME" diff --git a/etc/dunst/dunstrc b/etc/dunst/dunstrc new file mode 100644 index 0000000..26461fc --- /dev/null +++ b/etc/dunst/dunstrc @@ -0,0 +1,46 @@ +# Dunst configuration + +[global] + font = "Inter Regular 10" + markup = full + format = "%s %p\n%b" + alignment = left + + follow = keyboard + notification_limit = 0 + show_age_threshold = 60 + idle_threshold = 120 + + width = 360 + height = 180 + origin = bottom-right + offset = 8x8 + + icon_position = left + max_icon_size = 32 + icon_path = /usr/share/icons/Paper/32x32/status + + padding = 4 + horizontal_padding = 4 + frame_width = 1 + separator_height = 1 + separator_color = "#202020" + + mouse_left_click = do_action + mouse_middle_click = close_current + mouse_right_click = close_all + +[urgency_low] + background = "#101010" + foreground = "#ebdbb2" + frame_color = "#5c991f" + +[urgency_normal] + background = "#101010" + foreground = "#ebdbb2" + frame_color = "#497287" + +[urgency_critical] + background = "#101010" + foreground = "#ebdbb2" + frame_color = "#fa1d48" diff --git a/etc/gtk-2.0/gtkrc b/etc/gtk-2.0/gtkrc new file mode 100644 index 0000000..c162ac9 --- /dev/null +++ b/etc/gtk-2.0/gtkrc @@ -0,0 +1,4 @@ +gtk-font-name="Inter 10" +gtk-theme-name="vimix-dark-doder" +gtk-icon-theme-name="Boston" +gtk-cursor-theme-name="Breeze_Snow" diff --git a/etc/gtk-3.0/settings.ini b/etc/gtk-3.0/settings.ini new file mode 100644 index 0000000..74ba22d --- /dev/null +++ b/etc/gtk-3.0/settings.ini @@ -0,0 +1,6 @@ +[Settings] +gtk-application-prefer-dark-theme=true +gtk-font-name=Inter 10 +gtk-theme-name=vimix-dark-doder +gtk-icon-theme-name=Boston +gtk-cursor-theme-name=Breeze_Snow diff --git a/etc/gtk-4.0/settings.ini b/etc/gtk-4.0/settings.ini new file mode 100644 index 0000000..74ba22d --- /dev/null +++ b/etc/gtk-4.0/settings.ini @@ -0,0 +1,6 @@ +[Settings] +gtk-application-prefer-dark-theme=true +gtk-font-name=Inter 10 +gtk-theme-name=vimix-dark-doder +gtk-icon-theme-name=Boston +gtk-cursor-theme-name=Breeze_Snow diff --git a/etc/nvim/init.vim b/etc/nvim/init.vim new file mode 100644 index 0000000..93d9bd5 --- /dev/null +++ b/etc/nvim/init.vim @@ -0,0 +1,40 @@ +" Neovim configuration + +" General + +set nocompatible +filetype plugin on +filetype indent on +syntax on +set encoding=utf-8 +set splitbelow splitright +set wrap +set wildmode=longest,list,full +set lazyredraw +set ignorecase +set mouse=a +set guioptions=a +set nobackup nowritebackup +set list listchars=eol:¬,tab:»\ ,trail:∙,extends:›,precedes:‹ + +" Tabs + +set noexpandtab +set cindent +set softtabstop=0 +set tabstop=8 +set shiftwidth=8 + +" Line numbers + +set number + +" Comments + +" Do not comment on newline. +autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o + +" Miscellaneous + +" Have :Q behave like :q. +command! Q :q diff --git a/etc/picom/picom.conf b/etc/picom/picom.conf new file mode 100644 index 0000000..326035d --- /dev/null +++ b/etc/picom/picom.conf @@ -0,0 +1,52 @@ +# picom configuration + +# Blur + +blur-method = "dual_kawase"; +blur-strength = 5; + +blur-background-exclude = [ + "class_g = 'Rofi'" +]; + +# Shadow + +shadow = true; +shadow-radius = 20; +shadow-offset-x = -20; +shadow-offset-y = -20; +shadow-opacity = 0.8; + +shadow-exclude = [ + "class_g = 'Rofi'", +] + +# Crop shadow of a window fully on a particular Xinerama screen to the screen. +xinerama-shadow-crop = true; + +# General + +backend = "glx"; + +wintypes: { + dock = { + full-shadow = true; + blur-background = false; + }; + utility = { + shadow = false; + blur-background = false; + }; + popup_menu = { + shadow = false; + }; + tooltip = { + shadow = false; + opacity = 1.0; + blur-background = false; + }; + dnd = { + shadow = false; + blur-background = false; + }; +}; diff --git a/etc/rofi/config.rasi b/etc/rofi/config.rasi new file mode 100644 index 0000000..f1d8163 --- /dev/null +++ b/etc/rofi/config.rasi @@ -0,0 +1,10 @@ +/* Rofi configuration */ + +configuration { + timeout { + delay: 10; + action: "kb-cancel"; + } + + theme: "theme"; +} diff --git a/etc/rofi/theme.rasi b/etc/rofi/theme.rasi new file mode 100644 index 0000000..698a234 --- /dev/null +++ b/etc/rofi/theme.rasi @@ -0,0 +1,105 @@ +/* Rofi theme */ + +configuration { + font: "Inter 10"; + show-icons: true; + icon-theme: "Paper"; + modi: "drun,run,window,ssh"; + sidebar-mode: true; + display-drun: "drun"; + display-run: "run"; + display-window: "window"; + display-ssh: "ssh"; +} + +* { + white: #ebdbb2; + black: #101010; + + orange: #eb744c; + blue: #497287; + + background-color: @black; + text-color: @white; + + border: 2px; + margin: 2px; +} + +window { + border: 1px; + border-color: @orange; + border-radius: 8px; + width: 32%; + padding: 32px; +} + +inputbar { + children: [prompt, entry]; + border: 0 0 2px 0; + border-color: @blue; + padding: 4px; +} + +listview { + columns: 1; +} + +prompt { + font: "Iosevka Extended Bold 12"; +} + +entry { + font: "Iosevka Extended 12"; + cursor: text; +} + +element, +element-text, +element-icon, +button { + cursor: pointer; +} + +element { + font: "Inter Medium 12"; + border: 0; + border-radius: 4px; + padding: 2px; +} + +element selected { + background-color: @orange; + text-color: @black; +} + +element-text { + background-color: inherit; + text-color: inherit; + horizontal-align: 0; + vertical-align: 0.5; +} + +element-icon { + size: 24px; + background-color: inherit; + text-color: inherit; + horizontal-align: 0.5; + vertical-align: 0.5; +} + +button { + background-color: @white; + text-color: @black; + font: "Inter Bold 10"; + border: 0; + border-radius: 4px; + padding: 4px; + horizontal-align: 0.5; + vertical-align: 0.5; +} + +button selected { + background-color: @blue; + text-color: @white; +} diff --git a/etc/user-dirs.dirs b/etc/user-dirs.dirs new file mode 100644 index 0000000..35a1615 --- /dev/null +++ b/etc/user-dirs.dirs @@ -0,0 +1,8 @@ +XDG_DESKTOP_DIR="$HOME" +XDG_DOWNLOAD_DIR="$HOME/in" +XDG_DOCUMENTS_DIR="$HOME/docs" +XDG_MUSIC_DIR="$HOME/aud/music" +XDG_PICTURES_DIR="$HOME/img" +XDG_VIDEOS_DIR="$HOME/vid" +XDG_TEMPLATES_DIR="$HOME/usr/templates" +XDG_PUBLICSHARE_DIR="$HOME/usr/public" -- cgit v1.2.3