🎉📝 initialize v2
|  | @ -1,8 +0,0 @@ | |||
| { | ||||
|   pkgs, | ||||
|   ... | ||||
| }: { | ||||
|   home.packages = with pkgs; [ | ||||
|     openssh | ||||
|   ]; | ||||
| } | ||||
|  | @ -1,88 +0,0 @@ | |||
| { | ||||
|   lib, | ||||
|   pkgs, | ||||
|   config, | ||||
|   osConfig, | ||||
|   namespace, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| let | ||||
|   cfg = config.${namespace}.desktop.gnome; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.desktop.gnome = with types; { | ||||
|     enabled-extensions = mkOption { | ||||
|       type = listOf package; | ||||
|       default = with pkgs.gnomeExtensions; [ dash-to-dock user-themes blur-my-shell appindicator unite color-picker clipboard-history ]; | ||||
|       example = [ dash-to-dock blur-my-shell ]; | ||||
|       description = "Specify gnome extensions to install."; | ||||
|     }; | ||||
|     favorite-apps = mkOption { | ||||
|       type = listOf str; | ||||
|       default = ["org.gnome.Nautilus.desktop" "obsidian.desktop" "zen.desktop" "dev.zed.Zed.desktop"]; | ||||
|       example = ["org.gnome.Nautilus.desktop" "obsidian.desktop"]; | ||||
|       description = "Specify your favorite apps (sorted left to right)."; | ||||
|     }; | ||||
|     extensions = { | ||||
|       unite = { | ||||
|         show-window-buttons = mkOption { | ||||
|           type = str; | ||||
|           default = "never"; | ||||
|           example = "never | maximized | tiled | both | always"; | ||||
|           description = "Specify when Unite should display window buttons within the top panel."; | ||||
|         }; | ||||
|         hide-window-titlebars = mkOption { | ||||
|           type = str; | ||||
|           default = "maximized"; | ||||
|           example = "never | maximized | tiled | both | always"; | ||||
|           description = "Specify when Unite should hide window titlebars."; | ||||
|         }; | ||||
|       }; | ||||
|       blur-my-shell = { | ||||
|         enable-blur = mkOpt bool false "Whether to enable blur-my-shell application blur."; | ||||
|       }; | ||||
|     }; | ||||
|     wallpaper = mkOpt str (builtins.toString ./wallpapers/abstract/amber-d.jxl) "Specify the path of your prefered Gnome wallpaper."; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf osConfig.${namespace}.desktop.gnome.enable { | ||||
|     home.packages = cfg.enabled-extensions; | ||||
| 
 | ||||
|     dconf.settings = { | ||||
|       "org/gnome/shell" = { | ||||
|         favorite-apps = cfg.favorite-apps; | ||||
|         enabled-extensions = forEach cfg.enabled-extensions (x: x.extensionUuid); | ||||
|         disabled-extensions = []; # Make sure none of our extensions are disabled on system rebuild | ||||
|       }; | ||||
|       "org/gnome/shell/extensions/unite" = mkIf (builtins.elem pkgs.gnomeExtensions.unite cfg.enabled-extensions) { | ||||
|         show-window-buttons = cfg.extensions.unite.show-window-buttons; | ||||
|         hide-window-titlebars = cfg.extensions.unite.hide-window-titlebars; | ||||
| 
 | ||||
|         use-activities-text = false; | ||||
|         extend-left-box = false; | ||||
|         reduce-panel-spacing = false; | ||||
|         show-legacy-tray = false; | ||||
|         show-appmenu-button = false; | ||||
|         show-desktop-name = false; | ||||
|         enable-titlebar-actions = false; | ||||
|         restrict-to-primary-screen = false; | ||||
|         hide-activities-button = "never"; | ||||
|         autofocus-windows = true; | ||||
|         notifications-position = "right"; | ||||
|       }; | ||||
|       "org/gnome/shell/extensions/blur-my-shell/applications" = mkIf cfg.extensions.blur-my-shell.enable-blur { | ||||
|         blur = true; | ||||
|         sigma = 30; | ||||
|         opacity = 230; | ||||
|         enable-all = true; | ||||
|       }; | ||||
|       "org/gnome/desktop/background" = { | ||||
|         picture-uri = cfg.wallpaper; | ||||
|         picture-uri-dark = cfg.wallpaper; | ||||
|       }; | ||||
|       "org/gnome/desktop/interface" = { | ||||
|         color-scheme = "prefer-dark"; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
| Before Width: | Height: | Size: 166 KiB | 
| Before Width: | Height: | Size: 5 MiB | 
| Before Width: | Height: | Size: 620 KiB | 
| Before Width: | Height: | Size: 549 KiB | 
| Before Width: | Height: | Size: 554 KiB | 
| Before Width: | Height: | Size: 164 KiB | 
| Before Width: | Height: | Size: 4.1 MiB | 
| Before Width: | Height: | Size: 1.6 MiB | 
| Before Width: | Height: | Size: 118 KiB | 
| Before Width: | Height: | Size: 815 KiB | 
| Before Width: | Height: | Size: 3.3 MiB | 
| Before Width: | Height: | Size: 836 KiB | 
| Before Width: | Height: | Size: 2.7 MiB | 
| Before Width: | Height: | Size: 1.4 MiB | 
| Before Width: | Height: | Size: 1.4 MiB | 
| Before Width: | Height: | Size: 707 KiB | 
| Before Width: | Height: | Size: 22 KiB | 
| Before Width: | Height: | Size: 760 KiB | 
| Before Width: | Height: | Size: 3.3 MiB | 
| Before Width: | Height: | Size: 864 KiB | 
| Before Width: | Height: | Size: 1,013 KiB | 
| Before Width: | Height: | Size: 256 KiB | 
| Before Width: | Height: | Size: 1.7 MiB | 
| Before Width: | Height: | Size: 5 MiB | 
|  | @ -1,17 +0,0 @@ | |||
| { | ||||
|   lib, | ||||
|   namespace, | ||||
|   config, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| let | ||||
|   palette = (pkgs.lib.importJSON (config.catppuccin.sources.palette + "/palette.json")).${config.catppuccin.flavor}.colors; | ||||
| in | ||||
| { | ||||
|   options.palette = mkOption { type = types.attrsOf types.raw; }; | ||||
| 
 | ||||
|   config = { | ||||
|     inherit palette; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,23 +0,0 @@ | |||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   namespace, | ||||
|   ... | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.themes.catppuccin.black-box; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.themes.catppuccin.black-box = { | ||||
|     enable = mkEnableOption "Whether to enable the catppuccin theme for black-box."; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     dconf.settings = { | ||||
|       "com/raggesilver/BlackBox" = { | ||||
|         theme-dark = "Catppuccin Macchiato"; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,6 +0,0 @@ | |||
| { | ||||
|   lib, | ||||
|   ... | ||||
| }: { | ||||
|   home.file.".config/fish/themes/Catppuccin\ Macchiato.theme".source = lib.snowfall.fs.get-file "resources/apps/fish/Catppuccin\ Macchiato.theme"; | ||||
| } | ||||
|  | @ -1,13 +0,0 @@ | |||
| { | ||||
|   ... | ||||
| }: { | ||||
|   catppuccin = { | ||||
|     enable = true; | ||||
|     accent = "blue"; | ||||
|     flavor = "macchiato"; | ||||
| 
 | ||||
|     cursors.enable = true; | ||||
|     cursors.accent = "blue"; | ||||
|     cursors.flavor = "macchiato"; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,166 +0,0 @@ | |||
| { | ||||
|   lib, | ||||
|   namespace, | ||||
|   config, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| let | ||||
|   # Stolen from Oli @ git.gay, basically just themes default libadwaita components. | ||||
|   css = pkgs.writeTextFile { | ||||
|     name = "gtk-css"; | ||||
|     text = '' | ||||
|       @define-color accent_color ${config.palette.maroon.hex}; | ||||
|       @define-color accent_bg_color ${config.palette.maroon.hex}; | ||||
|       @define-color accent_fg_color ${config.palette.base.hex}; | ||||
|       @define-color destructive_color ${config.palette.red.hex}; | ||||
|       @define-color destructive_bg_color ${config.palette.red.hex}; | ||||
|       @define-color destructive_fg_color ${config.palette.base.hex}; | ||||
|       @define-color success_color ${config.palette.green.hex}; | ||||
|       @define-color success_bg_color ${config.palette.green.hex}; | ||||
|       @define-color success_fg_color ${config.palette.base.hex}; | ||||
|       @define-color warning_color ${config.palette.mauve.hex}; | ||||
|       @define-color warning_bg_color ${config.palette.mauve.hex}; | ||||
|       @define-color warning_fg_color ${config.palette.base.hex}; | ||||
|       @define-color error_color ${config.palette.red.hex}; | ||||
|       @define-color error_bg_color ${config.palette.red.hex}; | ||||
|       @define-color error_fg_color ${config.palette.base.hex}; | ||||
|       @define-color window_bg_color ${config.palette.base.hex}; | ||||
|       @define-color window_fg_color ${config.palette.text.hex}; | ||||
|       @define-color view_bg_color ${config.palette.base.hex}; | ||||
|       @define-color view_fg_color ${config.palette.text.hex}; | ||||
|       @define-color headerbar_bg_color ${config.palette.mantle.hex}; | ||||
|       @define-color headerbar_fg_color ${config.palette.text.hex}; | ||||
|       @define-color headerbar_border_color rgba(${builtins.toString config.palette.base.rgb.r}, ${builtins.toString config.palette.base.rgb.g}, ${builtins.toString config.palette.base.rgb.b}, 0.7); | ||||
|       @define-color headerbar_backdrop_color @window_bg_color; | ||||
|       @define-color headerbar_shade_color rgba(0, 0, 0, 0.07); | ||||
|       @define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.07); | ||||
|       @define-color sidebar_bg_color ${config.palette.mantle.hex}; | ||||
|       @define-color sidebar_fg_color ${config.palette.text.hex}; | ||||
|       @define-color sidebar_backdrop_color @window_bg_color; | ||||
|       @define-color sidebar_shade_color rgba(0, 0, 0, 0.07); | ||||
|       @define-color secondary_sidebar_bg_color @sidebar_bg_color; | ||||
|       @define-color secondary_sidebar_fg_color @sidebar_fg_color; | ||||
|       @define-color secondary_sidebar_backdrop_color @sidebar_backdrop_color; | ||||
|       @define-color secondary_sidebar_shade_color @sidebar_shade_color; | ||||
|       @define-color card_bg_color ${config.palette.mantle.hex}; | ||||
|       @define-color card_fg_color ${config.palette.text.hex}; | ||||
|       @define-color card_shade_color rgba(0, 0, 0, 0.07); | ||||
|       @define-color dialog_bg_color ${config.palette.mantle.hex}; | ||||
|       @define-color dialog_fg_color ${config.palette.text.hex}; | ||||
|       @define-color popover_bg_color ${config.palette.mantle.hex}; | ||||
|       @define-color popover_fg_color ${config.palette.text.hex}; | ||||
|       @define-color popover_shade_color rgba(0, 0, 0, 0.07); | ||||
|       @define-color shade_color rgba(0, 0, 0, 0.07); | ||||
|       @define-color scrollbar_outline_color ${config.palette.surface0.hex}; | ||||
|       @define-color blue_1 ${config.palette.blue.hex}; | ||||
|       @define-color blue_2 ${config.palette.blue.hex}; | ||||
|       @define-color blue_3 ${config.palette.blue.hex}; | ||||
|       @define-color blue_4 ${config.palette.blue.hex}; | ||||
|       @define-color blue_5 ${config.palette.blue.hex}; | ||||
|       @define-color green_1 ${config.palette.green.hex}; | ||||
|       @define-color green_2 ${config.palette.green.hex}; | ||||
|       @define-color green_3 ${config.palette.green.hex}; | ||||
|       @define-color green_4 ${config.palette.green.hex}; | ||||
|       @define-color green_5 ${config.palette.green.hex}; | ||||
|       @define-color yellow_1 ${config.palette.yellow.hex}; | ||||
|       @define-color yellow_2 ${config.palette.yellow.hex}; | ||||
|       @define-color yellow_3 ${config.palette.yellow.hex}; | ||||
|       @define-color yellow_4 ${config.palette.yellow.hex}; | ||||
|       @define-color yellow_5 ${config.palette.yellow.hex}; | ||||
|       @define-color orange_1 ${config.palette.peach.hex}; | ||||
|       @define-color orange_2 ${config.palette.peach.hex}; | ||||
|       @define-color orange_3 ${config.palette.peach.hex}; | ||||
|       @define-color orange_4 ${config.palette.peach.hex}; | ||||
|       @define-color orange_5 ${config.palette.peach.hex}; | ||||
|       @define-color red_1 ${config.palette.red.hex}; | ||||
|       @define-color red_2 ${config.palette.red.hex}; | ||||
|       @define-color red_3 ${config.palette.red.hex}; | ||||
|       @define-color red_4 ${config.palette.red.hex}; | ||||
|       @define-color red_5 ${config.palette.red.hex}; | ||||
|       @define-color purple_1 ${config.palette.mauve.hex}; | ||||
|       @define-color purple_2 ${config.palette.mauve.hex}; | ||||
|       @define-color purple_3 ${config.palette.mauve.hex}; | ||||
|       @define-color purple_4 ${config.palette.mauve.hex}; | ||||
|       @define-color purple_5 ${config.palette.mauve.hex}; | ||||
|       @define-color brown_1 ${config.palette.flamingo.hex}; | ||||
|       @define-color brown_2 ${config.palette.flamingo.hex}; | ||||
|       @define-color brown_3 ${config.palette.flamingo.hex}; | ||||
|       @define-color brown_4 ${config.palette.flamingo.hex}; | ||||
|       @define-color brown_5 ${config.palette.flamingo.hex}; | ||||
|       @define-color light_1 ${config.palette.mantle.hex}; | ||||
|       @define-color light_2 ${config.palette.mantle.hex}; | ||||
|       @define-color light_3 ${config.palette.mantle.hex}; | ||||
|       @define-color light_4 ${config.palette.mantle.hex}; | ||||
|       @define-color light_5 ${config.palette.mantle.hex}; | ||||
|       @define-color dark_1 ${config.palette.mantle.hex}; | ||||
|       @define-color dark_2 ${config.palette.mantle.hex}; | ||||
|       @define-color dark_3 ${config.palette.mantle.hex}; | ||||
|       @define-color dark_4 ${config.palette.mantle.hex}; | ||||
|       @define-color dark_5 ${config.palette.mantle.hex}; | ||||
|     ''; | ||||
|   }; | ||||
| 
 | ||||
|   cfg = config.${namespace}.themes.catppuccin.gtk; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.themes.catppuccin.gtk = { enable = mkEnableOption "Enable the Catppuccin theme for GTK"; }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     home.packages = with pkgs; [ | ||||
|       (colloid-gtk-theme.override { | ||||
|         themeVariants = ["default"]; | ||||
|         colorVariants = ["dark"]; | ||||
|         sizeVariants = ["standard"]; | ||||
|         tweaks = ["catppuccin"]; | ||||
|       }) | ||||
|     ]; | ||||
| 
 | ||||
|     gtk = { | ||||
|       enable = true; | ||||
| 
 | ||||
|       font = { | ||||
|         name = "Poppins"; | ||||
|         size = 12; | ||||
|         package = pkgs.poppins; | ||||
|       }; | ||||
| 
 | ||||
|       theme = { | ||||
|         name = "adw-gtk3-dark"; | ||||
|         package = pkgs.adw-gtk3; | ||||
|       }; | ||||
| 
 | ||||
|       gtk3 = { | ||||
|         extraCss = ''@import url("${css}");''; | ||||
|         extraConfig = { | ||||
|           gtk-application-prefer-dark-theme = 1; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       gtk4 = { | ||||
|         extraCss = ''@import url("${css}");''; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     catppuccin = { | ||||
|       gtk = { | ||||
|         icon = { | ||||
|           enable = true; | ||||
|           accent = "maroon"; | ||||
|           flavor = "mocha"; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     dconf.settings = { | ||||
|       "org/gnome/shell/extensions/user-theme" = { | ||||
|         name = "Colloid-Dark-Catppuccin"; | ||||
|       }; | ||||
| 
 | ||||
|       "org/gnome/desktop/interface" = { | ||||
|         color-scheme = "prefer-dark"; | ||||
|         cursor-theme = "catppuccin-macchiato-blue-cursors"; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,16 +0,0 @@ | |||
| { | ||||
|   lib, | ||||
|   namespace, | ||||
|   ... | ||||
| }: | ||||
| let | ||||
|   inherit (lib.${namespace}) mkOpt; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.user = with lib.types; { | ||||
|     name = mkOpt str "Jo" "The user's short name."; | ||||
|     fullName = mkOpt str "Johannes Reckers" "The user's full name."; | ||||
|     email = mkOpt str "reckers.johannes@proton.me" "The user's primary E-Mail address."; | ||||
|     icon = mkOpt str "./icon.jpg" "The path to the users prefered icon."; | ||||
|   }; | ||||
| } | ||||
| Before Width: | Height: | Size: 72 KiB |