Working on hyprland config
This commit is contained in:
+118
-456
@@ -37,7 +37,6 @@ The Droidnix repository is organized into two main parts:
|
||||
- =flake.nix= is the entry point and imports:
|
||||
- =generated/system/=
|
||||
- =generated/hyprland/=
|
||||
- =generated/mangowc/=
|
||||
- Machine-specific configurations from =assets/machines/=
|
||||
|
||||
* Generated Structure
|
||||
@@ -88,207 +87,8 @@ This directory contains configurations specific to Hyprland.
|
||||
- =task_window_workspace_switcher/=: Configurations for switching between windows and workspaces.
|
||||
- =window_rules/=: Rules for window behavior.
|
||||
|
||||
** MangoWC (=generated/mangowc/=)
|
||||
This directory contains configurations specific to MangoWC.
|
||||
|
||||
- =animations_effects/=: Settings for animations and effects in MangoWC.
|
||||
- =decorations/=: Configurations for window decorations.
|
||||
- =keyboard_binds/=: Keyboard shortcuts for MangoWC.
|
||||
- =notifications/=: Settings for notifications.
|
||||
- =statusbar_tray/=: Configurations for the status bar and system tray.
|
||||
- =task_launcher/=: Settings for task launchers.
|
||||
- =task_window_workspace_switcher/=: Configurations for switching between windows and workspaces.
|
||||
- =window_rules/=: Rules for window behavior.
|
||||
|
||||
**File Structure and Imports**
|
||||
+ Every =top.nix= file imports all =.nix= files in its directory.
|
||||
+ Machine-specific configurations are stored in =assets/machines/=.
|
||||
+ Themes and overrides are modular and reusable across setups.
|
||||
|
||||
**Design Principles**
|
||||
- **Modularity**: Each component is self-contained and reusable.
|
||||
- **Consistency**: Every directory follows the same import pattern.
|
||||
- **Scalability**: Easy to add new machines or configurations.
|
||||
|
||||
#+BEGIN_EXAMPLE
|
||||
.
|
||||
├── assets
|
||||
│ ├── system
|
||||
│ │ ├── conf
|
||||
│ │ │ └── base.conf
|
||||
│ │ ├── cursors
|
||||
│ │ │ └── Bibata_Cursor-main
|
||||
│ │ ├── emacs
|
||||
│ │ │ └── setup_emacs.sh
|
||||
│ │ ├── icons
|
||||
│ │ │ └── papirus-icon-theme-master
|
||||
│ │ ├── neovim
|
||||
│ │ │ └── setup_nvim_literate_nixos.sh
|
||||
│ │ ├── nixos_conf
|
||||
│ │ │ └── wallpaperstuff
|
||||
│ │ │ ├── pictures
|
||||
│ │ │ └── videos
|
||||
│ │ ├── scripts
|
||||
│ │ │ ├── copy_stuff.sh
|
||||
│ │ │ └── end_script.sh
|
||||
│ │ └── themes
|
||||
│ │ └── Catppuccin-Mocha-Standard-Blue-Dark
|
||||
│ ├── copy_stuff
|
||||
│ │ ├── Droidnix
|
||||
│ │ │ ├── hypr
|
||||
│ │ │ │ ├── conf.d
|
||||
│ │ │ │ └── scripts
|
||||
│ │ │ └── wallpaperstuff
|
||||
│ │ │ ├── pictures
|
||||
│ │ │ └── videos
|
||||
│ │ └── kitty
|
||||
│ │ ├── kitty.conf
|
||||
│ │ └── themes
|
||||
│ │ └── Catppuccin-Mocha.conf
|
||||
│ ├── hyprland
|
||||
│ │ ├── conf
|
||||
│ │ ├── scripts
|
||||
│ │ └── themes
|
||||
│ ├── machines
|
||||
│ │ ├── maindroid
|
||||
│ │ └── traveldroid
|
||||
│ │ ├── configuration.nix
|
||||
│ │ ├── hardware-configuration.nix
|
||||
│ │ └── home.nix
|
||||
│ └── mangowc
|
||||
│ ├── conf
|
||||
│ ├── scripts
|
||||
│ └── themes
|
||||
├── generated
|
||||
│ ├── hyprland
|
||||
│ │ ├── animations_effects
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── decorations
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── keyboard_binds
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── notifications
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── statusbar_tray
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── task_launcher
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── task_window_workspace_switcher
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ └── window_rules
|
||||
│ │ ├── top.nix
|
||||
│ │ └── placeholder.nix
|
||||
│ ├── mangowc
|
||||
│ │ ├── animations_effects
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── decorations
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── keyboard_binds
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── notifications
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── statusbar_tray
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── task_launcher
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── task_window_workspace_switcher
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ └── window_rules
|
||||
│ │ ├── top.nix
|
||||
│ │ └── placeholder.nix
|
||||
│ └── system
|
||||
│ ├── applications
|
||||
│ │ ├── file_management
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── gaming
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── office_productivity
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── media_playback_editing
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── terminal_shell
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ └── accessibility
|
||||
│ │ ├── top.nix
|
||||
│ │ └── placeholder.nix
|
||||
│ ├── development
|
||||
│ │ ├── databases
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── devops_ci_cd
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── programming_languages
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ ├── virtualization
|
||||
│ │ │ ├── top.nix
|
||||
│ │ │ └── placeholder.nix
|
||||
│ │ └── web_development
|
||||
│ │ ├── top.nix
|
||||
│ │ └── placeholder.nix
|
||||
│ └── system_management
|
||||
│ ├── backups
|
||||
│ │ ├── top.nix
|
||||
│ │ └── placeholder.nix
|
||||
│ ├── bluetooth
|
||||
│ │ ├── top.nix
|
||||
│ │ └── placeholder.nix
|
||||
│ ├── power_management
|
||||
│ │ ├── top.nix
|
||||
│ │ └── placeholder.nix
|
||||
│ ├── audio
|
||||
│ │ ├── top.nix
|
||||
│ │ └── placeholder.nix
|
||||
│ ├── hardware_sensors
|
||||
│ │ ├── top.nix
|
||||
│ │ └── placeholder.nix
|
||||
│ ├── logging_monitoring
|
||||
│ │ ├── top.nix
|
||||
│ │ └── placeholder.nix
|
||||
│ ├── login_manager
|
||||
│ │ ├── top.nix
|
||||
│ │ └── placeholder.nix
|
||||
│ ├── monitor_setup
|
||||
│ │ ├── top.nix
|
||||
│ │ └── placeholder.nix
|
||||
│ ├── networking
|
||||
│ │ ├── top.nix
|
||||
│ │ └── placeholder.nix
|
||||
│ ├── printers_scanners
|
||||
│ │ ├── top.nix
|
||||
│ │ └── placeholder.nix
|
||||
│ ├── disk_management
|
||||
│ │ ├── top.nix
|
||||
│ │ └── placeholder.nix
|
||||
│ ├── security
|
||||
│ │ ├── top.nix
|
||||
│ │ └── placeholder.nix
|
||||
│ └── system_updates
|
||||
│ ├── top.nix
|
||||
│ └── placeholder.nix
|
||||
├── flake.nix
|
||||
├── README.html
|
||||
└── README.org
|
||||
<<TREE>>
|
||||
#+END_EXAMPLE
|
||||
|
||||
** First Setup
|
||||
@@ -765,7 +565,6 @@ This is top file of this level which contains just an import statement for all r
|
||||
./hyprland.nix
|
||||
./animations_effects/top.nix
|
||||
./decorations/top.nix
|
||||
./keyboard_binds/top.nix
|
||||
./notifications/top.nix
|
||||
./statusbar_tray/top.nix
|
||||
./task_launcher/top.nix
|
||||
@@ -821,25 +620,79 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/mangowc/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
|
||||
#+BEGIN_SRC nix :tangle generated/mangowc/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
#+BEGIN_SRC nix :tangle generated/hyprland/animations_effects/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ 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
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/hyprland/decorations/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/hyprland/notifications/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/hyprland/statusbar_tray/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/hyprland/task_window_workspace_switcher/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/hyprland/window_rules/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/system/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
@@ -1040,9 +893,6 @@ in
|
||||
|
||||
#+END_SRC
|
||||
|
||||
|
||||
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/system/core/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
@@ -1246,247 +1096,6 @@ This is top file of this level which contains just an import statement for all r
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/hyprland/animations_effects/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/hyprland/decorations/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/hyprland/keyboard_binds/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
user,
|
||||
inputs,
|
||||
flakeRoot,
|
||||
...
|
||||
}:
|
||||
let
|
||||
bindingsContent = builtins.readFile (flakeRoot + "/assets/hyprland/conf/hypr/bindings.conf");
|
||||
in
|
||||
{
|
||||
home-manager.users.${user.username} = {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
extraConfig = bindingsContent;
|
||||
};
|
||||
};
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/hyprland/notifications/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/hyprland/statusbar_tray/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/hyprland/task_launcher/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
./wofi.nix
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/system/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
|
||||
#+BEGIN_SRC nix :tangle generated/system/task_launcher/wofi.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
flakeRoot,
|
||||
user,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
wofiConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/wofi";
|
||||
# Dynamically read all files in assets/hyprland/conf/wofi/
|
||||
wofiConfs =
|
||||
lib.genAttrs (builtins.attrNames (builtins.readDir "${flakeRoot}/assets/system/conf/wofi"))
|
||||
(name: {
|
||||
text = builtins.readFile "${flakeRoot}/assets/system/conf/wofi/${name}";
|
||||
});
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
wofi
|
||||
];
|
||||
|
||||
home-manager.users.${user.username} = {
|
||||
home.file = {
|
||||
# Map the files to their target paths in ~/.config/wofi/
|
||||
"${wofiConfigDir}/config" = wofiConfs."wofi.conf"; # Use the actual filename
|
||||
"${wofiConfigDir}/style.css" = wofiConfs."theming.css"; # Use the actual filename
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
WOFI_CONFIG = "${wofiConfigDir}/config";
|
||||
WOFI_STYLE = "${wofiConfigDir}/style.css";
|
||||
};
|
||||
};
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/hyprland/task_window_workspace_switcher/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/hyprland/window_rules/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/mangowc/animations_effects/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/mangowc/decorations/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/mangowc/keyboard_binds/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
# Your code here...
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/mangowc/notifications/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/mangowc/statusbar_tray/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/mangowc/task_launcher/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/mangowc/task_window_workspace_switcher/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =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
|
||||
#+BEGIN_SRC nix :tangle generated/mangowc/window_rules/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
# No subfolders to import
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
|
||||
** =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
|
||||
@@ -2581,3 +2190,56 @@ This is top file of this level which contains just an import statement for all r
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/system/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
|
||||
#+BEGIN_SRC nix :tangle generated/system/task_launcher/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||
{
|
||||
imports = [
|
||||
./wofi.nix
|
||||
];
|
||||
# .. put any code here
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/system/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
|
||||
#+BEGIN_SRC nix :tangle generated/system/task_launcher/wofi.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
flakeRoot,
|
||||
user,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
wofiConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/wofi";
|
||||
# Dynamically read all files in assets/hyprland/conf/wofi/
|
||||
wofiConfs =
|
||||
lib.genAttrs (builtins.attrNames (builtins.readDir "${flakeRoot}/assets/system/conf/wofi"))
|
||||
(name: {
|
||||
text = builtins.readFile "${flakeRoot}/assets/system/conf/wofi/${name}";
|
||||
});
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
wofi
|
||||
];
|
||||
|
||||
home-manager.users.${user.username} = {
|
||||
home.file = {
|
||||
# Map the files to their target paths in ~/.config/wofi/
|
||||
"${wofiConfigDir}/config" = wofiConfs."wofi.conf"; # Use the actual filename
|
||||
"${wofiConfigDir}/style.css" = wofiConfs."theming.css"; # Use the actual filename
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
WOFI_CONFIG = "${wofiConfigDir}/config";
|
||||
WOFI_STYLE = "${wofiConfigDir}/style.css";
|
||||
};
|
||||
};
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
Reference in New Issue
Block a user