Regenerated

This commit is contained in:
2026-03-24 20:35:24 +00:00
parent 9ca6b5c84c
commit f1dc849d08
22 changed files with 827 additions and 0 deletions
@@ -0,0 +1,8 @@
{ lib, pkgs, config, ... }:
{
fonts.packages = with pkgs; [
nerd-fonts.iosevka
nerd-fonts.fira-code
];
}
@@ -0,0 +1,45 @@
{ pkgs, config, lib, ... }:
let
# Resolve the username from the host config
username = config.defaultUser or "henrov";
in
{
############################
# System-level GTK packages
############################
environment.systemPackages = with pkgs; [
gtk3
gtk4
];
############################
# Home Manager user-level GTK configuration
############################
# Directly assign the GTK config to the user, no recursiveUpdate
home-manager.users."${username}" = {
gtk = {
enable = true;
# GTK theme
theme = {
name = "Catppuccin-Mocha-Standard-Blue-Dark";
package = pkgs.magnetic-catppuccin-gtk;
};
# Icon theme
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
# Extra GTK3 / GTK4 settings
gtk3.extraConfig = {
"gtk-application-prefer-dark-theme" = 1;
};
gtk4.extraConfig = {
"gtk-application-prefer-dark-theme" = 1;
};
};
};
}
@@ -0,0 +1,38 @@
{ lib, config, pkgs, flakeRoot, home-manager, inputs, ... }:
let
username = config.defaultUser or "henrov";
assetPath = "${flakeRoot}/assets/traveldroid/conf/hypr/";
# Read all files in the asset directory
assetFiles = builtins.attrNames (builtins.readDir assetPath);
# Convert files to Home Manager xdg config entries
hyprFiles = lib.genAttrs assetFiles (f: {
# Destination path in home directory
name = ".config/hypr/${f}";
# Source file path
value = { source = "${assetPath}/${f}"; };
});
# Determine Hyprland package
hyprlandPkg =
pkgs.hyprland or
pkgs.hyprland-git or
inputs.hyprland.packages.${pkgs.system}.default;
in
{
environment.systemPackages = [ hyprlandPkg ];
_module.args.hmUsers = {
${username} = {
home.packages = [ hyprlandPkg ];
# Merge all files in the asset folder into ~/.config/hypr/
home.file = lib.mkMerge hyprFiles;
# Optional: Hyprland settings
settings.general."col.active_border" = "0xff97cbcd 0xff89b4fa";
};
};
}
@@ -0,0 +1,72 @@
{ lib, config, pkgs, ... }:
let
username = config.defaultUser or "henrov";
moduleName = "stylix";
# Path to stylix assets
assetPath = ../../../assets/system/conf/${moduleName};
# Read all files in the asset directory
programFiles = builtins.readDir assetPath;
files = lib.genAttrs (builtins.attrNames programFiles) (name: {
source = "${assetPath}/${name}";
});
# Optional stylix.conf
stylixConfFile = "${assetPath}/stylix.conf";
stylixConf =
if builtins.pathExists stylixConfFile
then builtins.readFile stylixConfFile
else "";
# Cursor defaults
cursorName = "phinger-cursors-light";
cursorSize = 24;
in
{
############################
# System packages
############################
environment.systemPackages = [
pkgs.feh
pkgs.st
];
############################
# Home Manager user settings
############################
# Use the _module.args.hmUsers style to avoid "option does not exist"
_module.args.hmUsers = {
"${username}" = {
# Copy all stylix config files into ~/.config/stylix/
xdg.configFile =
lib.mapAttrs' (name: value: {
name = "${moduleName}/${name}";
value = { inherit (value) source; };
}) files;
# Optionally include stylix.conf
home.file."${moduleName}/stylix.conf".text = stylixConf;
# Session variables
home.sessionVariables = {
STYLIX_CONF = "$HOME/.config/stylix/stylix.conf";
XCURSOR_THEME = cursorName;
XCURSOR_SIZE = toString cursorSize;
HYPRCURSOR_THEME = cursorName;
HYPRCURSOR_SIZE = toString cursorSize;
};
# Enable GTK target for Stylix
stylix = {
enable = true;
targets = {
gtk = { enable = true; };
};
};
};
};
}
@@ -0,0 +1,33 @@
{ lib, config, pkgs, flakeRoot, ... }:
let
username = config.defaultUser or "henrov";
moduleName = "waybar";
assetPath = "${flakeRoot}/assets/traveldroid/conf/${moduleName}";
in
{
#################################
# System packages
#################################
environment.systemPackages = [
pkgs.waybar
];
#################################
# Home Manager integration
#################################
_module.args.hmUsers = {
${username} = {
# Install Waybar for the user as well (optional but recommended)
home.packages = [ pkgs.waybar ];
# Place config files into ~/.config/waybar/
xdg.configFile = {
"${moduleName}/config".source = "${assetPath}/config";
"${moduleName}/style.css".source = "${assetPath}/style.css";
};
};
};
}
@@ -0,0 +1,24 @@
{ lib, config, pkgs, ... }:
{
#################################
# Core Wayland packages
#################################
environment.systemPackages = with pkgs; [
wayland
wl-clipboard # optional but commonly used for copy/paste
];
#################################
# Optional: enable graphics stack
#################################
hardware.graphics.enable = true;
#################################
# Optional session variables for Wayland
#################################
environment.sessionVariables = {
# Forces some apps to use Wayland
NIXOS_OZONE_WL = "1";
};
}
@@ -0,0 +1,43 @@
{ lib, config, pkgs, inputs, ... }:
let
#################################
# Default username fallback
#################################
username = config.defaultUser or "henrov";
#################################
# Determine XDG portal package
#################################
xdgPortalHyprlandPkg =
pkgs.xdg-desktop-portal-hyprland or
inputs.xdgPortalHyprland.packages.${pkgs.system}.default;
in
{
#################################
# System-wide packages
#################################
environment.systemPackages = [
xdgPortalHyprlandPkg
];
#################################
# Home Manager user config
#################################
_module.args.hmUsers = {
${username} = {
home.packages = [
xdgPortalHyprlandPkg
];
# Enable XDG portal integration for Hyprland
xdg.portal = {
enable = true;
extraPortals = [ xdgPortalHyprlandPkg ];
config.hyprland = {
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ];
};
};
};
};
}