feat(desktop): Move from i3 to exwm
Emacs just controls everything now. Why not! Rather than using the builtin NixOS support for EXWM I've added a custom snippet that takes care of the launching. This assumes that the user launching the session has my emacs configuration installed, which I, in practice, always do. * remove setup of i3wm (until I'm comfortable using exwm I will keep the i3 configuration files around) * disable compton (exwm brings its own compositor) * disable auto-starting of emacs user service * enable & configure exwm (also see correlating commits in my emacs.d repository)
This commit is contained in:
		
							parent
							
								
									d79b7f45e7
								
							
						
					
					
						commit
						7ca55c3fd5
					
				
					 2 changed files with 12 additions and 11 deletions
				
			
		|  | @ -26,7 +26,7 @@ | ||||||
| 
 | 
 | ||||||
|   # Configure emacs: |   # Configure emacs: | ||||||
|   # (actually, that's a lie, this only installs emacs!) |   # (actually, that's a lie, this only installs emacs!) | ||||||
|   services.emacs.enable = true; |   services.emacs.install = true; | ||||||
|   services.emacs.defaultEditor = true; |   services.emacs.defaultEditor = true; | ||||||
| 
 | 
 | ||||||
|   # Enable GNOME keyring (required for Evolution) |   # Enable GNOME keyring (required for Evolution) | ||||||
|  |  | ||||||
							
								
								
									
										21
									
								
								desktop.nix
									
										
									
									
									
								
							
							
						
						
									
										21
									
								
								desktop.nix
									
										
									
									
									
								
							|  | @ -1,6 +1,6 @@ | ||||||
| # Configuration for the desktop environment | # Configuration for the desktop environment | ||||||
| 
 | 
 | ||||||
| { config, pkgs, ... }: | { config, lib, pkgs, ... }: | ||||||
| 
 | 
 | ||||||
| let wallpapers = import ./pkgs/wallpapers.nix; | let wallpapers = import ./pkgs/wallpapers.nix; | ||||||
| in { | in { | ||||||
|  | @ -9,19 +9,20 @@ in { | ||||||
|     enable = true; |     enable = true; | ||||||
|     layout = "us,no"; |     layout = "us,no"; | ||||||
|     xkbOptions = "caps:super, grp:shifts_toggle"; |     xkbOptions = "caps:super, grp:shifts_toggle"; | ||||||
|  | 
 | ||||||
|  |     # Give EXWM permission to control the session. | ||||||
|  |     displayManager.sessionCommands = "${pkgs.xorg.xhost}/bin/xhost +SI:localuser:$USER"; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   # configure desktop environment: |   # Configure desktop environment: | ||||||
|   services.xserver.windowManager.i3 = { |   services.xserver.windowManager.session = lib.singleton { | ||||||
|     enable = true; |     name = "exwm"; | ||||||
|     configFile = "/etc/i3/config"; |     start = '' | ||||||
|  |       ${pkgs.emacs}/bin/emacs --daemon -f exwm-enable | ||||||
|  |       emacsclient -c | ||||||
|  |     ''; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   services.compton.enable = true; |  | ||||||
|   # this should be the default! in fact, it will soon be: |  | ||||||
|   # https://github.com/NixOS/nixpkgs/pull/30486 |  | ||||||
|   services.compton.backend = "xrender"; |  | ||||||
| 
 |  | ||||||
|   # Configure Redshift for Oslo |   # Configure Redshift for Oslo | ||||||
|   services.redshift = { |   services.redshift = { | ||||||
|     enable = true; |     enable = true; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue