diff --git a/nix/home-manager/configuration/graphical-fullblown.nix b/nix/home-manager/configuration/graphical-fullblown.nix index 5240adc..9d0c8aa 100644 --- a/nix/home-manager/configuration/graphical-fullblown.nix +++ b/nix/home-manager/configuration/graphical-fullblown.nix @@ -10,6 +10,7 @@ in { imports = [ ../profiles/common.nix ../profiles/qtile-desktop.nix + ../profiles/dotfiles.nix ../programs/emacs.nix ../programs/firefox.nix ../programs/chromium.nix diff --git a/nix/home-manager/configuration/graphical-removable.nix b/nix/home-manager/configuration/graphical-removable.nix index a9cc11a..2396faa 100644 --- a/nix/home-manager/configuration/graphical-removable.nix +++ b/nix/home-manager/configuration/graphical-removable.nix @@ -8,6 +8,7 @@ in { imports = [ ../profiles/common.nix ../profiles/qtile-desktop.nix + ../profiles/dotfiles.nix ../programs/emacs.nix ../programs/firefox.nix ../programs/chromium.nix diff --git a/nix/home-manager/profiles/dotfiles.nix b/nix/home-manager/profiles/dotfiles.nix new file mode 100644 index 0000000..e0c18f6 --- /dev/null +++ b/nix/home-manager/profiles/dotfiles.nix @@ -0,0 +1,31 @@ +{ pkgs +, config +, ... +}: + +let + repoHttps = "https://gitlab.com/steveeJ/dotfiles.git"; + repoSsh = "git@gitlab.com:/steveeJ/dotfiles.git"; +in { + home.activation.vcsh = config.lib.dag.entryAfter["linkGeneration"] '' + $DRY_RUN_CMD ${pkgs.writeScript "activation-script" '' + set -e + export HOST=$(hostname -s) + + function set_remotes { + ${pkgs.vcsh}/bin/vcsh dotfiles remote set-url origin ${repoHttps} + ${pkgs.vcsh}/bin/vcsh dotfiles remote set-url --push origin ${repoSsh} + } + + if ! test -d $HOME/.config/vcsh/repo.d/dotfiles.git; then + echo Cloning dotfiles for $HOST... + ${pkgs.vcsh}/bin/vcsh clone -b $HOST ${repoHttps} + set_remotes + else + echo Updating dotfiles for $HOST... + set_remotes + ${pkgs.vcsh}/bin/vcsh pull $HOST + fi + ''}; + ''; +}