34 lines
		
	
	
		
			881 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			881 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
_nixos-container() {
 | 
						|
    local cur prev opts
 | 
						|
    COMPREPLY=()
 | 
						|
    cur="${COMP_WORDS[COMP_CWORD]}"
 | 
						|
    prev="${COMP_WORDS[COMP_CWORD-1]}"
 | 
						|
    opts="list create destroy start stop status update login root-login run show-ip show-host-key"
 | 
						|
    startstop_opts=$(nixos-container list)
 | 
						|
    update_opts="--config"
 | 
						|
 | 
						|
    if [[ "$prev" == "nixos-container" ]]
 | 
						|
    then
 | 
						|
        COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
 | 
						|
        return 0
 | 
						|
    fi
 | 
						|
 | 
						|
    if [[ $(echo "$opts" | grep "$prev") ]]
 | 
						|
    then
 | 
						|
        if [[ "$prev" == "start" || "$prev" == "stop" ]]
 | 
						|
        then
 | 
						|
            COMPREPLY=( $(compgen -W "${startstop_opts}" -- ${cur}) )
 | 
						|
            return 0
 | 
						|
        elif [[ "$prev" == "update" ]]
 | 
						|
        then
 | 
						|
            COMPREPLY=( $(compgen -W "${update_opts}" -- ${cur}) )
 | 
						|
            return 0
 | 
						|
        fi
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
complete -F _nixos-container nixos-container
 | 
						|
 |