From 7c9f1318d4130f2ba16f461cedb51365bbb312c0 Mon Sep 17 00:00:00 2001 From: "info@data-pro.nu" Date: Sat, 7 Mar 2026 23:41:58 +0100 Subject: [PATCH] Working on terminal stuff --- Droidnix/README.html | 748 +++++++++--------- .../applications/terminal_shell/kitty.nix | 25 +- .../applications/terminal_shell/starship.nix | 41 +- .../applications/terminal_shell/zsh.nix | 50 +- 4 files changed, 413 insertions(+), 451 deletions(-) diff --git a/Droidnix/README.html b/Droidnix/README.html index 29d304af5..228d4666c 100644 --- a/Droidnix/README.html +++ b/Droidnix/README.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Droidnix: A Dendritic NixOS + Home Manager Configuration NixOS Configuration Structure @@ -204,118 +204,118 @@

Table of Contents

-
-

Shortcuts

-
+
+

Shortcuts

+

Introduction The Assets Folder @@ -331,26 +331,26 @@

Introduction   intro

-
-

What is Droidnix

-
+
+

What is Droidnix

+

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.

-
-

Installed components:

-
+
+

Installed components:

+
    -
  • Core
  • -
  • Hyprland
  • -
  • Mangowc
  • +
  • Core
  • +
  • Hyprland
  • +
  • Mangowc
-
-

Goals, project Structure, import hierarchy

-
+
+

Goals, project Structure, import hierarchy

+

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: @@ -363,9 +363,9 @@ The Droidnix repository is organized into two main parts:

-
-

Root Level

-
+
+

Root Level

+
  • flake.nix is the entry point and imports:
      @@ -377,23 +377,23 @@ The Droidnix repository is organized into two main parts:
-
-

Generated Structure

-
+
+

Generated Structure

+

The generated/ directory contains all generated configurations, divided into three main groups: system, hyprland, and mangowc.

-
-

System (generated/system/)

-
+
+

System (generated/system/)

+

This directory contains system-wide configurations that are independent of the window manager.

-
-

Applications (applications/)

-
+
+

Applications (applications/)

+
  • file_management/: Configurations for file managers and storage solutions.
  • gaming/: Settings for gaming-related software.
  • @@ -403,9 +403,9 @@ This directory contains system-wide configurations that are independent of the w
-
-

Development (development/)

-
+
+

Development (development/)

+
  • databases/: Settings for local databases.
  • devops_ci_cd/: Configurations for DevOps tools.
  • @@ -415,9 +415,9 @@ This directory contains system-wide configurations that are independent of the w
-
-

System Management (system_management/)

-
+
+

System Management (system_management/)

+
  • backups/: Settings for backup software.
  • bluetooth/: Configurations for Bluetooth devices and services.
  • @@ -436,9 +436,9 @@ This directory contains system-wide configurations that are independent of the w
-
-

Hyprland (generated/hyprland/)

-
+
+

Hyprland (generated/hyprland/)

+

This directory contains configurations specific to Hyprland.

@@ -455,9 +455,9 @@ This directory contains configurations specific to Hyprland.
-
-

MangoWC (generated/mangowc/)

-
+
+

MangoWC (generated/mangowc/)

+

This directory contains configurations specific to MangoWC.

