38 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/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 ./configuration.nix /etc/nixos/
 | |
|     sudo ln -s $(pwd)/{machines,modules,pkgs} /etc/nixos
 | |
|     sudo touch /etc/nixos/.system-installed
 | |
| 
 | |
|     nixos-rebuild switch
 | |
|     echo "==> System config installed, your old configuration is at /etc/nixos.bak"
 | |
| fi
 | |
| echo
 | |
| 
 | |
| if [[ -f ~/.config/nixpkgs/system-installed ]]; then
 | |
|     echo "=== home-anager 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 home/* ~/.config/nixpkgs
 | |
| 
 | |
|     home-manager switch
 | |
| 
 | |
|     echo "==> home-manager config installed"
 | |
| fi
 |