Compare commits
	
		
			No commits in common. "c3c61ce654d828e0766c1b826888d7bab07f31ac" and "2c0ae154179505c90044bee90e0e7e0f85e2a767" have entirely different histories.
		
	
	
		
			c3c61ce654
			...
			2c0ae15417
		
	
		
							
								
								
									
										108
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										108
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							| @ -5,11 +5,11 @@ | |||||||
|         "fromYaml": "fromYaml" |         "fromYaml": "fromYaml" | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1745523430, |         "lastModified": 1732200724, | ||||||
|         "narHash": "sha256-EAYWV+kXbwsH+8G/8UtmcunDeKwLwSOyfcmzZUkWE/c=", |         "narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=", | ||||||
|         "owner": "SenchoPens", |         "owner": "SenchoPens", | ||||||
|         "repo": "base16.nix", |         "repo": "base16.nix", | ||||||
|         "rev": "58bfe2553d937d8af0564f79d5b950afbef69717", |         "rev": "153d52373b0fb2d343592871009a286ec8837aec", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -70,11 +70,11 @@ | |||||||
|     "firefox-gnome-theme": { |     "firefox-gnome-theme": { | ||||||
|       "flake": false, |       "flake": false, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1744642301, |         "lastModified": 1743774811, | ||||||
|         "narHash": "sha256-5A6LL7T0lttn1vrKsNOKUk9V0ittdW0VEqh6AtefxJ4=", |         "narHash": "sha256-oiHLDHXq7ymsMVYSg92dD1OLnKLQoU/Gf2F1GoONLCE=", | ||||||
|         "owner": "rafaelmardojai", |         "owner": "rafaelmardojai", | ||||||
|         "repo": "firefox-gnome-theme", |         "repo": "firefox-gnome-theme", | ||||||
|         "rev": "59e3de00f01e5adb851d824cf7911bd90c31083a", |         "rev": "df53a7a31872faf5ca53dd0730038a62ec63ca9e", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -339,11 +339,11 @@ | |||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1746040799, |         "lastModified": 1745340124, | ||||||
|         "narHash": "sha256-osgPX/SzIpkR50vev/rqoTEAVkEcOWXoQXmbzsaI4KU=", |         "narHash": "sha256-zQTOl/JPGjiAQoU1yraCGfPBg7yr4nlHNdbZy8Ebrl4=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "home-manager", |         "repo": "home-manager", | ||||||
|         "rev": "5f217e5a319f6c186283b530f8c975e66c028433", |         "rev": "c9433ae62fbb4bd09609e242569edc3b551e21a9", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -360,11 +360,11 @@ | |||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1746040799, |         "lastModified": 1745198506, | ||||||
|         "narHash": "sha256-osgPX/SzIpkR50vev/rqoTEAVkEcOWXoQXmbzsaI4KU=", |         "narHash": "sha256-0hVbHuqAnZUnnGaBTqNes0P0kfH+KKyup2boWDST0iI=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "home-manager", |         "repo": "home-manager", | ||||||
|         "rev": "5f217e5a319f6c186283b530f8c975e66c028433", |         "rev": "b0cc092405da805da6fa964f5a178343658ceaf0", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -409,11 +409,11 @@ | |||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1746111721, |         "lastModified": 1745161329, | ||||||
|         "narHash": "sha256-Jsn01TrHUZuo2IzeRkcnty+ftBcnHkbtv9NmLwdV9zk=", |         "narHash": "sha256-OEx+1ceH7bONZhxZv+CjoE9CXElL2raz2Zb/9iabWuE=", | ||||||
|         "owner": "doronbehar", |         "owner": "doronbehar", | ||||||
|         "repo": "nix-matlab", |         "repo": "nix-matlab", | ||||||
|         "rev": "07739cc347be4fda69deab66eea68b030e918e89", |         "rev": "751b9ca566a57ad297987937e7873365a034788c", | ||||||
|         "type": "gitlab" |         "type": "gitlab" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -430,11 +430,11 @@ | |||||||
|         "rust-overlay": "rust-overlay" |         "rust-overlay": "rust-overlay" | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1746109800, |         "lastModified": 1745320144, | ||||||
|         "narHash": "sha256-sjDpqdvbQaiA6OAsgLE4niz6hmmCpoUH0cl5zyfu6FI=", |         "narHash": "sha256-Rbw+E3Na694sTPjNSRFHtT1o31eQXO3OLEzM+25kcME=", | ||||||
|         "owner": "lilyinstarlight", |         "owner": "lilyinstarlight", | ||||||
|         "repo": "nixos-cosmic", |         "repo": "nixos-cosmic", | ||||||
|         "rev": "9fe1aa7b6a1043003b38f36626dd29b52247d720", |         "rev": "84d7c1002734f21f150c641da095c5ce43f1cb98", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -445,11 +445,11 @@ | |||||||
|     }, |     }, | ||||||
|     "nixpkgs": { |     "nixpkgs": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1745930157, |         "lastModified": 1744932701, | ||||||
|         "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", |         "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", |         "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -461,11 +461,11 @@ | |||||||
|     }, |     }, | ||||||
|     "nixpkgs-stable": { |     "nixpkgs-stable": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1746055187, |         "lastModified": 1744440957, | ||||||
|         "narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=", |         "narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5", |         "rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -477,11 +477,11 @@ | |||||||
|     }, |     }, | ||||||
|     "nixpkgs_2": { |     "nixpkgs_2": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1746061036, |         "lastModified": 1744868846, | ||||||
|         "narHash": "sha256-OxYwCGJf9VJ2KnUO+w/hVJVTjOgscdDg/lPv8Eus07Y=", |         "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", | ||||||
|         "owner": "nixos", |         "owner": "nixos", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "3afd19146cac33ed242fc0fc87481c67c758a59e", |         "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -493,11 +493,11 @@ | |||||||
|     }, |     }, | ||||||
|     "nixpkgs_3": { |     "nixpkgs_3": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1746061036, |         "lastModified": 1744868846, | ||||||
|         "narHash": "sha256-OxYwCGJf9VJ2KnUO+w/hVJVTjOgscdDg/lPv8Eus07Y=", |         "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "3afd19146cac33ed242fc0fc87481c67c758a59e", |         "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -509,11 +509,11 @@ | |||||||
|     }, |     }, | ||||||
|     "nixpkgs_4": { |     "nixpkgs_4": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1745930157, |         "lastModified": 1743583204, | ||||||
|         "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", |         "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", |         "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -530,11 +530,11 @@ | |||||||
|         "nuschtosSearch": "nuschtosSearch" |         "nuschtosSearch": "nuschtosSearch" | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1746101723, |         "lastModified": 1745324162, | ||||||
|         "narHash": "sha256-loxT2bAglD3w8XDx+7huMXQHbg07yHHHCNiCiVWneqI=", |         "narHash": "sha256-Sjb/LvtWpPtSXacjJCTrLAmWtXNJd0SWxO3PzTvD7Tc=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "nixvim", |         "repo": "nixvim", | ||||||
|         "rev": "c91753bbe57781e08226829b9e354facd50caf1b", |         "rev": "60638182b8d1b0fe13631d02eafaf8903499ee60", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -552,11 +552,11 @@ | |||||||
|         "treefmt-nix": "treefmt-nix" |         "treefmt-nix": "treefmt-nix" | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1746118004, |         "lastModified": 1745342999, | ||||||
|         "narHash": "sha256-E5WQwA602g5qMnZDmgV7EqDAwyg4PqnoeMJAkDD1yak=", |         "narHash": "sha256-50TqkAv1ma3zI8TwekiVOdxBD+fyJsEeBHRgQtmSktk=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "NUR", |         "repo": "NUR", | ||||||
|         "rev": "9a4aaf927694321aeedfec791dfcc7850f8503cd", |         "rev": "71cefa751b886862229c679aab1c2b0fab837052", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -575,11 +575,11 @@ | |||||||
|         "treefmt-nix": "treefmt-nix_2" |         "treefmt-nix": "treefmt-nix_2" | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1746056780, |         "lastModified": 1743884191, | ||||||
|         "narHash": "sha256-/emueQGaoT4vu0QjU9LDOG5roxRSfdY0K2KkxuzazcM=", |         "narHash": "sha256-foVcginhVvjg8ZnTzY5wwMeZ4wjJ8yX66PW5kgyivPE=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "NUR", |         "repo": "NUR", | ||||||
|         "rev": "d476cd0972dd6242d76374fcc277e6735715c167", |         "rev": "fde90f5f52e13eed110a0e53a2818a2b09e4d37c", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -631,11 +631,11 @@ | |||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1746067100, |         "lastModified": 1745289264, | ||||||
|         "narHash": "sha256-6JeEbboDvRjLwB9kzCnmWj+f+ZnMtKOe5c2F1VBpaTs=", |         "narHash": "sha256-7nt+UJ7qaIUe2J7BdnEEph9n2eKEwxUwKS/QIr091uA=", | ||||||
|         "owner": "oxalica", |         "owner": "oxalica", | ||||||
|         "repo": "rust-overlay", |         "repo": "rust-overlay", | ||||||
|         "rev": "026e8fedefd6b167d92ed04b195c658d95ffc7a5", |         "rev": "3b7171858c20d5293360042936058fb0c4cb93a9", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -666,11 +666,11 @@ | |||||||
|         "tinted-zed": "tinted-zed" |         "tinted-zed": "tinted-zed" | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1746111784, |         "lastModified": 1745332124, | ||||||
|         "narHash": "sha256-94MEscICizhXBJvP5o6f9lcY2vWXTSg1XKZZbS19Yso=", |         "narHash": "sha256-2lRWKSUlKTsfqLhyxXsxKcoPQG5tFQ3GbTne8/vVCQY=", | ||||||
|         "owner": "danth", |         "owner": "danth", | ||||||
|         "repo": "stylix", |         "repo": "stylix", | ||||||
|         "rev": "716e6669a9840e4ba0d8deb6ab1d016ef01c475a", |         "rev": "375b1de2424aac1338ee6e8b4ef15976b64b0462", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -761,11 +761,11 @@ | |||||||
|     "tinted-schemes": { |     "tinted-schemes": { | ||||||
|       "flake": false, |       "flake": false, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1744974599, |         "lastModified": 1742851696, | ||||||
|         "narHash": "sha256-Fg+rdGs5FAgfkYNCs74lnl8vkQmiZVdBsziyPhVqrlY=", |         "narHash": "sha256-sR4K+OVFKeUOvNIqcCr5Br7NLxOBEwoAgsIyjsZmb8s=", | ||||||
|         "owner": "tinted-theming", |         "owner": "tinted-theming", | ||||||
|         "repo": "schemes", |         "repo": "schemes", | ||||||
|         "rev": "28c26a621123ad4ebd5bbfb34ab39421c0144bdd", |         "rev": "c37771c4ae8ff1667e27ddcf24991ebeb94a4e77", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -777,11 +777,11 @@ | |||||||
|     "tinted-tmux": { |     "tinted-tmux": { | ||||||
|       "flake": false, |       "flake": false, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1745111349, |         "lastModified": 1743296873, | ||||||
|         "narHash": "sha256-udV+nHdpqgkJI9D0mtvvAzbqubt9jdifS/KhTTbJ45w=", |         "narHash": "sha256-8IQulrb1OBSxMwdKijO9fB70ON//V32dpK9Uioy7FzY=", | ||||||
|         "owner": "tinted-theming", |         "owner": "tinted-theming", | ||||||
|         "repo": "tinted-tmux", |         "repo": "tinted-tmux", | ||||||
|         "rev": "e009f18a01182b63559fb28f1c786eb027c3dee9", |         "rev": "af5152c8d7546dfb4ff6df94080bf5ff54f64e3a", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  | |||||||
| @ -71,10 +71,6 @@ | |||||||
|             sudo = true; |             sudo = true; | ||||||
|             configuration = ./users/jan.nix; |             configuration = ./users/jan.nix; | ||||||
|           }; |           }; | ||||||
|           berg-van-abstractie = { |  | ||||||
|             sudo = false; |  | ||||||
|             configuration = ./users/comp-prog.nix; |  | ||||||
|           }; |  | ||||||
|         }; |         }; | ||||||
|         "vm-audio" = mkConfig "x86_64-linux" ./machines/vm-audio.nix { |         "vm-audio" = mkConfig "x86_64-linux" ./machines/vm-audio.nix { | ||||||
|           local = { |           local = { | ||||||
|  | |||||||
| @ -185,6 +185,7 @@ | |||||||
|         DiscoverableTimeout = 0; |         DiscoverableTimeout = 0; | ||||||
|         AlwaysPairable = true; |         AlwaysPairable = true; | ||||||
|         PairableTimeout = 0; |         PairableTimeout = 0; | ||||||
|  |         ControllerMode = "bredr"; | ||||||
|         FastConnectable = true; |         FastConnectable = true; | ||||||
|         JustWorksRepairing = "always"; |         JustWorksRepairing = "always"; | ||||||
|       }; |       }; | ||||||
|  | |||||||
| @ -58,7 +58,7 @@ in | |||||||
|     programs.dconf.enable = true; |     programs.dconf.enable = true; | ||||||
|     services.libinput.enable = true; |     services.libinput.enable = true; | ||||||
|     networking.firewall = { |     networking.firewall = { | ||||||
|       enable = true; |       enable = mkForce false; | ||||||
|       logRefusedConnections = true; |       logRefusedConnections = true; | ||||||
|       logRefusedPackets = true; |       logRefusedPackets = true; | ||||||
|       logReversePathDrops = true; |       logReversePathDrops = true; | ||||||
| @ -84,7 +84,6 @@ in | |||||||
|       } |       } | ||||||
|     ]; |     ]; | ||||||
|     security.rtkit.enable = true; |     security.rtkit.enable = true; | ||||||
|     security.polkit.enable = true; |  | ||||||
| 
 | 
 | ||||||
|     # TODO: Move to USB module |     # TODO: Move to USB module | ||||||
|     # services.gvfs.enable = true; |     # services.gvfs.enable = true; | ||||||
|  | |||||||
| @ -1,9 +1,4 @@ | |||||||
| { | { config, lib, ... }: | ||||||
|   config, |  | ||||||
|   lib, |  | ||||||
|   pkgs, |  | ||||||
|   ... |  | ||||||
| }: |  | ||||||
| 
 | 
 | ||||||
| with lib; | with lib; | ||||||
| { | { | ||||||
| @ -13,29 +8,11 @@ with lib; | |||||||
| 
 | 
 | ||||||
|   config = mkIf config.modules.grdp.enable { |   config = mkIf config.modules.grdp.enable { | ||||||
|     services.gnome.gnome-remote-desktop.enable = true; |     services.gnome.gnome-remote-desktop.enable = true; | ||||||
|     environment.systemPackages = with pkgs; [ |  | ||||||
|       gnome-remote-desktop |  | ||||||
|       gnome-control-center |  | ||||||
|       gnome-session |  | ||||||
|       gnome-shell |  | ||||||
|       gnome-settings-daemon |  | ||||||
|       gdm |  | ||||||
|     ]; |  | ||||||
|     systemd.services."gnome-remote-desktop".wantedBy = [ "graphical.target" ]; |     systemd.services."gnome-remote-desktop".wantedBy = [ "graphical.target" ]; | ||||||
|     networking.firewall = { |     networking.firewall = { | ||||||
|       allowedTCPPorts = [ 3389 ]; |       allowedTCPPorts = [ 3389 ]; | ||||||
|       allowedUDPPorts = [ 3389 ]; |       allowedUDPPorts = [ 3389 ]; | ||||||
|     }; |     }; | ||||||
|     services.xserver.displayManager.gdm.enable = true; |  | ||||||
|     modules.greetd.enable = mkForce false; |  | ||||||
| 
 |  | ||||||
|     # security.polkit.extraConfig = '' |  | ||||||
|     #   polkit.addRule(function(action, subject) { |  | ||||||
|     #     if (action.id == "org.gnome.controlcenter.remote-session-helper" && |  | ||||||
|     #         subject.isInGroup("wheel")) { |  | ||||||
|     #       return polkit.Result.YES; |  | ||||||
|     #     } |  | ||||||
|     #   });''; |  | ||||||
|     # programs.dconf.profiles.user.databases = [ |     # programs.dconf.profiles.user.databases = [ | ||||||
|     #   { |     #   { | ||||||
|     #     settings = with lib.gvariant; { |     #     settings = with lib.gvariant; { | ||||||
|  | |||||||
| @ -54,7 +54,8 @@ in | |||||||
| 
 | 
 | ||||||
|         # Theming |         # Theming | ||||||
|         userChrome = readFile ( |         userChrome = readFile ( | ||||||
|           pkgs.replaceVars ./userChrome.css { |           pkgs.substituteAll { | ||||||
|  |             src = ./userChrome.css; | ||||||
|             colors = config.desktop.theming.colorsCSS; |             colors = config.desktop.theming.colorsCSS; | ||||||
|           } |           } | ||||||
|         ); |         ); | ||||||
|  | |||||||
| @ -11,30 +11,26 @@ let | |||||||
| in | in | ||||||
| { | { | ||||||
|   options.desktop.theming.background = { |   options.desktop.theming.background = { | ||||||
|     image = { |     path = mkOption { | ||||||
|       url = mkOption { |       type = types.str; | ||||||
|         type = types.str; |       default = "minimal/a_flower_on_a_dark_background.png"; | ||||||
|         default = "https://raw.githubusercontent.com/dharmx/walls/refs/heads/main/digital/a_drawing_of_a_spider_on_a_white_surface.png"; |       description = "Path to the background image."; | ||||||
|         description = "URL to the background image."; |  | ||||||
|       }; |  | ||||||
|       hash = mkOption { |  | ||||||
|         type = types.str; |  | ||||||
|         default = "sha256-eCEjM7R9yeHNhZZtvHjrgkfwT25JA7FeMoVwnQ887CQ="; |  | ||||||
|         description = "SHA256 hash of the background image."; |  | ||||||
|       }; |  | ||||||
|     }; |     }; | ||||||
|     themed = mkEnableOption "themed background"; |     themed = mkEnableOption "themed background"; | ||||||
|     inverted = mkEnableOption "invert background"; |     invert = mkEnableOption "invert background"; | ||||||
|  |     src = mkOption { | ||||||
|  |       default = pkgs.fetchFromGitHub { | ||||||
|  |         owner = "dharmx"; | ||||||
|  |         repo = "walls"; | ||||||
|  |         rev = "6bf4d733ebf2b484a37c17d742eb47e5139e6a14"; | ||||||
|  |         sha256 = "sha256-M96jJy3L0a+VkJ+DcbtrRAquwDWaIG9hAUxenr/TcQU="; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   config = |   config = | ||||||
|     with pkgs; |     with pkgs; | ||||||
|     let |     let | ||||||
|       src = pkgs.fetchurl { |  | ||||||
|         url = cfg.image.url; |  | ||||||
|         hash = cfg.image.hash; |  | ||||||
|       }; |  | ||||||
| 
 |  | ||||||
|       theme = writeTextFile { |       theme = writeTextFile { | ||||||
|         name = "gowall-theme"; |         name = "gowall-theme"; | ||||||
|         text = builtins.toJSON { |         text = builtins.toJSON { | ||||||
| @ -65,56 +61,45 @@ in | |||||||
|         executable = true; |         executable = true; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       fileExtension = |  | ||||||
|         name: |  | ||||||
|         let |  | ||||||
|           parts = splitString "." name; |  | ||||||
|         in |  | ||||||
|         if length parts > 1 then lists.last parts else ""; |  | ||||||
| 
 |  | ||||||
|       fileName = |  | ||||||
|         name: |  | ||||||
|         let |  | ||||||
|           parts = splitString "/" name; |  | ||||||
|         in |  | ||||||
|         if length parts > 1 then lists.last parts else name; |  | ||||||
| 
 |  | ||||||
|       image = fileName cfg.image.url; |  | ||||||
| 
 |  | ||||||
|       background-themed = stdenv.mkDerivation { |       background-themed = stdenv.mkDerivation { | ||||||
|         name = "background-themed-1.0.0"; |         name = "background-themed-1.0.0"; | ||||||
|         src = src; |         src = cfg.src; | ||||||
| 
 | 
 | ||||||
|         buildInputs = [ |         buildInputs = [ | ||||||
|           gowall |           gowall | ||||||
|           imagemagick |           imagemagick | ||||||
|           (writeShellScriptBin "xdg-open" "") |           (writeShellScriptBin "xdg-open" "") | ||||||
|           tree |  | ||||||
|         ]; |         ]; | ||||||
| 
 | 
 | ||||||
|         unpackPhase = '' |         buildPhase = | ||||||
|           cp ${src} ./${image} |           if cfg.themed then | ||||||
|           chmod u+w ./${image} |             if cfg.invert then | ||||||
|         ''; |               '' | ||||||
|  |                 cp ${theme} ./theme.json | ||||||
| 
 | 
 | ||||||
|         buildPhase = '' |                 export HOME=$PWD | ||||||
|           ${optionalString cfg.inverted '' |                 convert ./${cfg.path} -channel RGB -negate ./${cfg.path} | ||||||
|             convert ./${image} -channel RGB -negate ./${image} |  | ||||||
|           ''} |  | ||||||
|           ${optionalString cfg.themed '' |  | ||||||
|             cp ${theme} ./theme.json |  | ||||||
| 
 | 
 | ||||||
|             export HOME=$PWD |                 gowall convert ./${cfg.path} -o themed -t ./theme.json | ||||||
|  |                 mv Pictures/gowall/themed.* ./ | ||||||
|  |                 mogrify -format png themed.* | ||||||
|  |               '' | ||||||
|  |             else | ||||||
|  |               '' | ||||||
|  |                 cp ${theme} ./theme.json | ||||||
| 
 | 
 | ||||||
|             gowall convert ./${image} --output themed -t ./theme.json |                 export HOME=$PWD | ||||||
|             tree | 
 | ||||||
|             mv ./themed/*.* ./ |                 gowall convert ./${cfg.path} -o themed -t ./theme.json | ||||||
|           ''} |                 mv Pictures/gowall/themed.* ./ | ||||||
|           mv ./${image} themed.${fileExtension image} |                 mogrify -format png themed.* | ||||||
|           ${optionalString (fileExtension image != "png") '' |               '' | ||||||
|             mogrify -format png themed.* |           else | ||||||
|           ''} |             '' | ||||||
|         ''; |               cp ${cfg.path} ./themed | ||||||
|  | 
 | ||||||
|  |               mogrify -format png themed | ||||||
|  |             ''; | ||||||
| 
 | 
 | ||||||
|         installPhase = '' |         installPhase = '' | ||||||
|           install -Dm644 -t $out themed.png |           install -Dm644 -t $out themed.png | ||||||
|  | |||||||
| @ -110,11 +110,8 @@ in | |||||||
|     # Configure qt theme |     # Configure qt theme | ||||||
|     qt = mkIf config.desktop.enable { |     qt = mkIf config.desktop.enable { | ||||||
|       enable = true; |       enable = true; | ||||||
|       platformTheme.name = "gtk"; |       platformTheme.name = "adwaita"; | ||||||
|       style = { |       style.name = if cfg.darkMode then "adwaita-dark" else "adwaita-light"; | ||||||
|         name = if cfg.darkMode then "adwaita-dark" else "adwaita-light"; |  | ||||||
|         package = pkgs.adwaita-qt; |  | ||||||
|       }; |  | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     # Configure gtk theme |     # Configure gtk theme | ||||||
|  | |||||||
| @ -35,8 +35,6 @@ let | |||||||
| 
 | 
 | ||||||
|   fontModules = [ |   fontModules = [ | ||||||
|     # Import all fonts |     # Import all fonts | ||||||
|     ./fonts/adwaita-mono.nix |  | ||||||
|     ./fonts/adwaita-sans.nix |  | ||||||
|     ./fonts/cozette-vector.nix |     ./fonts/cozette-vector.nix | ||||||
|     ./fonts/cozette.nix |     ./fonts/cozette.nix | ||||||
|     ./fonts/dejavu-sans.nix |     ./fonts/dejavu-sans.nix | ||||||
| @ -192,8 +190,8 @@ in | |||||||
|       { |       { | ||||||
|         enable = true; |         enable = true; | ||||||
|         # TODO: Toggles |         # TODO: Toggles | ||||||
|         gtk3.extraCss = mkIf config.modules.river.enable disableCSD; |         gtk3.extraCss = disableCSD; | ||||||
|         gtk4.extraCss = mkIf config.modules.river.enable disableCSD; |         gtk4.extraCss = disableCSD; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|     # TODO: Make cursors configurable using modules. |     # TODO: Make cursors configurable using modules. | ||||||
|  | |||||||
| @ -1,8 +0,0 @@ | |||||||
| { pkgs, ... }: |  | ||||||
| 
 |  | ||||||
| { |  | ||||||
|   name = "Adwaita Mono"; |  | ||||||
|   package = pkgs.adwaita-fonts; |  | ||||||
|   recommendedSize = 12; |  | ||||||
|   fallbackFonts = [ ]; |  | ||||||
| } |  | ||||||
| @ -1,8 +0,0 @@ | |||||||
| { pkgs, ... }: |  | ||||||
| 
 |  | ||||||
| { |  | ||||||
|   name = "Adwaita Sans"; |  | ||||||
|   package = pkgs.adwaita-fonts; |  | ||||||
|   recommendedSize = 12; |  | ||||||
|   fallbackFonts = [ ]; |  | ||||||
| } |  | ||||||
| @ -11,7 +11,7 @@ let | |||||||
| 
 | 
 | ||||||
|   my-mathematica = pkgs.mathematica.override { |   my-mathematica = pkgs.mathematica.override { | ||||||
|     # TODO: Just use a generic name for the installer? |     # TODO: Just use a generic name for the installer? | ||||||
|     # source = ./Wolfram_14.2.1_LIN_Bndl.sh; |     source = ./Wolfram_14.1.0_LIN_Bndl.sh; | ||||||
|   }; |   }; | ||||||
| in | in | ||||||
| { | { | ||||||
|  | |||||||
| @ -15,11 +15,5 @@ in | |||||||
|   config = mkIf cfg.enable { |   config = mkIf cfg.enable { | ||||||
|     # TODO: Move to audioling |     # TODO: Move to audioling | ||||||
|     home.packages = with pkgs; [ feishin ]; |     home.packages = with pkgs; [ feishin ]; | ||||||
| 
 |  | ||||||
|     # TODO: Remove exception once no longer required by feishin |  | ||||||
|     nixpkgs.config.permittedInsecurePackages = [ |  | ||||||
|       "electron-33.4.11" |  | ||||||
|       "freeimage-3.18.0-unstable-2024-04-18" |  | ||||||
|     ]; |  | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  | |||||||
| @ -44,7 +44,7 @@ in | |||||||
|         listchars = "tab:»┈«,trail:·,extends:→,precedes:←,nbsp:␣"; |         listchars = "tab:»┈«,trail:·,extends:→,precedes:←,nbsp:␣"; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       diagnostic.settings = { |       diagnostics = { | ||||||
|         enable = true; |         enable = true; | ||||||
|         signs = true; |         signs = true; | ||||||
|         underline = true; |         underline = true; | ||||||
|  | |||||||
| @ -1,172 +0,0 @@ | |||||||
| { |  | ||||||
|   lib, |  | ||||||
|   config, |  | ||||||
|   pkgs, |  | ||||||
|   ... |  | ||||||
| }: |  | ||||||
| 
 |  | ||||||
| { |  | ||||||
|   home.stateVersion = "24.11"; |  | ||||||
| 
 |  | ||||||
|   home.packages = with pkgs; [ |  | ||||||
|     # Desktop environment |  | ||||||
|     firefox |  | ||||||
|     gnome-text-editor |  | ||||||
|     gnome-calculator |  | ||||||
|     gnome-console |  | ||||||
|     gnome-logs |  | ||||||
|     gnome-system-monitor |  | ||||||
|     nautilus |  | ||||||
|     adwaita-icon-theme |  | ||||||
|     gnome-control-center |  | ||||||
|     gnome-shell-extensions |  | ||||||
|     glib |  | ||||||
|     gnome-menus |  | ||||||
|     gtk3.out |  | ||||||
|     xdg-user-dirs |  | ||||||
|     xdg-user-dirs-gtk |  | ||||||
|     cantarell-fonts |  | ||||||
|     dejavu_fonts |  | ||||||
|     source-code-pro |  | ||||||
|     source-sans |  | ||||||
|     gnome-session |  | ||||||
|     adwaita-fonts |  | ||||||
| 
 |  | ||||||
|     # Coding tools |  | ||||||
|     vim-full |  | ||||||
|     nano |  | ||||||
|     neovim |  | ||||||
|     emacs |  | ||||||
|     gedit |  | ||||||
|     geany |  | ||||||
|     kdePackages.kate |  | ||||||
|     vscode |  | ||||||
|     python310 |  | ||||||
|     jdk17 |  | ||||||
|     gcc |  | ||||||
|     lldb |  | ||||||
|     pypy310 |  | ||||||
| 
 |  | ||||||
|     # Runners |  | ||||||
|     (writeShellScriptBin "mygcc" "gcc -std=gnu17 -x c -Wall -O2 -static -pipe -o $1 \"$1.c\" -lm") |  | ||||||
|     (writeShellScriptBin "mygpp" "g++ -std=gnu++20 -x c++ -Wall -O2 -static -pipe -o $1 \"$1.cpp\" -lm") |  | ||||||
|     (writeShellScriptBin "mypython" "pypy3 $@") |  | ||||||
|     (writeShellScriptBin "myjavac" "javac -encoding UTF-8 -sourcepath . -d . $@") |  | ||||||
|     (writeShellScriptBin "mykotlinc" "kotlinc -d . $@") |  | ||||||
|   ]; |  | ||||||
| 
 |  | ||||||
|   programs.vscode = { |  | ||||||
|     enable = true; |  | ||||||
|     mutableExtensionsDir = false; |  | ||||||
|     profiles.default = { |  | ||||||
|       extensions = with pkgs.vscode-extensions; [ |  | ||||||
|         ms-vscode.cpptools |  | ||||||
|         ms-dotnettools.csharp |  | ||||||
|         formulahendry.code-runner |  | ||||||
|         vscjava.vscode-java-debug |  | ||||||
|         dbaeumer.vscode-eslint |  | ||||||
|         redhat.java |  | ||||||
|         ms-python.python |  | ||||||
|       ]; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   programs.firefox = { |  | ||||||
|     enable = true; |  | ||||||
|     profiles.default = { |  | ||||||
|       settings = { |  | ||||||
|         "browser.startup.homepage" = "https://domjudge.bulthuis.dev"; |  | ||||||
|       }; |  | ||||||
|       bookmarks = { |  | ||||||
|         force = true; |  | ||||||
|         settings = [ |  | ||||||
|           { |  | ||||||
|             name = "Sites"; |  | ||||||
|             toolbar = true; |  | ||||||
|             bookmarks = [ |  | ||||||
|               { |  | ||||||
|                 name = "C Reference"; |  | ||||||
|                 url = "https://en.cppreference.com/w/c"; |  | ||||||
|               } |  | ||||||
|               { |  | ||||||
|                 name = "C++ Reference"; |  | ||||||
|                 url = "https://en.cppreference.com/w/cpp"; |  | ||||||
|               } |  | ||||||
|               { |  | ||||||
|                 name = "Python 3.10 documentation"; |  | ||||||
|                 url = "https://docs.python.org/3.10/download.html"; |  | ||||||
|               } |  | ||||||
|               { |  | ||||||
|                 name = "Java 17 API Specification"; |  | ||||||
|                 url = "https://docs.oracle.com/en/java/javase/17/docs/api/"; |  | ||||||
|               } |  | ||||||
|               { |  | ||||||
|                 name = "Kotlin Language Documentation"; |  | ||||||
|                 url = "https://kotlinlang.org/docs/kotlin-reference.pdf"; |  | ||||||
|               } |  | ||||||
|               { |  | ||||||
|                 name = "DOMjudge Team Manual"; |  | ||||||
|                 url = "https://www.domjudge.org/docs/manual/main/index.html"; |  | ||||||
|               } |  | ||||||
|             ]; |  | ||||||
|           } |  | ||||||
|         ]; |  | ||||||
|       }; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   modules = { |  | ||||||
|     unfree = { |  | ||||||
|       enable = true; |  | ||||||
|       allowedPackages = [ |  | ||||||
|         "vscode" |  | ||||||
|         "vscode-extension-ms-vscode-cpptools" |  | ||||||
|       ]; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   desktop = { |  | ||||||
|     enable = true; |  | ||||||
|     name = "Gnome"; |  | ||||||
|     initScript = '' |  | ||||||
|       ${pkgs.gnome-session}/bin/gnome-session |  | ||||||
|     ''; |  | ||||||
|     session = { |  | ||||||
|       type = "wayland"; |  | ||||||
|       desktop = "GNOME"; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   xdg.portal = { |  | ||||||
|     enable = true; |  | ||||||
|     config.common.default = [ |  | ||||||
|       "gnome" |  | ||||||
|       "gtk" |  | ||||||
|     ]; |  | ||||||
|     extraPortals = with pkgs; [ |  | ||||||
|       xdg-desktop-portal-gnome |  | ||||||
|       xdg-desktop-portal-gtk |  | ||||||
|     ]; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # Theme configuration |  | ||||||
|   desktop.theming = |  | ||||||
|     let |  | ||||||
|       fontpkgs = config.desktop.theming.fonts.pkgs; |  | ||||||
|     in |  | ||||||
|     { |  | ||||||
|       # Fonts |  | ||||||
|       fonts.serif = fontpkgs."DejaVu Serif"; |  | ||||||
|       fonts.sansSerif = fontpkgs."Adwaita Sans"; |  | ||||||
|       fonts.monospace = fontpkgs."Adwaita Mono"; |  | ||||||
|       fonts.emoji = fontpkgs."Noto Color Emoji"; |  | ||||||
|       fonts.interface = fontpkgs."Adwaita Sans"; |  | ||||||
|       fonts.extraFonts = [ ]; |  | ||||||
| 
 |  | ||||||
|       # Color scheme |  | ||||||
|       # themes.catppuccin = { |  | ||||||
|       #   enable = true; |  | ||||||
|       #   flavor = "mocha"; |  | ||||||
|       # }; |  | ||||||
|     }; |  | ||||||
| } |  | ||||||
							
								
								
									
										766
									
								
								users/jan.nix
									
									
									
									
									
								
							
							
						
						
									
										766
									
								
								users/jan.nix
									
									
									
									
									
								
							| @ -8,399 +8,409 @@ | |||||||
| }: | }: | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   config = ( |   config = { | ||||||
|     lib.recursiveUpdate |     # State version | ||||||
|       { |     home.stateVersion = "24.05"; | ||||||
|         # State version |  | ||||||
|         home.stateVersion = "24.05"; |  | ||||||
| 
 | 
 | ||||||
|         # TODO: Move into modules |     # TODO: Move into modules | ||||||
|         home.packages = with pkgs; [ |     home.packages = with pkgs; [ | ||||||
|           libreoffice-still |       libreoffice-still | ||||||
|           remmina |       remmina | ||||||
|           pinentry |       pinentry | ||||||
|           thunderbird |       thunderbird | ||||||
|           signal-desktop |       signal-desktop | ||||||
|           prusa-slicer |       prusa-slicer | ||||||
|           freecad-wayland |       freecad-wayland | ||||||
|           inkscape |       inkscape | ||||||
|           ente-auth |       ente-auth | ||||||
|           bitwarden |       bitwarden | ||||||
|           carla |       carla | ||||||
|           baobab |     ]; | ||||||
|           gnome-calculator |  | ||||||
|           nautilus |  | ||||||
|         ]; |  | ||||||
| 
 | 
 | ||||||
|         # desktop.development = "river-light"; |     # desktop.development = "river-light"; | ||||||
|         desktop.enable = true; |     desktop.enable = true; | ||||||
|         desktop.environments = { |     desktop.environments = { | ||||||
|           river-dark = { |       river-dark = { | ||||||
|             name = "River Dark"; |         name = "River Dark"; | ||||||
|             type = "custom"; |         type = "custom"; | ||||||
|             config = { }; |         config = { }; | ||||||
|             extraConfig = { |         extraConfig = { | ||||||
|               modules = { |           modules = { | ||||||
|                 # Desktop environment |             # Desktop environment | ||||||
|                 river.enable = true; |             river.enable = true; | ||||||
|                 waylock.enable = true; |             waylock.enable = true; | ||||||
|                 waybar.enable = true; |             waybar.enable = true; | ||||||
|                 mako.enable = true; |             mako.enable = true; | ||||||
|                 foot.enable = true; |             foot.enable = true; | ||||||
|                 rofi-rbw.enable = true; |             rofi-rbw.enable = true; | ||||||
|               }; |  | ||||||
| 
 |  | ||||||
|               # TODO: Remove everything below, it is here out of convenience and should be elsewhere |  | ||||||
|               xdg.portal = { |  | ||||||
|                 enable = true; |  | ||||||
| 
 |  | ||||||
|                 config.common.default = [ |  | ||||||
|                   "wlr" |  | ||||||
|                   "gtk" |  | ||||||
|                 ]; |  | ||||||
| 
 |  | ||||||
|                 extraPortals = with pkgs; [ |  | ||||||
|                   xdg-desktop-portal-gtk |  | ||||||
|                   xdg-desktop-portal-wlr |  | ||||||
|                 ]; |  | ||||||
|               }; |  | ||||||
| 
 |  | ||||||
|               # Color scheme |  | ||||||
|               desktop.theming.background = { |  | ||||||
|                 # path = "unsorted/a_group_of_mountains_with_a_building_in_the_background.jpg"; |  | ||||||
|                 # image = "anime/a_colorful_buildings_with_power_lines.jpg"; |  | ||||||
|                 image = { |  | ||||||
|                   url = "https://i.postimg.cc/tTB3dM3T/1382899.png"; |  | ||||||
|                   hash = "sha256-kStcwAtK2vxitU6uaQtZTA5iFS8k0iXkFwinY2M8wQE="; |  | ||||||
|                 }; |  | ||||||
|                 # image = { |  | ||||||
|                 #   url = "https://raw.githubusercontent.com/dharmx/walls/refs/heads/main/digital/a_couple_of_people_standing_on_a_mountain.png"; |  | ||||||
|                 #   hash = "sha256-SgKG090iSxwOPCGH/2ODPbwe275Zi5k0+d5Hso0mN7c="; |  | ||||||
|                 # }; |  | ||||||
|                 themed = true; |  | ||||||
|                 inverted = false; |  | ||||||
|               }; |  | ||||||
|               desktop.theming.themes.catppuccin = { |  | ||||||
|                 enable = true; |  | ||||||
|                 flavor = "mocha"; |  | ||||||
|               }; |  | ||||||
|             }; |  | ||||||
|           }; |           }; | ||||||
|           river-light = { |  | ||||||
|             name = "River Light"; |  | ||||||
|             type = "custom"; |  | ||||||
|             config = { }; |  | ||||||
|             extraConfig = { |  | ||||||
|               modules = { |  | ||||||
|                 # Desktop environment |  | ||||||
|                 river.enable = true; |  | ||||||
|                 waylock.enable = true; |  | ||||||
|                 waybar.enable = true; |  | ||||||
|                 mako.enable = true; |  | ||||||
|                 foot.enable = true; |  | ||||||
|                 rofi-rbw.enable = true; |  | ||||||
|               }; |  | ||||||
| 
 | 
 | ||||||
|               # TODO: Remove everything below, it is here out of convenience and should be elsewhere |           # TODO: Remove everything below, it is here out of convenience and should be elsewhere | ||||||
|               xdg.portal = { |           xdg.portal = { | ||||||
|                 enable = true; |  | ||||||
| 
 |  | ||||||
|                 config.common.default = [ |  | ||||||
|                   "wlr" |  | ||||||
|                   "gtk" |  | ||||||
|                 ]; |  | ||||||
| 
 |  | ||||||
|                 extraPortals = with pkgs; [ |  | ||||||
|                   xdg-desktop-portal-gtk |  | ||||||
|                   xdg-desktop-portal-wlr |  | ||||||
|                 ]; |  | ||||||
|               }; |  | ||||||
| 
 |  | ||||||
|               # Color scheme |  | ||||||
|               desktop.theming.background = { |  | ||||||
|                 # path = "unsorted/a_group_of_mountains_with_a_building_in_the_background.jpg"; |  | ||||||
|                 # image = "anime/a_cartoon_of_a_street_with_buildings.jpeg"; |  | ||||||
|                 image = { |  | ||||||
|                   url = "https://raw.githubusercontent.com/dharmx/walls/refs/heads/main/digital/a_drawing_of_a_spider_on_a_white_surface.png"; |  | ||||||
|                   hash = "sha256-eCEjM7R9yeHNhZZtvHjrgkfwT25JA7FeMoVwnQ887CQ="; |  | ||||||
|                 }; |  | ||||||
|                 themed = true; |  | ||||||
|                 inverted = false; |  | ||||||
|               }; |  | ||||||
|               desktop.theming.themes.catppuccin = { |  | ||||||
|                 enable = true; |  | ||||||
|                 flavor = lib.mkForce "latte"; |  | ||||||
|               }; |  | ||||||
|             }; |  | ||||||
|           }; |  | ||||||
|           gnome = { |  | ||||||
|             name = "Gnome"; |  | ||||||
|             type = "custom"; |  | ||||||
|             config = { }; |  | ||||||
|             extraConfig = { |  | ||||||
|               programs = { |  | ||||||
|                 gnome-shell.enable = true; |  | ||||||
|               }; |  | ||||||
|               desktop = { |  | ||||||
|                 initScript = '' |  | ||||||
|                   ${pkgs.gnome-session}/bin/gnome-session |  | ||||||
|                 ''; |  | ||||||
|                 session = { |  | ||||||
|                   type = "wayland"; |  | ||||||
|                   desktop = "GNOME"; |  | ||||||
|                 }; |  | ||||||
|               }; |  | ||||||
|               modules.river.enable = lib.mkForce false; |  | ||||||
|               # # Theme configuration |  | ||||||
|               # desktop.theming = |  | ||||||
|               #   let |  | ||||||
|               #     fontpkgs = config.desktop.theming.fonts.pkgs; |  | ||||||
|               #   in |  | ||||||
|               #   { |  | ||||||
|               #     # Fonts |  | ||||||
|               #     fonts.serif = fontpkgs."DejaVu Serif"; |  | ||||||
|               #     fonts.sansSerif = fontpkgs."Adwaita Sans"; |  | ||||||
|               #     fonts.monospace = fontpkgs."Adwaita Mono"; |  | ||||||
|               #     fonts.emoji = fontpkgs."Noto Color Emoji"; |  | ||||||
|               #     fonts.interface = fontpkgs."Adwaita Sans"; |  | ||||||
|               #     fonts.extraFonts = [ ]; |  | ||||||
| 
 |  | ||||||
|               #     # Color scheme |  | ||||||
|               #     themes.catppuccin = { |  | ||||||
|               #       enable = true; |  | ||||||
|               #       flavor = "mocha"; |  | ||||||
|               #     }; |  | ||||||
|               #   }; |  | ||||||
| 
 |  | ||||||
|               # TODO: Remove everything below, it is here out of convenience and should be elsewhere |  | ||||||
|               xdg.portal = { |  | ||||||
|                 enable = true; |  | ||||||
| 
 |  | ||||||
|                 config.common.default = [ |  | ||||||
|                   "gnome" |  | ||||||
|                   "gtk" |  | ||||||
|                 ]; |  | ||||||
| 
 |  | ||||||
|                 extraPortals = with pkgs; [ |  | ||||||
|                   xdg-desktop-portal-gnome |  | ||||||
|                   xdg-desktop-portal-gtk |  | ||||||
|                 ]; |  | ||||||
|               }; |  | ||||||
|               home.packages = [ |  | ||||||
|                 # Core utilities |  | ||||||
|                 pkgs.epiphany |  | ||||||
|                 pkgs.gnome-text-editor |  | ||||||
|                 pkgs.gnome-calendar |  | ||||||
|                 pkgs.gnome-characters |  | ||||||
|                 pkgs.gnome-clocks |  | ||||||
|                 pkgs.gnome-console |  | ||||||
|                 pkgs.gnome-contacts |  | ||||||
|                 pkgs.gnome-font-viewer |  | ||||||
|                 pkgs.gnome-logs |  | ||||||
|                 pkgs.gnome-maps |  | ||||||
|                 pkgs.gnome-music |  | ||||||
|                 pkgs.gnome-system-monitor |  | ||||||
|                 pkgs.gnome-weather |  | ||||||
|                 pkgs.loupe |  | ||||||
|                 pkgs.gnome-connections |  | ||||||
|                 pkgs.simple-scan |  | ||||||
|                 pkgs.snapshot |  | ||||||
|                 pkgs.totem |  | ||||||
|                 pkgs.yelp |  | ||||||
| 
 |  | ||||||
|                 # Optional packages |  | ||||||
|                 pkgs.adwaita-icon-theme |  | ||||||
|                 pkgs.gnome-backgrounds |  | ||||||
|                 pkgs.gnome-bluetooth |  | ||||||
|                 pkgs.gnome-color-manager |  | ||||||
|                 pkgs.gnome-control-center |  | ||||||
|                 pkgs.gnome-shell-extensions |  | ||||||
|                 pkgs.gnome-tour # GNOME Shell detects the .desktop file on first log-in. |  | ||||||
|                 pkgs.gnome-user-docs |  | ||||||
|                 pkgs.glib # for gsettings program |  | ||||||
|                 pkgs.gnome-menus |  | ||||||
|                 pkgs.gtk3.out # for gtk-launch program |  | ||||||
|                 pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/ |  | ||||||
|                 pkgs.xdg-user-dirs-gtk # Used to create the default bookmarks |  | ||||||
| 
 |  | ||||||
|                 # Fonts |  | ||||||
|                 pkgs.cantarell-fonts |  | ||||||
|                 pkgs.dejavu_fonts |  | ||||||
|                 pkgs.source-code-pro # Default monospace font in 3.32 |  | ||||||
|                 pkgs.source-sans |  | ||||||
| 
 |  | ||||||
|                 # Other stuff |  | ||||||
|                 pkgs.gnome-session |  | ||||||
|               ]; |  | ||||||
|             }; |  | ||||||
|           }; |  | ||||||
|         }; |  | ||||||
| 
 |  | ||||||
|         # Pipewire roc sink |  | ||||||
|         xdg.configFile."pipewire/pipewire.conf.d/60-roc-sink.conf" = { |  | ||||||
|           text = '' |  | ||||||
|             context.modules = [ |  | ||||||
|               { |  | ||||||
|                 name = "libpipewire-module-roc-sink" |  | ||||||
|                 args = { |  | ||||||
|                   fec.code = "rs8m" |  | ||||||
|                   remote.ip = "10.20.60.251" |  | ||||||
|                   remote.source.port = 10001 |  | ||||||
|                   remote.repair.port = 10002 |  | ||||||
|                   sink.name = "Roc Sink" |  | ||||||
|                   sink.props.node.name = "roc-sink" |  | ||||||
|                 } |  | ||||||
|               } |  | ||||||
|             ] |  | ||||||
|           ''; |  | ||||||
|         }; |  | ||||||
| 
 |  | ||||||
|         # Enabled modules |  | ||||||
|         modules = { |  | ||||||
|           # Communication |  | ||||||
|           whatsapp.enable = true; |  | ||||||
|           discord.enable = true; |  | ||||||
| 
 |  | ||||||
|           # Browser |  | ||||||
|           firefox = { |  | ||||||
|             enable = true; |             enable = true; | ||||||
|             default = false; |  | ||||||
|           }; |  | ||||||
|           qutebrowser = { |  | ||||||
|             enable = true; |  | ||||||
|             default = true; |  | ||||||
|           }; |  | ||||||
| 
 | 
 | ||||||
|           # Gaming |             config.common.default = [ | ||||||
|           steam.enable = true; |               "wlr" | ||||||
|           # modrinth.enable = true; |               "gtk" | ||||||
|           # es-de.enable = true; # TODO: Fix, again |  | ||||||
|           retroarch.enable = true; |  | ||||||
|           ryujinx.enable = true; |  | ||||||
| 
 |  | ||||||
|           # Media |  | ||||||
|           spotify.enable = true; |  | ||||||
|           feishin.enable = true; |  | ||||||
| 
 |  | ||||||
|           # Tools |  | ||||||
|           git = { |  | ||||||
|             enable = true; |  | ||||||
|             user = "Jan-Bulthuis"; |  | ||||||
|             email = "git@bulthuis.dev"; |  | ||||||
|             # TODO: Move |  | ||||||
|             ignores = [ |  | ||||||
|               ".envrc" |  | ||||||
|               ".direnv" |  | ||||||
|               "flake.nix" |  | ||||||
|               "flake.lock" |  | ||||||
|             ]; |             ]; | ||||||
|           }; |  | ||||||
|           btop.enable = true; |  | ||||||
|           fish.enable = true; |  | ||||||
|           bluetuith.enable = false; |  | ||||||
|           winbox.enable = true; |  | ||||||
|           obsidian.enable = true; |  | ||||||
|           zathura.enable = true; |  | ||||||
|           eduvpn.enable = true; |  | ||||||
|           keyring.enable = true; |  | ||||||
|           scripts.enable = true; |  | ||||||
|           xpra = { |  | ||||||
|             enable = true; |  | ||||||
|             hosts = [ |  | ||||||
|               "mixer@10.20.60.251" |  | ||||||
|             ]; |  | ||||||
|           }; |  | ||||||
| 
 | 
 | ||||||
|           # Development |             extraPortals = with pkgs; [ | ||||||
|           neovim.enable = true; |  | ||||||
|           vscode.enable = true; |  | ||||||
|           docker.enable = true; |  | ||||||
|           matlab.enable = true; |  | ||||||
|           mathematica.enable = true; |  | ||||||
| 
 |  | ||||||
|           # Languages |  | ||||||
|           haskell.enable = false; |  | ||||||
|           js.enable = true; |  | ||||||
|           nix.enable = true; |  | ||||||
|           rust.enable = true; |  | ||||||
|           python.enable = true; |  | ||||||
|           cpp.enable = true; |  | ||||||
|           tex.enable = true; |  | ||||||
|           jupyter.enable = true; |  | ||||||
| 
 |  | ||||||
|           # Enable unfree |  | ||||||
|           unfree.enable = true; |  | ||||||
|         }; |  | ||||||
| 
 |  | ||||||
|         # Theme configuration |  | ||||||
|         desktop.theming = |  | ||||||
|           let |  | ||||||
|             fontpkgs = config.desktop.theming.fonts.pkgs; |  | ||||||
|           in |  | ||||||
|           lib.mkDefault { |  | ||||||
|             # Fonts |  | ||||||
|             fonts.serif = fontpkgs."DejaVu Serif"; |  | ||||||
|             fonts.sansSerif = fontpkgs."DejaVu Sans"; |  | ||||||
|             fonts.monospace = fontpkgs."Dina"; |  | ||||||
|             fonts.emoji = fontpkgs."Noto Color Emoji"; |  | ||||||
|             fonts.interface = fontpkgs."Dina"; |  | ||||||
|             fonts.extraFonts = [ ]; |  | ||||||
| 
 |  | ||||||
|             # Color scheme |  | ||||||
|             themes.catppuccin = { |  | ||||||
|               enable = true; |  | ||||||
|               flavor = "mocha"; |  | ||||||
|             }; |  | ||||||
|           }; |  | ||||||
|       } |  | ||||||
|       { |  | ||||||
|         # Default desktop environment |  | ||||||
|         modules = { |  | ||||||
|           # Desktop environment |  | ||||||
|           river.enable = true; |  | ||||||
|           waylock.enable = true; |  | ||||||
|           waybar.enable = true; |  | ||||||
|           mako.enable = true; |  | ||||||
|           foot.enable = true; |  | ||||||
|           rofi-rbw.enable = true; |  | ||||||
|         }; |  | ||||||
| 
 |  | ||||||
|         # TODO: Remove everything below, it is here out of convenience and should be elsewhere |  | ||||||
|         xdg.portal = { |  | ||||||
|           enable = true; |  | ||||||
| 
 |  | ||||||
|           config.common.default = lib.mkDefault [ |  | ||||||
|             "wlr" |  | ||||||
|             "gtk" |  | ||||||
|           ]; |  | ||||||
| 
 |  | ||||||
|           extraPortals = |  | ||||||
|             with pkgs; |  | ||||||
|             lib.mkDefault [ |  | ||||||
|               xdg-desktop-portal-gtk |               xdg-desktop-portal-gtk | ||||||
|               xdg-desktop-portal-wlr |               xdg-desktop-portal-wlr | ||||||
|             ]; |             ]; | ||||||
|  |           }; | ||||||
|  | 
 | ||||||
|  |           # Color scheme | ||||||
|  |           desktop.theming.background = { | ||||||
|  |             # path = "unsorted/a_group_of_mountains_with_a_building_in_the_background.jpg"; | ||||||
|  |             path = "anime/a_colorful_buildings_with_power_lines.jpg"; | ||||||
|  |             themed = true; | ||||||
|  |             invert = false; | ||||||
|  |           }; | ||||||
|  |           desktop.theming.themes.catppuccin = { | ||||||
|  |             enable = true; | ||||||
|  |             flavor = "mocha"; | ||||||
|  |           }; | ||||||
|         }; |         }; | ||||||
|  |       }; | ||||||
|  |       river-light = { | ||||||
|  |         name = "River Light"; | ||||||
|  |         type = "custom"; | ||||||
|  |         config = { }; | ||||||
|  |         extraConfig = { | ||||||
|  |           modules = { | ||||||
|  |             # Desktop environment | ||||||
|  |             river.enable = true; | ||||||
|  |             waylock.enable = true; | ||||||
|  |             waybar.enable = true; | ||||||
|  |             mako.enable = true; | ||||||
|  |             foot.enable = true; | ||||||
|  |             rofi-rbw.enable = true; | ||||||
|  |           }; | ||||||
|  | 
 | ||||||
|  |           # TODO: Remove everything below, it is here out of convenience and should be elsewhere | ||||||
|  |           xdg.portal = { | ||||||
|  |             enable = true; | ||||||
|  | 
 | ||||||
|  |             config.common.default = [ | ||||||
|  |               "wlr" | ||||||
|  |               "gtk" | ||||||
|  |             ]; | ||||||
|  | 
 | ||||||
|  |             extraPortals = with pkgs; [ | ||||||
|  |               xdg-desktop-portal-gtk | ||||||
|  |               xdg-desktop-portal-wlr | ||||||
|  |             ]; | ||||||
|  |           }; | ||||||
|  | 
 | ||||||
|  |           # Color scheme | ||||||
|  |           desktop.theming.background = { | ||||||
|  |             # path = "unsorted/a_group_of_mountains_with_a_building_in_the_background.jpg"; | ||||||
|  |             path = "anime/a_cartoon_of_a_street_with_buildings.jpeg"; | ||||||
|  |             themed = true; | ||||||
|  |             invert = false; | ||||||
|  |           }; | ||||||
|  |           desktop.theming.themes.catppuccin = { | ||||||
|  |             enable = true; | ||||||
|  |             flavor = lib.mkForce "latte"; | ||||||
|  |           }; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |       # cosmic = { | ||||||
|  |       #   name = "Cosmic"; | ||||||
|  |       #   type = "custom"; | ||||||
|  |       #   config = { }; | ||||||
|  |       #   extraConfig = { | ||||||
|  |       #     desktop = { | ||||||
|  |       #       initScript = '' | ||||||
|  |       #         ${pkgs.cosmic-session}/bin/cosmic-session | ||||||
|  |       #       ''; | ||||||
|  |       #       session = { | ||||||
|  |       #         type = "wayland"; | ||||||
|  |       #         desktop = "cosmic"; | ||||||
|  |       #       }; | ||||||
|  |       #     }; | ||||||
|  |       #     # TODO: Remove everything below, it is here out of convenience and should be elsewhere | ||||||
|  |       #     xdg.portal = { | ||||||
|  |       #       enable = true; | ||||||
|  | 
 | ||||||
|  |       #       config.common.default = [ | ||||||
|  |       #         "cosmic" | ||||||
|  |       #         "gtk" | ||||||
|  |       #       ]; | ||||||
|  | 
 | ||||||
|  |       #       extraPortals = with pkgs; [ | ||||||
|  |       #         xdg-desktop-portal-cosmic | ||||||
|  |       #         xdg-desktop-portal-gtk | ||||||
|  |       #       ]; | ||||||
|  | 
 | ||||||
|  |       #       configPackages = lib.mkDefault (with pkgs; [ xdg-desktop-portal-cosmic ]); | ||||||
|  |       #     }; | ||||||
|  |       #     home.packages = with pkgs; [ | ||||||
|  |       #       adwaita-icon-theme | ||||||
|  |       #       alsa-utils | ||||||
|  |       #       cosmic-applets | ||||||
|  |       #       cosmic-applibrary | ||||||
|  |       #       cosmic-bg | ||||||
|  |       #       (cosmic-comp.override { | ||||||
|  |       #         useXWayland = false; | ||||||
|  |       #       }) | ||||||
|  |       #       cosmic-edit | ||||||
|  |       #       cosmic-files | ||||||
|  |       #       cosmic-greeter | ||||||
|  |       #       cosmic-icons | ||||||
|  |       #       cosmic-idle | ||||||
|  |       #       cosmic-launcher | ||||||
|  |       #       cosmic-notifications | ||||||
|  |       #       cosmic-osd | ||||||
|  |       #       cosmic-panel | ||||||
|  |       #       cosmic-player | ||||||
|  |       #       cosmic-randr | ||||||
|  |       #       cosmic-screenshot | ||||||
|  |       #       cosmic-session | ||||||
|  |       #       cosmic-settings | ||||||
|  |       #       cosmic-settings-daemon | ||||||
|  |       #       cosmic-term | ||||||
|  |       #       cosmic-wallpapers | ||||||
|  |       #       cosmic-workspaces-epoch | ||||||
|  |       #       hicolor-icon-theme | ||||||
|  |       #       playerctl | ||||||
|  |       #       pop-icon-theme | ||||||
|  |       #       pop-launcher | ||||||
|  |       #       xdg-user-dirs | ||||||
|  |       #       xwayland | ||||||
|  |       #       cosmic-store | ||||||
|  | 
 | ||||||
|  |       #       # Fonts | ||||||
|  |       #       fira | ||||||
|  |       #       noto-fonts | ||||||
|  |       #       open-sans | ||||||
|  |       #     ]; | ||||||
|  |       #   }; | ||||||
|  |       # }; | ||||||
|  |       gnome = { | ||||||
|  |         name = "Gnome"; | ||||||
|  |         type = "custom"; | ||||||
|  |         config = { }; | ||||||
|  |         extraConfig = { | ||||||
|  |           programs = { | ||||||
|  |             gnome-shell.enable = true; | ||||||
|  |           }; | ||||||
|  |           desktop = { | ||||||
|  |             initScript = '' | ||||||
|  |               ${pkgs.gnome-session}/bin/gnome-session | ||||||
|  |             ''; | ||||||
|  |             session = { | ||||||
|  |               type = "wayland"; | ||||||
|  |               desktop = "GNOME"; | ||||||
|  |             }; | ||||||
|  |           }; | ||||||
|  | 
 | ||||||
|  |           # TODO: Remove everything below, it is here out of convenience and should be elsewhere | ||||||
|  |           xdg.portal = { | ||||||
|  |             enable = true; | ||||||
|  | 
 | ||||||
|  |             config.common.default = [ | ||||||
|  |               "gnome" | ||||||
|  |               "gtk" | ||||||
|  |             ]; | ||||||
|  | 
 | ||||||
|  |             extraPortals = with pkgs; [ | ||||||
|  |               xdg-desktop-portal-gnome | ||||||
|  |               xdg-desktop-portal-gtk | ||||||
|  |             ]; | ||||||
|  |           }; | ||||||
|  |           home.packages = [ | ||||||
|  |             # Core utilities | ||||||
|  |             pkgs.baobab | ||||||
|  |             pkgs.epiphany | ||||||
|  |             pkgs.gnome-text-editor | ||||||
|  |             pkgs.gnome-calculator | ||||||
|  |             pkgs.gnome-calendar | ||||||
|  |             pkgs.gnome-characters | ||||||
|  |             pkgs.gnome-clocks | ||||||
|  |             pkgs.gnome-console | ||||||
|  |             pkgs.gnome-contacts | ||||||
|  |             pkgs.gnome-font-viewer | ||||||
|  |             pkgs.gnome-logs | ||||||
|  |             pkgs.gnome-maps | ||||||
|  |             pkgs.gnome-music | ||||||
|  |             pkgs.gnome-system-monitor | ||||||
|  |             pkgs.gnome-weather | ||||||
|  |             pkgs.loupe | ||||||
|  |             pkgs.nautilus | ||||||
|  |             pkgs.gnome-connections | ||||||
|  |             pkgs.simple-scan | ||||||
|  |             pkgs.snapshot | ||||||
|  |             pkgs.totem | ||||||
|  |             pkgs.yelp | ||||||
|  | 
 | ||||||
|  |             # Optional packages | ||||||
|  |             pkgs.adwaita-icon-theme | ||||||
|  |             pkgs.gnome-backgrounds | ||||||
|  |             pkgs.gnome-bluetooth | ||||||
|  |             pkgs.gnome-color-manager | ||||||
|  |             pkgs.gnome-control-center | ||||||
|  |             pkgs.gnome-shell-extensions | ||||||
|  |             pkgs.gnome-tour # GNOME Shell detects the .desktop file on first log-in. | ||||||
|  |             pkgs.gnome-user-docs | ||||||
|  |             pkgs.glib # for gsettings program | ||||||
|  |             pkgs.gnome-menus | ||||||
|  |             pkgs.gtk3.out # for gtk-launch program | ||||||
|  |             pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/ | ||||||
|  |             pkgs.xdg-user-dirs-gtk # Used to create the default bookmarks | ||||||
|  | 
 | ||||||
|  |             # Games | ||||||
|  |             pkgs.aisleriot | ||||||
|  |             pkgs.atomix | ||||||
|  |             pkgs.five-or-more | ||||||
|  |             pkgs.four-in-a-row | ||||||
|  |             pkgs.gnome-2048 | ||||||
|  |             pkgs.gnome-chess | ||||||
|  |             pkgs.gnome-klotski | ||||||
|  |             pkgs.gnome-mahjongg | ||||||
|  |             pkgs.gnome-mines | ||||||
|  |             pkgs.gnome-nibbles | ||||||
|  |             pkgs.gnome-robots | ||||||
|  |             pkgs.gnome-sudoku | ||||||
|  |             pkgs.gnome-taquin | ||||||
|  |             pkgs.gnome-tetravex | ||||||
|  |             pkgs.hitori | ||||||
|  |             pkgs.iagno | ||||||
|  |             pkgs.lightsoff | ||||||
|  |             pkgs.quadrapassel | ||||||
|  |             pkgs.swell-foop | ||||||
|  |             pkgs.tali | ||||||
|  | 
 | ||||||
|  |             # Fonts | ||||||
|  |             pkgs.cantarell-fonts | ||||||
|  |             pkgs.dejavu_fonts | ||||||
|  |             pkgs.source-code-pro # Default monospace font in 3.32 | ||||||
|  |             pkgs.source-sans | ||||||
|  | 
 | ||||||
|  |             # Other stuff | ||||||
|  |             pkgs.gnome-session | ||||||
|  |             # pkgs.gnome-session.sessions | ||||||
|  |           ]; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     # Pipewire roc sink | ||||||
|  |     xdg.configFile."pipewire/pipewire.conf.d/60-roc-sink.conf" = { | ||||||
|  |       text = '' | ||||||
|  |         context.modules = [ | ||||||
|  |           { | ||||||
|  |             name = "libpipewire-module-roc-sink" | ||||||
|  |             args = { | ||||||
|  |               fec.code = "rs8m" | ||||||
|  |               remote.ip = "10.20.60.251" | ||||||
|  |               remote.source.port = 10001 | ||||||
|  |               remote.repair.port = 10002 | ||||||
|  |               sink.name = "Roc Sink" | ||||||
|  |               sink.props.node.name = "roc-sink" | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         ] | ||||||
|  |       ''; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     # Enabled modules | ||||||
|  |     modules = { | ||||||
|  |       # Communication | ||||||
|  |       whatsapp.enable = true; | ||||||
|  |       discord.enable = true; | ||||||
|  | 
 | ||||||
|  |       # Browser | ||||||
|  |       firefox = { | ||||||
|  |         enable = true; | ||||||
|  |         default = false; | ||||||
|  |       }; | ||||||
|  |       qutebrowser = { | ||||||
|  |         enable = true; | ||||||
|  |         default = true; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       # Gaming | ||||||
|  |       steam.enable = true; | ||||||
|  |       # modrinth.enable = true; | ||||||
|  |       # es-de.enable = true; # TODO: Fix, again | ||||||
|  |       retroarch.enable = true; | ||||||
|  |       ryujinx.enable = true; | ||||||
|  | 
 | ||||||
|  |       # Media | ||||||
|  |       spotify.enable = true; | ||||||
|  |       feishin.enable = true; | ||||||
|  | 
 | ||||||
|  |       # Tools | ||||||
|  |       git = { | ||||||
|  |         enable = true; | ||||||
|  |         user = "Jan-Bulthuis"; | ||||||
|  |         email = "git@bulthuis.dev"; | ||||||
|  |         # TODO: Move | ||||||
|  |         ignores = [ | ||||||
|  |           ".envrc" | ||||||
|  |           ".direnv" | ||||||
|  |           "flake.nix" | ||||||
|  |           "flake.lock" | ||||||
|  |         ]; | ||||||
|  |       }; | ||||||
|  |       btop.enable = true; | ||||||
|  |       fish.enable = true; | ||||||
|  |       bluetuith.enable = false; | ||||||
|  |       winbox.enable = true; | ||||||
|  |       obsidian.enable = true; | ||||||
|  |       zathura.enable = true; | ||||||
|  |       eduvpn.enable = true; | ||||||
|  |       keyring.enable = true; | ||||||
|  |       scripts.enable = true; | ||||||
|  |       xpra = { | ||||||
|  |         enable = true; | ||||||
|  |         hosts = [ | ||||||
|  |           "mixer@10.20.60.251" | ||||||
|  |         ]; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       # Development | ||||||
|  |       neovim.enable = true; | ||||||
|  |       vscode.enable = true; | ||||||
|  |       docker.enable = true; | ||||||
|  |       matlab.enable = true; | ||||||
|  |       mathematica.enable = false; | ||||||
|  | 
 | ||||||
|  |       # Languages | ||||||
|  |       haskell.enable = false; | ||||||
|  |       js.enable = true; | ||||||
|  |       nix.enable = true; | ||||||
|  |       rust.enable = true; | ||||||
|  |       python.enable = true; | ||||||
|  |       cpp.enable = true; | ||||||
|  |       tex.enable = true; | ||||||
|  |       jupyter.enable = true; | ||||||
|  | 
 | ||||||
|  |       # Enable unfree | ||||||
|  |       unfree.enable = true; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     # Theme configuration | ||||||
|  |     desktop.theming = | ||||||
|  |       let | ||||||
|  |         fontpkgs = config.desktop.theming.fonts.pkgs; | ||||||
|  |       in | ||||||
|  |       { | ||||||
|  |         # Fonts | ||||||
|  |         fonts.serif = fontpkgs."DejaVu Serif"; | ||||||
|  |         fonts.sansSerif = fontpkgs."DejaVu Sans"; | ||||||
|  |         fonts.monospace = fontpkgs."Dina"; | ||||||
|  |         fonts.emoji = fontpkgs."Noto Color Emoji"; | ||||||
|  |         fonts.interface = fontpkgs."Dina"; | ||||||
|  |         fonts.extraFonts = [ ]; | ||||||
| 
 | 
 | ||||||
|         # Color scheme |         # Color scheme | ||||||
|         desktop.theming.background = lib.mkDefault { |         themes.catppuccin = { | ||||||
|           # path = "unsorted/a_group_of_mountains_with_a_building_in_the_background.jpg"; |  | ||||||
|           # image = "anime/a_colorful_buildings_with_power_lines.jpg"; |  | ||||||
|           image = { |  | ||||||
|             url = "https://i.postimg.cc/tTB3dM3T/1382899.png"; |  | ||||||
|             hash = "sha256-kStcwAtK2vxitU6uaQtZTA5iFS8k0iXkFwinY2M8wQE="; |  | ||||||
|           }; |  | ||||||
|           # image = { |  | ||||||
|           #   url = "https://raw.githubusercontent.com/dharmx/walls/refs/heads/main/digital/a_couple_of_people_standing_on_a_mountain.png"; |  | ||||||
|           #   hash = "sha256-SgKG090iSxwOPCGH/2ODPbwe275Zi5k0+d5Hso0mN7c="; |  | ||||||
|           # }; |  | ||||||
|           themed = true; |  | ||||||
|           inverted = false; |  | ||||||
|         }; |  | ||||||
|         desktop.theming.themes.catppuccin = { |  | ||||||
|           enable = true; |           enable = true; | ||||||
|           flavor = "mocha"; |           flavor = "mocha"; | ||||||
|         }; |         }; | ||||||
|       } |       }; | ||||||
|   ); |   }; | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user