From 7c11c4352cae1177e77e139aaac6ef1c8ebeecc5 Mon Sep 17 00:00:00 2001 From: Tobias Reisinger Date: Thu, 19 Oct 2023 01:12:01 +0200 Subject: [PATCH] Add yadm is dotfiles manager --- .bin/.e | 1 + .bin/autoinstall | 5 ----- .config/aliasrc | 5 ++--- .config/{environment.d => env.d}/10-paths | 0 .config/{environment.d => env.d}/20-ansible | 2 ++ .config/{environment.d => env.d}/20-files | 0 .config/env.d/20-flatpak | 18 ++++++++++++++++++ .config/{environment.d => env.d}/30-services | 0 .../{environment.d => env.d}/90-conditionals | 2 +- .config/env.d/99-local##hostname.portalo | 6 ++++++ .config/environment | 11 ++++++++--- .config/environment.d/.gitignore | 2 -- .config/home-manager/audio.nix | 11 +++++++++++ .config/home-manager/common.nix | 1 + .config/home-manager/fonts.nix | 15 +++++++++++++++ ... home.nix##hostname.portalo,user.serguzim} | 0 ...katime.cfg.tpl => .wakatime.cfg##template} | 2 +- .config/yadm/config | 2 ++ .local/share/yadm/archive | Bin 0 -> 990 bytes 19 files changed, 68 insertions(+), 15 deletions(-) rename .config/{environment.d => env.d}/10-paths (100%) rename .config/{environment.d => env.d}/20-ansible (86%) rename .config/{environment.d => env.d}/20-files (100%) create mode 100644 .config/env.d/20-flatpak rename .config/{environment.d => env.d}/30-services (100%) rename .config/{environment.d => env.d}/90-conditionals (97%) create mode 100644 .config/env.d/99-local##hostname.portalo delete mode 100644 .config/environment.d/.gitignore create mode 100644 .config/home-manager/audio.nix create mode 100644 .config/home-manager/fonts.nix rename .config/home-manager/{portalo-serguzim.nix => home.nix##hostname.portalo,user.serguzim} (100%) rename .config/wakatime/{.wakatime.cfg.tpl => .wakatime.cfg##template} (87%) create mode 100644 .config/yadm/config create mode 100644 .local/share/yadm/archive diff --git a/.bin/.e b/.bin/.e index 04d45ec..a9d4c28 100755 --- a/.bin/.e +++ b/.bin/.e @@ -26,6 +26,7 @@ declare -A mapper=( ["wakatime"]="$HOME/.config/wakatime/.wakatime.cfg.tpl" ["waybar"]="$HOME/.config/waybar/" ["xprofile"]="$HOME/.xprofile" + ["yadm-encrypt"]="$HOME/.config/yadm/encrypt" ["zsh"]="$HOME/.config/zsh/.zshrc" ) diff --git a/.bin/autoinstall b/.bin/autoinstall index af91980..9c71b5d 100755 --- a/.bin/autoinstall +++ b/.bin/autoinstall @@ -12,15 +12,10 @@ _autoinstall_base () { [ ! -x "$(command -v starship)" ] \ && curl -sS "https://starship.rs/install.sh" | BIN_DIR="$HOME/.local/bin" FORCE=1 sh - _autoinstall_env "$WAKATIME_HOME/.wakatime.cfg" - _autoinstall_file \ "https://raw.githubusercontent.com/qw3rtman/git-fire/master/git-fire" \ "$HOME/.local/bin/git-fire" - hm_config="$HOME/.config/home-manager" - ln -sf "$hm_config/$(cat /proc/sys/kernel/hostname)-$(whoami).nix" "$hm_config/home.nix" - return 0 } diff --git a/.config/aliasrc b/.config/aliasrc index 21b4a8b..1421a56 100644 --- a/.config/aliasrc +++ b/.config/aliasrc @@ -1,7 +1,5 @@ #!/bin/sh -alias .f='git --git-dir="$HOME/.dotfiles"' -alias .hf='git --git-dir="$HOME/.hostfiles"' alias :q='exit' alias :wq='exit' @@ -9,7 +7,6 @@ alias aliases='$EDITOR ~/.config/aliasrc && . ~/.config/aliasrc' alias aliases.local='$EDITOR ~/.config/aliasrc.local && . ~/.config/aliasrc' # shellcheck disable=2154 alias arch-deps2deps='set -a; source PKGBUILD; set +a; paru -S --asdeps --noconfirm $depends && paru -Ui --rebuild' -alias artisan='./artisan' alias bspwm-default='echo "default" > /tmp/bspwm_mode; bspc wm -r' alias bspwm-present='echo "presenter" > /tmp/bspwm_mode; bspc wm -r' @@ -85,4 +82,6 @@ alias xdebug='XDEBUG_CONFIG="remote_host=127.0.0.1 remote_port=9003"' [ -x "$(command -v rmtrash)" ] && alias rm='rmtrash -I --one-file-system -v' [ -x "$(command -v rmdirtrash)" ] && alias rmdir='rmdirtrash' +[ -x "$(command -v yadm)" ] || alias yadm='git --git-dir="$HOME/.local/share/yadm/repo.git"' + [ -f "$HOME/.config/aliasrc.local" ] && . "$HOME/.config/aliasrc.local" diff --git a/.config/environment.d/10-paths b/.config/env.d/10-paths similarity index 100% rename from .config/environment.d/10-paths rename to .config/env.d/10-paths diff --git a/.config/environment.d/20-ansible b/.config/env.d/20-ansible similarity index 86% rename from .config/environment.d/20-ansible rename to .config/env.d/20-ansible index ecc9531..db56a03 100644 --- a/.config/environment.d/20-ansible +++ b/.config/env.d/20-ansible @@ -1,2 +1,4 @@ +#!/usr/bin/env sh + export ANSIBLE_VAULT_PASSWORD_FILE="$HOME/.bin/ansible-vault-pass.sh" export ANSIBLE_PYTHON_INTERPRETER='auto_silent' diff --git a/.config/environment.d/20-files b/.config/env.d/20-files similarity index 100% rename from .config/environment.d/20-files rename to .config/env.d/20-files diff --git a/.config/env.d/20-flatpak b/.config/env.d/20-flatpak new file mode 100644 index 0000000..cfe936b --- /dev/null +++ b/.config/env.d/20-flatpak @@ -0,0 +1,18 @@ +#!/usr/bin/env sh + + +if [ -n "$XDG_DATA_HOME" ] && [ -d "$XDG_DATA_HOME/flatpak/exports/bin" ]; then + export PATH="$XDG_DATA_HOME/flatpak/exports/bin:$PATH" +fi + +if [ -d /var/lib/flatpak/exports/bin ]; then + export PATH="/var/lib/flatpak/exports/bin:$PATH" +fi + +if [ -n "$XDG_DATA_HOME" ] && [ -d "$XDG_DATA_HOME/flatpak/exports/share" ]; then + export XDG_DATA_DIRS="$XDG_DATA_HOME/flatpak/exports/share:$XDG_DATA_DIRS" +fi + +if [ -d "/var/lib/flatpak/exports/share" ]; then + export XDG_DATA_DIRS="/var/lib/flatpak/exports/share:$XDG_DATA_DIRS" +fi diff --git a/.config/environment.d/30-services b/.config/env.d/30-services similarity index 100% rename from .config/environment.d/30-services rename to .config/env.d/30-services diff --git a/.config/environment.d/90-conditionals b/.config/env.d/90-conditionals similarity index 97% rename from .config/environment.d/90-conditionals rename to .config/env.d/90-conditionals index 0ae1edd..01ded90 100644 --- a/.config/environment.d/90-conditionals +++ b/.config/env.d/90-conditionals @@ -1,4 +1,4 @@ -#/usr/bin/env sh +#!/usr/bin/env sh # shellcheck disable=2089 [ -x "$(command -v bat)" ] && export MANPAGER="sh -c 'col -bx | bat -l man -p'" diff --git a/.config/env.d/99-local##hostname.portalo b/.config/env.d/99-local##hostname.portalo new file mode 100644 index 0000000..087b50a --- /dev/null +++ b/.config/env.d/99-local##hostname.portalo @@ -0,0 +1,6 @@ +#!/bin/sh + +export AUTOSTART_DISPLAY="Hyprland" + +export MONITOR_PRIMARY="DisplayPort-0" +export MONITOR_SECONDARY="HDMI-A-0" diff --git a/.config/environment b/.config/environment index b478de1..d28de46 100644 --- a/.config/environment +++ b/.config/environment @@ -45,8 +45,13 @@ export TIME_STYLE="long-iso" export VIMINIT="if has('nvim') | source $XDG_CONFIG_HOME/nvim/init.lua | else | source $XDG_CONFIG_HOME/vim/vimrc | endif" -for profile in "$XDG_CONFIG_HOME/environment.d/"*; do +for additional_env in "$XDG_CONFIG_HOME/env.d/"*; do + # check for ## in name to ignore yadm files + case "$additional_env" in + *##*) continue ;; + esac + # shellcheck disable=1090 - test -r "$profile" && . "$profile" + test -r "$additional_env" && . "$additional_env" done -unset profile +unset additional_env diff --git a/.config/environment.d/.gitignore b/.config/environment.d/.gitignore deleted file mode 100644 index 755858b..0000000 --- a/.config/environment.d/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -10-home-manager.conf -99-local diff --git a/.config/home-manager/audio.nix b/.config/home-manager/audio.nix new file mode 100644 index 0000000..4336a3e --- /dev/null +++ b/.config/home-manager/audio.nix @@ -0,0 +1,11 @@ +{ config, pkgs, ... }: + +{ + home.packages = with pkgs; [ + #pipewire # audio server + playerctl # control media players + (spotifyd.override { withMpris = true; }) # spotify-daemon + #wireplumber # pipewire session manager + helvum # pipewire GUI + ]; +} diff --git a/.config/home-manager/common.nix b/.config/home-manager/common.nix index dec88fb..3052dea 100644 --- a/.config/home-manager/common.nix +++ b/.config/home-manager/common.nix @@ -31,6 +31,7 @@ unzip # unzip vimHugeX # vim with clipboard support xdg-user-dirs # tool manage user directories + yadm # dotfile manager yq # tool for YAML yt-dlp # tool to download videos from the internet zip # zip diff --git a/.config/home-manager/fonts.nix b/.config/home-manager/fonts.nix new file mode 100644 index 0000000..08ffa46 --- /dev/null +++ b/.config/home-manager/fonts.nix @@ -0,0 +1,15 @@ +{ config, pkgs, ... }: + +{ + fonts.fontconfig.enable = true; + + home.packages = with pkgs; [ + dejavu_fonts + freefont_ttf + liberation_ttf + (nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) + noto-fonts + roboto + twitter-color-emoji + ]; +} diff --git a/.config/home-manager/portalo-serguzim.nix b/.config/home-manager/home.nix##hostname.portalo,user.serguzim similarity index 100% rename from .config/home-manager/portalo-serguzim.nix rename to .config/home-manager/home.nix##hostname.portalo,user.serguzim diff --git a/.config/wakatime/.wakatime.cfg.tpl b/.config/wakatime/.wakatime.cfg##template similarity index 87% rename from .config/wakatime/.wakatime.cfg.tpl rename to .config/wakatime/.wakatime.cfg##template index 65582c7..96f6ee6 100644 --- a/.config/wakatime/.wakatime.cfg.tpl +++ b/.config/wakatime/.wakatime.cfg##template @@ -9,6 +9,6 @@ exclude = ^MERGE_MSG$ ^TAG_EDITMSG$ exclude_unknown_project = true -api_key = ${WAKATIME_API_KEY} +api_key = {{ env.WAKATIME_API_KEY }} [projectmap] projects/emgauwa/core = emgauwa-core diff --git a/.config/yadm/config b/.config/yadm/config new file mode 100644 index 0000000..8f0066e --- /dev/null +++ b/.config/yadm/config @@ -0,0 +1,2 @@ +[yadm] + gpg-recipient = tobias@msrg.cc diff --git a/.local/share/yadm/archive b/.local/share/yadm/archive new file mode 100644 index 0000000000000000000000000000000000000000..f731296535e9e010b28fd4441129d6fccd7c3679 GIT binary patch literal 990 zcmV<410no{0t^E(rRvszZo8-f5B@Wz$j`=AcUFEb*uQ4nv=;pL%I`$N@(*iNX5wUw zMbp#oM##rSdjlgC{WsK>NAB37AM#JK(m(_JX^t0ZO8!tpI4#;Csty4^|4%y=mpAyO z?M$r46GcoQSorq?f8W(GMl!EmFsuv=95OMiL%7)jQG7(1ypX*q|UaSm|Js$8b!VRy1}K~G(yD=7lua0(X42f zy9o76oE0=W6Aa~H)A5m?Eea#$5}V0fAnL}rY)ir_VcHcOWsn0zvvNi!9Xv_g%6dq{ zFAFvY9)oEm^i z^a*D|1!DEY4T=7jqX~BAJ1PHJ_R|yEuKgC{xMmLPT*J{P-K9u~v*3Xvb6GbkC$53t z(AX~>)wTarzzU6U87k7j3<1m`#IrLG2y`p>sdBnnMZ4}Yp&YX?VItX(64xg{xi@?0 z^<_qd;jRsf$1!UuDvd-sHd9NNpvj8dBrc2%H`N2cOT3;$uTxo%Mw7eDJZ zsOOGTkQcpq?h4MxjQAI0*ctc<`H8`l7VPSV6nI>SW=H4Q0K0=#tzhxumA9K)K-q1A z-j(>D{A0YqLy|(vIzqTzBCB08x49&reHVw!4q=xXB))yLSSQzag*o;dV%96I=SqUf zi^INT>~trwW)MsPqjM+BXZn$qOuo(y{Q0+?hL2P4NaLZ#AL6J7asBbYB)M2yS=SIn zqs`xnV(DA1A(w^a1A=}p@o^TpT>Q73bcfDz0$@B$0v3I}7TOAT4@TI$|SLD?Piw;r4~dQEYxKAM|ASsBu%Uw{U?()^aiH)EXq zM(c+Y|8}Ncr1i~j;T8CwLcZoVkV&W0Y&oG2$usPhIiOyw$d}f0Eds@sd}&@|ckc`l MAw(2ur^~u6ejb$cN&o-= literal 0 HcmV?d00001