feat: add zed-editor wrapped in FHS compliant environment
feat: various other tweaks
This commit is contained in:
		
							parent
							
								
									32ab43f7dd
								
							
						
					
					
						commit
						067bc992b6
					
				
					 10 changed files with 99 additions and 54 deletions
				
			
		|  | @ -1,6 +1,6 @@ | ||||||
| # nix-config | # nix-config | ||||||
| 
 | 
 | ||||||
| Jo's absolutely insane NixOS configuration - as of july 2024 | Jo's absolutely insane NixOS configuration - as of August 2024 | ||||||
| 
 | 
 | ||||||
| ## Deployment | ## Deployment | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										24
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										24
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							|  | @ -2,11 +2,11 @@ | ||||||
|   "nodes": { |   "nodes": { | ||||||
|     "catppuccin": { |     "catppuccin": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1721784420, |         "lastModified": 1724469296, | ||||||
|         "narHash": "sha256-bgF6fN4Qgk7NErFKGuuqWXcLORsiykTYyqMUFRiAUBY=", |         "narHash": "sha256-p3R4LUNk6gC+fTKRUm9ByXaoRIocnQMwVuJSIxECQ8o=", | ||||||
|         "owner": "catppuccin", |         "owner": "catppuccin", | ||||||
|         "repo": "nix", |         "repo": "nix", | ||||||
|         "rev": "8bdb55cc1c13f572b6e4307a3c0d64f1ae286a4f", |         "rev": "874e668ddaf3687e8d38ccd0188a641ffefe1cfb", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  | @ -70,11 +70,11 @@ | ||||||
|     }, |     }, | ||||||
|     "hardware": { |     "hardware": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1722332872, |         "lastModified": 1724878143, | ||||||
|         "narHash": "sha256-2xLM4sc5QBfi0U/AANJAW21Bj4ZX479MHPMPkB+eKBU=", |         "narHash": "sha256-UjpKo92iZ25M05kgSOw/Ti6VZwpgdlOa73zHj8OcaDk=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixos-hardware", |         "repo": "nixos-hardware", | ||||||
|         "rev": "14c333162ba53c02853add87a0000cbd7aa230c2", |         "rev": "95c3dfe6ef2e96ddc1ccdd7194e3cda02ca9a8ef", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  | @ -91,11 +91,11 @@ | ||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1722321190, |         "lastModified": 1725180166, | ||||||
|         "narHash": "sha256-WeVWVRqkgrbLzmk6FfJoloJ7Xe7HWD27Pv950IUG2kI=", |         "narHash": "sha256-fzssXuGR/mCeGbzM1ExaTqDz7QDGta3WA4jJsZyRruo=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "home-manager", |         "repo": "home-manager", | ||||||
|         "rev": "4fcd54df7cbb1d79cbe81209909ee8514d6b17a4", |         "rev": "471e3eb0a114265bcd62d11d58ba8d3421ee68eb", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  | @ -122,11 +122,11 @@ | ||||||
|     }, |     }, | ||||||
|     "nixpkgs": { |     "nixpkgs": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1722185531, |         "lastModified": 1725103162, | ||||||
|         "narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=", |         "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", | ||||||
|         "owner": "nixos", |         "owner": "nixos", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d", |         "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  |  | ||||||
|  | @ -24,6 +24,11 @@ | ||||||
| 
 | 
 | ||||||
|   # Use `dconf watch /` to track stateful changes you are doing, then set them here. |   # Use `dconf watch /` to track stateful changes you are doing, then set them here. | ||||||
|   dconf.settings = { |   dconf.settings = { | ||||||
|  |     "org/gnome/desktop/background" = { | ||||||
|  |       picture-uri = lib.snowfall.fs.get-file "resources/wallpapers/maid_in_forest_with_lantern.jpg"; | ||||||
|  |       picture-uri-dark = lib.snowfall.fs.get-file "resources/wallpapers/maid_in_forest_with_lantern.jpg"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|     "org/gnome/shell" = { |     "org/gnome/shell" = { | ||||||
|       favorite-apps = [ |       favorite-apps = [ | ||||||
|         "org.gnome.Nautilus.desktop" |         "org.gnome.Nautilus.desktop" | ||||||
|  |  | ||||||
|  | @ -18,7 +18,7 @@ | ||||||
|   # All other arguments come from the home home. |   # All other arguments come from the home home. | ||||||
|   config, |   config, | ||||||
|   ... |   ... | ||||||
| }: { | }: with lib; with lib.${namespace}; { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./apps/gnome.nix |     ./apps/gnome.nix | ||||||
|   ]; |   ]; | ||||||
|  | @ -43,6 +43,8 @@ | ||||||
|     lunar-client |     lunar-client | ||||||
|     steam |     steam | ||||||
|     g4music |     g4music | ||||||
|  |     blanket | ||||||
|  |     bitwarden-desktop | ||||||
| 
 | 
 | ||||||
|     ### Development |     ### Development | ||||||
|     avra |     avra | ||||||
|  | @ -51,8 +53,12 @@ | ||||||
|     git |     git | ||||||
|     nodejs_22 |     nodejs_22 | ||||||
|     bun |     bun | ||||||
|     forge-sparks |  | ||||||
|     devenv |     devenv | ||||||
|  |     zed-editor | ||||||
|  | 
 | ||||||
|  |     ### Rust development specific | ||||||
|  |     rustup | ||||||
|  |     jetbrains.rust-rover | ||||||
| 
 | 
 | ||||||
|     ### Work |     ### Work | ||||||
|     teams-for-linux |     teams-for-linux | ||||||
|  | @ -61,9 +67,11 @@ | ||||||
|     ### Notes & Organisation |     ### Notes & Organisation | ||||||
|     obsidian |     obsidian | ||||||
| 
 | 
 | ||||||
|     ### Backups & Synchronization |     ### Virtual Reality | ||||||
|     celeste |     sidequest | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|  |   puzzlevision.apps.zed-editor.enable = true; | ||||||
|  | 
 | ||||||
|   home.stateVersion = "24.05"; |   home.stateVersion = "24.05"; | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										35
									
								
								modules/home/apps/development/zed-editor.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								modules/home/apps/development/zed-editor.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,35 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   inputs, | ||||||
|  | 
 | ||||||
|  |   namespace, # The flake namespace, set in flake.nix. If not set, defaults to "internal". | ||||||
|  |   home, # The home architecture for this host (eg. `x86_64-linux`). | ||||||
|  |   target, # The Snowfall Lib target for this home (eg. `x86_64-home`). | ||||||
|  |   format, # A normalized name for the home target (eg. `home`). | ||||||
|  |   virtual, # A boolean to determine whether this home is a virtual target using nixos-generators. | ||||||
|  |   host, # The host name for this home. | ||||||
|  | 
 | ||||||
|  |   config, | ||||||
|  |   ... | ||||||
|  | }: with lib; with lib.${namespace}; | ||||||
|  | let | ||||||
|  |     cfg = config.${namespace}.apps.zed-editor; | ||||||
|  | 
 | ||||||
|  |     zed-fhs = pkgs.buildFHSUserEnv { | ||||||
|  |         name = "zed"; | ||||||
|  |         targetPkgs = pkgs: | ||||||
|  |         with pkgs; [ | ||||||
|  |             zed-editor | ||||||
|  |         ]; | ||||||
|  |         runScript = "zed"; | ||||||
|  |     }; | ||||||
|  | in { | ||||||
|  |     options.${namespace}.apps.zed-editor = { enable = mkEnableOption "zed-editor"; }; | ||||||
|  | 
 | ||||||
|  |     home.packages = [zed-fhs]; | ||||||
|  | 
 | ||||||
|  |     config = mkIf cfg.enable { | ||||||
|  |         home.packages = [zed-fhs]; | ||||||
|  |     }; | ||||||
|  | } | ||||||
|  | @ -26,34 +26,39 @@ | ||||||
|       icon = { |       icon = { | ||||||
|         enable = true; |         enable = true; | ||||||
|         accent = "blue"; |         accent = "blue"; | ||||||
|         flavor = "frappe"; |         flavor = "macchiato"; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     theme = { |     theme = { | ||||||
|       name = "Colloid-Dark-Catppuccin"; |       #name = "Colloid-Dark-Catppuccin"; | ||||||
|       package = pkgs.colloid-gtk-theme.override { |       #package = pkgs.colloid-gtk-theme.override { | ||||||
|         themeVariants = ["default"]; |         #themeVariants = ["default"]; | ||||||
|         colorVariants = ["dark"]; |         #colorVariants = ["dark"]; | ||||||
|         sizeVariants = ["standard"]; |         #sizeVariants = ["standard"]; | ||||||
|         tweaks = ["catppuccin"]; |         #tweaks = ["catppuccin"]; | ||||||
|  |       #}; | ||||||
|  | 
 | ||||||
|  |       name = "Graphite-teal-Dark-nord"; | ||||||
|  |       package = pkgs.graphite-gtk-theme.override { | ||||||
|  |           themeVariants = ["blue" "teal"]; | ||||||
|  |           colorVariants = ["dark"]; | ||||||
|  |           sizeVariants = ["standard"]; | ||||||
|  |           tweaks = ["nord"]; | ||||||
|  |           withGrub = true; | ||||||
|  |           grubScreens = ["1080p"]; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   dconf.settings = { |   dconf.settings = { | ||||||
|     "org/gnome/desktop/background" = { |  | ||||||
|       picture-uri = lib.snowfall.fs.get-file "resources/wallpapers/pond_sidewalk_dusk.jpg"; |  | ||||||
|       picture-uri-dark = lib.snowfall.fs.get-file "resources/wallpapers/pond_sidewalk_dusk.jpg"; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     "org/gnome/shell/extensions/user-theme" = { |     "org/gnome/shell/extensions/user-theme" = { | ||||||
|       name = "Colloid-Dark-Catppuccin"; |       name = "Graphite-teal-Dark-nord"; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     "org/gnome/desktop/interface" = { |     "org/gnome/desktop/interface" = { | ||||||
|       color-scheme = "prefer-dark"; |       color-scheme = "prefer-dark"; | ||||||
|       cursor-theme = "catppuccin-frappe-blue-cursors"; |       cursor-theme = "catppuccin-macchiato-blue-cursors"; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  | @ -25,21 +25,23 @@ in { | ||||||
|     services.xserver.displayManager.gdm.enable = true; |     services.xserver.displayManager.gdm.enable = true; | ||||||
|     services.xserver.desktopManager.gnome.enable = true; |     services.xserver.desktopManager.gnome.enable = true; | ||||||
| 
 | 
 | ||||||
|     environment.gnome.excludePackages =  (with pkgs; [ |     environment.gnome.excludePackages = with pkgs; [ | ||||||
|       gnome-tour |       gnome-tour | ||||||
|       gedit |       gedit | ||||||
|       cheese |       cheese | ||||||
|       geary |       geary | ||||||
|       yelp # Help view |       yelp # Help view | ||||||
|       epiphany # Gnome web |       epiphany # Gnome web | ||||||
|     ]) ++ (with pkgs.gnome; [ |       gnome-console | ||||||
|  |       gnome-terminal | ||||||
|       gnome-music |       gnome-music | ||||||
|       tali # Poker game |       tali # Poker game | ||||||
|       iagno # Go game |       iagno # Go game | ||||||
|       hitori # Sudoku game |       hitori # Sudoku game | ||||||
|       gnome-contacts |       gnome-contacts | ||||||
|       gnome-initial-setup |       gnome-initial-setup | ||||||
|     ]); |       gnome-system-monitor | ||||||
|  |     ]; | ||||||
| 
 | 
 | ||||||
|     programs.dconf.enable = true; |     programs.dconf.enable = true; | ||||||
| 
 | 
 | ||||||
|  | @ -52,6 +54,8 @@ in { | ||||||
| 
 | 
 | ||||||
|     environment.systemPackages = with pkgs; [ |     environment.systemPackages = with pkgs; [ | ||||||
|       gnome-tweaks |       gnome-tweaks | ||||||
|  |       blackbox-terminal # Terminal app | ||||||
|  |       resources # System resource manager | ||||||
|     ]; |     ]; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										
											BIN
										
									
								
								resources/wallpapers/accent-color-wallpaper.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								resources/wallpapers/accent-color-wallpaper.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 147 KiB | 
							
								
								
									
										
											BIN
										
									
								
								resources/wallpapers/maid_in_forest_with_lantern.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								resources/wallpapers/maid_in_forest_with_lantern.jpg
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 5.2 MiB | 
|  | @ -29,23 +29,6 @@ with lib.${namespace}; | ||||||
|     inputs.hardware.nixosModules.common-pc-laptop-ssd |     inputs.hardware.nixosModules.common-pc-laptop-ssd | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   nixpkgs = { |  | ||||||
|     overlays = [ |  | ||||||
|       (final: prev: { |  | ||||||
|         linuxPackages_latest = prev.linuxPackages_latest.extend (lpfinal: lpprev: { |  | ||||||
|           rtl8821ce = lpprev.rtl8821ce.overrideAttrs ({src, ...}: { |  | ||||||
|             version = "${lpprev.kernel.version}-unstable-2024-03-26"; |  | ||||||
|             src = final.fetchFromGitHub { |  | ||||||
|               inherit (src) owner repo; |  | ||||||
|               rev = "f119398d868b1a3395f40c1df2e08b57b2c882cd"; |  | ||||||
|               hash = "sha256-EfpKa5ZRBVM5T8EVim3cVX1PP1UM9CyG6tN5Br8zYww="; |  | ||||||
|             }; |  | ||||||
|           }); |  | ||||||
|         }); |  | ||||||
|       }) |  | ||||||
|     ]; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   nix = { |   nix = { | ||||||
|     settings = { |     settings = { | ||||||
|       auto-optimise-store = true; |       auto-optimise-store = true; | ||||||
|  | @ -121,6 +104,9 @@ with lib.${namespace}; | ||||||
| 
 | 
 | ||||||
|   # Set console keymap. |   # Set console keymap. | ||||||
|   console.keyMap = "de"; |   console.keyMap = "de"; | ||||||
|  |   services.xserver = { | ||||||
|  |     xkb.layout = "de"; | ||||||
|  |   }; | ||||||
| 
 | 
 | ||||||
|   # Enable the power-profiles-daemon service for improved battery management. |   # Enable the power-profiles-daemon service for improved battery management. | ||||||
|   services.power-profiles-daemon.enable = true; |   services.power-profiles-daemon.enable = true; | ||||||
|  | @ -182,7 +168,7 @@ with lib.${namespace}; | ||||||
| 
 | 
 | ||||||
|   # Configure home-manager |   # Configure home-manager | ||||||
|   home-manager = { |   home-manager = { | ||||||
|     backupFileExtension = "homeManagerBackup"; |     backupFileExtension = "homeManagerBackupFile69"; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   # Provide users with some sane default packages. |   # Provide users with some sane default packages. | ||||||
|  | @ -190,6 +176,8 @@ with lib.${namespace}; | ||||||
|     ### General |     ### General | ||||||
|     nano |     nano | ||||||
|     firefox |     firefox | ||||||
|  |     chromium | ||||||
|  |     lutris | ||||||
|     vlc |     vlc | ||||||
|     spotify |     spotify | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue