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:
|
- =flake.nix= is the entry point and imports:
|
||||||
- =generated/system/=
|
- =generated/system/=
|
||||||
- =generated/hyprland/=
|
- =generated/hyprland/=
|
||||||
- =generated/mangowc/=
|
|
||||||
- Machine-specific configurations from =assets/machines/=
|
- Machine-specific configurations from =assets/machines/=
|
||||||
|
|
||||||
* Generated Structure
|
* Generated Structure
|
||||||
@@ -88,207 +87,8 @@ This directory contains configurations specific to Hyprland.
|
|||||||
- =task_window_workspace_switcher/=: Configurations for switching between windows and workspaces.
|
- =task_window_workspace_switcher/=: Configurations for switching between windows and workspaces.
|
||||||
- =window_rules/=: Rules for window behavior.
|
- =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
|
#+BEGIN_EXAMPLE
|
||||||
.
|
<<TREE>>
|
||||||
├── 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
|
|
||||||
#+END_EXAMPLE
|
#+END_EXAMPLE
|
||||||
|
|
||||||
** First Setup
|
** First Setup
|
||||||
@@ -765,7 +565,6 @@ This is top file of this level which contains just an import statement for all r
|
|||||||
./hyprland.nix
|
./hyprland.nix
|
||||||
./animations_effects/top.nix
|
./animations_effects/top.nix
|
||||||
./decorations/top.nix
|
./decorations/top.nix
|
||||||
./keyboard_binds/top.nix
|
|
||||||
./notifications/top.nix
|
./notifications/top.nix
|
||||||
./statusbar_tray/top.nix
|
./statusbar_tray/top.nix
|
||||||
./task_launcher/top.nix
|
./task_launcher/top.nix
|
||||||
@@ -821,25 +620,79 @@ in
|
|||||||
}
|
}
|
||||||
#+END_SRC
|
#+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
|
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,... }:
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./animations_effects/top.nix
|
# No subfolders to import
|
||||||
./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
|
# .. put any code here
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+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=
|
** =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
|
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
|
#+BEGIN_SRC nix :tangle generated/system/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||||
@@ -1040,9 +893,6 @@ in
|
|||||||
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
** =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
|
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
|
#+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
|
#+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=
|
** =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
|
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
|
# .. put any code here
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+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
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
general {
|
|
||||||
gaps_in = 2
|
|
||||||
gaps_out = 4
|
|
||||||
border_size = 2
|
|
||||||
col.active_border = rgba($blue) rgba($green) 45deg
|
|
||||||
col.inactive_border = rgba($inactive)
|
|
||||||
layout = dwindle
|
|
||||||
resize_on_border = yes
|
|
||||||
border_grab_modifier = 20
|
|
||||||
disable_hyprland_logo = no # Use 'no' instead of 'false'
|
|
||||||
focus_on_activate = yes
|
|
||||||
}
|
|
||||||
|
|
||||||
decoration {
|
|
||||||
rounding = 5
|
|
||||||
blur = yes
|
|
||||||
blur_size = 8
|
|
||||||
blur_passes = 3
|
|
||||||
blur_new_optimizations = yes
|
|
||||||
blur_exclude = fullscreen
|
|
||||||
drop_shadow = yes
|
|
||||||
shadow_range = 4
|
|
||||||
shadow_render_power = 3
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
{
|
|
||||||
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".source = "${flakeRoot}/assets/system/conf/wofi/wofi.conf";
|
|
||||||
|
|
||||||
# Custom Catppuccin Mocha theme for Wofi
|
|
||||||
xdg.configFile."wofi/style.css".source = "${flakeRoot}/assets/system/conf/wofi/theming.css";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -4,7 +4,6 @@
|
|||||||
./hyprland.nix
|
./hyprland.nix
|
||||||
./animations_effects/top.nix
|
./animations_effects/top.nix
|
||||||
./decorations/top.nix
|
./decorations/top.nix
|
||||||
./keyboard_binds/top.nix
|
|
||||||
./notifications/top.nix
|
./notifications/top.nix
|
||||||
./statusbar_tray/top.nix
|
./statusbar_tray/top.nix
|
||||||
./task_launcher/top.nix
|
./task_launcher/top.nix
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
# No subfolders to import
|
|
||||||
];
|
|
||||||
# .. put any code here
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
# Your code here...
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
# No subfolders to import
|
|
||||||
];
|
|
||||||
# .. put any code here
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
# No subfolders to import
|
|
||||||
];
|
|
||||||
# .. put any code here
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
# No subfolders to import
|
|
||||||
];
|
|
||||||
# .. put any code here
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
|
||||||
{
|
|
||||||
# .. put any code here
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
# No subfolders to import
|
|
||||||
];
|
|
||||||
# .. put any code here
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{ 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
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
# No subfolders to import
|
|
||||||
];
|
|
||||||
# .. put any code here
|
|
||||||
}
|
|
||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
# No subfolders to import
|
./wofi.nix
|
||||||
];
|
];
|
||||||
# .. put any code here
|
# .. put any code here
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user