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" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1745523430, | ||||
|         "narHash": "sha256-EAYWV+kXbwsH+8G/8UtmcunDeKwLwSOyfcmzZUkWE/c=", | ||||
|         "lastModified": 1732200724, | ||||
|         "narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=", | ||||
|         "owner": "SenchoPens", | ||||
|         "repo": "base16.nix", | ||||
|         "rev": "58bfe2553d937d8af0564f79d5b950afbef69717", | ||||
|         "rev": "153d52373b0fb2d343592871009a286ec8837aec", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -70,11 +70,11 @@ | ||||
|     "firefox-gnome-theme": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1744642301, | ||||
|         "narHash": "sha256-5A6LL7T0lttn1vrKsNOKUk9V0ittdW0VEqh6AtefxJ4=", | ||||
|         "lastModified": 1743774811, | ||||
|         "narHash": "sha256-oiHLDHXq7ymsMVYSg92dD1OLnKLQoU/Gf2F1GoONLCE=", | ||||
|         "owner": "rafaelmardojai", | ||||
|         "repo": "firefox-gnome-theme", | ||||
|         "rev": "59e3de00f01e5adb851d824cf7911bd90c31083a", | ||||
|         "rev": "df53a7a31872faf5ca53dd0730038a62ec63ca9e", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -339,11 +339,11 @@ | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1746040799, | ||||
|         "narHash": "sha256-osgPX/SzIpkR50vev/rqoTEAVkEcOWXoQXmbzsaI4KU=", | ||||
|         "lastModified": 1745340124, | ||||
|         "narHash": "sha256-zQTOl/JPGjiAQoU1yraCGfPBg7yr4nlHNdbZy8Ebrl4=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "home-manager", | ||||
|         "rev": "5f217e5a319f6c186283b530f8c975e66c028433", | ||||
|         "rev": "c9433ae62fbb4bd09609e242569edc3b551e21a9", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -360,11 +360,11 @@ | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1746040799, | ||||
|         "narHash": "sha256-osgPX/SzIpkR50vev/rqoTEAVkEcOWXoQXmbzsaI4KU=", | ||||
|         "lastModified": 1745198506, | ||||
|         "narHash": "sha256-0hVbHuqAnZUnnGaBTqNes0P0kfH+KKyup2boWDST0iI=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "home-manager", | ||||
|         "rev": "5f217e5a319f6c186283b530f8c975e66c028433", | ||||
|         "rev": "b0cc092405da805da6fa964f5a178343658ceaf0", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -409,11 +409,11 @@ | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1746111721, | ||||
|         "narHash": "sha256-Jsn01TrHUZuo2IzeRkcnty+ftBcnHkbtv9NmLwdV9zk=", | ||||
|         "lastModified": 1745161329, | ||||
|         "narHash": "sha256-OEx+1ceH7bONZhxZv+CjoE9CXElL2raz2Zb/9iabWuE=", | ||||
|         "owner": "doronbehar", | ||||
|         "repo": "nix-matlab", | ||||
|         "rev": "07739cc347be4fda69deab66eea68b030e918e89", | ||||
|         "rev": "751b9ca566a57ad297987937e7873365a034788c", | ||||
|         "type": "gitlab" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -430,11 +430,11 @@ | ||||
|         "rust-overlay": "rust-overlay" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1746109800, | ||||
|         "narHash": "sha256-sjDpqdvbQaiA6OAsgLE4niz6hmmCpoUH0cl5zyfu6FI=", | ||||
|         "lastModified": 1745320144, | ||||
|         "narHash": "sha256-Rbw+E3Na694sTPjNSRFHtT1o31eQXO3OLEzM+25kcME=", | ||||
|         "owner": "lilyinstarlight", | ||||
|         "repo": "nixos-cosmic", | ||||
|         "rev": "9fe1aa7b6a1043003b38f36626dd29b52247d720", | ||||
|         "rev": "84d7c1002734f21f150c641da095c5ce43f1cb98", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -445,11 +445,11 @@ | ||||
|     }, | ||||
|     "nixpkgs": { | ||||
|       "locked": { | ||||
|         "lastModified": 1745930157, | ||||
|         "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", | ||||
|         "lastModified": 1744932701, | ||||
|         "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", | ||||
|         "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -461,11 +461,11 @@ | ||||
|     }, | ||||
|     "nixpkgs-stable": { | ||||
|       "locked": { | ||||
|         "lastModified": 1746055187, | ||||
|         "narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=", | ||||
|         "lastModified": 1744440957, | ||||
|         "narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5", | ||||
|         "rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -477,11 +477,11 @@ | ||||
|     }, | ||||
|     "nixpkgs_2": { | ||||
|       "locked": { | ||||
|         "lastModified": 1746061036, | ||||
|         "narHash": "sha256-OxYwCGJf9VJ2KnUO+w/hVJVTjOgscdDg/lPv8Eus07Y=", | ||||
|         "lastModified": 1744868846, | ||||
|         "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "3afd19146cac33ed242fc0fc87481c67c758a59e", | ||||
|         "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -493,11 +493,11 @@ | ||||
|     }, | ||||
|     "nixpkgs_3": { | ||||
|       "locked": { | ||||
|         "lastModified": 1746061036, | ||||
|         "narHash": "sha256-OxYwCGJf9VJ2KnUO+w/hVJVTjOgscdDg/lPv8Eus07Y=", | ||||
|         "lastModified": 1744868846, | ||||
|         "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "3afd19146cac33ed242fc0fc87481c67c758a59e", | ||||
|         "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -509,11 +509,11 @@ | ||||
|     }, | ||||
|     "nixpkgs_4": { | ||||
|       "locked": { | ||||
|         "lastModified": 1745930157, | ||||
|         "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", | ||||
|         "lastModified": 1743583204, | ||||
|         "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", | ||||
|         "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -530,11 +530,11 @@ | ||||
|         "nuschtosSearch": "nuschtosSearch" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1746101723, | ||||
|         "narHash": "sha256-loxT2bAglD3w8XDx+7huMXQHbg07yHHHCNiCiVWneqI=", | ||||
|         "lastModified": 1745324162, | ||||
|         "narHash": "sha256-Sjb/LvtWpPtSXacjJCTrLAmWtXNJd0SWxO3PzTvD7Tc=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "nixvim", | ||||
|         "rev": "c91753bbe57781e08226829b9e354facd50caf1b", | ||||
|         "rev": "60638182b8d1b0fe13631d02eafaf8903499ee60", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -552,11 +552,11 @@ | ||||
|         "treefmt-nix": "treefmt-nix" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1746118004, | ||||
|         "narHash": "sha256-E5WQwA602g5qMnZDmgV7EqDAwyg4PqnoeMJAkDD1yak=", | ||||
|         "lastModified": 1745342999, | ||||
|         "narHash": "sha256-50TqkAv1ma3zI8TwekiVOdxBD+fyJsEeBHRgQtmSktk=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "NUR", | ||||
|         "rev": "9a4aaf927694321aeedfec791dfcc7850f8503cd", | ||||
|         "rev": "71cefa751b886862229c679aab1c2b0fab837052", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -575,11 +575,11 @@ | ||||
|         "treefmt-nix": "treefmt-nix_2" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1746056780, | ||||
|         "narHash": "sha256-/emueQGaoT4vu0QjU9LDOG5roxRSfdY0K2KkxuzazcM=", | ||||
|         "lastModified": 1743884191, | ||||
|         "narHash": "sha256-foVcginhVvjg8ZnTzY5wwMeZ4wjJ8yX66PW5kgyivPE=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "NUR", | ||||
|         "rev": "d476cd0972dd6242d76374fcc277e6735715c167", | ||||
|         "rev": "fde90f5f52e13eed110a0e53a2818a2b09e4d37c", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -631,11 +631,11 @@ | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1746067100, | ||||
|         "narHash": "sha256-6JeEbboDvRjLwB9kzCnmWj+f+ZnMtKOe5c2F1VBpaTs=", | ||||
|         "lastModified": 1745289264, | ||||
|         "narHash": "sha256-7nt+UJ7qaIUe2J7BdnEEph9n2eKEwxUwKS/QIr091uA=", | ||||
|         "owner": "oxalica", | ||||
|         "repo": "rust-overlay", | ||||
|         "rev": "026e8fedefd6b167d92ed04b195c658d95ffc7a5", | ||||
|         "rev": "3b7171858c20d5293360042936058fb0c4cb93a9", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -666,11 +666,11 @@ | ||||
|         "tinted-zed": "tinted-zed" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1746111784, | ||||
|         "narHash": "sha256-94MEscICizhXBJvP5o6f9lcY2vWXTSg1XKZZbS19Yso=", | ||||
|         "lastModified": 1745332124, | ||||
|         "narHash": "sha256-2lRWKSUlKTsfqLhyxXsxKcoPQG5tFQ3GbTne8/vVCQY=", | ||||
|         "owner": "danth", | ||||
|         "repo": "stylix", | ||||
|         "rev": "716e6669a9840e4ba0d8deb6ab1d016ef01c475a", | ||||
|         "rev": "375b1de2424aac1338ee6e8b4ef15976b64b0462", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -761,11 +761,11 @@ | ||||
|     "tinted-schemes": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1744974599, | ||||
|         "narHash": "sha256-Fg+rdGs5FAgfkYNCs74lnl8vkQmiZVdBsziyPhVqrlY=", | ||||
|         "lastModified": 1742851696, | ||||
|         "narHash": "sha256-sR4K+OVFKeUOvNIqcCr5Br7NLxOBEwoAgsIyjsZmb8s=", | ||||
|         "owner": "tinted-theming", | ||||
|         "repo": "schemes", | ||||
|         "rev": "28c26a621123ad4ebd5bbfb34ab39421c0144bdd", | ||||
|         "rev": "c37771c4ae8ff1667e27ddcf24991ebeb94a4e77", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -777,11 +777,11 @@ | ||||
|     "tinted-tmux": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1745111349, | ||||
|         "narHash": "sha256-udV+nHdpqgkJI9D0mtvvAzbqubt9jdifS/KhTTbJ45w=", | ||||
|         "lastModified": 1743296873, | ||||
|         "narHash": "sha256-8IQulrb1OBSxMwdKijO9fB70ON//V32dpK9Uioy7FzY=", | ||||
|         "owner": "tinted-theming", | ||||
|         "repo": "tinted-tmux", | ||||
|         "rev": "e009f18a01182b63559fb28f1c786eb027c3dee9", | ||||
|         "rev": "af5152c8d7546dfb4ff6df94080bf5ff54f64e3a", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | ||||
| @ -71,10 +71,6 @@ | ||||
|             sudo = true; | ||||
|             configuration = ./users/jan.nix; | ||||
|           }; | ||||
|           berg-van-abstractie = { | ||||
|             sudo = false; | ||||
|             configuration = ./users/comp-prog.nix; | ||||
|           }; | ||||
|         }; | ||||
|         "vm-audio" = mkConfig "x86_64-linux" ./machines/vm-audio.nix { | ||||
|           local = { | ||||
|  | ||||
| @ -185,6 +185,7 @@ | ||||
|         DiscoverableTimeout = 0; | ||||
|         AlwaysPairable = true; | ||||
|         PairableTimeout = 0; | ||||
|         ControllerMode = "bredr"; | ||||
|         FastConnectable = true; | ||||
|         JustWorksRepairing = "always"; | ||||
|       }; | ||||
|  | ||||
| @ -58,7 +58,7 @@ in | ||||
|     programs.dconf.enable = true; | ||||
|     services.libinput.enable = true; | ||||
|     networking.firewall = { | ||||
|       enable = true; | ||||
|       enable = mkForce false; | ||||
|       logRefusedConnections = true; | ||||
|       logRefusedPackets = true; | ||||
|       logReversePathDrops = true; | ||||
| @ -84,7 +84,6 @@ in | ||||
|       } | ||||
|     ]; | ||||
|     security.rtkit.enable = true; | ||||
|     security.polkit.enable = true; | ||||
| 
 | ||||
|     # TODO: Move to USB module | ||||
|     # services.gvfs.enable = true; | ||||
|  | ||||
| @ -1,9 +1,4 @@ | ||||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| { config, lib, ... }: | ||||
| 
 | ||||
| with lib; | ||||
| { | ||||
| @ -13,29 +8,11 @@ with lib; | ||||
| 
 | ||||
|   config = mkIf config.modules.grdp.enable { | ||||
|     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" ]; | ||||
|     networking.firewall = { | ||||
|       allowedTCPPorts = [ 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 = [ | ||||
|     #   { | ||||
|     #     settings = with lib.gvariant; { | ||||
|  | ||||
| @ -54,7 +54,8 @@ in | ||||
| 
 | ||||
|         # Theming | ||||
|         userChrome = readFile ( | ||||
|           pkgs.replaceVars ./userChrome.css { | ||||
|           pkgs.substituteAll { | ||||
|             src = ./userChrome.css; | ||||
|             colors = config.desktop.theming.colorsCSS; | ||||
|           } | ||||
|         ); | ||||
|  | ||||
| @ -11,30 +11,26 @@ let | ||||
| in | ||||
| { | ||||
|   options.desktop.theming.background = { | ||||
|     image = { | ||||
|       url = mkOption { | ||||
|     path = mkOption { | ||||
|       type = types.str; | ||||
|         default = "https://raw.githubusercontent.com/dharmx/walls/refs/heads/main/digital/a_drawing_of_a_spider_on_a_white_surface.png"; | ||||
|         description = "URL to the background image."; | ||||
|       }; | ||||
|       hash = mkOption { | ||||
|         type = types.str; | ||||
|         default = "sha256-eCEjM7R9yeHNhZZtvHjrgkfwT25JA7FeMoVwnQ887CQ="; | ||||
|         description = "SHA256 hash of the background image."; | ||||
|       }; | ||||
|       default = "minimal/a_flower_on_a_dark_background.png"; | ||||
|       description = "Path to the background image."; | ||||
|     }; | ||||
|     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 = | ||||
|     with pkgs; | ||||
|     let | ||||
|       src = pkgs.fetchurl { | ||||
|         url = cfg.image.url; | ||||
|         hash = cfg.image.hash; | ||||
|       }; | ||||
| 
 | ||||
|       theme = writeTextFile { | ||||
|         name = "gowall-theme"; | ||||
|         text = builtins.toJSON { | ||||
| @ -65,55 +61,44 @@ in | ||||
|         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 { | ||||
|         name = "background-themed-1.0.0"; | ||||
|         src = src; | ||||
|         src = cfg.src; | ||||
| 
 | ||||
|         buildInputs = [ | ||||
|           gowall | ||||
|           imagemagick | ||||
|           (writeShellScriptBin "xdg-open" "") | ||||
|           tree | ||||
|         ]; | ||||
| 
 | ||||
|         unpackPhase = '' | ||||
|           cp ${src} ./${image} | ||||
|           chmod u+w ./${image} | ||||
|         ''; | ||||
|         buildPhase = | ||||
|           if cfg.themed then | ||||
|             if cfg.invert then | ||||
|               '' | ||||
|                 cp ${theme} ./theme.json | ||||
| 
 | ||||
|         buildPhase = '' | ||||
|           ${optionalString cfg.inverted '' | ||||
|             convert ./${image} -channel RGB -negate ./${image} | ||||
|           ''} | ||||
|           ${optionalString cfg.themed '' | ||||
|                 export HOME=$PWD | ||||
|                 convert ./${cfg.path} -channel RGB -negate ./${cfg.path} | ||||
| 
 | ||||
|                 gowall convert ./${cfg.path} -o themed -t ./theme.json | ||||
|                 mv Pictures/gowall/themed.* ./ | ||||
|                 mogrify -format png themed.* | ||||
|               '' | ||||
|             else | ||||
|               '' | ||||
|                 cp ${theme} ./theme.json | ||||
| 
 | ||||
|                 export HOME=$PWD | ||||
| 
 | ||||
|             gowall convert ./${image} --output themed -t ./theme.json | ||||
|             tree | ||||
|             mv ./themed/*.* ./ | ||||
|           ''} | ||||
|           mv ./${image} themed.${fileExtension image} | ||||
|           ${optionalString (fileExtension image != "png") '' | ||||
|                 gowall convert ./${cfg.path} -o themed -t ./theme.json | ||||
|                 mv Pictures/gowall/themed.* ./ | ||||
|                 mogrify -format png themed.* | ||||
|           ''} | ||||
|               '' | ||||
|           else | ||||
|             '' | ||||
|               cp ${cfg.path} ./themed | ||||
| 
 | ||||
|               mogrify -format png themed | ||||
|             ''; | ||||
| 
 | ||||
|         installPhase = '' | ||||
|  | ||||
| @ -110,11 +110,8 @@ in | ||||
|     # Configure qt theme | ||||
|     qt = mkIf config.desktop.enable { | ||||
|       enable = true; | ||||
|       platformTheme.name = "gtk"; | ||||
|       style = { | ||||
|         name = if cfg.darkMode then "adwaita-dark" else "adwaita-light"; | ||||
|         package = pkgs.adwaita-qt; | ||||
|       }; | ||||
|       platformTheme.name = "adwaita"; | ||||
|       style.name = if cfg.darkMode then "adwaita-dark" else "adwaita-light"; | ||||
|     }; | ||||
| 
 | ||||
|     # Configure gtk theme | ||||
|  | ||||
| @ -35,8 +35,6 @@ let | ||||
| 
 | ||||
|   fontModules = [ | ||||
|     # Import all fonts | ||||
|     ./fonts/adwaita-mono.nix | ||||
|     ./fonts/adwaita-sans.nix | ||||
|     ./fonts/cozette-vector.nix | ||||
|     ./fonts/cozette.nix | ||||
|     ./fonts/dejavu-sans.nix | ||||
| @ -192,8 +190,8 @@ in | ||||
|       { | ||||
|         enable = true; | ||||
|         # TODO: Toggles | ||||
|         gtk3.extraCss = mkIf config.modules.river.enable disableCSD; | ||||
|         gtk4.extraCss = mkIf config.modules.river.enable disableCSD; | ||||
|         gtk3.extraCss = disableCSD; | ||||
|         gtk4.extraCss = disableCSD; | ||||
|       }; | ||||
| 
 | ||||
|     # 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 { | ||||
|     # 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 | ||||
| { | ||||
|  | ||||
| @ -15,11 +15,5 @@ in | ||||
|   config = mkIf cfg.enable { | ||||
|     # TODO: Move to audioling | ||||
|     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:␣"; | ||||
|       }; | ||||
| 
 | ||||
|       diagnostic.settings = { | ||||
|       diagnostics = { | ||||
|         enable = true; | ||||
|         signs = 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"; | ||||
|       # }; | ||||
|     }; | ||||
| } | ||||
							
								
								
									
										200
									
								
								users/jan.nix
									
									
									
									
									
								
							
							
						
						
									
										200
									
								
								users/jan.nix
									
									
									
									
									
								
							| @ -8,9 +8,7 @@ | ||||
| }: | ||||
| 
 | ||||
| { | ||||
|   config = ( | ||||
|     lib.recursiveUpdate | ||||
|       { | ||||
|   config = { | ||||
|     # State version | ||||
|     home.stateVersion = "24.05"; | ||||
| 
 | ||||
| @ -27,9 +25,6 @@ | ||||
|       ente-auth | ||||
|       bitwarden | ||||
|       carla | ||||
|           baobab | ||||
|           gnome-calculator | ||||
|           nautilus | ||||
|     ]; | ||||
| 
 | ||||
|     # desktop.development = "river-light"; | ||||
| @ -68,17 +63,9 @@ | ||||
|           # 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="; | ||||
|                 # }; | ||||
|             path = "anime/a_colorful_buildings_with_power_lines.jpg"; | ||||
|             themed = true; | ||||
|                 inverted = false; | ||||
|             invert = false; | ||||
|           }; | ||||
|           desktop.theming.themes.catppuccin = { | ||||
|             enable = true; | ||||
| @ -119,13 +106,9 @@ | ||||
|           # 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="; | ||||
|                 }; | ||||
|             path = "anime/a_cartoon_of_a_street_with_buildings.jpeg"; | ||||
|             themed = true; | ||||
|                 inverted = false; | ||||
|             invert = false; | ||||
|           }; | ||||
|           desktop.theming.themes.catppuccin = { | ||||
|             enable = true; | ||||
| @ -133,6 +116,78 @@ | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|       # 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"; | ||||
| @ -150,27 +205,6 @@ | ||||
|               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 = { | ||||
| @ -188,8 +222,10 @@ | ||||
|           }; | ||||
|           home.packages = [ | ||||
|             # Core utilities | ||||
|             pkgs.baobab | ||||
|             pkgs.epiphany | ||||
|             pkgs.gnome-text-editor | ||||
|             pkgs.gnome-calculator | ||||
|             pkgs.gnome-calendar | ||||
|             pkgs.gnome-characters | ||||
|             pkgs.gnome-clocks | ||||
| @ -202,6 +238,7 @@ | ||||
|             pkgs.gnome-system-monitor | ||||
|             pkgs.gnome-weather | ||||
|             pkgs.loupe | ||||
|             pkgs.nautilus | ||||
|             pkgs.gnome-connections | ||||
|             pkgs.simple-scan | ||||
|             pkgs.snapshot | ||||
| @ -223,6 +260,28 @@ | ||||
|             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 | ||||
| @ -231,6 +290,7 @@ | ||||
| 
 | ||||
|             # Other stuff | ||||
|             pkgs.gnome-session | ||||
|             # pkgs.gnome-session.sessions | ||||
|           ]; | ||||
|         }; | ||||
|       }; | ||||
| @ -316,7 +376,7 @@ | ||||
|       vscode.enable = true; | ||||
|       docker.enable = true; | ||||
|       matlab.enable = true; | ||||
|           mathematica.enable = true; | ||||
|       mathematica.enable = false; | ||||
| 
 | ||||
|       # Languages | ||||
|       haskell.enable = false; | ||||
| @ -337,7 +397,7 @@ | ||||
|       let | ||||
|         fontpkgs = config.desktop.theming.fonts.pkgs; | ||||
|       in | ||||
|           lib.mkDefault { | ||||
|       { | ||||
|         # Fonts | ||||
|         fonts.serif = fontpkgs."DejaVu Serif"; | ||||
|         fonts.sansSerif = fontpkgs."DejaVu Sans"; | ||||
| @ -352,55 +412,5 @@ | ||||
|           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