Regenerated

This commit is contained in:
2026-03-22 06:48:55 +00:00
parent 401b8ef4e2
commit a83374ff55
31 changed files with 1520 additions and 0 deletions
@@ -0,0 +1,46 @@
{ lib, config, pkgs, inputs, ... }:
let
username = config.defaultUser or "henrov";
# Paths
assetPath = ../../../assets/hyprland/conf/hypr;
mainConfig = "${assetPath}/hyprland.conf";
# Determine Hyprland package with fallbacks
hyprlandPkg =
pkgs.hyprland or
pkgs.hyprland-git or
inputs.hyprland.packages.${pkgs.system}.default;
# Map all files in the asset folder
hyprFiles =
builtins.listToAttrs (
map (f: {
name = ".config/hypr/${f}";
value = { source = "${assetPath}/${f}"; };
}) (builtins.attrNames (builtins.readDir assetPath))
);
in
{
# System-wide package
environment.systemPackages = [ hyprlandPkg ];
# Home Manager user settings
_module.args.hmUsers = {
${username} = {
home.packages = [ hyprlandPkg ];
# Merge main config + all other files
home.file = lib.mkMerge [
hyprFiles
{
".config/hypr/hyprland.conf" = { source = mainConfig; };
}
];
# Optional module-specific settings
settings.general."col.active_border" = "0xff97cbcd 0xff89b4fa";
};
};
}
@@ -0,0 +1,56 @@
{ lib, config, pkgs, ... }:
let
username = config.defaultUser or "henrov";
moduleName = "stylix";
assetPath = ../../../assets/system/conf/${moduleName};
# Read all files in asset directory
programFiles = builtins.readDir assetPath;
files = lib.genAttrs (builtins.attrNames programFiles) (name: {
source = "${assetPath}/${name}";
});
# Read 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
_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;
# 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;
};
};
};
}
@@ -0,0 +1,34 @@
{ lib, config, pkgs, inputs, ... }:
let
# Default user fallback
username = config.defaultUser or "henrov";
# Safe package reference with flake input fallback
xdgPortalHyprlandPkg = pkgs.xdg-desktop-portal-hyprland or
inputs.xdgPortalHyprland.packages.${pkgs.system}.default;
in
{
# System-wide installation of XDG portal package
environment.systemPackages = [
xdgPortalHyprlandPkg
];
# Home Manager user configuration
_module.args.hmUsers = {
${username} = {
home.packages = [
xdgPortalHyprlandPkg
];
# Enable XDG portal for Hyprland
xdg.portal = {
enable = true;
extraPortals = [ xdgPortalHyprlandPkg ];
config.hyprland = {
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ];
};
};
};
};
}
@@ -0,0 +1,8 @@
{ config, pkgs, ... }:
{
# (NVF = Neovim/terminal flavor)
stylix.targets.nvf.enable = true;
# feh wallpaper integration
stylix.targets.feh.enable = true;
}
@@ -0,0 +1,36 @@
{ lib, pkgs, config, ... }:
let
username = config.defaultUser or "henrov";
moduleName = "kitty";
# Paths and files
assetPath = ../../../assets/system/conf/${moduleName};
programFiles = builtins.readDir assetPath;
files = lib.genAttrs (builtins.attrNames programFiles) (name: {
src = "${assetPath}/${name}";
});
in
{
# Install kitty system-wide
environment.systemPackages = [ pkgs.kitty ];
# Home Manager user-specific configuration
_module.args.hmUsers = {
${username} = {
programs.kitty.enable = true;
# Extra user config snippet
programs.kitty.extraConfig = ''
# Include the Catppuccin-Mocha theme
include themes/Catppuccin-Mocha.conf
'';
# Copy all asset files into ~/.config/kitty/
home.file = lib.mkMerge (
map (name: { ".config/${moduleName}/${name}" = { source = files.${name}.src; }; })
(builtins.attrNames files)
);
};
};
}
@@ -0,0 +1,26 @@
{ lib, config, pkgs, ... }:
let
username = config.defaultUser or "henrov";
# Paths
starshipAssets = ../../../assets/system/conf/starship.toml;
in
{
# Install Starship system-wide
environment.systemPackages = [
pkgs.starship
];
# Home Manager user settings
_module.args.hmUsers = {
${username} = {
home.packages = [
pkgs.starship
];
# Copy the config into ~/.config
home.file.".config/starship.toml".source = starshipAssets;
};
};
}
@@ -0,0 +1,35 @@
{ lib, pkgs, config, ... }:
let
username = config.defaultUser or "henrov";
programName = "zsh";
programAssets = ../../../assets/system/conf/${programName};
zshInitFile = "${programAssets}/zsh.conf";
in
{
# System-wide package
environment.systemPackages = [ pkgs.zsh ];
# Home Manager user settings
_module.args.hmUsers = {
${username} = {
# Enable Zsh + Oh-My-Zsh
programs.zsh = {
enable = true;
ohMyZsh.enable = true;
ohMyZsh.theme = "catppuccin-mocha";
ohMyZsh.plugins = [
"git"
"docker"
"direnv"
"zsh-autosuggestions"
"zsh-completions"
"zsh-history-substring-search"
];
# Inject contents of zsh.conf
shellInit = builtins.readFile zshInitFile;
};
};
};
}
@@ -0,0 +1,19 @@
{ lib, config, ... }:
let
username = config.defaultUser or "henrov";
assetPath = ../../../assets/copy_2_home;
in
{
_module.args.hmUsers = {
${username} = {
home.activation.copyAssets = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
echo "Copying assets to home directory..."
cp -r ${assetPath}/* "$HOME"/
echo "Done copying assets."
'';
};
};
}
@@ -0,0 +1,26 @@
{ lib, config, pkgs, ... }:
let
username = "henrov";
in
{
# NixOS user
users.users.${username} = {
isNormalUser = true;
home = "/home/${username}";
hashedPassword = "$6$S7iShgBxB.77CwmP$i0njK.2r3OL5UEvgZbmwZ0rnpZ4QyJcv8p9uCmJ4AiVPSMXkQkIwMLzyAOnJ0q8.tPLIp/7EquEIZeK8qbmgw/";
extraGroups = [ "wheel" "networkmanager" ];
};
# Home Manager user definition
_module.args.hmUsers = {
${username} = {
home.username = username;
home.homeDirectory = "/home/${username}";
home.stateVersion = "26.05";
# Example: user packages
home.packages = [ pkgs.git pkgs.vim ];
};
};
}