#!/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