This gives me the ability to override the Emacs per-machine easily. Change-Id: Id480889c108833b0a11c377a9b1e946900c5aba1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9166 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
		
			
				
	
	
		
			103 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| # Default configuration settings for physical machines that I use.
 | |
| { lib, pkgs, config, depot, ... }:
 | |
| 
 | |
| let
 | |
|   pass-otp = pkgs.pass.withExtensions (e: [ e.pass-otp ]);
 | |
| in
 | |
| {
 | |
|   options = with lib; {
 | |
|     tazjin.emacs = mkOption {
 | |
|       type = types.package;
 | |
|       default = depot.users.tazjin.emacs;
 | |
|       description = ''
 | |
|         Derivation with my Emacs package, with configuration included.
 | |
|       '';
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   config = {
 | |
|     # Install all the default software.
 | |
|     environment.systemPackages =
 | |
|       # programs from the depot
 | |
|       (with depot; [
 | |
|         users.tazjin.screenLock
 | |
|         config.tazjin.emacs
 | |
|         third_party.agenix.cli
 | |
|         third_party.josh
 | |
|       ]) ++
 | |
| 
 | |
|       # programs from nixpkgs
 | |
|       (with pkgs; [
 | |
|         (aspellWithDicts (d: [ d.ru ]))
 | |
|         amber
 | |
|         bat
 | |
|         curl
 | |
|         ddcutil
 | |
|         direnv
 | |
|         dnsutils
 | |
|         electrum
 | |
|         config.tazjin.emacs.emacs # emacsclient
 | |
|         exa
 | |
|         fd
 | |
|         file
 | |
|         gdb
 | |
|         gh
 | |
|         git
 | |
|         gnupg
 | |
|         gtk3 # for gtk-launch
 | |
|         htop
 | |
|         hyperfine
 | |
|         iftop
 | |
|         imagemagick
 | |
|         jq
 | |
|         lieer
 | |
|         maim
 | |
|         man-pages
 | |
|         moreutils
 | |
|         mosh
 | |
|         msmtp
 | |
|         mullvad-vpn
 | |
|         networkmanagerapplet
 | |
|         nix-prefetch-github
 | |
|         nmap
 | |
|         notmuch
 | |
|         openssh
 | |
|         openssl
 | |
|         pass-otp
 | |
|         pavucontrol
 | |
|         pinentry
 | |
|         pinentry-emacs
 | |
|         pulseaudio # for pactl
 | |
|         pwgen
 | |
|         quasselClient
 | |
|         rink
 | |
|         ripgrep
 | |
|         rust-analyzer
 | |
|         rustup
 | |
|         screen
 | |
|         thunderbird
 | |
|         tig
 | |
|         tokei
 | |
|         tree
 | |
|         unzip
 | |
|         vlc
 | |
|         volumeicon
 | |
|         whois
 | |
|         xclip
 | |
|         xsecurelock
 | |
|         zoxide
 | |
|       ]);
 | |
| 
 | |
|     # Run services & configure programs for all machines.
 | |
|     services.fwupd.enable = true;
 | |
| 
 | |
|     # Disable the broken NetworkManager-wait-online.service
 | |
|     systemd.services.NetworkManager-wait-online.enable = lib.mkForce false;
 | |
| 
 | |
|     programs = {
 | |
|       fish.enable = true;
 | |
|       mosh.enable = true;
 | |
|       ssh.startAgent = true;
 | |
|     };
 | |
|   };
 | |
| }
 |