Updated personal config
This commit is contained in:
		
							parent
							
								
									626d78f088
								
							
						
					
					
						commit
						c3c61ce654
					
				
							
								
								
									
										748
									
								
								users/jan.nix
									
									
									
									
									
								
							
							
						
						
									
										748
									
								
								users/jan.nix
									
									
									
									
									
								
							| @ -8,409 +8,399 @@ | |||||||
| }: | }: | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   config = { |   config = ( | ||||||
|     # State version |     lib.recursiveUpdate | ||||||
|     home.stateVersion = "24.05"; |       { | ||||||
|  |         # State version | ||||||
|  |         home.stateVersion = "24.05"; | ||||||
| 
 | 
 | ||||||
|     # TODO: Move into modules |         # TODO: Move into modules | ||||||
|     home.packages = with pkgs; [ |         home.packages = with pkgs; [ | ||||||
|       libreoffice-still |           libreoffice-still | ||||||
|       remmina |           remmina | ||||||
|       pinentry |           pinentry | ||||||
|       thunderbird |           thunderbird | ||||||
|       signal-desktop |           signal-desktop | ||||||
|       prusa-slicer |           prusa-slicer | ||||||
|       freecad-wayland |           freecad-wayland | ||||||
|       inkscape |           inkscape | ||||||
|       ente-auth |           ente-auth | ||||||
|       bitwarden |           bitwarden | ||||||
|       carla |           carla | ||||||
|     ]; |           baobab | ||||||
|  |           gnome-calculator | ||||||
|  |           nautilus | ||||||
|  |         ]; | ||||||
| 
 | 
 | ||||||
|     # desktop.development = "river-light"; |         # desktop.development = "river-light"; | ||||||
|     desktop.enable = true; |         desktop.enable = true; | ||||||
|     desktop.environments = { |         desktop.environments = { | ||||||
|       river-dark = { |           river-dark = { | ||||||
|         name = "River Dark"; |             name = "River Dark"; | ||||||
|         type = "custom"; |             type = "custom"; | ||||||
|         config = { }; |             config = { }; | ||||||
|         extraConfig = { |             extraConfig = { | ||||||
|           modules = { |               modules = { | ||||||
|             # Desktop environment |                 # Desktop environment | ||||||
|             river.enable = true; |                 river.enable = true; | ||||||
|             waylock.enable = true; |                 waylock.enable = true; | ||||||
|             waybar.enable = true; |                 waybar.enable = true; | ||||||
|             mako.enable = true; |                 mako.enable = true; | ||||||
|             foot.enable = true; |                 foot.enable = true; | ||||||
|             rofi-rbw.enable = true; |                 rofi-rbw.enable = true; | ||||||
|           }; |               }; | ||||||
| 
 | 
 | ||||||
|           # TODO: Remove everything below, it is here out of convenience and should be elsewhere |               # TODO: Remove everything below, it is here out of convenience and should be elsewhere | ||||||
|           xdg.portal = { |               xdg.portal = { | ||||||
|             enable = true; |                 enable = true; | ||||||
| 
 | 
 | ||||||
|             config.common.default = [ |                 config.common.default = [ | ||||||
|               "wlr" |                   "wlr" | ||||||
|               "gtk" |                   "gtk" | ||||||
|             ]; |                 ]; | ||||||
| 
 | 
 | ||||||
|             extraPortals = with pkgs; [ |                 extraPortals = with pkgs; [ | ||||||
|               xdg-desktop-portal-gtk |                   xdg-desktop-portal-gtk | ||||||
|               xdg-desktop-portal-wlr |                   xdg-desktop-portal-wlr | ||||||
|             ]; |                 ]; | ||||||
|           }; |               }; | ||||||
| 
 | 
 | ||||||
|           # 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"; | ||||||
|             themed = true; |                 image = { | ||||||
|             invert = false; |                   url = "https://i.postimg.cc/tTB3dM3T/1382899.png"; | ||||||
|           }; |                   hash = "sha256-kStcwAtK2vxitU6uaQtZTA5iFS8k0iXkFwinY2M8wQE="; | ||||||
|           desktop.theming.themes.catppuccin = { |                 }; | ||||||
|             enable = true; |                 # image = { | ||||||
|             flavor = "mocha"; |                 #   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; | ||||||
|       river-light = { |                 inverted = false; | ||||||
|         name = "River Light"; |               }; | ||||||
|         type = "custom"; |               desktop.theming.themes.catppuccin = { | ||||||
|         config = { }; |                 enable = true; | ||||||
|         extraConfig = { |                 flavor = "mocha"; | ||||||
|           modules = { |               }; | ||||||
|             # Desktop environment |  | ||||||
|             river.enable = true; |  | ||||||
|             waylock.enable = true; |  | ||||||
|             waybar.enable = true; |  | ||||||
|             mako.enable = true; |  | ||||||
|             foot.enable = true; |  | ||||||
|             rofi-rbw.enable = true; |  | ||||||
|           }; |  | ||||||
| 
 |  | ||||||
|           # TODO: Remove everything below, it is here out of convenience and should be elsewhere |  | ||||||
|           xdg.portal = { |  | ||||||
|             enable = true; |  | ||||||
| 
 |  | ||||||
|             config.common.default = [ |  | ||||||
|               "wlr" |  | ||||||
|               "gtk" |  | ||||||
|             ]; |  | ||||||
| 
 |  | ||||||
|             extraPortals = with pkgs; [ |  | ||||||
|               xdg-desktop-portal-gtk |  | ||||||
|               xdg-desktop-portal-wlr |  | ||||||
|             ]; |  | ||||||
|           }; |  | ||||||
| 
 |  | ||||||
|           # Color scheme |  | ||||||
|           desktop.theming.background = { |  | ||||||
|             # path = "unsorted/a_group_of_mountains_with_a_building_in_the_background.jpg"; |  | ||||||
|             path = "anime/a_cartoon_of_a_street_with_buildings.jpeg"; |  | ||||||
|             themed = true; |  | ||||||
|             invert = false; |  | ||||||
|           }; |  | ||||||
|           desktop.theming.themes.catppuccin = { |  | ||||||
|             enable = true; |  | ||||||
|             flavor = lib.mkForce "latte"; |  | ||||||
|           }; |  | ||||||
|         }; |  | ||||||
|       }; |  | ||||||
|       # cosmic = { |  | ||||||
|       #   name = "Cosmic"; |  | ||||||
|       #   type = "custom"; |  | ||||||
|       #   config = { }; |  | ||||||
|       #   extraConfig = { |  | ||||||
|       #     desktop = { |  | ||||||
|       #       initScript = '' |  | ||||||
|       #         ${pkgs.cosmic-session}/bin/cosmic-session |  | ||||||
|       #       ''; |  | ||||||
|       #       session = { |  | ||||||
|       #         type = "wayland"; |  | ||||||
|       #         desktop = "cosmic"; |  | ||||||
|       #       }; |  | ||||||
|       #     }; |  | ||||||
|       #     # TODO: Remove everything below, it is here out of convenience and should be elsewhere |  | ||||||
|       #     xdg.portal = { |  | ||||||
|       #       enable = true; |  | ||||||
| 
 |  | ||||||
|       #       config.common.default = [ |  | ||||||
|       #         "cosmic" |  | ||||||
|       #         "gtk" |  | ||||||
|       #       ]; |  | ||||||
| 
 |  | ||||||
|       #       extraPortals = with pkgs; [ |  | ||||||
|       #         xdg-desktop-portal-cosmic |  | ||||||
|       #         xdg-desktop-portal-gtk |  | ||||||
|       #       ]; |  | ||||||
| 
 |  | ||||||
|       #       configPackages = lib.mkDefault (with pkgs; [ xdg-desktop-portal-cosmic ]); |  | ||||||
|       #     }; |  | ||||||
|       #     home.packages = with pkgs; [ |  | ||||||
|       #       adwaita-icon-theme |  | ||||||
|       #       alsa-utils |  | ||||||
|       #       cosmic-applets |  | ||||||
|       #       cosmic-applibrary |  | ||||||
|       #       cosmic-bg |  | ||||||
|       #       (cosmic-comp.override { |  | ||||||
|       #         useXWayland = false; |  | ||||||
|       #       }) |  | ||||||
|       #       cosmic-edit |  | ||||||
|       #       cosmic-files |  | ||||||
|       #       cosmic-greeter |  | ||||||
|       #       cosmic-icons |  | ||||||
|       #       cosmic-idle |  | ||||||
|       #       cosmic-launcher |  | ||||||
|       #       cosmic-notifications |  | ||||||
|       #       cosmic-osd |  | ||||||
|       #       cosmic-panel |  | ||||||
|       #       cosmic-player |  | ||||||
|       #       cosmic-randr |  | ||||||
|       #       cosmic-screenshot |  | ||||||
|       #       cosmic-session |  | ||||||
|       #       cosmic-settings |  | ||||||
|       #       cosmic-settings-daemon |  | ||||||
|       #       cosmic-term |  | ||||||
|       #       cosmic-wallpapers |  | ||||||
|       #       cosmic-workspaces-epoch |  | ||||||
|       #       hicolor-icon-theme |  | ||||||
|       #       playerctl |  | ||||||
|       #       pop-icon-theme |  | ||||||
|       #       pop-launcher |  | ||||||
|       #       xdg-user-dirs |  | ||||||
|       #       xwayland |  | ||||||
|       #       cosmic-store |  | ||||||
| 
 |  | ||||||
|       #       # Fonts |  | ||||||
|       #       fira |  | ||||||
|       #       noto-fonts |  | ||||||
|       #       open-sans |  | ||||||
|       #     ]; |  | ||||||
|       #   }; |  | ||||||
|       # }; |  | ||||||
|       gnome = { |  | ||||||
|         name = "Gnome"; |  | ||||||
|         type = "custom"; |  | ||||||
|         config = { }; |  | ||||||
|         extraConfig = { |  | ||||||
|           programs = { |  | ||||||
|             gnome-shell.enable = true; |  | ||||||
|           }; |  | ||||||
|           desktop = { |  | ||||||
|             initScript = '' |  | ||||||
|               ${pkgs.gnome-session}/bin/gnome-session |  | ||||||
|             ''; |  | ||||||
|             session = { |  | ||||||
|               type = "wayland"; |  | ||||||
|               desktop = "GNOME"; |  | ||||||
|             }; |             }; | ||||||
|           }; |           }; | ||||||
|  |           river-light = { | ||||||
|  |             name = "River Light"; | ||||||
|  |             type = "custom"; | ||||||
|  |             config = { }; | ||||||
|  |             extraConfig = { | ||||||
|  |               modules = { | ||||||
|  |                 # Desktop environment | ||||||
|  |                 river.enable = true; | ||||||
|  |                 waylock.enable = true; | ||||||
|  |                 waybar.enable = true; | ||||||
|  |                 mako.enable = true; | ||||||
|  |                 foot.enable = true; | ||||||
|  |                 rofi-rbw.enable = true; | ||||||
|  |               }; | ||||||
| 
 | 
 | ||||||
|           # TODO: Remove everything below, it is here out of convenience and should be elsewhere |               # TODO: Remove everything below, it is here out of convenience and should be elsewhere | ||||||
|           xdg.portal = { |               xdg.portal = { | ||||||
|  |                 enable = true; | ||||||
|  | 
 | ||||||
|  |                 config.common.default = [ | ||||||
|  |                   "wlr" | ||||||
|  |                   "gtk" | ||||||
|  |                 ]; | ||||||
|  | 
 | ||||||
|  |                 extraPortals = with pkgs; [ | ||||||
|  |                   xdg-desktop-portal-gtk | ||||||
|  |                   xdg-desktop-portal-wlr | ||||||
|  |                 ]; | ||||||
|  |               }; | ||||||
|  | 
 | ||||||
|  |               # Color scheme | ||||||
|  |               desktop.theming.background = { | ||||||
|  |                 # path = "unsorted/a_group_of_mountains_with_a_building_in_the_background.jpg"; | ||||||
|  |                 # image = "anime/a_cartoon_of_a_street_with_buildings.jpeg"; | ||||||
|  |                 image = { | ||||||
|  |                   url = "https://raw.githubusercontent.com/dharmx/walls/refs/heads/main/digital/a_drawing_of_a_spider_on_a_white_surface.png"; | ||||||
|  |                   hash = "sha256-eCEjM7R9yeHNhZZtvHjrgkfwT25JA7FeMoVwnQ887CQ="; | ||||||
|  |                 }; | ||||||
|  |                 themed = true; | ||||||
|  |                 inverted = false; | ||||||
|  |               }; | ||||||
|  |               desktop.theming.themes.catppuccin = { | ||||||
|  |                 enable = true; | ||||||
|  |                 flavor = lib.mkForce "latte"; | ||||||
|  |               }; | ||||||
|  |             }; | ||||||
|  |           }; | ||||||
|  |           gnome = { | ||||||
|  |             name = "Gnome"; | ||||||
|  |             type = "custom"; | ||||||
|  |             config = { }; | ||||||
|  |             extraConfig = { | ||||||
|  |               programs = { | ||||||
|  |                 gnome-shell.enable = true; | ||||||
|  |               }; | ||||||
|  |               desktop = { | ||||||
|  |                 initScript = '' | ||||||
|  |                   ${pkgs.gnome-session}/bin/gnome-session | ||||||
|  |                 ''; | ||||||
|  |                 session = { | ||||||
|  |                   type = "wayland"; | ||||||
|  |                   desktop = "GNOME"; | ||||||
|  |                 }; | ||||||
|  |               }; | ||||||
|  |               modules.river.enable = lib.mkForce false; | ||||||
|  |               # # Theme configuration | ||||||
|  |               # desktop.theming = | ||||||
|  |               #   let | ||||||
|  |               #     fontpkgs = config.desktop.theming.fonts.pkgs; | ||||||
|  |               #   in | ||||||
|  |               #   { | ||||||
|  |               #     # Fonts | ||||||
|  |               #     fonts.serif = fontpkgs."DejaVu Serif"; | ||||||
|  |               #     fonts.sansSerif = fontpkgs."Adwaita Sans"; | ||||||
|  |               #     fonts.monospace = fontpkgs."Adwaita Mono"; | ||||||
|  |               #     fonts.emoji = fontpkgs."Noto Color Emoji"; | ||||||
|  |               #     fonts.interface = fontpkgs."Adwaita Sans"; | ||||||
|  |               #     fonts.extraFonts = [ ]; | ||||||
|  | 
 | ||||||
|  |               #     # Color scheme | ||||||
|  |               #     themes.catppuccin = { | ||||||
|  |               #       enable = true; | ||||||
|  |               #       flavor = "mocha"; | ||||||
|  |               #     }; | ||||||
|  |               #   }; | ||||||
|  | 
 | ||||||
|  |               # TODO: Remove everything below, it is here out of convenience and should be elsewhere | ||||||
|  |               xdg.portal = { | ||||||
|  |                 enable = true; | ||||||
|  | 
 | ||||||
|  |                 config.common.default = [ | ||||||
|  |                   "gnome" | ||||||
|  |                   "gtk" | ||||||
|  |                 ]; | ||||||
|  | 
 | ||||||
|  |                 extraPortals = with pkgs; [ | ||||||
|  |                   xdg-desktop-portal-gnome | ||||||
|  |                   xdg-desktop-portal-gtk | ||||||
|  |                 ]; | ||||||
|  |               }; | ||||||
|  |               home.packages = [ | ||||||
|  |                 # Core utilities | ||||||
|  |                 pkgs.epiphany | ||||||
|  |                 pkgs.gnome-text-editor | ||||||
|  |                 pkgs.gnome-calendar | ||||||
|  |                 pkgs.gnome-characters | ||||||
|  |                 pkgs.gnome-clocks | ||||||
|  |                 pkgs.gnome-console | ||||||
|  |                 pkgs.gnome-contacts | ||||||
|  |                 pkgs.gnome-font-viewer | ||||||
|  |                 pkgs.gnome-logs | ||||||
|  |                 pkgs.gnome-maps | ||||||
|  |                 pkgs.gnome-music | ||||||
|  |                 pkgs.gnome-system-monitor | ||||||
|  |                 pkgs.gnome-weather | ||||||
|  |                 pkgs.loupe | ||||||
|  |                 pkgs.gnome-connections | ||||||
|  |                 pkgs.simple-scan | ||||||
|  |                 pkgs.snapshot | ||||||
|  |                 pkgs.totem | ||||||
|  |                 pkgs.yelp | ||||||
|  | 
 | ||||||
|  |                 # Optional packages | ||||||
|  |                 pkgs.adwaita-icon-theme | ||||||
|  |                 pkgs.gnome-backgrounds | ||||||
|  |                 pkgs.gnome-bluetooth | ||||||
|  |                 pkgs.gnome-color-manager | ||||||
|  |                 pkgs.gnome-control-center | ||||||
|  |                 pkgs.gnome-shell-extensions | ||||||
|  |                 pkgs.gnome-tour # GNOME Shell detects the .desktop file on first log-in. | ||||||
|  |                 pkgs.gnome-user-docs | ||||||
|  |                 pkgs.glib # for gsettings program | ||||||
|  |                 pkgs.gnome-menus | ||||||
|  |                 pkgs.gtk3.out # for gtk-launch program | ||||||
|  |                 pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/ | ||||||
|  |                 pkgs.xdg-user-dirs-gtk # Used to create the default bookmarks | ||||||
|  | 
 | ||||||
|  |                 # Fonts | ||||||
|  |                 pkgs.cantarell-fonts | ||||||
|  |                 pkgs.dejavu_fonts | ||||||
|  |                 pkgs.source-code-pro # Default monospace font in 3.32 | ||||||
|  |                 pkgs.source-sans | ||||||
|  | 
 | ||||||
|  |                 # Other stuff | ||||||
|  |                 pkgs.gnome-session | ||||||
|  |               ]; | ||||||
|  |             }; | ||||||
|  |           }; | ||||||
|  |         }; | ||||||
|  | 
 | ||||||
|  |         # Pipewire roc sink | ||||||
|  |         xdg.configFile."pipewire/pipewire.conf.d/60-roc-sink.conf" = { | ||||||
|  |           text = '' | ||||||
|  |             context.modules = [ | ||||||
|  |               { | ||||||
|  |                 name = "libpipewire-module-roc-sink" | ||||||
|  |                 args = { | ||||||
|  |                   fec.code = "rs8m" | ||||||
|  |                   remote.ip = "10.20.60.251" | ||||||
|  |                   remote.source.port = 10001 | ||||||
|  |                   remote.repair.port = 10002 | ||||||
|  |                   sink.name = "Roc Sink" | ||||||
|  |                   sink.props.node.name = "roc-sink" | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |             ] | ||||||
|  |           ''; | ||||||
|  |         }; | ||||||
|  | 
 | ||||||
|  |         # Enabled modules | ||||||
|  |         modules = { | ||||||
|  |           # Communication | ||||||
|  |           whatsapp.enable = true; | ||||||
|  |           discord.enable = true; | ||||||
|  | 
 | ||||||
|  |           # Browser | ||||||
|  |           firefox = { | ||||||
|             enable = true; |             enable = true; | ||||||
|  |             default = false; | ||||||
|  |           }; | ||||||
|  |           qutebrowser = { | ||||||
|  |             enable = true; | ||||||
|  |             default = true; | ||||||
|  |           }; | ||||||
| 
 | 
 | ||||||
|             config.common.default = [ |           # Gaming | ||||||
|               "gnome" |           steam.enable = true; | ||||||
|               "gtk" |           # modrinth.enable = true; | ||||||
|             ]; |           # es-de.enable = true; # TODO: Fix, again | ||||||
|  |           retroarch.enable = true; | ||||||
|  |           ryujinx.enable = true; | ||||||
| 
 | 
 | ||||||
|             extraPortals = with pkgs; [ |           # Media | ||||||
|               xdg-desktop-portal-gnome |           spotify.enable = true; | ||||||
|               xdg-desktop-portal-gtk |           feishin.enable = true; | ||||||
|  | 
 | ||||||
|  |           # Tools | ||||||
|  |           git = { | ||||||
|  |             enable = true; | ||||||
|  |             user = "Jan-Bulthuis"; | ||||||
|  |             email = "git@bulthuis.dev"; | ||||||
|  |             # TODO: Move | ||||||
|  |             ignores = [ | ||||||
|  |               ".envrc" | ||||||
|  |               ".direnv" | ||||||
|  |               "flake.nix" | ||||||
|  |               "flake.lock" | ||||||
|  |             ]; | ||||||
|  |           }; | ||||||
|  |           btop.enable = true; | ||||||
|  |           fish.enable = true; | ||||||
|  |           bluetuith.enable = false; | ||||||
|  |           winbox.enable = true; | ||||||
|  |           obsidian.enable = true; | ||||||
|  |           zathura.enable = true; | ||||||
|  |           eduvpn.enable = true; | ||||||
|  |           keyring.enable = true; | ||||||
|  |           scripts.enable = true; | ||||||
|  |           xpra = { | ||||||
|  |             enable = true; | ||||||
|  |             hosts = [ | ||||||
|  |               "mixer@10.20.60.251" | ||||||
|             ]; |             ]; | ||||||
|           }; |           }; | ||||||
|           home.packages = [ |  | ||||||
|             # Core utilities |  | ||||||
|             pkgs.baobab |  | ||||||
|             pkgs.epiphany |  | ||||||
|             pkgs.gnome-text-editor |  | ||||||
|             pkgs.gnome-calculator |  | ||||||
|             pkgs.gnome-calendar |  | ||||||
|             pkgs.gnome-characters |  | ||||||
|             pkgs.gnome-clocks |  | ||||||
|             pkgs.gnome-console |  | ||||||
|             pkgs.gnome-contacts |  | ||||||
|             pkgs.gnome-font-viewer |  | ||||||
|             pkgs.gnome-logs |  | ||||||
|             pkgs.gnome-maps |  | ||||||
|             pkgs.gnome-music |  | ||||||
|             pkgs.gnome-system-monitor |  | ||||||
|             pkgs.gnome-weather |  | ||||||
|             pkgs.loupe |  | ||||||
|             pkgs.nautilus |  | ||||||
|             pkgs.gnome-connections |  | ||||||
|             pkgs.simple-scan |  | ||||||
|             pkgs.snapshot |  | ||||||
|             pkgs.totem |  | ||||||
|             pkgs.yelp |  | ||||||
| 
 | 
 | ||||||
|             # Optional packages |           # Development | ||||||
|             pkgs.adwaita-icon-theme |           neovim.enable = true; | ||||||
|             pkgs.gnome-backgrounds |           vscode.enable = true; | ||||||
|             pkgs.gnome-bluetooth |           docker.enable = true; | ||||||
|             pkgs.gnome-color-manager |           matlab.enable = true; | ||||||
|             pkgs.gnome-control-center |           mathematica.enable = true; | ||||||
|             pkgs.gnome-shell-extensions |  | ||||||
|             pkgs.gnome-tour # GNOME Shell detects the .desktop file on first log-in. |  | ||||||
|             pkgs.gnome-user-docs |  | ||||||
|             pkgs.glib # for gsettings program |  | ||||||
|             pkgs.gnome-menus |  | ||||||
|             pkgs.gtk3.out # for gtk-launch program |  | ||||||
|             pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/ |  | ||||||
|             pkgs.xdg-user-dirs-gtk # Used to create the default bookmarks |  | ||||||
| 
 | 
 | ||||||
|             # Games |           # Languages | ||||||
|             pkgs.aisleriot |           haskell.enable = false; | ||||||
|             pkgs.atomix |           js.enable = true; | ||||||
|             pkgs.five-or-more |           nix.enable = true; | ||||||
|             pkgs.four-in-a-row |           rust.enable = true; | ||||||
|             pkgs.gnome-2048 |           python.enable = true; | ||||||
|             pkgs.gnome-chess |           cpp.enable = true; | ||||||
|             pkgs.gnome-klotski |           tex.enable = true; | ||||||
|             pkgs.gnome-mahjongg |           jupyter.enable = true; | ||||||
|             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 |           # Enable unfree | ||||||
|             pkgs.cantarell-fonts |           unfree.enable = true; | ||||||
|             pkgs.dejavu_fonts |  | ||||||
|             pkgs.source-code-pro # Default monospace font in 3.32 |  | ||||||
|             pkgs.source-sans |  | ||||||
| 
 |  | ||||||
|             # Other stuff |  | ||||||
|             pkgs.gnome-session |  | ||||||
|             # pkgs.gnome-session.sessions |  | ||||||
|           ]; |  | ||||||
|         }; |         }; | ||||||
|       }; |  | ||||||
|     }; |  | ||||||
| 
 | 
 | ||||||
|     # Pipewire roc sink |         # Theme configuration | ||||||
|     xdg.configFile."pipewire/pipewire.conf.d/60-roc-sink.conf" = { |         desktop.theming = | ||||||
|       text = '' |           let | ||||||
|         context.modules = [ |             fontpkgs = config.desktop.theming.fonts.pkgs; | ||||||
|           { |           in | ||||||
|             name = "libpipewire-module-roc-sink" |           lib.mkDefault { | ||||||
|             args = { |             # Fonts | ||||||
|               fec.code = "rs8m" |             fonts.serif = fontpkgs."DejaVu Serif"; | ||||||
|               remote.ip = "10.20.60.251" |             fonts.sansSerif = fontpkgs."DejaVu Sans"; | ||||||
|               remote.source.port = 10001 |             fonts.monospace = fontpkgs."Dina"; | ||||||
|               remote.repair.port = 10002 |             fonts.emoji = fontpkgs."Noto Color Emoji"; | ||||||
|               sink.name = "Roc Sink" |             fonts.interface = fontpkgs."Dina"; | ||||||
|               sink.props.node.name = "roc-sink" |             fonts.extraFonts = [ ]; | ||||||
|             } |  | ||||||
|           } |  | ||||||
|         ] |  | ||||||
|       ''; |  | ||||||
|     }; |  | ||||||
| 
 | 
 | ||||||
|     # Enabled modules |             # Color scheme | ||||||
|     modules = { |             themes.catppuccin = { | ||||||
|       # Communication |               enable = true; | ||||||
|       whatsapp.enable = true; |               flavor = "mocha"; | ||||||
|       discord.enable = true; |             }; | ||||||
| 
 |           }; | ||||||
|       # Browser |       } | ||||||
|       firefox = { |  | ||||||
|         enable = true; |  | ||||||
|         default = false; |  | ||||||
|       }; |  | ||||||
|       qutebrowser = { |  | ||||||
|         enable = true; |  | ||||||
|         default = true; |  | ||||||
|       }; |  | ||||||
| 
 |  | ||||||
|       # Gaming |  | ||||||
|       steam.enable = true; |  | ||||||
|       # modrinth.enable = true; |  | ||||||
|       # es-de.enable = true; # TODO: Fix, again |  | ||||||
|       retroarch.enable = true; |  | ||||||
|       ryujinx.enable = true; |  | ||||||
| 
 |  | ||||||
|       # Media |  | ||||||
|       spotify.enable = true; |  | ||||||
|       feishin.enable = true; |  | ||||||
| 
 |  | ||||||
|       # Tools |  | ||||||
|       git = { |  | ||||||
|         enable = true; |  | ||||||
|         user = "Jan-Bulthuis"; |  | ||||||
|         email = "git@bulthuis.dev"; |  | ||||||
|         # TODO: Move |  | ||||||
|         ignores = [ |  | ||||||
|           ".envrc" |  | ||||||
|           ".direnv" |  | ||||||
|           "flake.nix" |  | ||||||
|           "flake.lock" |  | ||||||
|         ]; |  | ||||||
|       }; |  | ||||||
|       btop.enable = true; |  | ||||||
|       fish.enable = true; |  | ||||||
|       bluetuith.enable = false; |  | ||||||
|       winbox.enable = true; |  | ||||||
|       obsidian.enable = true; |  | ||||||
|       zathura.enable = true; |  | ||||||
|       eduvpn.enable = true; |  | ||||||
|       keyring.enable = true; |  | ||||||
|       scripts.enable = true; |  | ||||||
|       xpra = { |  | ||||||
|         enable = true; |  | ||||||
|         hosts = [ |  | ||||||
|           "mixer@10.20.60.251" |  | ||||||
|         ]; |  | ||||||
|       }; |  | ||||||
| 
 |  | ||||||
|       # Development |  | ||||||
|       neovim.enable = true; |  | ||||||
|       vscode.enable = true; |  | ||||||
|       docker.enable = true; |  | ||||||
|       matlab.enable = true; |  | ||||||
|       mathematica.enable = false; |  | ||||||
| 
 |  | ||||||
|       # Languages |  | ||||||
|       haskell.enable = false; |  | ||||||
|       js.enable = true; |  | ||||||
|       nix.enable = true; |  | ||||||
|       rust.enable = true; |  | ||||||
|       python.enable = true; |  | ||||||
|       cpp.enable = true; |  | ||||||
|       tex.enable = true; |  | ||||||
|       jupyter.enable = true; |  | ||||||
| 
 |  | ||||||
|       # Enable unfree |  | ||||||
|       unfree.enable = true; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     # Theme configuration |  | ||||||
|     desktop.theming = |  | ||||||
|       let |  | ||||||
|         fontpkgs = config.desktop.theming.fonts.pkgs; |  | ||||||
|       in |  | ||||||
|       { |       { | ||||||
|         # Fonts |         # Default desktop environment | ||||||
|         fonts.serif = fontpkgs."DejaVu Serif"; |         modules = { | ||||||
|         fonts.sansSerif = fontpkgs."DejaVu Sans"; |           # Desktop environment | ||||||
|         fonts.monospace = fontpkgs."Dina"; |           river.enable = true; | ||||||
|         fonts.emoji = fontpkgs."Noto Color Emoji"; |           waylock.enable = true; | ||||||
|         fonts.interface = fontpkgs."Dina"; |           waybar.enable = true; | ||||||
|         fonts.extraFonts = [ ]; |           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 |         # Color scheme | ||||||
|         themes.catppuccin = { |         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; |           enable = true; | ||||||
|           flavor = "mocha"; |           flavor = "mocha"; | ||||||
|         }; |         }; | ||||||
|       }; |       } | ||||||
|   }; |   ); | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Jan-Bulthuis
						Jan-Bulthuis