diff --git a/Droidnix/README.html b/Droidnix/README.html index 092bccfee..16bd7c38a 100644 --- a/Droidnix/README.html +++ b/Droidnix/README.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +assets/flake/users/henrov.nixassets/flake/terminal_shell/devshell.nixassets/flake/machines/traveldroid/top.nixassets/flake/machines/traveldroid/boot.nixassets/flake/users/henrov.nixassets/flake/terminal_shell/devshell.nixassets/flake/machines/traveldroid/top.nixassets/flake/machines/traveldroid/boot.nixgenerated/top.nixgenerated/hyprland/top.nixgenerated/hyprland/hyprland.nixgenerated/mangowc/top.nixgenerated/system/top.nixgenerated/system/applications/top.nixgenerated/system/applications/packages.nixgenerated/system/applications/flatpaks.nixgenerated/system/core/top.nixgenerated/system/core/login-tuigreeter.nixgenerated/system/core/wayland.nixgenerated/system/development/top.nixgenerated/system/system_management/top.nixgenerated/hyprland/animations_effects/top.nixgenerated/hyprland/decorations/top.nixgenerated/hyprland/keyboard_binds/top.nixgenerated/hyprland/notifications/top.nixgenerated/hyprland/statusbar_tray/top.nixgenerated/hyprland/task_launcher/top.nixgenerated/hyprland/task_launcher/wofi.nixgenerated/hyprland/task_window_workspace_switcher/top.nixgenerated/hyprland/window_rules/top.nixgenerated/mangowc/animations_effects/top.nixgenerated/mangowc/decorations/top.nixgenerated/mangowc/keyboard_binds/top.nixgenerated/mangowc/notifications/top.nixgenerated/mangowc/statusbar_tray/top.nixgenerated/mangowc/task_launcher/top.nixgenerated/mangowc/task_launcher/wofi.nixgenerated/mangowc/task_window_workspace_switcher/top.nixgenerated/mangowc/window_rules/top.nixgenerated/system/applications/accessibility/top.nixgenerated/system/applications/file_management/top.nixgenerated/system/applications/gaming/top.nixgenerated/system/applications/media_playback_editing/top.nixgenerated/system/applications/office_productivity/top.nixgenerated/system/applications/terminal_shell/top.nixgenerated/system/applications/terminal_shell/kitty.nixgenerated/system/applications/terminal_shell/starship.nixgenerated/system/applications/terminal_shell/zsh.nixgenerated/system/development/databases/top.nixgenerated/system/development/devops_ci_cd/top.nixgenerated/system/development/programming_languages/top.nixgenerated/system/development/virtualization/top.nixgenerated/system/development/web_development/top.nixgenerated/system/system_management/audio/top.nixgenerated/system/system_management/backups/top.nixgenerated/system/system_management/bluetooth/top.nixgenerated/system/system_management/disk_management/top.nixgenerated/system/system_management/hardware_sensors/top.nixgenerated/system/system_management/logging_monitoring/top.nixgenerated/system/system_management/login_manager/top.nixgenerated/system/system_management/monitor_setup/top.nixgenerated/system/system_management/networking/top.nixgenerated/system/system_management/power_management/top.nixgenerated/system/system_management/printers_scanners/top.nixgenerated/system/system_management/security/top.nixgenerated/system/system_management/system_updates/top.nixgenerated/top.nixgenerated/hyprland/top.nixgenerated/hyprland/hyprland.nixgenerated/mangowc/top.nixgenerated/system/top.nixgenerated/system/applications/top.nixgenerated/system/applications/packages.nixgenerated/system/applications/flatpaks.nixgenerated/system/core/top.nixgenerated/system/core/login-tuigreeter.nixgenerated/system/core/wayland.nixgenerated/system/development/top.nixgenerated/system/system_management/top.nixgenerated/hyprland/animations_effects/top.nixgenerated/hyprland/decorations/top.nixgenerated/hyprland/keyboard_binds/top.nixgenerated/hyprland/notifications/top.nixgenerated/hyprland/statusbar_tray/top.nixgenerated/hyprland/task_launcher/top.nixgenerated/hyprland/task_launcher/wofi.nixgenerated/hyprland/task_window_workspace_switcher/top.nixgenerated/hyprland/window_rules/top.nixgenerated/mangowc/animations_effects/top.nixgenerated/mangowc/decorations/top.nixgenerated/mangowc/keyboard_binds/top.nixgenerated/mangowc/notifications/top.nixgenerated/mangowc/statusbar_tray/top.nixgenerated/mangowc/task_launcher/top.nixgenerated/mangowc/task_launcher/wofi.nixgenerated/mangowc/task_window_workspace_switcher/top.nixgenerated/mangowc/window_rules/top.nixgenerated/system/applications/accessibility/top.nixgenerated/system/applications/file_management/top.nixgenerated/system/applications/gaming/top.nixgenerated/system/applications/media_playback_editing/top.nixgenerated/system/applications/office_productivity/top.nixgenerated/system/applications/terminal_shell/top.nixgenerated/system/applications/terminal_shell/kitty.nixgenerated/system/applications/terminal_shell/starship.nixgenerated/system/applications/terminal_shell/zsh.nixgenerated/system/development/databases/top.nixgenerated/system/development/devops_ci_cd/top.nixgenerated/system/development/programming_languages/top.nixgenerated/system/development/virtualization/top.nixgenerated/system/development/web_development/top.nixgenerated/system/system_management/audio/top.nixgenerated/system/system_management/backups/top.nixgenerated/system/system_management/bluetooth/top.nixgenerated/system/system_management/disk_management/top.nixgenerated/system/system_management/hardware_sensors/top.nixgenerated/system/system_management/logging_monitoring/top.nixgenerated/system/system_management/login_manager/top.nixgenerated/system/system_management/monitor_setup/top.nixgenerated/system/system_management/networking/top.nixgenerated/system/system_management/power_management/top.nixgenerated/system/system_management/printers_scanners/top.nixgenerated/system/system_management/security/top.nixgenerated/system/system_management/system_updates/top.nixIntroduction The Assets Folder @@ -334,41 +334,41 @@
Droidnix is a modular, declarative NixOS + Home Manager configuration system. It allows users to choose between Hyprland and Mangowc as their window manager, with shared and WM-specific configurations managed via Emacs Org and Nix Flakes. The project is designed for reproducibility, maintainability, and cross-machine compatibility.
This project uses a modular NixOS configuration with Hyprland and MangoWC support, designed for literate programming and cross-device reusability. The Droidnix repository is organized into two main parts:
.assets/: Static, non-generated files (e.g., configs, scripts, themes).common, hyprland, mangowc): NixOS and Home Manager configurations, generated from Org files.system, hyprland, mangowc): NixOS and Home Manager configurations, generated from Org files.flake.nix is the entry point and imports:
The generated/ directory contains all generated configurations, divided into three main groups: system, hyprland, and mangowc.
generated/system/)generated/system/)This directory contains system-wide configurations that are independent of the window manager.
applications/)applications/)file_management/: Configurations for file managers and storage solutions.gaming/: Settings for gaming-related software.development/)development/)databases/: Settings for local databases.devops_ci_cd/: Configurations for DevOps tools.system_management/)system_management/)backups/: Settings for backup software.bluetooth/: Configurations for Bluetooth devices and services.generated/hyprland/)generated/hyprland/)This directory contains configurations specific to Hyprland.
@@ -458,9 +458,9 @@ This directory contains configurations specific to Hyprland.generated/mangowc/)generated/mangowc/)This directory contains configurations specific to MangoWC.
@@ -494,10 +494,10 @@ This directory contains configurations specific to MangoWC.+. ├── assets -│ ├── common +│ ├── system │ │ ├── conf │ │ │ └── base.conf │ │ ├── cursors @@ -676,13 +676,13 @@ This directory contains configurations specific to MangoWC.
./setup_droidnix.sh..assets/common/conf/base.conf to choose your window manager (wm = "hyprland" or wm = "mangowc")..assets/system/conf/base.conf to choose your window manager (wm = "hyprland" or wm = "mangowc").C-c C-v t in Emacs or use this: emacs README.org --batch -f org-babel-tangle && emacs --batch --eval "(setq org-html-htmlize-output-type nil)" README.org -f org-html-export-to-htmlsudo nixos-rebuild switch --flake .#<hostname>..assets/ folder contains all static files, such as configs, scripts, and themes. These files are not generated and can be edited directly.
.assets/common/.assets/system/-This folder contains files shared across both window managers, such as wallpapers, shell configs, and common scripts. +This folder contains files shared across both window managers, such as wallpapers, shell configs, and system scripts.
.assets/hyprland/.assets/hyprland/Hyprland-specific assets, including configs, themes, and scripts.
@@ -727,9 +727,9 @@ Hyprland-specific assets, including configs, themes, and scripts..assets/mangowc/.assets/mangowc/Mangowc-specific assets, including configs, themes, and scripts.
@@ -741,9 +741,9 @@ Mangowc-specific assets, including configs, themes, and scripts..assets/machines/.assets/machines/
Machine-specific NixOS configurations (e.g., configuration.nix for maindroid and traveldroid).
configuration.nix for
This section contains the Org blocks for tangling Nix code into the generated folders.
flake.nixflake.nixThe Nix flake definition for Droidnix.
@@ -848,13 +848,13 @@ The Nix flake definition for Droidnix.assets/flake/users/henrov.nixassets/flake/users/henrov.nixThis is the default user, just search and replace henrov another name if you want to change
@@ -870,9 +870,9 @@ This is the default user, just search and replace henrov another name if you wanassets/flake/terminal_shell/devshell.nixassets/flake/terminal_shell/devshell.nixThis code defines a Nix shell environment (also called a "devShell") that you can enter using the nix develop command. When you enter this shell, Nix will provide the tools and dependencies listed in buildInputs.
@@ -888,9 +888,9 @@ mkShell {assets/flake/machines/traveldroid/top.nixassets/flake/machines/traveldroid/top.nixThis code defines the machine to build. Just search and replace traveldroid to provision another machine.
@@ -932,9 +932,9 @@ This code defines the machine to build. Just search and replace traveldroid to passets/flake/machines/traveldroid/boot.nixassets/flake/machines/traveldroid/boot.nixThis file has most of the settings the control how the computer boots up.
@@ -969,13 +969,13 @@ This file has most of the settings the control how the computer boots up.generated/top.nixgenerated/top.nixThe ./generated/top.nix file acts as an anchor or entry point for the entire chain of imports in the pyramid structure.
@@ -992,9 +992,9 @@ The ./generated/top.nix file acts as an anchor or entry point for the entire chagenerated/hyprland/top.nixgenerated/hyprland/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1017,9 +1017,9 @@ This is top file of this level which contains just an import statement for all rgenerated/hyprland/hyprland.nixgenerated/hyprland/hyprland.nixThe ./generated/top.nix file acts as an anchor or entry point for the entire chain of imports in the pyramid structure.
@@ -1070,9 +1070,9 @@ ingenerated/mangowc/top.nixgenerated/mangowc/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1095,9 +1095,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/top.nixgenerated/system/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1116,9 +1116,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/applications/top.nixgenerated/system/applications/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1141,16 +1141,16 @@ This is top file of this level which contains just an import statement for all rgenerated/system/applications/packages.nixgenerated/system/applications/packages.nix-This will import all packages listed in ./assets/common/apps/packlages.conf +This will import all packages listed in ./assets/system/apps/packlages.conf
{ config, lib, pkgs, flakeRoot, inputs, ... }:
let
- packagesConfPath = "${flakeRoot}/assets/common/apps/packages.conf";
+ packagesConfPath = "${flakeRoot}/assets/system/apps/packages.conf";
raw = builtins.readFile packagesConfPath;
# IMPORTANT: explicit "\n" so we never accidentally split into characters
rawLines = lib.splitString "\n" raw;
@@ -1196,11 +1196,11 @@ in
generated/system/applications/flatpaks.nixgenerated/system/applications/flatpaks.nix-This will import all packages listed in ./assets/common/apps/flatpaks.conf +This will import all packages listed in ./assets/system/apps/flatpaks.conf
{
@@ -1212,7 +1212,7 @@ This will import all packages listed in ./assets/common/apps/flatpaks.conf
}:
let
moduleName = "install-flatpaks";
- flatpakConfPath = "${flakeRoot}/assets/common/apps/flatpaks.conf";
+ flatpakConfPath = "${flakeRoot}/assets/system/apps/flatpaks.conf";
raw = builtins.readFile flatpakConfPath;
# Explicit "\n" so we never accidentally split into characters
rawLines = lib.splitString "\n" raw;
@@ -1319,9 +1319,9 @@ in
generated/system/core/top.nixgenerated/system/core/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1339,9 +1339,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/core/login-tuigreeter.nixgenerated/system/core/login-tuigreeter.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1364,9 +1364,9 @@ settings = {generated/system/core/wayland.nixgenerated/system/core/wayland.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1385,7 +1385,7 @@ This is top file of this level which contains just an import statement for all r # XDG Desktop Portal settings for better application integration xdg.portal = { enable = true; - config.common.default = [ "hyprland" "gtk" ]; + config.system.default = [ "hyprland" "gtk" ]; }; # Environment variables for a Wayland session @@ -1410,9 +1410,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/development/top.nixgenerated/system/development/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1432,9 +1432,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/system_management/top.nixgenerated/system/system_management/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1462,9 +1462,9 @@ This is top file of this level which contains just an import statement for all rgenerated/hyprland/animations_effects/top.nixgenerated/hyprland/animations_effects/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1480,9 +1480,9 @@ This is top file of this level which contains just an import statement for all rgenerated/hyprland/decorations/top.nixgenerated/hyprland/decorations/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1498,9 +1498,9 @@ This is top file of this level which contains just an import statement for all rgenerated/hyprland/keyboard_binds/top.nixgenerated/hyprland/keyboard_binds/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1529,9 +1529,9 @@ ingenerated/hyprland/notifications/top.nixgenerated/hyprland/notifications/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1547,9 +1547,9 @@ This is top file of this level which contains just an import statement for all rgenerated/hyprland/statusbar_tray/top.nixgenerated/hyprland/statusbar_tray/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1565,9 +1565,9 @@ This is top file of this level which contains just an import statement for all rgenerated/hyprland/task_launcher/top.nixgenerated/hyprland/task_launcher/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1583,9 +1583,9 @@ This is top file of this level which contains just an import statement for all rgenerated/hyprland/task_launcher/wofi.nixgenerated/hyprland/task_launcher/wofi.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1630,9 +1630,9 @@ ingenerated/hyprland/task_window_workspace_switcher/top.nixgenerated/hyprland/task_window_workspace_switcher/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1648,9 +1648,9 @@ This is top file of this level which contains just an import statement for all rgenerated/hyprland/window_rules/top.nixgenerated/hyprland/window_rules/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1666,9 +1666,9 @@ This is top file of this level which contains just an import statement for all rgenerated/mangowc/animations_effects/top.nixgenerated/mangowc/animations_effects/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1684,9 +1684,9 @@ This is top file of this level which contains just an import statement for all rgenerated/mangowc/decorations/top.nixgenerated/mangowc/decorations/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1702,9 +1702,9 @@ This is top file of this level which contains just an import statement for all rgenerated/mangowc/keyboard_binds/top.nixgenerated/mangowc/keyboard_binds/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1737,9 +1737,9 @@ ingenerated/mangowc/notifications/top.nixgenerated/mangowc/notifications/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1755,9 +1755,9 @@ This is top file of this level which contains just an import statement for all rgenerated/mangowc/statusbar_tray/top.nixgenerated/mangowc/statusbar_tray/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1773,9 +1773,9 @@ This is top file of this level which contains just an import statement for all rgenerated/mangowc/task_launcher/top.nixgenerated/mangowc/task_launcher/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1791,9 +1791,9 @@ This is top file of this level which contains just an import statement for all rgenerated/mangowc/task_launcher/wofi.nixgenerated/mangowc/task_launcher/wofi.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1806,9 +1806,9 @@ This is top file of this level which contains just an import statement for all rgenerated/mangowc/task_window_workspace_switcher/top.nixgenerated/mangowc/task_window_workspace_switcher/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1824,9 +1824,9 @@ This is top file of this level which contains just an import statement for all rgenerated/mangowc/window_rules/top.nixgenerated/mangowc/window_rules/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1842,9 +1842,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/applications/accessibility/top.nixgenerated/system/applications/accessibility/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1860,9 +1860,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/applications/file_management/top.nixgenerated/system/applications/file_management/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1878,9 +1878,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/applications/gaming/top.nixgenerated/system/applications/gaming/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1896,9 +1896,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/applications/media_playback_editing/top.nixgenerated/system/applications/media_playback_editing/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1914,9 +1914,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/applications/office_productivity/top.nixgenerated/system/applications/office_productivity/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1932,9 +1932,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/applications/terminal_shell/top.nixgenerated/system/applications/terminal_shell/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -1952,9 +1952,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/applications/terminal_shell/kitty.nixgenerated/system/applications/terminal_shell/kitty.nixThis file sets up Kitty terminal
@@ -1971,20 +1971,20 @@ in # Copy the actual kitty.conf (not a symlink) xdg.configFile."kitty/kitty.conf".text = lib.concatStringsSep "\n" [ - (builtins.readFile "${flakeRoot}/assets/common/conf/kitty/kitty.conf") + (builtins.readFile "${flakeRoot}/assets/system/conf/kitty/kitty.conf") ]; # Copy the theme file - xdg.configFile."kitty/Catppuccin-Mocha.conf".source = "${flakeRoot}/assets/common/conf/kitty/Catppuccin-Mocha.conf"; + xdg.configFile."kitty/Catppuccin-Mocha.conf".source = "${flakeRoot}/assets/system/conf/kitty/Catppuccin-Mocha.conf"; }; }generated/system/applications/terminal_shell/starship.nixgenerated/system/applications/terminal_shell/starship.nixThis file sets up starship prompt
@@ -1995,7 +1995,7 @@ This file sets up starship prompt programs.starship = { enable = true; settings = { - configFile = "${flakeRoot}/assets/common/conf/starship.toml"; + configFile = "${flakeRoot}/assets/system/conf/starship.toml"; }; }; }; @@ -2004,56 +2004,112 @@ This file sets up starship promptgenerated/system/applications/terminal_shell/zsh.nixgenerated/system/applications/terminal_shell/zsh.nixThis sets up the zsh terminal
{ config, pkgs, lib, user, flakeRoot, ... }:
-let
- zshConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/zsh";
- assetsDir = "${flakeRoot}/assets/common/conf/zsh";
-in
+{ lib, config, pkgs, ... }:
+
{
- home-manager.users.${user.username} = {
- home.packages = with pkgs; [
- zsh-syntax-highlighting
- ];
+ # --- NixOS Configuration ---
+ environment.systemPackages = with pkgs; [
+ zsh
+ git
+ docker
+ ];
+
+ # --- Home Manager Configuration ---
+ home-manager.users.henrov = {
programs.zsh = {
enable = true;
enableCompletion = true;
- autosuggestion.enable = true;
- syntaxHighlighting.enable = true;
+
+ # Use oh-my-zsh only for themes (optional)
oh-my-zsh = {
enable = true;
- theme = "agnoster";
- plugins = [
- "git"
- "docker"
- "kubectl"
- "history"
- "command-not-found"
- "extract"
- ];
- };
- shellAliases = {
- ls = "exa --icons -a --group-directories-first";
- ll = "exa --icons -la --group-directories-first";
- };
+ theme = "agnoster"; # Fallback
+ customThemes = {
+ catppuccin-mocha = ''
+ # Catppuccin Mocha colors
+ local mocha_base="#1E1E2E"
+ local mocha_surface0="#313244"
+ local mocha_text="#CDD6F4"
+ local mocha_lavender="#B4BEFE"
+ local mocha_blue="#89B4FA"
+ local mocha_sapphire="#74C7EC"
+ local mocha_teal="#94E2D5"
+ local mocha_green="#A6E3A1"
+ local mocha_yellow="#F9E2AF"
+ local mocha_peach="#FAB387"
+ local mocha_maroon="#EBA0AC"
+ local mocha_red="#F38BA8"
+ local mocha_mauve="#CBA6F7"
+ local mocha_pink="#F5C2E7"
+ local mocha_flamingo="#F2CDCD"
+ local mocha_rosewater="#F5E0DC"
+
+ # Prompt
+ PROMPT='%{$fg[$mocha_blue]%}%n%{$reset_color%}@%{$fg[$mocha_peach]%}%m%{$reset_color%} %{$fg[$mocha_lavender]%}%~%{$reset_color%} %{$fg[$mocha_red]%}$%{$reset_color%} '
+ RPROMPT='%{$fg[$mocha_green]%}%T%{$reset_color%}'
+
+ # Git prompt
+ ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[$mocha_yellow]%}(%{$reset_color%}"
+ ZSH_THEME_GIT_PROMPT_SUFFIX="%{$fg[$mocha_yellow]%})%{$reset_color%}"
+ ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[$mocha_red]%}✗%{$reset_color%}"
+ ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[$mocha_green]%}✓%{$reset_color%}"
+ ZSH_THEME_GIT_PROMPT_AHEAD="%{$fg[$mocha_blue]%}⇡%{$reset_color%}"
+ ZSH_THEME_GIT_PROMPT_BEHIND="%{$fg[$mocha_blue]%}⇣%{$reset_color%}"
+ ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[$mocha_pink]%}?%{$reset_color%}"
+ ZSH_THEME_GIT_PROMPT_STAGED="%{$fg[$mocha_sapphire]%}+%{$reset_color%}"
+ ZSH_THEME_GIT_PROMPT_UNSTAGED="%{$fg[$mocha_red]%}!%{$reset_color%}"
+
+ # Virtualenv/pyenv
+ ZSH_THEME_VIRTUAL_ENV_PREFIX="(%{$fg[$mocha_teal]%}"
+ ZSH_THEME_VIRTUAL_ENV_SUFFIX="%{$reset_color%})"
+
+ # Right prompt with Git status
+ RPROMPT='$(git_prompt_info) %{$fg[$mocha_green]%}%T%{$reset_color%}'
+ '';
+ };
+ theme = "catppuccin-mocha";
+ };
+
+ # Declare all plugins via Nixpkgs for reproducibility
+ plugins = with pkgs.zshPlugins; [
+ zsh-autosuggestions
+ zsh-syntax-highlighting
+ zsh-completions
+ zsh-history-substring-search
+ zsh-you-should-use # Optional: Suggests aliases
+ ];
+
+ # Source plugins that need explicit activation
+ initExtra = ''
+ source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh
+ source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
+ source ${pkgs.zsh-history-substring-search}/share/zsh-history-substring-search/zsh-history-substring-search.zsh
+ ZSH_THEME="catppuccin-mocha"
+ '';
};
- # Use the .zshrc file from assets
- xdg.configFile."zsh/.zshrc".source = "${assetsDir}/.zshrc";
+
+ # Home Manager packages (optional, if not already in systemPackages)
+ home.packages = with pkgs; [
+ direnv
+ git-extras
+ ];
};
}
+
generated/system/development/databases/top.nixgenerated/system/development/databases/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2069,9 +2125,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/development/devops_ci_cd/top.nixgenerated/system/development/devops_ci_cd/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2087,9 +2143,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/development/programming_languages/top.nixgenerated/system/development/programming_languages/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2105,9 +2161,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/development/virtualization/top.nixgenerated/system/development/virtualization/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2123,9 +2179,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/development/web_development/top.nixgenerated/system/development/web_development/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2141,9 +2197,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/system_management/audio/top.nixgenerated/system/system_management/audio/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2159,9 +2215,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/system_management/backups/top.nixgenerated/system/system_management/backups/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2177,9 +2233,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/system_management/bluetooth/top.nixgenerated/system/system_management/bluetooth/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2195,9 +2251,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/system_management/disk_management/top.nixgenerated/system/system_management/disk_management/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2213,9 +2269,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/system_management/hardware_sensors/top.nixgenerated/system/system_management/hardware_sensors/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2231,9 +2287,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/system_management/logging_monitoring/top.nixgenerated/system/system_management/logging_monitoring/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2249,9 +2305,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/system_management/login_manager/top.nixgenerated/system/system_management/login_manager/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2267,9 +2323,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/system_management/monitor_setup/top.nixgenerated/system/system_management/monitor_setup/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2285,9 +2341,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/system_management/networking/top.nixgenerated/system/system_management/networking/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2303,9 +2359,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/system_management/power_management/top.nixgenerated/system/system_management/power_management/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2321,9 +2377,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/system_management/printers_scanners/top.nixgenerated/system/system_management/printers_scanners/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2339,9 +2395,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/system_management/security/top.nixgenerated/system/system_management/security/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2357,9 +2413,9 @@ This is top file of this level which contains just an import statement for all rgenerated/system/system_management/system_updates/top.nixgenerated/system/system_management/system_updates/top.nixThis is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
@@ -2379,7 +2435,7 @@ This is top file of this level which contains just an import statement for all r