36 lines
1.1 KiB
Text
36 lines
1.1 KiB
Text
|
#!/usr/bin/env bash
|
||
|
|
||
|
set -eo pipefail
|
||
|
|
||
|
if [[ -f /etc/nixos/.system-installed ]]; then
|
||
|
echo "=== System config already installed, skipping"
|
||
|
else
|
||
|
echo "==> Installing system config"
|
||
|
|
||
|
[[ -d /etc/nixos ]] && sudo mv /etc/nixos{,.bak}
|
||
|
sudo mkdir -p /etc/nixos
|
||
|
sudo cp /etc/nixos.bak/hardware-configuration.nix /etc/nixos
|
||
|
|
||
|
sudo cp ./system/configuration.nix /etc/nixos/
|
||
|
sudo ln -s $(pwd)/system/{machines,modules,pkgs} /etc/nixos
|
||
|
sudo touch /etc/nixos/.system-installed
|
||
|
|
||
|
echo "==> System config installed, your old configuration is at /etc/nixos.bak"
|
||
|
fi
|
||
|
echo
|
||
|
|
||
|
if [[ -f ~/.config/nixpkgs/system-installed ]]; then
|
||
|
echo "=== home-manager config already installed, skipping"
|
||
|
else
|
||
|
echo "==> Installing home-manager config"
|
||
|
nix-channel --add https://github.com/rycee/home-manager/archive/master.tar.gz home-manager
|
||
|
nix-channel --update
|
||
|
# nix-shell '<home-manager>' -A install
|
||
|
|
||
|
[[ -d ~/.config/nixpkgs ]] && mv ~/.config/{nixpkgs,nixpkgs.bak}
|
||
|
mkdir -p ~/.config/nixpkgs
|
||
|
ln -s $(pwd)/home/* ~/.config/nixpkgs
|
||
|
|
||
|
echo "==> home-manager config installed"
|
||
|
fi
|