Compare commits

...

19 Commits

Author SHA1 Message Date
henrov 6a70bc93e9 Rebuild files to add wayland as separate file in system/core 2026-03-07 15:53:17 +01:00
henrov d11528d1e2 Rebuild files to correct typo in generated/hyprland/top.nix 2026-03-07 15:30:10 +01:00
henrov 1c3cb63d74 Rebuild files to add generated/top.nix to flake modules 2026-03-07 15:28:20 +01:00
henrov dcc832ac00 Rebuild files to add generated/top.nix to flake modules 2026-03-07 15:26:53 +01:00
henrov 4ea2fbac2c Rebuild files to add generated/top.nix to flake modules 2026-03-07 15:22:50 +01:00
henrov 5e73915a1f Rebuild files to add generated/top.nix to flake modules 2026-03-07 15:18:11 +01:00
henrov f7a575b24d Rebuild files to add generated/top.nix to flake modules 2026-03-07 15:16:39 +01:00
henrov 4074ce7842 Rebuild files to check whether subsequent nixes are imported 2026-03-07 15:11:39 +01:00
henrov 1835d4e888 Rebuild files to check whether subsequent nixes are imported 2026-03-07 15:07:20 +01:00
henrov 7338239fb4 Added VM to ignore files 2026-03-07 15:03:48 +01:00
henrov 7a4d7cdf36 Testing VM 2026-03-07 14:44:05 +01:00
henrov 32b7beae82 Testing VM 2026-03-07 14:42:45 +01:00
henrov 553098bdb0 Testing VM 2026-03-07 14:39:02 +01:00
henrov b6054775d7 Testing VM 2026-03-07 14:34:28 +01:00
henrov 4caafbe7db Testing VM 2026-03-07 14:33:43 +01:00
henrov 1b9beea947 Testing VM 2026-03-07 14:32:32 +01:00
henrov 2c8a6d0878 Testing VM 2026-03-07 14:23:56 +01:00
henrov c67f99c36a Testing VM 2026-03-07 14:20:48 +01:00
henrov acdc0b2394 Testing VM 2026-03-07 14:17:56 +01:00
14 changed files with 701 additions and 644 deletions
+1
View File
@@ -7,3 +7,4 @@ result-*
.direnv .direnv
henrovnix/.README.org.kate-swp henrovnix/.README.org.kate-swp
Droidnix/traveldroid.qcow2
+464 -426
View File
File diff suppressed because it is too large Load Diff
+140 -123
View File
@@ -401,6 +401,9 @@ The Nix flake definition for Droidnix.
home-manager.extraSpecialArgs = { inherit user inputs; }; home-manager.extraSpecialArgs = { inherit user inputs; };
} }
inputs.catppuccin.nixosModules.catppuccin inputs.catppuccin.nixosModules.catppuccin
# Let's start importing the whole generated tree
./generated/top.nix
]; ];
specialArgs = { inherit user inputs; }; specialArgs = { inherit user inputs; };
} }
@@ -417,10 +420,9 @@ The Nix flake definition for Droidnix.
** =assets/flake/users/henrov.nix= ** =assets/flake/users/henrov.nix=
This is the default user, just search and replace henrov another name if you want to change This is the default user, just search and replace henrov another name if you want to change
#+BEGIN_SRC nix :tangle assets/flake/users/henrov.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle assets/flake/users/henrov.nix :noweb tangle :mkdirp yes :eval never-html
{ system, ... }:
{ {
username = "henrov"; username = "henrov";
password = "henrov"; hashedPassword = "$6$ISAmsPLyFi7idYXr$VmZsq.zMsyh1irSkyDNqtorNXG0oEHbbMVqTii1t8bymvrQ5ZQmbdi4OiBNeNYe/huHGrojXM.3TST2fTLz0T.";
homeDirectory = "/home/henrov"; homeDirectory = "/home/henrov";
stateVersion = "25.11"; stateVersion = "25.11";
locale = "nl_NL.UTF-8"; locale = "nl_NL.UTF-8";
@@ -429,7 +431,7 @@ This is the default user, just search and replace henrov another name if you wan
** =assets/flake/terminal_shell/devshell.nix= ** =assets/flake/terminal_shell/devshell.nix=
This code defines a Nix shell environment (also called a "devShell") that you can enter using the nix develop command. When you enter this shell, Nix will provide the tools and dependencies listed in buildInputs. This code defines a Nix shell environment (also called a "devShell") that you can enter using the nix develop command. When you enter this shell, Nix will provide the tools and dependencies listed in buildInputs.
#+BEGIN_SRC nix :tangle assets/flake/users/henrov.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle assets/flake/terminal_shell/devshell.nix :noweb tangle :mkdirp yes :eval never-html
{ mkShell }: { mkShell }:
mkShell { mkShell {
buildInputs = with import <nixpkgs> {}; [ buildInputs = with import <nixpkgs> {}; [
@@ -442,20 +444,14 @@ mkShell {
** =assets/flake/machines/traveldroid/top.nix= ** =assets/flake/machines/traveldroid/top.nix=
This code defines the machine to build. Just search and replace traveldroid to provision another machine. This code defines the machine to build. Just search and replace traveldroid to provision another machine.
#+BEGIN_SRC nix :tangle assets/flake/machines/traveldroid/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle assets/flake/machines/traveldroid/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }:
{ {
config,
pkgs,
lib,
user,
inputs,
...
}:
{
# Import all other configurations
imports = [ imports = [
./boot.nix ./boot.nix
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
options = { options = {
wm = lib.mkOption { wm = lib.mkOption {
type = lib.types.str; type = lib.types.str;
@@ -463,10 +459,22 @@ This code defines the machine to build. Just search and replace traveldroid to p
description = "Type of window manager to use"; description = "Type of window manager to use";
}; };
}; };
config = { config = {
# Minimal settings that must be defined here # Minimal settings that must be defined here
networking.hostName = "traveldroid"; networking.hostName = "traveldroid";
wm.type = "hyprland"; # Define the window manager type here, mangowc will be made possible in the near future. wm.type = "hyprland";
# User configuration
users.users.${user.username} = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" ];
hashedPassword = user.hashedPassword;
home = user.homeDirectory;
};
# Optional: Enable auto-login for testing
services.getty.autologinUser = user.username;
}; };
} }
#+END_SRC #+END_SRC
@@ -506,29 +514,23 @@ This file has most of the settings the control how the computer boots up.
** =generated/top.nix= ** =generated/top.nix=
The ./generated/top.nix file acts as an anchor or entry point for the entire chain of imports in the pyramid structure. The ./generated/top.nix file acts as an anchor or entry point for the entire chain of imports in the pyramid structure.
#+BEGIN_SRC nix :tangle generated/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, ... }:
{ {
imports = [ imports = [
# First the stuff that we always want, regardless of windowmanager
./system/top.nix ./system/top.nix
# Import window manager configurations based on the type defined in the machine file ./hyprland/top.nix
(if config.wm.type == "hyprland" then # ./mangowc/top.nix
./window_managers/hyprland/top.nix
else if config.wm.type == "mangowc" then
./window_managers/mangowc/top.nix
else
assert false; "Unknown window manager type: ${config.wm.type}"
)
]; ];
} }
#+END_SRC #+END_SRC
** =generated/hyprland/top.nix= ** =generated/hyprland/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/hyprland/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/hyprland/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ imports = [
./hyprland.nix
./animations_effects/top.nix ./animations_effects/top.nix
./decorations/top.nix ./decorations/top.nix
./keyboard_binds/top.nix ./keyboard_binds/top.nix
@@ -538,78 +540,39 @@ This is top file of this level which contains the bare necessities for this subj
./task_window_workspace_switcher/top.nix ./task_window_workspace_switcher/top.nix
./window_rules/top.nix ./window_rules/top.nix
]; ];
}
#+END_SRC
** =generated/hyprland/hyprland.nix=
The ./generated/top.nix file acts as an anchor or entry point for the entire chain of imports in the pyramid structure.
#+BEGIN_SRC nix :tangle generated/hyprland/hyprland.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }:
{
# Nix settings to use Hyprland's cache for packages # Nix settings to use Hyprland's cache for packages
# This allows Nix to download pre-built packages from the Hyprland cache,
# which can speed up the installation process and ensure compatibility.
nix.settings = { nix.settings = {
substituters = [ "https://hyprland.cachix.org" ]; substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
}; };
# Enable essential services for a Wayland session
services.dbus.enable = true; # D-Bus is required for inter-process communication
services.pipewire = {
enable = true;
alsa.enable = true; # Basic audio support using ALSA
pulse.enable = true; # PulseAudio support for better audio management
wireplumber.enable = true; # Audio device management and routing
};
# XDG Desktop Portal settings for better application integration
# The XDG Desktop Portal provides a way for applications to interact with the desktop environment.
xdg.portal = {
enable = true;
config.common.default = [ "hyprland" "gtk" ]; # Use Hyprland and GTK as default portal implementations
};
# Environment variables for a Wayland session with Hyprland
# These variables help applications understand the desktop environment and session type.
environment.sessionVariables = {
XDG_SESSION_TYPE = "wayland"; # Use Wayland instead of X11 for the session
XDG_CURRENT_DESKTOP = "Hyprland"; # Define the current desktop environment as Hyprland
XCURSOR_SIZE = "24"; # Set the size of the mouse cursor to 24 pixels
};
# Install Hyprland and enable it as the window manager # Install Hyprland and enable it as the window manager
# Here, we're only installing the Hyprland package itself for a minimal setup.
environment.systemPackages = with pkgs; [ hyprland ]; environment.systemPackages = with pkgs; [ hyprland ];
# Configure Hyprland as the window manager
# This section enables Hyprland as the window manager and sets basic configurations.
programs.hyprland = { programs.hyprland = {
enable = true; # Start Hyprland as the window manager
xwayland.enable = true; # Enable XWayland to run X11 applications within the Wayland session
};
# Home-manager configuration for user-specific settings
# Home-manager is used to manage user-specific configurations and packages.
home-manager = {
# Enable Hyprland as the Wayland window manager for the user session
wayland.windowManager.hyprland = {
enable = true; # Enable Hyprland as the window manager for the user
settings = {
# Minimal configuration, customize later as needed
# This is where you would add custom keybinds, workspace settings, etc.
};
};
# XDG portal settings for user sessions
# These settings ensure that applications can interact properly with the Hyprland session.
xdg.portal = {
enable = true; enable = true;
extraPortals = with pkgs; [ xdg-desktop-portal-hyprland ]; # Hyprland-specific portal implementation xwayland.enable = true;
config.hyprland = {
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ]; # Enable screencasting support
}; };
};
}
# Hyprland-specific Home Manager configurations
home-manager.users.${user.username} = {
wayland.windowManager.hyprland = {
enable = true;
settings = { };
};
};
} }
#+END_SRC #+END_SRC
** =generated/mangowc/top.nix= ** =generated/mangowc/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/mangowc/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -628,12 +591,13 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/top.nix= ** =generated/system/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ imports = [
./applications/top.nix ./applications/top.nix
./core/top.nix
./development/top.nix ./development/top.nix
./system_management/top.nix ./system_management/top.nix
]; ];
@@ -642,7 +606,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/applications/top.nix= ** =generated/system/applications/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/applications/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/applications/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -658,8 +622,61 @@ This is top file of this level which contains the bare necessities for this subj
} }
#+END_SRC #+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
{ config, pkgs, lib, user, inputs, ... }:
{
imports = [
./top.nix
./wayland.nix
];
# .. put any code here
}
#+END_SRC
** =generated/system/core/wayland.nix=
This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
#+BEGIN_SRC nix :tangle generated/system/core/wayland.nix :noweb tangle :mkdirp yes :eval never-html
{ 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" ];
};
};
};
}
#+END_SRC
** =generated/system/development/top.nix= ** =generated/system/development/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/development/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/development/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -675,7 +692,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/system_management/top.nix= ** =generated/system/system_management/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/system_management/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/system_management/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -699,7 +716,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/hyprland/animations_effects/top.nix= ** =generated/hyprland/animations_effects/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/hyprland/animations_effects/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, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -711,7 +728,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/hyprland/decorations/top.nix= ** =generated/hyprland/decorations/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/hyprland/decorations/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/hyprland/decorations/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -723,7 +740,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/hyprland/keyboard_binds/top.nix= ** =generated/hyprland/keyboard_binds/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/hyprland/keyboard_binds/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/hyprland/keyboard_binds/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
let let
@@ -741,7 +758,7 @@ in
#+END_SRC #+END_SRC
** =generated/hyprland/notifications/top.nix= ** =generated/hyprland/notifications/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/hyprland/notifications/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/hyprland/notifications/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -753,7 +770,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/hyprland/statusbar_tray/top.nix= ** =generated/hyprland/statusbar_tray/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/hyprland/statusbar_tray/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/hyprland/statusbar_tray/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -765,7 +782,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/hyprland/task_launcher/top.nix= ** =generated/hyprland/task_launcher/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/hyprland/task_launcher/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/hyprland/task_launcher/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -777,7 +794,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/hyprland/task_window_workspace_switcher/top.nix= ** =generated/hyprland/task_window_workspace_switcher/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/hyprland/task_window_workspace_switcher/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/hyprland/task_window_workspace_switcher/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -789,7 +806,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/hyprland/window_rules/top.nix= ** =generated/hyprland/window_rules/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/hyprland/window_rules/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/hyprland/window_rules/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -801,7 +818,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/mangowc/animations_effects/top.nix= ** =generated/mangowc/animations_effects/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/animations_effects/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/mangowc/animations_effects/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -813,7 +830,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/mangowc/decorations/top.nix= ** =generated/mangowc/decorations/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/decorations/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/mangowc/decorations/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -825,7 +842,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/mangowc/keyboard_binds/top.nix= ** =generated/mangowc/keyboard_binds/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/keyboard_binds/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/mangowc/keyboard_binds/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -837,7 +854,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/mangowc/notifications/top.nix= ** =generated/mangowc/notifications/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/notifications/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/mangowc/notifications/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -849,7 +866,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/mangowc/statusbar_tray/top.nix= ** =generated/mangowc/statusbar_tray/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/statusbar_tray/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/mangowc/statusbar_tray/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -861,7 +878,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/mangowc/task_launcher/top.nix= ** =generated/mangowc/task_launcher/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/task_launcher/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/mangowc/task_launcher/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -873,7 +890,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/mangowc/task_window_workspace_switcher/top.nix= ** =generated/mangowc/task_window_workspace_switcher/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/task_window_workspace_switcher/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/mangowc/task_window_workspace_switcher/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -885,7 +902,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/mangowc/window_rules/top.nix= ** =generated/mangowc/window_rules/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/window_rules/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/mangowc/window_rules/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -897,7 +914,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/applications/accessibility/top.nix= ** =generated/system/applications/accessibility/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/applications/accessibility/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/applications/accessibility/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -909,7 +926,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/applications/file_management/top.nix= ** =generated/system/applications/file_management/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/applications/file_management/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/applications/file_management/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -921,7 +938,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/applications/gaming/top.nix= ** =generated/system/applications/gaming/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/applications/gaming/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/applications/gaming/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -933,7 +950,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/applications/media_playback_editing/top.nix= ** =generated/system/applications/media_playback_editing/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/applications/media_playback_editing/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/applications/media_playback_editing/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -945,7 +962,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/applications/office_productivity/top.nix= ** =generated/system/applications/office_productivity/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/applications/office_productivity/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/applications/office_productivity/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -957,7 +974,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/applications/terminal_shell/top.nix= ** =generated/system/applications/terminal_shell/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/applications/terminal_shell/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/applications/terminal_shell/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -969,7 +986,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/development/databases/top.nix= ** =generated/system/development/databases/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/development/databases/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/development/databases/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -981,7 +998,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/development/devops_ci_cd/top.nix= ** =generated/system/development/devops_ci_cd/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/development/devops_ci_cd/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/development/devops_ci_cd/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -993,7 +1010,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/development/programming_languages/top.nix= ** =generated/system/development/programming_languages/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/development/programming_languages/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/development/programming_languages/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -1005,7 +1022,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/development/virtualization/top.nix= ** =generated/system/development/virtualization/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/development/virtualization/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/development/virtualization/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -1017,7 +1034,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/development/web_development/top.nix= ** =generated/system/development/web_development/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/development/web_development/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/development/web_development/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -1029,7 +1046,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/system_management/audio/top.nix= ** =generated/system/system_management/audio/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/system_management/audio/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/system_management/audio/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -1041,7 +1058,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/system_management/backups/top.nix= ** =generated/system/system_management/backups/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/system_management/backups/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/system_management/backups/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -1053,7 +1070,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/system_management/bluetooth/top.nix= ** =generated/system/system_management/bluetooth/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/system_management/bluetooth/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/system_management/bluetooth/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -1065,7 +1082,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/system_management/disk_management/top.nix= ** =generated/system/system_management/disk_management/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/system_management/disk_management/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/system_management/disk_management/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -1077,7 +1094,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/system_management/hardware_sensors/top.nix= ** =generated/system/system_management/hardware_sensors/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/system_management/hardware_sensors/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/system_management/hardware_sensors/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -1089,7 +1106,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/system_management/logging_monitoring/top.nix= ** =generated/system/system_management/logging_monitoring/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/system_management/logging_monitoring/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/system_management/logging_monitoring/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -1101,7 +1118,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/system_management/login_manager/top.nix= ** =generated/system/system_management/login_manager/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/system_management/login_manager/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/system_management/login_manager/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -1113,7 +1130,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/system_management/monitor_setup/top.nix= ** =generated/system/system_management/monitor_setup/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/system_management/monitor_setup/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/system_management/monitor_setup/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -1125,7 +1142,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/system_management/networking/top.nix= ** =generated/system/system_management/networking/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/system_management/networking/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/system_management/networking/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -1137,7 +1154,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/system_management/power_management/top.nix= ** =generated/system/system_management/power_management/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/system_management/power_management/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/system_management/power_management/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -1149,7 +1166,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/system_management/printers_scanners/top.nix= ** =generated/system/system_management/printers_scanners/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/system_management/printers_scanners/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/system_management/printers_scanners/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -1161,7 +1178,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/system_management/security/top.nix= ** =generated/system/system_management/security/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/system_management/security/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/system_management/security/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -1173,7 +1190,7 @@ This is top file of this level which contains the bare necessities for this subj
#+END_SRC #+END_SRC
** =generated/system/system_management/system_updates/top.nix= ** =generated/system/system_management/system_updates/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all 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/system_management/system_updates/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/system_management/system_updates/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
@@ -1,17 +1,11 @@
{ config, pkgs, lib, user, inputs, ... }:
{ {
config,
pkgs,
lib,
user,
inputs,
...
}:
{
# Import all other configurations
imports = [ imports = [
./boot.nix ./boot.nix
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
options = { options = {
wm = lib.mkOption { wm = lib.mkOption {
type = lib.types.str; type = lib.types.str;
@@ -19,9 +13,21 @@
description = "Type of window manager to use"; description = "Type of window manager to use";
}; };
}; };
config = { config = {
# Minimal settings that must be defined here # Minimal settings that must be defined here
networking.hostName = "traveldroid"; networking.hostName = "traveldroid";
wm.type = "hyprland"; # Define the window manager type here, mangowc will be made possible in the near future. wm.type = "hyprland";
# User configuration
users.users.${user.username} = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" ];
hashedPassword = user.hashedPassword;
home = user.homeDirectory;
};
# Optional: Enable auto-login for testing
services.getty.autologinUser = user.username;
}; };
} }
@@ -0,0 +1,7 @@
{ mkShell }:
mkShell {
buildInputs = with import <nixpkgs> {}; [
nil
nixfmt-rfc-style
];
}
+1 -10
View File
@@ -1,16 +1,7 @@
{ system, ... }:
{ {
username = "henrov"; username = "henrov";
password = "henrov"; hashedPassword = "$6$ISAmsPLyFi7idYXr$VmZsq.zMsyh1irSkyDNqtorNXG0oEHbbMVqTii1t8bymvrQ5ZQmbdi4OiBNeNYe/huHGrojXM.3TST2fTLz0T.";
homeDirectory = "/home/henrov"; homeDirectory = "/home/henrov";
stateVersion = "25.11"; stateVersion = "25.11";
locale = "nl_NL.UTF-8"; locale = "nl_NL.UTF-8";
} }
{ mkShell }:
mkShell {
buildInputs = with import <nixpkgs> {}; [
nil
nixfmt-rfc-style
];
}
+3
View File
@@ -58,6 +58,9 @@
home-manager.extraSpecialArgs = { inherit user inputs; }; home-manager.extraSpecialArgs = { inherit user inputs; };
} }
inputs.catppuccin.nixosModules.catppuccin inputs.catppuccin.nixosModules.catppuccin
# Let's start importing the whole generated tree
./generated/top.nix
]; ];
specialArgs = { inherit user inputs; }; specialArgs = { inherit user inputs; };
} }
+23
View File
@@ -0,0 +1,23 @@
{ config, pkgs, lib, user, inputs, ... }:
{
# Nix settings to use Hyprland's cache for packages
nix.settings = {
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
};
# Install Hyprland and enable it as the window manager
environment.systemPackages = with pkgs; [ hyprland ];
programs.hyprland = {
enable = true;
xwayland.enable = true;
};
# Hyprland-specific Home Manager configurations
home-manager.users.${user.username} = {
wayland.windowManager.hyprland = {
enable = true;
settings = { };
};
};
}
+1 -67
View File
@@ -1,6 +1,7 @@
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ imports = [
./hyprland.nix
./animations_effects/top.nix ./animations_effects/top.nix
./decorations/top.nix ./decorations/top.nix
./keyboard_binds/top.nix ./keyboard_binds/top.nix
@@ -10,71 +11,4 @@
./task_window_workspace_switcher/top.nix ./task_window_workspace_switcher/top.nix
./window_rules/top.nix ./window_rules/top.nix
]; ];
# Nix settings to use Hyprland's cache for packages
# This allows Nix to download pre-built packages from the Hyprland cache,
# which can speed up the installation process and ensure compatibility.
nix.settings = {
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
};
# Enable essential services for a Wayland session
services.dbus.enable = true; # D-Bus is required for inter-process communication
services.pipewire = {
enable = true;
alsa.enable = true; # Basic audio support using ALSA
pulse.enable = true; # PulseAudio support for better audio management
wireplumber.enable = true; # Audio device management and routing
};
# XDG Desktop Portal settings for better application integration
# The XDG Desktop Portal provides a way for applications to interact with the desktop environment.
xdg.portal = {
enable = true;
config.common.default = [ "hyprland" "gtk" ]; # Use Hyprland and GTK as default portal implementations
};
# Environment variables for a Wayland session with Hyprland
# These variables help applications understand the desktop environment and session type.
environment.sessionVariables = {
XDG_SESSION_TYPE = "wayland"; # Use Wayland instead of X11 for the session
XDG_CURRENT_DESKTOP = "Hyprland"; # Define the current desktop environment as Hyprland
XCURSOR_SIZE = "24"; # Set the size of the mouse cursor to 24 pixels
};
# Install Hyprland and enable it as the window manager
# Here, we're only installing the Hyprland package itself for a minimal setup.
environment.systemPackages = with pkgs; [ hyprland ];
# Configure Hyprland as the window manager
# This section enables Hyprland as the window manager and sets basic configurations.
programs.hyprland = {
enable = true; # Start Hyprland as the window manager
xwayland.enable = true; # Enable XWayland to run X11 applications within the Wayland session
};
# Home-manager configuration for user-specific settings
# Home-manager is used to manage user-specific configurations and packages.
home-manager = {
# Enable Hyprland as the Wayland window manager for the user session
wayland.windowManager.hyprland = {
enable = true; # Enable Hyprland as the window manager for the user
settings = {
# Minimal configuration, customize later as needed
# This is where you would add custom keybinds, workspace settings, etc.
};
};
# XDG portal settings for user sessions
# These settings ensure that applications can interact properly with the Hyprland session.
xdg.portal = {
enable = true;
extraPortals = with pkgs; [ xdg-desktop-portal-hyprland ]; # Hyprland-specific portal implementation
config.hyprland = {
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ]; # Enable screencasting support
};
};
}
} }
+8
View File
@@ -0,0 +1,8 @@
{ config, pkgs, lib, user, inputs, ... }:
{
imports = [
./top.nix
./wayland.nix
];
# .. put any code here
}
@@ -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" ];
};
};
};
}
+1
View File
@@ -2,6 +2,7 @@
{ {
imports = [ imports = [
./applications/top.nix ./applications/top.nix
./core/top.nix
./development/top.nix ./development/top.nix
./system_management/top.nix ./system_management/top.nix
]; ];
+3 -10
View File
@@ -1,15 +1,8 @@
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, ... }:
{ {
imports = [ imports = [
# First the stuff that we always want, regardless of windowmanager
./system/top.nix ./system/top.nix
# Import window manager configurations based on the type defined in the machine file ./hyprland/top.nix
(if config.wm.type == "hyprland" then # ./mangowc/top.nix
./window_managers/hyprland/top.nix
else if config.wm.type == "mangowc" then
./window_managers/mangowc/top.nix
else
assert false; "Unknown window manager type: ${config.wm.type}"
)
]; ];
} }
Binary file not shown.