Change-Id: I35aaf174c7193c6fa6610989d8334ceabcdb6ced Reviewed-on: https://cl.tvl.fyi/c/depot/+/8575 Autosubmit: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
		
			
				
	
	
		
			125 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			125 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ config, lib, pkgs, ... }:
 | 
						|
 | 
						|
# Everything in here needs to work on linux or darwin, with or without a desktop
 | 
						|
# environment
 | 
						|
 | 
						|
{
 | 
						|
  imports = [
 | 
						|
    ../modules/shell.nix
 | 
						|
    ../modules/development.nix
 | 
						|
    ../modules/emacs.nix
 | 
						|
    ../modules/vim.nix
 | 
						|
    ../modules/tarsnap.nix
 | 
						|
    ../modules/twitter.nix
 | 
						|
    ../modules/lib/cloneRepo.nix
 | 
						|
  ];
 | 
						|
 | 
						|
  home.username = "grfn";
 | 
						|
  home.homeDirectory = "/home/grfn";
 | 
						|
 | 
						|
  programs.password-store.enable = true;
 | 
						|
 | 
						|
  grfn.impure.clonedRepos.passwordStore = {
 | 
						|
    github = "glittershark/pass";
 | 
						|
    path = ".local/share/password-store";
 | 
						|
  };
 | 
						|
 | 
						|
  home.packages = with pkgs; [
 | 
						|
    # System utilities
 | 
						|
    bat
 | 
						|
    htop
 | 
						|
    killall
 | 
						|
    bind
 | 
						|
    zip
 | 
						|
    unzip
 | 
						|
    tree
 | 
						|
    nmap
 | 
						|
    bc
 | 
						|
    pv
 | 
						|
 | 
						|
    # Security
 | 
						|
    gnupg
 | 
						|
    keybase
 | 
						|
    openssl
 | 
						|
 | 
						|
    # Nix things
 | 
						|
    nixfmt
 | 
						|
    nix-prefetch-github
 | 
						|
    nixpkgs-review
 | 
						|
    cachix
 | 
						|
    (writeShellScriptBin "rebuild-mugwump" ''
 | 
						|
      set -eo pipefail
 | 
						|
      cd ~/code/depot
 | 
						|
      nix build -f . users.grfn.system.system.mugwumpSystem -o /tmp/mugwump
 | 
						|
      nix copy -f . users.grfn.system.system.mugwumpSystem \
 | 
						|
        --to ssh://mugwump
 | 
						|
      system=$(readlink -ef /tmp/mugwump)
 | 
						|
      ssh mugwump sudo nix-env -p /nix/var/nix/profiles/system --set $system
 | 
						|
      ssh mugwump sudo $system/bin/switch-to-configuration switch
 | 
						|
      rm /tmp/mugwump
 | 
						|
    '')
 | 
						|
    (writeShellScriptBin "rebuild-roswell" ''
 | 
						|
      set -eo pipefail
 | 
						|
      cd ~/code/depot
 | 
						|
      nix build -f . users.grfn.system.system.roswellSystem -o /tmp/roswell
 | 
						|
      nix copy -f . users.grfn.system.system.roswellSystem \
 | 
						|
        --to ssh://roswell
 | 
						|
      system=$(readlink -ef /tmp/roswell)
 | 
						|
      ssh roswell sudo nix-env -p /nix/var/nix/profiles/system --set $system
 | 
						|
      ssh roswell sudo $system/bin/switch-to-configuration switch
 | 
						|
      rm /tmp/roswell
 | 
						|
    '')
 | 
						|
    (writeShellScriptBin "rebuild-home" ''
 | 
						|
      set -eo pipefail
 | 
						|
      cd ~/code/depot
 | 
						|
      nix build -f . users.grfn.system.home.$(hostname)Home -o /tmp/home
 | 
						|
      /tmp/home/activate
 | 
						|
    '')
 | 
						|
  ];
 | 
						|
 | 
						|
  programs.ssh = {
 | 
						|
    enable = true;
 | 
						|
 | 
						|
    matchBlocks = {
 | 
						|
      "home" = {
 | 
						|
        host = "home.gws.fyi";
 | 
						|
        forwardAgent = true;
 | 
						|
      };
 | 
						|
 | 
						|
      "dobharchu" = {
 | 
						|
        host = "dobharchu";
 | 
						|
        hostname = "172.16.0.4";
 | 
						|
        forwardAgent = true;
 | 
						|
        user = "griffin";
 | 
						|
      };
 | 
						|
 | 
						|
      "cerberus" = {
 | 
						|
        host = "cerberus";
 | 
						|
        hostname = "172.16.0.3";
 | 
						|
        forwardAgent = true;
 | 
						|
        user = "griffin";
 | 
						|
      };
 | 
						|
 | 
						|
      "mugwump" = {
 | 
						|
        host = "mugwump";
 | 
						|
        hostname = "172.16.0.5";
 | 
						|
        forwardAgent = true;
 | 
						|
      };
 | 
						|
 | 
						|
      "roswell" = {
 | 
						|
        host = "roswell";
 | 
						|
        forwardAgent = true;
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
  programs.direnv = {
 | 
						|
    enable = true;
 | 
						|
    enableBashIntegration = true;
 | 
						|
    enableZshIntegration = true;
 | 
						|
  };
 | 
						|
 | 
						|
  services.dropbox = {
 | 
						|
    enable = true;
 | 
						|
  };
 | 
						|
}
 |