From 8b86bf34d1aad5e43b20f20f89d661da661cf5d6 Mon Sep 17 00:00:00 2001 From: "info@data-pro.nu" Date: Fri, 13 Mar 2026 23:54:28 +0100 Subject: [PATCH] Added networking --- .../hyprland/animations_effects/top.nix | 7 + .../generated.12/hyprland/decorations/top.nix | 7 + Droidnix/generated.12/hyprland/hyprland.nix | 42 ++++++ .../hyprland/keyboard_binds/top.nix | 20 +++ .../hyprland/notifications/top.nix | 7 + .../hyprland/statusbar_tray/top.nix | 7 + .../hyprland/task_launcher/top.nix | 7 + .../hyprland/task_launcher/wofi.nix | 35 +++++ .../task_window_workspace_switcher/top.nix | 7 + Droidnix/generated.12/hyprland/top.nix | 14 ++ .../hyprland/window_rules/top.nix | 7 + .../mangowc/animations_effects/top.nix | 7 + .../generated.12/mangowc/decorations/top.nix | 7 + .../mangowc/keyboard_binds/top.nix | 24 ++++ .../mangowc/notifications/top.nix | 7 + .../mangowc/statusbar_tray/top.nix | 7 + .../mangowc/task_launcher/top.nix | 7 + .../mangowc/task_launcher/wofi.nix | 4 + .../task_window_workspace_switcher/top.nix | 7 + Droidnix/generated.12/mangowc/top.nix | 14 ++ .../generated.12/mangowc/window_rules/top.nix | 7 + .../system/applications/accessibility/top.nix | 7 + .../applications/file_management/top.nix | 7 + .../system/applications/gaming/top.nix | 7 + .../media_playback_editing/top.nix | 7 + .../applications/office_productivity/top.nix | 7 + .../applications/terminal_shell/kitty.nix | 59 +++++++++ .../applications/terminal_shell/starship.nix | 27 ++++ .../applications/terminal_shell/top.nix | 9 ++ .../applications/terminal_shell/zsh.nix | 61 +++++++++ .../generated.12/system/applications/top.nix | 12 ++ .../system/core/login-tuigreeter.nix | 14 ++ Droidnix/generated.12/system/core/top.nix | 9 ++ Droidnix/generated.12/system/core/wayland.nix | 35 +++++ .../system/development/databases/top.nix | 7 + .../system/development/devops_ci_cd/top.nix | 7 + .../development/programming_languages/top.nix | 7 + .../generated.12/system/development/top.nix | 11 ++ .../system/development/virtualization/top.nix | 7 + .../development/web_development/top.nix | 7 + .../system/system_management/audio/top.nix | 7 + .../system/system_management/backups/top.nix | 7 + .../system_management/bluetooth/top.nix | 7 + .../system_management/disk_management/top.nix | 7 + .../hardware_sensors/top.nix | 7 + .../logging_monitoring/top.nix | 7 + .../system_management/login_manager/top.nix | 7 + .../system_management/monitor_setup/top.nix | 7 + .../system_management/networking/top.nix | 7 + .../power_management/top.nix | 7 + .../printers_scanners/top.nix | 7 + .../system/system_management/security/top.nix | 7 + .../system_management/system_updates/top.nix | 7 + .../system/system_management/top.nix | 19 +++ Droidnix/generated.12/system/top.nix | 10 ++ Droidnix/generated.12/top.nix | 8 ++ Droidnix/generated/hyprland/hyprland.nix | 14 +- .../generated/hyprland/keyboard_binds/top.nix | 2 +- .../generated/hyprland/task_launcher/wofi.nix | 35 +++++ .../generated/mangowc/keyboard_binds/top.nix | 25 +++- .../generated/mangowc/task_launcher/wofi.nix | 4 + .../applications/terminal_shell/kitty.nix | 52 +++++++- .../applications/terminal_shell/starship.nix | 37 ++++-- .../applications/terminal_shell/zsh.nix | 122 +++++++----------- .../generated/system/applications/top.nix | 4 +- Droidnix/generated/system/core/top.nix | 4 +- Droidnix/generated/system/core/wayland.nix | 23 ++++ 67 files changed, 895 insertions(+), 113 deletions(-) create mode 100644 Droidnix/generated.12/hyprland/animations_effects/top.nix create mode 100644 Droidnix/generated.12/hyprland/decorations/top.nix create mode 100644 Droidnix/generated.12/hyprland/hyprland.nix create mode 100644 Droidnix/generated.12/hyprland/keyboard_binds/top.nix create mode 100644 Droidnix/generated.12/hyprland/notifications/top.nix create mode 100644 Droidnix/generated.12/hyprland/statusbar_tray/top.nix create mode 100644 Droidnix/generated.12/hyprland/task_launcher/top.nix create mode 100644 Droidnix/generated.12/hyprland/task_launcher/wofi.nix create mode 100644 Droidnix/generated.12/hyprland/task_window_workspace_switcher/top.nix create mode 100644 Droidnix/generated.12/hyprland/top.nix create mode 100644 Droidnix/generated.12/hyprland/window_rules/top.nix create mode 100644 Droidnix/generated.12/mangowc/animations_effects/top.nix create mode 100644 Droidnix/generated.12/mangowc/decorations/top.nix create mode 100644 Droidnix/generated.12/mangowc/keyboard_binds/top.nix create mode 100644 Droidnix/generated.12/mangowc/notifications/top.nix create mode 100644 Droidnix/generated.12/mangowc/statusbar_tray/top.nix create mode 100644 Droidnix/generated.12/mangowc/task_launcher/top.nix create mode 100644 Droidnix/generated.12/mangowc/task_launcher/wofi.nix create mode 100644 Droidnix/generated.12/mangowc/task_window_workspace_switcher/top.nix create mode 100644 Droidnix/generated.12/mangowc/top.nix create mode 100644 Droidnix/generated.12/mangowc/window_rules/top.nix create mode 100644 Droidnix/generated.12/system/applications/accessibility/top.nix create mode 100644 Droidnix/generated.12/system/applications/file_management/top.nix create mode 100644 Droidnix/generated.12/system/applications/gaming/top.nix create mode 100644 Droidnix/generated.12/system/applications/media_playback_editing/top.nix create mode 100644 Droidnix/generated.12/system/applications/office_productivity/top.nix create mode 100644 Droidnix/generated.12/system/applications/terminal_shell/kitty.nix create mode 100644 Droidnix/generated.12/system/applications/terminal_shell/starship.nix create mode 100644 Droidnix/generated.12/system/applications/terminal_shell/top.nix create mode 100644 Droidnix/generated.12/system/applications/terminal_shell/zsh.nix create mode 100644 Droidnix/generated.12/system/applications/top.nix create mode 100644 Droidnix/generated.12/system/core/login-tuigreeter.nix create mode 100644 Droidnix/generated.12/system/core/top.nix create mode 100644 Droidnix/generated.12/system/core/wayland.nix create mode 100644 Droidnix/generated.12/system/development/databases/top.nix create mode 100644 Droidnix/generated.12/system/development/devops_ci_cd/top.nix create mode 100644 Droidnix/generated.12/system/development/programming_languages/top.nix create mode 100644 Droidnix/generated.12/system/development/top.nix create mode 100644 Droidnix/generated.12/system/development/virtualization/top.nix create mode 100644 Droidnix/generated.12/system/development/web_development/top.nix create mode 100644 Droidnix/generated.12/system/system_management/audio/top.nix create mode 100644 Droidnix/generated.12/system/system_management/backups/top.nix create mode 100644 Droidnix/generated.12/system/system_management/bluetooth/top.nix create mode 100644 Droidnix/generated.12/system/system_management/disk_management/top.nix create mode 100644 Droidnix/generated.12/system/system_management/hardware_sensors/top.nix create mode 100644 Droidnix/generated.12/system/system_management/logging_monitoring/top.nix create mode 100644 Droidnix/generated.12/system/system_management/login_manager/top.nix create mode 100644 Droidnix/generated.12/system/system_management/monitor_setup/top.nix create mode 100644 Droidnix/generated.12/system/system_management/networking/top.nix create mode 100644 Droidnix/generated.12/system/system_management/power_management/top.nix create mode 100644 Droidnix/generated.12/system/system_management/printers_scanners/top.nix create mode 100644 Droidnix/generated.12/system/system_management/security/top.nix create mode 100644 Droidnix/generated.12/system/system_management/system_updates/top.nix create mode 100644 Droidnix/generated.12/system/system_management/top.nix create mode 100644 Droidnix/generated.12/system/top.nix create mode 100644 Droidnix/generated.12/top.nix create mode 100644 Droidnix/generated/hyprland/task_launcher/wofi.nix create mode 100644 Droidnix/generated/mangowc/task_launcher/wofi.nix diff --git a/Droidnix/generated.12/hyprland/animations_effects/top.nix b/Droidnix/generated.12/hyprland/animations_effects/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/hyprland/animations_effects/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/hyprland/decorations/top.nix b/Droidnix/generated.12/hyprland/decorations/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/hyprland/decorations/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/hyprland/hyprland.nix b/Droidnix/generated.12/hyprland/hyprland.nix new file mode 100644 index 000000000..a836e3c47 --- /dev/null +++ b/Droidnix/generated.12/hyprland/hyprland.nix @@ -0,0 +1,42 @@ +{ + config, + pkgs, + lib, + user, + flakeRoot, + ... +}: +let + hyprlandConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/hypr"; + # Dynamically read all files in assets/hyprland/conf/ + hyprlandConfs = + lib.genAttrs (builtins.attrNames (builtins.readDir "${flakeRoot}/assets/hyprland/conf")) + (name: { + text = builtins.readFile "${flakeRoot}/assets/hyprland/conf/${name}"; + }); +in +{ + # NixOS: Enable Hyprland (optional) + programs.hyprland = { + enable = true; + }; + + # Home Manager: Hyprland-specific configurations + home-manager.users.${user.username} = { + # Use config.home-manager.users.${user.username} instead of userConfig + home.stateVersion = config.home-manager.users.${user.username}.stateVersion or "23.11"; # Default fallback + home.username = user.username; # Use the 'user' argument + home.homeDirectory = + config.home-manager.users.${user.username}.homeDirectory or "/home/${user.username}"; + + wayland.windowManager.hyprland = { + enable = true; + }; + + # Merge dynamic Hyprland configs with existing xdg.configFile + xdg.configFile = { + # Your existing manual configs (if any) + } + // hyprlandConfs; + }; +} diff --git a/Droidnix/generated.12/hyprland/keyboard_binds/top.nix b/Droidnix/generated.12/hyprland/keyboard_binds/top.nix new file mode 100644 index 000000000..ac1af118b --- /dev/null +++ b/Droidnix/generated.12/hyprland/keyboard_binds/top.nix @@ -0,0 +1,20 @@ +{ + config, + pkgs, + lib, + user, + inputs, + flakeRoot, + ... +}: +let + bindingsContent = builtins.readFile (flakeRoot + "/assets/hyprland/conf/bindings.conf"); +in +{ + home-manager.users.${user.username} = { + wayland.windowManager.hyprland = { + enable = true; + extraConfig = bindingsContent; + }; + }; +} diff --git a/Droidnix/generated.12/hyprland/notifications/top.nix b/Droidnix/generated.12/hyprland/notifications/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/hyprland/notifications/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/hyprland/statusbar_tray/top.nix b/Droidnix/generated.12/hyprland/statusbar_tray/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/hyprland/statusbar_tray/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/hyprland/task_launcher/top.nix b/Droidnix/generated.12/hyprland/task_launcher/top.nix new file mode 100644 index 000000000..f60e4fb46 --- /dev/null +++ b/Droidnix/generated.12/hyprland/task_launcher/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + ./wofi.nix + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/hyprland/task_launcher/wofi.nix b/Droidnix/generated.12/hyprland/task_launcher/wofi.nix new file mode 100644 index 000000000..3f6c36d41 --- /dev/null +++ b/Droidnix/generated.12/hyprland/task_launcher/wofi.nix @@ -0,0 +1,35 @@ +{ config, pkgs, lib, user, flakeRoot, ... }: +let + xdgDataHome = config.home-manager.users.${user.username}.xdg.dataHome; +in +{ + # NixOS: Install Wofi system-wide (optional) + environment.systemPackages = with pkgs; [ wofi ]; + + # Home Manager: User-specific Wofi config + home-manager.users.${user.username} = { + # Install Wofi for the user + home.packages = with pkgs; [ wofi ]; + + # Wofi configuration + xdg.configFile."wofi/config".text = '' + dark + width=500 + height=800 + lines=10 + columns=1 + cache_dir=${xdgDataHome}/wofi + allow_images=true + allow_markup=true + show_drun=true + ''; + + # Catppuccin Mocha theme for Wofi + xdg.configFile."wofi/style.css".text = builtins.readFile "${pkgs.fetchFromGitHub { + owner = "catppuccin"; + repo = "wofi"; + rev = "a0c34a8e9d3a1f71b1b2a8e3b5b8e3e8b1b3b8e3"; # Replace with the correct SHA256 hash + sha256 = "0000000000000000000000000000000000000000000000000000"; # Replace with the correct SHA256 hash + }}/style-mocha.css"; + }; +} diff --git a/Droidnix/generated.12/hyprland/task_window_workspace_switcher/top.nix b/Droidnix/generated.12/hyprland/task_window_workspace_switcher/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/hyprland/task_window_workspace_switcher/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/hyprland/top.nix b/Droidnix/generated.12/hyprland/top.nix new file mode 100644 index 000000000..ad0d96f3f --- /dev/null +++ b/Droidnix/generated.12/hyprland/top.nix @@ -0,0 +1,14 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + ./hyprland.nix + ./animations_effects/top.nix + ./decorations/top.nix + ./keyboard_binds/top.nix + ./notifications/top.nix + ./statusbar_tray/top.nix + ./task_launcher/top.nix + ./task_window_workspace_switcher/top.nix + ./window_rules/top.nix + ]; +} diff --git a/Droidnix/generated.12/hyprland/window_rules/top.nix b/Droidnix/generated.12/hyprland/window_rules/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/hyprland/window_rules/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/mangowc/animations_effects/top.nix b/Droidnix/generated.12/mangowc/animations_effects/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/mangowc/animations_effects/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/mangowc/decorations/top.nix b/Droidnix/generated.12/mangowc/decorations/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/mangowc/decorations/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/mangowc/keyboard_binds/top.nix b/Droidnix/generated.12/mangowc/keyboard_binds/top.nix new file mode 100644 index 000000000..4e88b2781 --- /dev/null +++ b/Droidnix/generated.12/mangowc/keyboard_binds/top.nix @@ -0,0 +1,24 @@ +{ + config, + pkgs, + lib, + user, + inputs, + flakeRoot, + ... +}: +let + bindingsContent = builtins.readFile (flakeRoot + "/assets/hyprland/conf/bindings.conf"); + userConfig = import (flakeRoot + "/assets/flake/users/henrov.nix"); +in +{ + home-manager.users.${user.username} = { + home.stateVersion = userConfig.stateVersion; + home.username = userConfig.username; + home.homeDirectory = userConfig.homeDirectory; + wayland.windowManager.hyprland = { + enable = true; + extraConfig = bindingsContent; + }; + }; +} diff --git a/Droidnix/generated.12/mangowc/notifications/top.nix b/Droidnix/generated.12/mangowc/notifications/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/mangowc/notifications/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/mangowc/statusbar_tray/top.nix b/Droidnix/generated.12/mangowc/statusbar_tray/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/mangowc/statusbar_tray/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/mangowc/task_launcher/top.nix b/Droidnix/generated.12/mangowc/task_launcher/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/mangowc/task_launcher/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/mangowc/task_launcher/wofi.nix b/Droidnix/generated.12/mangowc/task_launcher/wofi.nix new file mode 100644 index 000000000..c957c7008 --- /dev/null +++ b/Droidnix/generated.12/mangowc/task_launcher/wofi.nix @@ -0,0 +1,4 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + # .. put any code here +} diff --git a/Droidnix/generated.12/mangowc/task_window_workspace_switcher/top.nix b/Droidnix/generated.12/mangowc/task_window_workspace_switcher/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/mangowc/task_window_workspace_switcher/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/mangowc/top.nix b/Droidnix/generated.12/mangowc/top.nix new file mode 100644 index 000000000..13b2ff435 --- /dev/null +++ b/Droidnix/generated.12/mangowc/top.nix @@ -0,0 +1,14 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + ./animations_effects/top.nix + ./decorations/top.nix + ./keyboard_binds/top.nix + ./notifications/top.nix + ./statusbar_tray/top.nix + ./task_launcher/top.nix + ./task_window_workspace_switcher/top.nix + ./window_rules/top.nix + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/mangowc/window_rules/top.nix b/Droidnix/generated.12/mangowc/window_rules/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/mangowc/window_rules/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/applications/accessibility/top.nix b/Droidnix/generated.12/system/applications/accessibility/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/applications/accessibility/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/applications/file_management/top.nix b/Droidnix/generated.12/system/applications/file_management/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/applications/file_management/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/applications/gaming/top.nix b/Droidnix/generated.12/system/applications/gaming/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/applications/gaming/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/applications/media_playback_editing/top.nix b/Droidnix/generated.12/system/applications/media_playback_editing/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/applications/media_playback_editing/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/applications/office_productivity/top.nix b/Droidnix/generated.12/system/applications/office_productivity/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/applications/office_productivity/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/applications/terminal_shell/kitty.nix b/Droidnix/generated.12/system/applications/terminal_shell/kitty.nix new file mode 100644 index 000000000..6e66131e7 --- /dev/null +++ b/Droidnix/generated.12/system/applications/terminal_shell/kitty.nix @@ -0,0 +1,59 @@ +{ config, pkgs, lib, user, ... }: +let + kittyConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/kitty"; +in +{ + home-manager.users.${user.username} = { + programs.kitty = { + enable = true; + settings = { + 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 (embedded) + xdg.configFile."kitty/kitty.conf".text = lib.concatStringsSep "\n" [ + "# Catppuccin Mocha theme" + "background #1e1e2e" + "foreground #cdd6f4" + "selection_background #f5e0dc" + "selection_foreground #1e1e2e" + "url_color #f5e0dc" + "cursor #f5e0dc" + "cursor_text_color #1e1e2e" + + "color0 #45475a" + "color8 #585b70" + + "color1 #f38ba8" + "color9 #f38ba8" + + "color2 #a6e3a1" + "color10 #a6e3a1" + + "color3 #f9e2af" + "color11 #f9e2af" + + "color4 #89b4fa" + "color12 #89b4fa" + + "color5 #f5c2e7" + "color13 #f5c2e7" + + "color6 #94e2d5" + "color14 #94e2d5" + + "color7 #bac2de" + "color15 #bac2de" + + "# Window settings" + "background_opacity 0.9" + "font_size 12.0" + "cursor_shape Beam" + ]; + }; +} diff --git a/Droidnix/generated.12/system/applications/terminal_shell/starship.nix b/Droidnix/generated.12/system/applications/terminal_shell/starship.nix new file mode 100644 index 000000000..d6b4be8c3 --- /dev/null +++ b/Droidnix/generated.12/system/applications/terminal_shell/starship.nix @@ -0,0 +1,27 @@ +{ config, pkgs, lib, user, ... }: +{ + home-manager.users.${user.username} = { + programs.starship = { + 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 + ''; + }; +} diff --git a/Droidnix/generated.12/system/applications/terminal_shell/top.nix b/Droidnix/generated.12/system/applications/terminal_shell/top.nix new file mode 100644 index 000000000..d24f14948 --- /dev/null +++ b/Droidnix/generated.12/system/applications/terminal_shell/top.nix @@ -0,0 +1,9 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + ./kitty.nix + ./starship.nix + ./zsh.nix + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/applications/terminal_shell/zsh.nix b/Droidnix/generated.12/system/applications/terminal_shell/zsh.nix new file mode 100644 index 000000000..968bac466 --- /dev/null +++ b/Droidnix/generated.12/system/applications/terminal_shell/zsh.nix @@ -0,0 +1,61 @@ +{ config, pkgs, lib, user, ... }: +let + zshConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/zsh"; +in +{ + home-manager.users.${user.username} = { + programs.zsh = { + enable = true; + enableCompletion = true; + autosuggestion.enable = true; + syntaxHighlighting.enable = true; + oh-my-zsh = { + enable = true; + theme = "agnoster"; + plugins = [ + "git" + "zsh-autosuggestions" + "zsh-syntax-highlighting" + "docker" + "kubectl" + "history" + "command-not-found" + "extract" + ]; + }; + shellAliases = { + ls = "exa --icons -a --group-directories-first"; + ll = "exa --icons -la --group-directories-first"; + }; + }; + + # Consolidated .zshrc + xdg.configFile."zsh/.zshrc".text = lib.concatStringsSep "\n" [ + "# Oh-My-Zsh" + "export ZSH=\"${zshConfigDir}\"" + "source \"${pkgs.zsh}/share/zsh/functions/Newuser/zsh-newuser-install\"" + "source \"${zshConfigDir}/oh-my-zsh.sh\"" + "" + "# Zsh options" + "setopt AUTO_CD" + "setopt CORRECT" + "setopt INTERACTIVE_COMMENTS" + "" + "# Starship" + "eval \"$(starship init zsh)\"" + "" + "# fzf" + "source \"${pkgs.fzf}/shell/key-bindings.zsh\"" + "source \"${pkgs.fzf}/shell/completion.zsh\"" + "" + "# User customizations" + "source \"${zshConfigDir}/custom.zsh\" 2>/dev/null" + ]; + + # User customizations + xdg.configFile."zsh/custom.zsh".text = '' + export EDITOR="nvim" + export PATH="$HOME/.local/bin:$PATH" + ''; + }; +} diff --git a/Droidnix/generated.12/system/applications/top.nix b/Droidnix/generated.12/system/applications/top.nix new file mode 100644 index 000000000..eb7db4f5e --- /dev/null +++ b/Droidnix/generated.12/system/applications/top.nix @@ -0,0 +1,12 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + ./accessibility/top.nix + ./file_management/top.nix + ./gaming/top.nix + ./media_playback_editing/top.nix + ./office_productivity/top.nix + ./terminal_shell/top.nix + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/core/login-tuigreeter.nix b/Droidnix/generated.12/system/core/login-tuigreeter.nix new file mode 100644 index 000000000..f2b8d6ff6 --- /dev/null +++ b/Droidnix/generated.12/system/core/login-tuigreeter.nix @@ -0,0 +1,14 @@ +{ pkgs, user, ... } : +{ +environment.systemPackages = with pkgs; [ +tuigreet +]; +services.greetd = { +enable = true; +settings = { + default_session = { + command = pkgs.lib.mkForce "${pkgs.tuigreet}/bin/tuigreet --remember --time --time-format '%I:%M %p | %a • %h | %F'"; + }; +}; +}; +} diff --git a/Droidnix/generated.12/system/core/top.nix b/Droidnix/generated.12/system/core/top.nix new file mode 100644 index 000000000..cbd37c08c --- /dev/null +++ b/Droidnix/generated.12/system/core/top.nix @@ -0,0 +1,9 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + ./wayland.nix + ./login-tuigreeter.nix + # ./login-lightdm.nix + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/core/wayland.nix b/Droidnix/generated.12/system/core/wayland.nix new file mode 100644 index 000000000..f81f3aa13 --- /dev/null +++ b/Droidnix/generated.12/system/core/wayland.nix @@ -0,0 +1,35 @@ +{ config, pkgs, lib, user, ... }: +{ + # Enable essential services for a Wayland session + services.dbus.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + pulse.enable = true; + wireplumber.enable = true; + }; + + # XDG Desktop Portal settings for better application integration + xdg.portal = { + enable = true; + config.common.default = [ "hyprland" "gtk" ]; + }; + + # Environment variables for a Wayland session + environment.sessionVariables = { + XDG_SESSION_TYPE = "wayland"; + XDG_CURRENT_DESKTOP = "Hyprland"; + XCURSOR_SIZE = "24"; + }; + + # Home Manager Wayland configurations + home-manager.users.${user.username} = { + xdg.portal = { + enable = true; + extraPortals = with pkgs; [ xdg-desktop-portal-hyprland ]; + config.hyprland = { + "org.freedesktop.impl.portal.Screencast" = [ "hyprland" ]; + }; + }; + }; +} diff --git a/Droidnix/generated.12/system/development/databases/top.nix b/Droidnix/generated.12/system/development/databases/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/development/databases/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/development/devops_ci_cd/top.nix b/Droidnix/generated.12/system/development/devops_ci_cd/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/development/devops_ci_cd/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/development/programming_languages/top.nix b/Droidnix/generated.12/system/development/programming_languages/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/development/programming_languages/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/development/top.nix b/Droidnix/generated.12/system/development/top.nix new file mode 100644 index 000000000..877d65e34 --- /dev/null +++ b/Droidnix/generated.12/system/development/top.nix @@ -0,0 +1,11 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + ./databases/top.nix + ./devops_ci_cd/top.nix + ./programming_languages/top.nix + ./virtualization/top.nix + ./web_development/top.nix + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/development/virtualization/top.nix b/Droidnix/generated.12/system/development/virtualization/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/development/virtualization/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/development/web_development/top.nix b/Droidnix/generated.12/system/development/web_development/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/development/web_development/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/system_management/audio/top.nix b/Droidnix/generated.12/system/system_management/audio/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/system_management/audio/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/system_management/backups/top.nix b/Droidnix/generated.12/system/system_management/backups/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/system_management/backups/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/system_management/bluetooth/top.nix b/Droidnix/generated.12/system/system_management/bluetooth/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/system_management/bluetooth/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/system_management/disk_management/top.nix b/Droidnix/generated.12/system/system_management/disk_management/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/system_management/disk_management/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/system_management/hardware_sensors/top.nix b/Droidnix/generated.12/system/system_management/hardware_sensors/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/system_management/hardware_sensors/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/system_management/logging_monitoring/top.nix b/Droidnix/generated.12/system/system_management/logging_monitoring/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/system_management/logging_monitoring/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/system_management/login_manager/top.nix b/Droidnix/generated.12/system/system_management/login_manager/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/system_management/login_manager/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/system_management/monitor_setup/top.nix b/Droidnix/generated.12/system/system_management/monitor_setup/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/system_management/monitor_setup/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/system_management/networking/top.nix b/Droidnix/generated.12/system/system_management/networking/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/system_management/networking/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/system_management/power_management/top.nix b/Droidnix/generated.12/system/system_management/power_management/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/system_management/power_management/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/system_management/printers_scanners/top.nix b/Droidnix/generated.12/system/system_management/printers_scanners/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/system_management/printers_scanners/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/system_management/security/top.nix b/Droidnix/generated.12/system/system_management/security/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/system_management/security/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/system_management/system_updates/top.nix b/Droidnix/generated.12/system/system_management/system_updates/top.nix new file mode 100644 index 000000000..c7da173ce --- /dev/null +++ b/Droidnix/generated.12/system/system_management/system_updates/top.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + # No subfolders to import + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/system_management/top.nix b/Droidnix/generated.12/system/system_management/top.nix new file mode 100644 index 000000000..c7602dac8 --- /dev/null +++ b/Droidnix/generated.12/system/system_management/top.nix @@ -0,0 +1,19 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + ./audio/top.nix + ./backups/top.nix + ./bluetooth/top.nix + ./disk_management/top.nix + ./hardware_sensors/top.nix + ./logging_monitoring/top.nix + ./login_manager/top.nix + ./monitor_setup/top.nix + ./networking/top.nix + ./power_management/top.nix + ./printers_scanners/top.nix + ./security/top.nix + ./system_updates/top.nix + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/system/top.nix b/Droidnix/generated.12/system/top.nix new file mode 100644 index 000000000..c1a1bec75 --- /dev/null +++ b/Droidnix/generated.12/system/top.nix @@ -0,0 +1,10 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + imports = [ + ./applications/top.nix + ./core/top.nix + ./development/top.nix + ./system_management/top.nix + ]; + # .. put any code here +} diff --git a/Droidnix/generated.12/top.nix b/Droidnix/generated.12/top.nix new file mode 100644 index 000000000..e418ef7a2 --- /dev/null +++ b/Droidnix/generated.12/top.nix @@ -0,0 +1,8 @@ +{ config, pkgs, lib, ... }: +{ + imports = [ + ./system/top.nix + ./hyprland/top.nix + # ./mangowc/top.nix + ]; +} diff --git a/Droidnix/generated/hyprland/hyprland.nix b/Droidnix/generated/hyprland/hyprland.nix index 93eb432d6..a836e3c47 100644 --- a/Droidnix/generated/hyprland/hyprland.nix +++ b/Droidnix/generated/hyprland/hyprland.nix @@ -6,14 +6,13 @@ flakeRoot, ... }: - let hyprlandConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/hypr"; # Dynamically read all files in assets/hyprland/conf/ hyprlandConfs = - lib.genAttrs (builtins.attrNames (builtins.readDir "${flakeRoot}/assets/hyprland/conf/hypr")) + lib.genAttrs (builtins.attrNames (builtins.readDir "${flakeRoot}/assets/hyprland/conf")) (name: { - text = builtins.readFile "${flakeRoot}/assets/hyprland/conf/hypr/${name}"; + text = builtins.readFile "${flakeRoot}/assets/hyprland/conf/${name}"; }); in { @@ -34,11 +33,10 @@ in enable = true; }; - # Ensure the Hyprland config directory exists + # Merge dynamic Hyprland configs with existing xdg.configFile xdg.configFile = { - "hypr/.keep" = { - text = ""; - }; - } // hyprlandConfs; + # Your existing manual configs (if any) + } + // hyprlandConfs; }; } diff --git a/Droidnix/generated/hyprland/keyboard_binds/top.nix b/Droidnix/generated/hyprland/keyboard_binds/top.nix index 96067f4db..ac1af118b 100644 --- a/Droidnix/generated/hyprland/keyboard_binds/top.nix +++ b/Droidnix/generated/hyprland/keyboard_binds/top.nix @@ -8,7 +8,7 @@ ... }: let - bindingsContent = builtins.readFile (flakeRoot + "/assets/hyprland/conf/hypr/bindings.conf"); + bindingsContent = builtins.readFile (flakeRoot + "/assets/hyprland/conf/bindings.conf"); in { home-manager.users.${user.username} = { diff --git a/Droidnix/generated/hyprland/task_launcher/wofi.nix b/Droidnix/generated/hyprland/task_launcher/wofi.nix new file mode 100644 index 000000000..3f6c36d41 --- /dev/null +++ b/Droidnix/generated/hyprland/task_launcher/wofi.nix @@ -0,0 +1,35 @@ +{ config, pkgs, lib, user, flakeRoot, ... }: +let + xdgDataHome = config.home-manager.users.${user.username}.xdg.dataHome; +in +{ + # NixOS: Install Wofi system-wide (optional) + environment.systemPackages = with pkgs; [ wofi ]; + + # Home Manager: User-specific Wofi config + home-manager.users.${user.username} = { + # Install Wofi for the user + home.packages = with pkgs; [ wofi ]; + + # Wofi configuration + xdg.configFile."wofi/config".text = '' + dark + width=500 + height=800 + lines=10 + columns=1 + cache_dir=${xdgDataHome}/wofi + allow_images=true + allow_markup=true + show_drun=true + ''; + + # Catppuccin Mocha theme for Wofi + xdg.configFile."wofi/style.css".text = builtins.readFile "${pkgs.fetchFromGitHub { + owner = "catppuccin"; + repo = "wofi"; + rev = "a0c34a8e9d3a1f71b1b2a8e3b5b8e3e8b1b3b8e3"; # Replace with the correct SHA256 hash + sha256 = "0000000000000000000000000000000000000000000000000000"; # Replace with the correct SHA256 hash + }}/style-mocha.css"; + }; +} diff --git a/Droidnix/generated/mangowc/keyboard_binds/top.nix b/Droidnix/generated/mangowc/keyboard_binds/top.nix index 3d59efd14..4e88b2781 100644 --- a/Droidnix/generated/mangowc/keyboard_binds/top.nix +++ b/Droidnix/generated/mangowc/keyboard_binds/top.nix @@ -1 +1,24 @@ -# Your code here... +{ + config, + pkgs, + lib, + user, + inputs, + flakeRoot, + ... +}: +let + bindingsContent = builtins.readFile (flakeRoot + "/assets/hyprland/conf/bindings.conf"); + userConfig = import (flakeRoot + "/assets/flake/users/henrov.nix"); +in +{ + home-manager.users.${user.username} = { + home.stateVersion = userConfig.stateVersion; + home.username = userConfig.username; + home.homeDirectory = userConfig.homeDirectory; + wayland.windowManager.hyprland = { + enable = true; + extraConfig = bindingsContent; + }; + }; +} diff --git a/Droidnix/generated/mangowc/task_launcher/wofi.nix b/Droidnix/generated/mangowc/task_launcher/wofi.nix new file mode 100644 index 000000000..c957c7008 --- /dev/null +++ b/Droidnix/generated/mangowc/task_launcher/wofi.nix @@ -0,0 +1,4 @@ +{ config, pkgs, lib, user, inputs, flakeRoot,... }: +{ + # .. put any code here +} diff --git a/Droidnix/generated/system/applications/terminal_shell/kitty.nix b/Droidnix/generated/system/applications/terminal_shell/kitty.nix index 6a3731900..6e66131e7 100644 --- a/Droidnix/generated/system/applications/terminal_shell/kitty.nix +++ b/Droidnix/generated/system/applications/terminal_shell/kitty.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, user, flakeRoot, ... }: +{ config, pkgs, lib, user, ... }: let kittyConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/kitty"; in @@ -6,14 +6,54 @@ in home-manager.users.${user.username} = { programs.kitty = { enable = true; + settings = { + font_family = "JetBrainsMono Nerd Font"; + font_size = 12.0; + cursor = "Beam"; + cursor_blink_interval = -1; + shell = "${pkgs.zsh}/bin/zsh"; + }; }; - # Copy the actual kitty.conf (not a symlink) + # Catppuccin Mocha theme for Kitty (embedded) xdg.configFile."kitty/kitty.conf".text = lib.concatStringsSep "\n" [ - (builtins.readFile "${flakeRoot}/assets/system/conf/kitty/kitty.conf") - ]; + "# Catppuccin Mocha theme" + "background #1e1e2e" + "foreground #cdd6f4" + "selection_background #f5e0dc" + "selection_foreground #1e1e2e" + "url_color #f5e0dc" + "cursor #f5e0dc" + "cursor_text_color #1e1e2e" - # Copy the theme file - xdg.configFile."kitty/Catppuccin-Mocha.conf".source = "${flakeRoot}/assets/system/conf/kitty/Catppuccin-Mocha.conf"; + "color0 #45475a" + "color8 #585b70" + + "color1 #f38ba8" + "color9 #f38ba8" + + "color2 #a6e3a1" + "color10 #a6e3a1" + + "color3 #f9e2af" + "color11 #f9e2af" + + "color4 #89b4fa" + "color12 #89b4fa" + + "color5 #f5c2e7" + "color13 #f5c2e7" + + "color6 #94e2d5" + "color14 #94e2d5" + + "color7 #bac2de" + "color15 #bac2de" + + "# Window settings" + "background_opacity 0.9" + "font_size 12.0" + "cursor_shape Beam" + ]; }; } diff --git a/Droidnix/generated/system/applications/terminal_shell/starship.nix b/Droidnix/generated/system/applications/terminal_shell/starship.nix index 06f1e5725..d6b4be8c3 100644 --- a/Droidnix/generated/system/applications/terminal_shell/starship.nix +++ b/Droidnix/generated/system/applications/terminal_shell/starship.nix @@ -1,16 +1,27 @@ +{ config, pkgs, lib, user, ... }: { - lib, - config, - pkgs, - flakeRoot, - ... -}: -let - starshipConfig = lib.importTOML (flakeRoot + "/assets/system/conf/starship.toml"); -in -{ - programs.starship = { - enable = true; - settings = starshipConfig; + home-manager.users.${user.username} = { + programs.starship = { + 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 + ''; }; } diff --git a/Droidnix/generated/system/applications/terminal_shell/zsh.nix b/Droidnix/generated/system/applications/terminal_shell/zsh.nix index 034bfb243..968bac466 100644 --- a/Droidnix/generated/system/applications/terminal_shell/zsh.nix +++ b/Droidnix/generated/system/applications/terminal_shell/zsh.nix @@ -1,95 +1,61 @@ +{ config, pkgs, lib, user, ... }: +let + zshConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/zsh"; +in { - lib, - config, - pkgs, - ... -}: - -{ - # --- NixOS Configuration --- - environment.systemPackages = with pkgs; [ - zsh - git - docker - ]; - - # --- Home Manager Configuration --- - home-manager.users.henrov = { + home-manager.users.${user.username} = { programs.zsh = { enable = true; enableCompletion = true; - - # Enable oh-my-zsh and use its plugins + autosuggestion.enable = true; + syntaxHighlighting.enable = true; oh-my-zsh = { enable = true; + theme = "agnoster"; plugins = [ "git" - "docker" - "direnv" "zsh-autosuggestions" "zsh-syntax-highlighting" - "zsh-completions" - "zsh-history-substring-search" + "docker" + "kubectl" + "history" + "command-not-found" + "extract" ]; - theme = "agnoster"; # Fallback, overridden below }; - - # Source Nixpkgs-provided plugins explicitly - initContent = '' - # Source plugins installed by Nix - 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 - - # Catppuccin Mocha theme for oh-my-zsh - 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%}' - - # Set the custom theme - ZSH_THEME="catppuccin-mocha" - ''; + shellAliases = { + ls = "exa --icons -a --group-directories-first"; + ll = "exa --icons -la --group-directories-first"; + }; }; - # Home Manager packages (optional) - home.packages = with pkgs; [ - direnv - git-extras + # Consolidated .zshrc + xdg.configFile."zsh/.zshrc".text = lib.concatStringsSep "\n" [ + "# Oh-My-Zsh" + "export ZSH=\"${zshConfigDir}\"" + "source \"${pkgs.zsh}/share/zsh/functions/Newuser/zsh-newuser-install\"" + "source \"${zshConfigDir}/oh-my-zsh.sh\"" + "" + "# Zsh options" + "setopt AUTO_CD" + "setopt CORRECT" + "setopt INTERACTIVE_COMMENTS" + "" + "# Starship" + "eval \"$(starship init zsh)\"" + "" + "# fzf" + "source \"${pkgs.fzf}/shell/key-bindings.zsh\"" + "source \"${pkgs.fzf}/shell/completion.zsh\"" + "" + "# User customizations" + "source \"${zshConfigDir}/custom.zsh\" 2>/dev/null" ]; + + # User customizations + xdg.configFile."zsh/custom.zsh".text = '' + export EDITOR="nvim" + export PATH="$HOME/.local/bin:$PATH" + ''; }; } diff --git a/Droidnix/generated/system/applications/top.nix b/Droidnix/generated/system/applications/top.nix index 287cde4b2..eb7db4f5e 100644 --- a/Droidnix/generated/system/applications/top.nix +++ b/Droidnix/generated/system/applications/top.nix @@ -1,8 +1,6 @@ { config, pkgs, lib, user, inputs, flakeRoot,... }: { imports = [ - ./packages.nix - ./flatpaks.nix ./accessibility/top.nix ./file_management/top.nix ./gaming/top.nix @@ -10,5 +8,5 @@ ./office_productivity/top.nix ./terminal_shell/top.nix ]; - nixpkgs.config.allowUnfree = true; + # .. put any code here } diff --git a/Droidnix/generated/system/core/top.nix b/Droidnix/generated/system/core/top.nix index 68dcdc894..cbd37c08c 100644 --- a/Droidnix/generated/system/core/top.nix +++ b/Droidnix/generated/system/core/top.nix @@ -2,10 +2,8 @@ { imports = [ ./wayland.nix - ./eww.nix - ./waybar.nix ./login-tuigreeter.nix - #./login-lightdm.nix + # ./login-lightdm.nix ]; # .. put any code here } diff --git a/Droidnix/generated/system/core/wayland.nix b/Droidnix/generated/system/core/wayland.nix index 9d7e5e81d..f81f3aa13 100644 --- a/Droidnix/generated/system/core/wayland.nix +++ b/Droidnix/generated/system/core/wayland.nix @@ -1,5 +1,28 @@ { config, pkgs, lib, user, ... }: { + # Enable essential services for a Wayland session + services.dbus.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + pulse.enable = true; + wireplumber.enable = true; + }; + + # XDG Desktop Portal settings for better application integration + xdg.portal = { + enable = true; + config.common.default = [ "hyprland" "gtk" ]; + }; + + # Environment variables for a Wayland session + environment.sessionVariables = { + XDG_SESSION_TYPE = "wayland"; + XDG_CURRENT_DESKTOP = "Hyprland"; + XCURSOR_SIZE = "24"; + }; + + # Home Manager Wayland configurations home-manager.users.${user.username} = { xdg.portal = { enable = true;