@@ -491,7 +491,7 @@ This directory contains configurations specific to MangoWC.
  • Scalability: Easy to add new machines or configurations.
  • -
    +
     .
     ├── assets
     │   ├── common
    @@ -673,9 +673,9 @@ This directory contains configurations specific to MangoWC.
     
    -
    -

    First Setup

    -
    +
    +

    First Setup

    +
    1. Clone this repository.
    2. Run the setup script: ./setup_droidnix.sh.
    3. @@ -697,9 +697,9 @@ This directory contains configurations specific to MangoWC. The .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/common/

    +

    This folder contains files shared across both window managers, such as wallpapers, shell configs, and common scripts.

    @@ -710,9 +710,9 @@ This folder contains files shared across both window managers, such as wallpaper
    -
    -

    .assets/hyprland/

    -
    +
    +

    .assets/hyprland/

    +

    Hyprland-specific assets, including configs, themes, and scripts.

    @@ -724,9 +724,9 @@ Hyprland-specific assets, including configs, themes, and scripts.
    -
    -

    .assets/mangowc/

    -
    +
    +

    .assets/mangowc/

    +

    Mangowc-specific assets, including configs, themes, and scripts.

    @@ -738,9 +738,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).

    @@ -758,9 +758,9 @@ Machine-specific NixOS configurations (e.g., configuration.nix for This section contains the Org blocks for tangling Nix code into the generated folders.

    -
    -

    flake.nix

    -
    +
    +

    flake.nix

    +

    The Nix flake definition for Droidnix.

    @@ -843,13 +843,13 @@ The Nix flake definition for Droidnix.
    -
    -

    First the nix-files that flake really needs and that do not fit wel in the hierarchical structure

    -
    +
    +

    First the nix-files that flake really needs and that do not fit wel in the hierarchical structure

    +
    -
    -

    assets/flake/users/henrov.nix

    -
    +
    +

    assets/flake/users/henrov.nix

    +

    This is the default user, just search and replace henrov another name if you want to change

    @@ -865,9 +865,9 @@ This is the default user, just search and replace henrov another name if you wan
    -
    -

    assets/flake/terminal_shell/devshell.nix

    -
    +
    +

    assets/flake/terminal_shell/devshell.nix

    +

    This 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.

    @@ -883,9 +883,9 @@ mkShell {
    -
    -

    assets/flake/machines/traveldroid/top.nix

    -
    +
    +

    assets/flake/machines/traveldroid/top.nix

    +

    This code defines the machine to build. Just search and replace traveldroid to provision another machine.

    @@ -927,9 +927,9 @@ This code defines the machine to build. Just search and replace traveldroid to p
    -
    -

    assets/flake/machines/traveldroid/boot.nix

    -
    +
    +

    assets/flake/machines/traveldroid/boot.nix

    +

    This file has most of the settings the control how the computer boots up.

    @@ -964,13 +964,13 @@ This file has most of the settings the control how the computer boots up.
    -
    -

    Now we reach the top of the hierarchy which will call all other imports

    -
    +
    +

    Now we reach the top of the hierarchy which will call all other imports

    +
    -
    -

    generated/top.nix

    -
    +
    +

    generated/top.nix

    +

    The ./generated/top.nix file acts as an anchor or entry point for the entire chain of imports in the pyramid structure.

    @@ -987,9 +987,9 @@ The ./generated/top.nix file acts as an anchor or entry point for the entire cha
    -
    -

    generated/hyprland/top.nix

    -
    +
    +

    generated/hyprland/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1012,9 +1012,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/hyprland/hyprland.nix

    -
    +
    +

    generated/hyprland/hyprland.nix

    +

    The ./generated/top.nix file acts as an anchor or entry point for the entire chain of imports in the pyramid structure.

    @@ -1058,9 +1058,9 @@ in
    -
    -

    generated/mangowc/top.nix

    -
    +
    +

    generated/mangowc/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1083,9 +1083,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/top.nix

    -
    +
    +

    generated/system/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1104,9 +1104,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/applications/top.nix

    -
    +
    +

    generated/system/applications/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1127,9 +1127,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/core/top.nix

    -
    +
    +

    generated/system/core/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1147,9 +1147,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/core/login-tuigreeter.nix

    -
    +
    +

    generated/system/core/login-tuigreeter.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1172,9 +1172,9 @@ settings = {
    -
    -

    generated/system/core/wayland.nix

    -
    +
    +

    generated/system/core/wayland.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1218,9 +1218,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/development/top.nix

    -
    +
    +

    generated/system/development/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1240,9 +1240,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/top.nix

    -
    +
    +

    generated/system/system_management/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1270,9 +1270,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/hyprland/animations_effects/top.nix

    -
    +
    +

    generated/hyprland/animations_effects/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1288,9 +1288,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/hyprland/decorations/top.nix

    -
    +
    +

    generated/hyprland/decorations/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1306,9 +1306,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/hyprland/keyboard_binds/top.nix

    -
    +
    +

    generated/hyprland/keyboard_binds/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1337,9 +1337,9 @@ in
    -
    -

    generated/hyprland/notifications/top.nix

    -
    +
    +

    generated/hyprland/notifications/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1355,9 +1355,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/hyprland/statusbar_tray/top.nix

    -
    +
    +

    generated/hyprland/statusbar_tray/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1373,9 +1373,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/hyprland/task_launcher/top.nix

    -
    +
    +

    generated/hyprland/task_launcher/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1391,9 +1391,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/hyprland/task_window_workspace_switcher/top.nix

    -
    +
    +

    generated/hyprland/task_window_workspace_switcher/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1409,9 +1409,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/hyprland/window_rules/top.nix

    -
    +
    +

    generated/hyprland/window_rules/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1427,9 +1427,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/mangowc/animations_effects/top.nix

    -
    +
    +

    generated/mangowc/animations_effects/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1445,9 +1445,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/mangowc/decorations/top.nix

    -
    +
    +

    generated/mangowc/decorations/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1463,9 +1463,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/mangowc/keyboard_binds/top.nix

    -
    +
    +

    generated/mangowc/keyboard_binds/top.nix

    +

    This 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 @@ in
    -
    -

    generated/mangowc/notifications/top.nix

    -
    +
    +

    generated/mangowc/notifications/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1516,9 +1516,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/mangowc/statusbar_tray/top.nix

    -
    +
    +

    generated/mangowc/statusbar_tray/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1534,9 +1534,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/mangowc/task_launcher/top.nix

    -
    +
    +

    generated/mangowc/task_launcher/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1552,9 +1552,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/mangowc/task_launcher/wofi.nix

    -
    +
    +

    generated/mangowc/task_launcher/wofi.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1594,9 +1594,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/mangowc/task_window_workspace_switcher/top.nix

    -
    +
    +

    generated/mangowc/task_window_workspace_switcher/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1612,9 +1612,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/mangowc/window_rules/top.nix

    -
    +
    +

    generated/mangowc/window_rules/top.nix

    +

    This 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 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/applications/accessibility/top.nix

    -
    +
    +

    generated/system/applications/accessibility/top.nix

    +

    This 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 r
    -
    -

    generated/system/applications/file_management/top.nix

    -
    +
    +

    generated/system/applications/file_management/top.nix

    +

    This 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 r
    -
    -

    generated/system/applications/gaming/top.nix

    -
    +
    +

    generated/system/applications/gaming/top.nix

    +

    This 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 r
    -
    -

    generated/system/applications/media_playback_editing/top.nix

    -
    +
    +

    generated/system/applications/media_playback_editing/top.nix

    +

    This 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 r
    -
    -

    generated/system/applications/office_productivity/top.nix

    -
    +
    +

    generated/system/applications/office_productivity/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1720,9 +1720,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/applications/terminal_shell/top.nix

    -
    +
    +

    generated/system/applications/terminal_shell/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1740,38 +1740,45 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/applications/terminal_shell/kitty.nix

    -
    +
    +

    generated/system/applications/terminal_shell/kitty.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    -
    { config, pkgs, lib, user, inputs, flakeRoot, ... }:
    +
    { config, pkgs, lib, user, ... }:
    +let
    +  kittyConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/kitty";
    +in
     {
    -  # NixOS-level packages (optional, if you want Kitty installed system-wide)
    -  environment.systemPackages = with pkgs; [ kitty ];
    -
    -  # Home Manager configuration for Kitty
       home-manager.users.${user.username} = {
         programs.kitty = {
           enable = true;
           settings = {
    -        font_family = "FiraCode Nerd Font Mono";
    -        include = [ "${flakeRoot}/assets/kitty/themes/Catppuccin-Mocha.conf" ];
    -        background_opacity = 0.60;
    -        dynamic_background_opacity = true;
    +        font_family = "JetBrainsMono Nerd Font";
    +        font_size = 12.0;
    +        cursor = "Beam";
    +        cursor_blink_interval = -1;
    +        shell = "${pkgs.zsh}/bin/zsh";
           };
         };
    +
    +    # Catppuccin Mocha theme for Kitty
    +    xdg.configFile."kitty/theme.conf".source = "${pkgs.catppuccin-kitty}/share/kitty/themes/Catppuccin-Mocha.conf";
    +    xdg.configFile."kitty/kitty.conf".text = ''
    +      include ${kittyConfigDir}/theme.conf
    +      background_opacity 0.9
    +    '';
       };
     }
     
    -
    -

    generated/system/applications/terminal_shell/starship.nix

    -
    +
    +

    generated/system/applications/terminal_shell/starship.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1781,76 +1788,72 @@ This is top file of this level which contains just an import statement for all r home-manager.users.${user.username} = { programs.starship = { enable = true; - # Starship settings (e.g., theme, modules) - settings = { - addNewline = false; - # Other settings... - }; - # Enable Starship for specific shells - bash.enable = true; - zsh.enable = true; - fish.enable = true; }; + + # Catppuccin Mocha theme for Starship + xdg.configFile."starship.toml".text = '' + format = "$all" + + [character] + success_symbol = "[❯](bold green)" + error_symbol = "[❯](bold red)" + + [directory] + style = "bold lavender" + + [git_branch] + symbol = " " + style = "bold maroon" + + [package] + disabled = true + ''; }; }
    -
    -

    generated/system/applications/terminal_shell/zsh.nix

    -
    +
    +

    generated/system/applications/terminal_shell/zsh.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    -
    {
    -  config,
    -  pkgs,
    -  lib,
    -  user,
    -  ...
    -}:
    +
    { config, pkgs, lib, user, ... }:
     let
       zshConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/zsh";
     in
     {
       home-manager.users.${user.username} = {
    -    # Install and enable Zsh
         programs.zsh = {
           enable = true;
           enableCompletion = true;
    -      dotDir = zshConfigDir;
    -      autosuggestion.enable = true;
    +      autosuggestions.enable = true;
           syntaxHighlighting.enable = true;
           oh-my-zsh = {
             enable = true;
    -        theme = "agnoster"; # Popular minimal theme
    +        theme = "agnoster";
             plugins = [
               "git"
    -          "sudo"
    -          "docker"
    -          "kubectl"
               "zsh-autosuggestions"
               "zsh-syntax-highlighting"
    +          "docker"
    +          "kubectl"
               "history"
               "command-not-found"
               "extract"
    -          "colored-man-pages"
             ];
           };
    -      # Shell options (setopt)
           shellAliases = {
             ls = "exa --icons -a --group-directories-first";
             ll = "exa --icons -la --group-directories-first";
    -        grep = "grep --color=auto";
           };
         };
     
    -    # Consolidated .zshrc with best practices
    +    # Consolidated .zshrc
         xdg.configFile."zsh/.zshrc".text = lib.concatStringsSep "\n" [
    -      "# Enable Powerlevel10k (if installed)"
    -      "${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme"
           "# Oh-My-Zsh"
           "export ZSH=\"${zshConfigDir}\""
           "source \"${pkgs.zsh}/share/zsh/functions/Newuser/zsh-newuser-install\""
    @@ -1860,48 +1863,33 @@ in
           "setopt AUTO_CD"
           "setopt CORRECT"
           "setopt INTERACTIVE_COMMENTS"
    -      "setopt APPEND_HISTORY"
    -      "setopt INC_APPEND_HISTORY"
    -      "setopt HIST_IGNORE_ALL_DUPS"
    -      "setopt HIST_REDUCE_BLANKS"
    -      "setopt HIST_SAVE_NO_DUPS"
    -      "setopt HIST_VERIFY"
    -      "setopt SHARE_HISTORY"
           ""
    -      "# Starship prompt (if enabled)"
    +      "# Starship"
           "eval \"$(starship init zsh)\""
           ""
    -      "# fzf key bindings and completion"
    +      "# fzf"
           "source \"${pkgs.fzf}/shell/key-bindings.zsh\""
           "source \"${pkgs.fzf}/shell/completion.zsh\""
           ""
    -      "# Load direnv"
    -      "eval \"$(direnv hook zsh)\""
    -      ""
    -      "# Load nix-direnv (if using direnv with Nix)"
    -      "if [ -f \"${pkgs.nix-direnv}/share/nix-direnv/direnvrc\" ]; then"
    -      "  source \"${pkgs.nix-direnv}/share/nix-direnv/direnvrc\""
    -      "fi"
    -      ""
    -      "# User-specific customizations"
    +      "# User customizations"
           "source \"${zshConfigDir}/custom.zsh\" 2>/dev/null"
         ];
     
    -    # Optional: User customizations (managed separately)
    +    # User customizations
         xdg.configFile."zsh/custom.zsh".text = ''
    -      # Add your custom aliases, functions, and exports here
           export EDITOR="nvim"
           export PATH="$HOME/.local/bin:$PATH"
         '';
       };
     }
    +
     
    -
    -

    generated/system/development/databases/top.nix

    -
    +
    +

    generated/system/development/databases/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1917,9 +1905,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/development/devops_ci_cd/top.nix

    -
    +
    +

    generated/system/development/devops_ci_cd/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1935,9 +1923,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/development/programming_languages/top.nix

    -
    +
    +

    generated/system/development/programming_languages/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1953,9 +1941,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/development/virtualization/top.nix

    -
    +
    +

    generated/system/development/virtualization/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1971,9 +1959,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/development/web_development/top.nix

    -
    +
    +

    generated/system/development/web_development/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -1989,9 +1977,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/audio/top.nix

    -
    +
    +

    generated/system/system_management/audio/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -2007,9 +1995,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/backups/top.nix

    -
    +
    +

    generated/system/system_management/backups/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -2025,9 +2013,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/bluetooth/top.nix

    -
    +
    +

    generated/system/system_management/bluetooth/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -2043,9 +2031,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/disk_management/top.nix

    -
    +
    +

    generated/system/system_management/disk_management/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -2061,9 +2049,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/hardware_sensors/top.nix

    -
    +
    +

    generated/system/system_management/hardware_sensors/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -2079,9 +2067,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/logging_monitoring/top.nix

    -
    +
    +

    generated/system/system_management/logging_monitoring/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -2097,9 +2085,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/login_manager/top.nix

    -
    +
    +

    generated/system/system_management/login_manager/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -2115,9 +2103,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/monitor_setup/top.nix

    -
    +
    +

    generated/system/system_management/monitor_setup/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -2133,9 +2121,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/networking/top.nix

    -
    +
    +

    generated/system/system_management/networking/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -2151,9 +2139,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/power_management/top.nix

    -
    +
    +

    generated/system/system_management/power_management/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -2169,9 +2157,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/printers_scanners/top.nix

    -
    +
    +

    generated/system/system_management/printers_scanners/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -2187,9 +2175,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/security/top.nix

    -
    +
    +

    generated/system/system_management/security/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -2205,9 +2193,9 @@ This is top file of this level which contains just an import statement for all r
    -
    -

    generated/system/system_management/system_updates/top.nix

    -
    +
    +

    generated/system/system_management/system_updates/top.nix

    +

    This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder

    @@ -2227,7 +2215,7 @@ This is top file of this level which contains just an import statement for all r

    Author: Henro Veijer

    -

    Created: 2026-03-07 za 23:35

    +

    Created: 2026-03-07 za 23:41

    Validate

    diff --git a/Droidnix/generated/system/applications/terminal_shell/kitty.nix b/Droidnix/generated/system/applications/terminal_shell/kitty.nix index 9013c38e7..670786ab6 100644 --- a/Droidnix/generated/system/applications/terminal_shell/kitty.nix +++ b/Droidnix/generated/system/applications/terminal_shell/kitty.nix @@ -1,18 +1,25 @@ -{ config, pkgs, lib, user, inputs, flakeRoot, ... }: +{ config, pkgs, lib, user, ... }: +let + kittyConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/kitty"; +in { - # NixOS-level packages (optional, if you want Kitty installed system-wide) - environment.systemPackages = with pkgs; [ kitty ]; - - # Home Manager configuration for Kitty home-manager.users.${user.username} = { programs.kitty = { enable = true; settings = { - font_family = "FiraCode Nerd Font Mono"; - include = [ "${flakeRoot}/assets/kitty/themes/Catppuccin-Mocha.conf" ]; - background_opacity = 0.60; - dynamic_background_opacity = true; + font_family = "JetBrainsMono Nerd Font"; + font_size = 12.0; + cursor = "Beam"; + cursor_blink_interval = -1; + shell = "${pkgs.zsh}/bin/zsh"; }; }; + + # Catppuccin Mocha theme for Kitty + xdg.configFile."kitty/theme.conf".source = "${pkgs.catppuccin-kitty}/share/kitty/themes/Catppuccin-Mocha.conf"; + xdg.configFile."kitty/kitty.conf".text = '' + include ${kittyConfigDir}/theme.conf + background_opacity 0.9 + ''; }; } diff --git a/Droidnix/generated/system/applications/terminal_shell/starship.nix b/Droidnix/generated/system/applications/terminal_shell/starship.nix index 1b4c63d5e..d6b4be8c3 100644 --- a/Droidnix/generated/system/applications/terminal_shell/starship.nix +++ b/Droidnix/generated/system/applications/terminal_shell/starship.nix @@ -1,30 +1,27 @@ -{ - config, - pkgs, - lib, - user, - ... -}: +{ config, pkgs, lib, user, ... }: { home-manager.users.${user.username} = { programs.starship = { - enable = true; # Globally enables Starship for all shells - settings = { - addNewline = false; - # Example: Catppuccin Mocha theme - format = "$all"; - }; + enable = true; }; - # Optional: Ensure Starship init is in shell configs (if not auto-added) - xdg.configFile."bashrc".text = lib.concatStringsSep "\n" [ - "eval \"$(starship init bash)\"" - ]; - xdg.configFile."zshrc".text = lib.concatStringsSep "\n" [ - "eval \"$(starship init zsh)\"" - ]; - xdg.configFile."config/fish/config.fish".text = '' - starship init fish | source + # Catppuccin Mocha theme for Starship + xdg.configFile."starship.toml".text = '' + format = "$all" + + [character] + success_symbol = "[❯](bold green)" + error_symbol = "[❯](bold red)" + + [directory] + style = "bold lavender" + + [git_branch] + symbol = " " + style = "bold maroon" + + [package] + disabled = true ''; }; } diff --git a/Droidnix/generated/system/applications/terminal_shell/zsh.nix b/Droidnix/generated/system/applications/terminal_shell/zsh.nix index 9826f696b..92cf7e274 100644 --- a/Droidnix/generated/system/applications/terminal_shell/zsh.nix +++ b/Droidnix/generated/system/applications/terminal_shell/zsh.nix @@ -1,50 +1,36 @@ -{ - config, - pkgs, - lib, - user, - ... -}: +{ config, pkgs, lib, user, ... }: let zshConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/zsh"; in { home-manager.users.${user.username} = { - # Install and enable Zsh programs.zsh = { enable = true; enableCompletion = true; - dotDir = zshConfigDir; - autosuggestion.enable = true; + autosuggestions.enable = true; syntaxHighlighting.enable = true; oh-my-zsh = { enable = true; - theme = "agnoster"; # Popular minimal theme + theme = "agnoster"; plugins = [ "git" - "sudo" - "docker" - "kubectl" "zsh-autosuggestions" "zsh-syntax-highlighting" + "docker" + "kubectl" "history" "command-not-found" "extract" - "colored-man-pages" ]; }; - # Shell options (setopt) shellAliases = { ls = "exa --icons -a --group-directories-first"; ll = "exa --icons -la --group-directories-first"; - grep = "grep --color=auto"; }; }; - # Consolidated .zshrc with best practices + # Consolidated .zshrc xdg.configFile."zsh/.zshrc".text = lib.concatStringsSep "\n" [ - "# Enable Powerlevel10k (if installed)" - "${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme" "# Oh-My-Zsh" "export ZSH=\"${zshConfigDir}\"" "source \"${pkgs.zsh}/share/zsh/functions/Newuser/zsh-newuser-install\"" @@ -54,36 +40,20 @@ in "setopt AUTO_CD" "setopt CORRECT" "setopt INTERACTIVE_COMMENTS" - "setopt APPEND_HISTORY" - "setopt INC_APPEND_HISTORY" - "setopt HIST_IGNORE_ALL_DUPS" - "setopt HIST_REDUCE_BLANKS" - "setopt HIST_SAVE_NO_DUPS" - "setopt HIST_VERIFY" - "setopt SHARE_HISTORY" "" - "# Starship prompt (if enabled)" + "# Starship" "eval \"$(starship init zsh)\"" "" - "# fzf key bindings and completion" + "# fzf" "source \"${pkgs.fzf}/shell/key-bindings.zsh\"" "source \"${pkgs.fzf}/shell/completion.zsh\"" "" - "# Load direnv" - "eval \"$(direnv hook zsh)\"" - "" - "# Load nix-direnv (if using direnv with Nix)" - "if [ -f \"${pkgs.nix-direnv}/share/nix-direnv/direnvrc\" ]; then" - " source \"${pkgs.nix-direnv}/share/nix-direnv/direnvrc\"" - "fi" - "" - "# User-specific customizations" + "# User customizations" "source \"${zshConfigDir}/custom.zsh\" 2>/dev/null" ]; - # Optional: User customizations (managed separately) + # User customizations xdg.configFile."zsh/custom.zsh".text = '' - # Add your custom aliases, functions, and exports here export EDITOR="nvim" export PATH="$HOME/.local/bin:$PATH" '';