Compare commits
	
		
			9 Commits
		
	
	
		
			2c0ae15417
			...
			c3c61ce654
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | c3c61ce654 | ||
|   | 626d78f088 | ||
|   | bcd5606107 | ||
|   | f8fbb52607 | ||
|   | 2b0bdb0248 | ||
|   | f0403330e2 | ||
|   | e10079e578 | ||
|   | 2a8fcf627b | ||
|   | 3d54536168 | 
							
								
								
									
										108
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										108
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							| @ -5,11 +5,11 @@ | |||||||
|         "fromYaml": "fromYaml" |         "fromYaml": "fromYaml" | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1732200724, |         "lastModified": 1745523430, | ||||||
|         "narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=", |         "narHash": "sha256-EAYWV+kXbwsH+8G/8UtmcunDeKwLwSOyfcmzZUkWE/c=", | ||||||
|         "owner": "SenchoPens", |         "owner": "SenchoPens", | ||||||
|         "repo": "base16.nix", |         "repo": "base16.nix", | ||||||
|         "rev": "153d52373b0fb2d343592871009a286ec8837aec", |         "rev": "58bfe2553d937d8af0564f79d5b950afbef69717", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -70,11 +70,11 @@ | |||||||
|     "firefox-gnome-theme": { |     "firefox-gnome-theme": { | ||||||
|       "flake": false, |       "flake": false, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1743774811, |         "lastModified": 1744642301, | ||||||
|         "narHash": "sha256-oiHLDHXq7ymsMVYSg92dD1OLnKLQoU/Gf2F1GoONLCE=", |         "narHash": "sha256-5A6LL7T0lttn1vrKsNOKUk9V0ittdW0VEqh6AtefxJ4=", | ||||||
|         "owner": "rafaelmardojai", |         "owner": "rafaelmardojai", | ||||||
|         "repo": "firefox-gnome-theme", |         "repo": "firefox-gnome-theme", | ||||||
|         "rev": "df53a7a31872faf5ca53dd0730038a62ec63ca9e", |         "rev": "59e3de00f01e5adb851d824cf7911bd90c31083a", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -339,11 +339,11 @@ | |||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1745340124, |         "lastModified": 1746040799, | ||||||
|         "narHash": "sha256-zQTOl/JPGjiAQoU1yraCGfPBg7yr4nlHNdbZy8Ebrl4=", |         "narHash": "sha256-osgPX/SzIpkR50vev/rqoTEAVkEcOWXoQXmbzsaI4KU=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "home-manager", |         "repo": "home-manager", | ||||||
|         "rev": "c9433ae62fbb4bd09609e242569edc3b551e21a9", |         "rev": "5f217e5a319f6c186283b530f8c975e66c028433", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -360,11 +360,11 @@ | |||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1745198506, |         "lastModified": 1746040799, | ||||||
|         "narHash": "sha256-0hVbHuqAnZUnnGaBTqNes0P0kfH+KKyup2boWDST0iI=", |         "narHash": "sha256-osgPX/SzIpkR50vev/rqoTEAVkEcOWXoQXmbzsaI4KU=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "home-manager", |         "repo": "home-manager", | ||||||
|         "rev": "b0cc092405da805da6fa964f5a178343658ceaf0", |         "rev": "5f217e5a319f6c186283b530f8c975e66c028433", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -409,11 +409,11 @@ | |||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1745161329, |         "lastModified": 1746111721, | ||||||
|         "narHash": "sha256-OEx+1ceH7bONZhxZv+CjoE9CXElL2raz2Zb/9iabWuE=", |         "narHash": "sha256-Jsn01TrHUZuo2IzeRkcnty+ftBcnHkbtv9NmLwdV9zk=", | ||||||
|         "owner": "doronbehar", |         "owner": "doronbehar", | ||||||
|         "repo": "nix-matlab", |         "repo": "nix-matlab", | ||||||
|         "rev": "751b9ca566a57ad297987937e7873365a034788c", |         "rev": "07739cc347be4fda69deab66eea68b030e918e89", | ||||||
|         "type": "gitlab" |         "type": "gitlab" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -430,11 +430,11 @@ | |||||||
|         "rust-overlay": "rust-overlay" |         "rust-overlay": "rust-overlay" | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1745320144, |         "lastModified": 1746109800, | ||||||
|         "narHash": "sha256-Rbw+E3Na694sTPjNSRFHtT1o31eQXO3OLEzM+25kcME=", |         "narHash": "sha256-sjDpqdvbQaiA6OAsgLE4niz6hmmCpoUH0cl5zyfu6FI=", | ||||||
|         "owner": "lilyinstarlight", |         "owner": "lilyinstarlight", | ||||||
|         "repo": "nixos-cosmic", |         "repo": "nixos-cosmic", | ||||||
|         "rev": "84d7c1002734f21f150c641da095c5ce43f1cb98", |         "rev": "9fe1aa7b6a1043003b38f36626dd29b52247d720", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -445,11 +445,11 @@ | |||||||
|     }, |     }, | ||||||
|     "nixpkgs": { |     "nixpkgs": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1744932701, |         "lastModified": 1745930157, | ||||||
|         "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=", |         "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef", |         "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -461,11 +461,11 @@ | |||||||
|     }, |     }, | ||||||
|     "nixpkgs-stable": { |     "nixpkgs-stable": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1744440957, |         "lastModified": 1746055187, | ||||||
|         "narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=", |         "narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d", |         "rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -477,11 +477,11 @@ | |||||||
|     }, |     }, | ||||||
|     "nixpkgs_2": { |     "nixpkgs_2": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1744868846, |         "lastModified": 1746061036, | ||||||
|         "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", |         "narHash": "sha256-OxYwCGJf9VJ2KnUO+w/hVJVTjOgscdDg/lPv8Eus07Y=", | ||||||
|         "owner": "nixos", |         "owner": "nixos", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", |         "rev": "3afd19146cac33ed242fc0fc87481c67c758a59e", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -493,11 +493,11 @@ | |||||||
|     }, |     }, | ||||||
|     "nixpkgs_3": { |     "nixpkgs_3": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1744868846, |         "lastModified": 1746061036, | ||||||
|         "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", |         "narHash": "sha256-OxYwCGJf9VJ2KnUO+w/hVJVTjOgscdDg/lPv8Eus07Y=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", |         "rev": "3afd19146cac33ed242fc0fc87481c67c758a59e", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -509,11 +509,11 @@ | |||||||
|     }, |     }, | ||||||
|     "nixpkgs_4": { |     "nixpkgs_4": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1743583204, |         "lastModified": 1745930157, | ||||||
|         "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", |         "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", |         "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -530,11 +530,11 @@ | |||||||
|         "nuschtosSearch": "nuschtosSearch" |         "nuschtosSearch": "nuschtosSearch" | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1745324162, |         "lastModified": 1746101723, | ||||||
|         "narHash": "sha256-Sjb/LvtWpPtSXacjJCTrLAmWtXNJd0SWxO3PzTvD7Tc=", |         "narHash": "sha256-loxT2bAglD3w8XDx+7huMXQHbg07yHHHCNiCiVWneqI=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "nixvim", |         "repo": "nixvim", | ||||||
|         "rev": "60638182b8d1b0fe13631d02eafaf8903499ee60", |         "rev": "c91753bbe57781e08226829b9e354facd50caf1b", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -552,11 +552,11 @@ | |||||||
|         "treefmt-nix": "treefmt-nix" |         "treefmt-nix": "treefmt-nix" | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1745342999, |         "lastModified": 1746118004, | ||||||
|         "narHash": "sha256-50TqkAv1ma3zI8TwekiVOdxBD+fyJsEeBHRgQtmSktk=", |         "narHash": "sha256-E5WQwA602g5qMnZDmgV7EqDAwyg4PqnoeMJAkDD1yak=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "NUR", |         "repo": "NUR", | ||||||
|         "rev": "71cefa751b886862229c679aab1c2b0fab837052", |         "rev": "9a4aaf927694321aeedfec791dfcc7850f8503cd", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -575,11 +575,11 @@ | |||||||
|         "treefmt-nix": "treefmt-nix_2" |         "treefmt-nix": "treefmt-nix_2" | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1743884191, |         "lastModified": 1746056780, | ||||||
|         "narHash": "sha256-foVcginhVvjg8ZnTzY5wwMeZ4wjJ8yX66PW5kgyivPE=", |         "narHash": "sha256-/emueQGaoT4vu0QjU9LDOG5roxRSfdY0K2KkxuzazcM=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "NUR", |         "repo": "NUR", | ||||||
|         "rev": "fde90f5f52e13eed110a0e53a2818a2b09e4d37c", |         "rev": "d476cd0972dd6242d76374fcc277e6735715c167", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -631,11 +631,11 @@ | |||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1745289264, |         "lastModified": 1746067100, | ||||||
|         "narHash": "sha256-7nt+UJ7qaIUe2J7BdnEEph9n2eKEwxUwKS/QIr091uA=", |         "narHash": "sha256-6JeEbboDvRjLwB9kzCnmWj+f+ZnMtKOe5c2F1VBpaTs=", | ||||||
|         "owner": "oxalica", |         "owner": "oxalica", | ||||||
|         "repo": "rust-overlay", |         "repo": "rust-overlay", | ||||||
|         "rev": "3b7171858c20d5293360042936058fb0c4cb93a9", |         "rev": "026e8fedefd6b167d92ed04b195c658d95ffc7a5", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -666,11 +666,11 @@ | |||||||
|         "tinted-zed": "tinted-zed" |         "tinted-zed": "tinted-zed" | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1745332124, |         "lastModified": 1746111784, | ||||||
|         "narHash": "sha256-2lRWKSUlKTsfqLhyxXsxKcoPQG5tFQ3GbTne8/vVCQY=", |         "narHash": "sha256-94MEscICizhXBJvP5o6f9lcY2vWXTSg1XKZZbS19Yso=", | ||||||
|         "owner": "danth", |         "owner": "danth", | ||||||
|         "repo": "stylix", |         "repo": "stylix", | ||||||
|         "rev": "375b1de2424aac1338ee6e8b4ef15976b64b0462", |         "rev": "716e6669a9840e4ba0d8deb6ab1d016ef01c475a", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -761,11 +761,11 @@ | |||||||
|     "tinted-schemes": { |     "tinted-schemes": { | ||||||
|       "flake": false, |       "flake": false, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1742851696, |         "lastModified": 1744974599, | ||||||
|         "narHash": "sha256-sR4K+OVFKeUOvNIqcCr5Br7NLxOBEwoAgsIyjsZmb8s=", |         "narHash": "sha256-Fg+rdGs5FAgfkYNCs74lnl8vkQmiZVdBsziyPhVqrlY=", | ||||||
|         "owner": "tinted-theming", |         "owner": "tinted-theming", | ||||||
|         "repo": "schemes", |         "repo": "schemes", | ||||||
|         "rev": "c37771c4ae8ff1667e27ddcf24991ebeb94a4e77", |         "rev": "28c26a621123ad4ebd5bbfb34ab39421c0144bdd", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @ -777,11 +777,11 @@ | |||||||
|     "tinted-tmux": { |     "tinted-tmux": { | ||||||
|       "flake": false, |       "flake": false, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1743296873, |         "lastModified": 1745111349, | ||||||
|         "narHash": "sha256-8IQulrb1OBSxMwdKijO9fB70ON//V32dpK9Uioy7FzY=", |         "narHash": "sha256-udV+nHdpqgkJI9D0mtvvAzbqubt9jdifS/KhTTbJ45w=", | ||||||
|         "owner": "tinted-theming", |         "owner": "tinted-theming", | ||||||
|         "repo": "tinted-tmux", |         "repo": "tinted-tmux", | ||||||
|         "rev": "af5152c8d7546dfb4ff6df94080bf5ff54f64e3a", |         "rev": "e009f18a01182b63559fb28f1c786eb027c3dee9", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  | |||||||
| @ -71,6 +71,10 @@ | |||||||
|             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,7 +185,6 @@ | |||||||
|         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 = mkForce false; |       enable = true; | ||||||
|       logRefusedConnections = true; |       logRefusedConnections = true; | ||||||
|       logRefusedPackets = true; |       logRefusedPackets = true; | ||||||
|       logReversePathDrops = true; |       logReversePathDrops = true; | ||||||
| @ -84,6 +84,7 @@ 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,4 +1,9 @@ | |||||||
| { config, lib, ... }: | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
| 
 | 
 | ||||||
| with lib; | with lib; | ||||||
| { | { | ||||||
| @ -8,11 +13,29 @@ 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,8 +54,7 @@ in | |||||||
| 
 | 
 | ||||||
|         # Theming |         # Theming | ||||||
|         userChrome = readFile ( |         userChrome = readFile ( | ||||||
|           pkgs.substituteAll { |           pkgs.replaceVars ./userChrome.css { | ||||||
|             src = ./userChrome.css; |  | ||||||
|             colors = config.desktop.theming.colorsCSS; |             colors = config.desktop.theming.colorsCSS; | ||||||
|           } |           } | ||||||
|         ); |         ); | ||||||
|  | |||||||
| @ -11,26 +11,30 @@ let | |||||||
| in | in | ||||||
| { | { | ||||||
|   options.desktop.theming.background = { |   options.desktop.theming.background = { | ||||||
|     path = mkOption { |     image = { | ||||||
|  |       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"; | ||||||
|     invert = mkEnableOption "invert background"; |     inverted = 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 { | ||||||
| @ -61,44 +65,55 @@ 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 = cfg.src; |         src = src; | ||||||
| 
 | 
 | ||||||
|         buildInputs = [ |         buildInputs = [ | ||||||
|           gowall |           gowall | ||||||
|           imagemagick |           imagemagick | ||||||
|           (writeShellScriptBin "xdg-open" "") |           (writeShellScriptBin "xdg-open" "") | ||||||
|  |           tree | ||||||
|         ]; |         ]; | ||||||
| 
 | 
 | ||||||
|         buildPhase = |         unpackPhase = '' | ||||||
|           if cfg.themed then |           cp ${src} ./${image} | ||||||
|             if cfg.invert then |           chmod u+w ./${image} | ||||||
|               '' |         ''; | ||||||
|                 cp ${theme} ./theme.json |  | ||||||
| 
 | 
 | ||||||
|                 export HOME=$PWD |         buildPhase = '' | ||||||
|                 convert ./${cfg.path} -channel RGB -negate ./${cfg.path} |           ${optionalString cfg.inverted '' | ||||||
| 
 |             convert ./${image} -channel RGB -negate ./${image} | ||||||
|                 gowall convert ./${cfg.path} -o themed -t ./theme.json |           ''} | ||||||
|                 mv Pictures/gowall/themed.* ./ |           ${optionalString cfg.themed '' | ||||||
|                 mogrify -format png themed.* |  | ||||||
|               '' |  | ||||||
|             else |  | ||||||
|               '' |  | ||||||
|             cp ${theme} ./theme.json |             cp ${theme} ./theme.json | ||||||
| 
 | 
 | ||||||
|             export HOME=$PWD |             export HOME=$PWD | ||||||
| 
 | 
 | ||||||
|                 gowall convert ./${cfg.path} -o themed -t ./theme.json |             gowall convert ./${image} --output themed -t ./theme.json | ||||||
|                 mv Pictures/gowall/themed.* ./ |             tree | ||||||
|  |             mv ./themed/*.* ./ | ||||||
|  |           ''} | ||||||
|  |           mv ./${image} themed.${fileExtension image} | ||||||
|  |           ${optionalString (fileExtension image != "png") '' | ||||||
|             mogrify -format png themed.* |             mogrify -format png themed.* | ||||||
|               '' |           ''} | ||||||
|           else |  | ||||||
|             '' |  | ||||||
|               cp ${cfg.path} ./themed |  | ||||||
| 
 |  | ||||||
|               mogrify -format png themed |  | ||||||
|         ''; |         ''; | ||||||
| 
 | 
 | ||||||
|         installPhase = '' |         installPhase = '' | ||||||
|  | |||||||
| @ -110,8 +110,11 @@ in | |||||||
|     # Configure qt theme |     # Configure qt theme | ||||||
|     qt = mkIf config.desktop.enable { |     qt = mkIf config.desktop.enable { | ||||||
|       enable = true; |       enable = true; | ||||||
|       platformTheme.name = "adwaita"; |       platformTheme.name = "gtk"; | ||||||
|       style.name = if cfg.darkMode then "adwaita-dark" else "adwaita-light"; |       style = { | ||||||
|  |         name = if cfg.darkMode then "adwaita-dark" else "adwaita-light"; | ||||||
|  |         package = pkgs.adwaita-qt; | ||||||
|  |       }; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     # Configure gtk theme |     # Configure gtk theme | ||||||
|  | |||||||
| @ -35,6 +35,8 @@ 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 | ||||||
| @ -190,8 +192,8 @@ in | |||||||
|       { |       { | ||||||
|         enable = true; |         enable = true; | ||||||
|         # TODO: Toggles |         # TODO: Toggles | ||||||
|         gtk3.extraCss = disableCSD; |         gtk3.extraCss = mkIf config.modules.river.enable disableCSD; | ||||||
|         gtk4.extraCss = disableCSD; |         gtk4.extraCss = mkIf config.modules.river.enable disableCSD; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|     # TODO: Make cursors configurable using modules. |     # TODO: Make cursors configurable using modules. | ||||||
|  | |||||||
							
								
								
									
										8
									
								
								user-modules/desktop/theming/fonts/adwaita-mono.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								user-modules/desktop/theming/fonts/adwaita-mono.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | |||||||
|  | { pkgs, ... }: | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  |   name = "Adwaita Mono"; | ||||||
|  |   package = pkgs.adwaita-fonts; | ||||||
|  |   recommendedSize = 12; | ||||||
|  |   fallbackFonts = [ ]; | ||||||
|  | } | ||||||
							
								
								
									
										8
									
								
								user-modules/desktop/theming/fonts/adwaita-sans.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								user-modules/desktop/theming/fonts/adwaita-sans.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | |||||||
|  | { 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.1.0_LIN_Bndl.sh; |     # source = ./Wolfram_14.2.1_LIN_Bndl.sh; | ||||||
|   }; |   }; | ||||||
| in | in | ||||||
| { | { | ||||||
|  | |||||||
| @ -15,5 +15,11 @@ 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:␣"; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       diagnostics = { |       diagnostic.settings = { | ||||||
|         enable = true; |         enable = true; | ||||||
|         signs = true; |         signs = true; | ||||||
|         underline = true; |         underline = true; | ||||||
|  | |||||||
							
								
								
									
										172
									
								
								users/comp-prog.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										172
									
								
								users/comp-prog.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,172 @@ | |||||||
|  | { | ||||||
|  |   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"; | ||||||
|  |       # }; | ||||||
|  |     }; | ||||||
|  | } | ||||||
							
								
								
									
										200
									
								
								users/jan.nix
									
									
									
									
									
								
							
							
						
						
									
										200
									
								
								users/jan.nix
									
									
									
									
									
								
							| @ -8,7 +8,9 @@ | |||||||
| }: | }: | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   config = { |   config = ( | ||||||
|  |     lib.recursiveUpdate | ||||||
|  |       { | ||||||
|         # State version |         # State version | ||||||
|         home.stateVersion = "24.05"; |         home.stateVersion = "24.05"; | ||||||
| 
 | 
 | ||||||
| @ -25,6 +27,9 @@ | |||||||
|           ente-auth |           ente-auth | ||||||
|           bitwarden |           bitwarden | ||||||
|           carla |           carla | ||||||
|  |           baobab | ||||||
|  |           gnome-calculator | ||||||
|  |           nautilus | ||||||
|         ]; |         ]; | ||||||
| 
 | 
 | ||||||
|         # desktop.development = "river-light"; |         # desktop.development = "river-light"; | ||||||
| @ -63,9 +68,17 @@ | |||||||
|               # Color scheme |               # Color scheme | ||||||
|               desktop.theming.background = { |               desktop.theming.background = { | ||||||
|                 # path = "unsorted/a_group_of_mountains_with_a_building_in_the_background.jpg"; |                 # path = "unsorted/a_group_of_mountains_with_a_building_in_the_background.jpg"; | ||||||
|             path = "anime/a_colorful_buildings_with_power_lines.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; |                 themed = true; | ||||||
|             invert = false; |                 inverted = false; | ||||||
|               }; |               }; | ||||||
|               desktop.theming.themes.catppuccin = { |               desktop.theming.themes.catppuccin = { | ||||||
|                 enable = true; |                 enable = true; | ||||||
| @ -106,9 +119,13 @@ | |||||||
|               # Color scheme |               # Color scheme | ||||||
|               desktop.theming.background = { |               desktop.theming.background = { | ||||||
|                 # path = "unsorted/a_group_of_mountains_with_a_building_in_the_background.jpg"; |                 # path = "unsorted/a_group_of_mountains_with_a_building_in_the_background.jpg"; | ||||||
|             path = "anime/a_cartoon_of_a_street_with_buildings.jpeg"; |                 # 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; |                 themed = true; | ||||||
|             invert = false; |                 inverted = false; | ||||||
|               }; |               }; | ||||||
|               desktop.theming.themes.catppuccin = { |               desktop.theming.themes.catppuccin = { | ||||||
|                 enable = true; |                 enable = true; | ||||||
| @ -116,78 +133,6 @@ | |||||||
|               }; |               }; | ||||||
|             }; |             }; | ||||||
|           }; |           }; | ||||||
|       # 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 = { |           gnome = { | ||||||
|             name = "Gnome"; |             name = "Gnome"; | ||||||
|             type = "custom"; |             type = "custom"; | ||||||
| @ -205,6 +150,27 @@ | |||||||
|                   desktop = "GNOME"; |                   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 |               # TODO: Remove everything below, it is here out of convenience and should be elsewhere | ||||||
|               xdg.portal = { |               xdg.portal = { | ||||||
| @ -222,10 +188,8 @@ | |||||||
|               }; |               }; | ||||||
|               home.packages = [ |               home.packages = [ | ||||||
|                 # Core utilities |                 # Core utilities | ||||||
|             pkgs.baobab |  | ||||||
|                 pkgs.epiphany |                 pkgs.epiphany | ||||||
|                 pkgs.gnome-text-editor |                 pkgs.gnome-text-editor | ||||||
|             pkgs.gnome-calculator |  | ||||||
|                 pkgs.gnome-calendar |                 pkgs.gnome-calendar | ||||||
|                 pkgs.gnome-characters |                 pkgs.gnome-characters | ||||||
|                 pkgs.gnome-clocks |                 pkgs.gnome-clocks | ||||||
| @ -238,7 +202,6 @@ | |||||||
|                 pkgs.gnome-system-monitor |                 pkgs.gnome-system-monitor | ||||||
|                 pkgs.gnome-weather |                 pkgs.gnome-weather | ||||||
|                 pkgs.loupe |                 pkgs.loupe | ||||||
|             pkgs.nautilus |  | ||||||
|                 pkgs.gnome-connections |                 pkgs.gnome-connections | ||||||
|                 pkgs.simple-scan |                 pkgs.simple-scan | ||||||
|                 pkgs.snapshot |                 pkgs.snapshot | ||||||
| @ -260,28 +223,6 @@ | |||||||
|                 pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/ |                 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 |                 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 |                 # Fonts | ||||||
|                 pkgs.cantarell-fonts |                 pkgs.cantarell-fonts | ||||||
|                 pkgs.dejavu_fonts |                 pkgs.dejavu_fonts | ||||||
| @ -290,7 +231,6 @@ | |||||||
| 
 | 
 | ||||||
|                 # Other stuff |                 # Other stuff | ||||||
|                 pkgs.gnome-session |                 pkgs.gnome-session | ||||||
|             # pkgs.gnome-session.sessions |  | ||||||
|               ]; |               ]; | ||||||
|             }; |             }; | ||||||
|           }; |           }; | ||||||
| @ -376,7 +316,7 @@ | |||||||
|           vscode.enable = true; |           vscode.enable = true; | ||||||
|           docker.enable = true; |           docker.enable = true; | ||||||
|           matlab.enable = true; |           matlab.enable = true; | ||||||
|       mathematica.enable = false; |           mathematica.enable = true; | ||||||
| 
 | 
 | ||||||
|           # Languages |           # Languages | ||||||
|           haskell.enable = false; |           haskell.enable = false; | ||||||
| @ -397,7 +337,7 @@ | |||||||
|           let |           let | ||||||
|             fontpkgs = config.desktop.theming.fonts.pkgs; |             fontpkgs = config.desktop.theming.fonts.pkgs; | ||||||
|           in |           in | ||||||
|       { |           lib.mkDefault { | ||||||
|             # Fonts |             # Fonts | ||||||
|             fonts.serif = fontpkgs."DejaVu Serif"; |             fonts.serif = fontpkgs."DejaVu Serif"; | ||||||
|             fonts.sansSerif = fontpkgs."DejaVu Sans"; |             fonts.sansSerif = fontpkgs."DejaVu Sans"; | ||||||
| @ -412,5 +352,55 @@ | |||||||
|               flavor = "mocha"; |               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-wlr | ||||||
|  |             ]; | ||||||
|  |         }; | ||||||
|  | 
 | ||||||
|  |         # Color scheme | ||||||
|  |         desktop.theming.background = lib.mkDefault { | ||||||
|  |           # 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"; | ||||||
|         }; |         }; | ||||||
|       } |       } | ||||||
|  |   ); | ||||||
|  | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user