Working on reshuffling
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
{ lib, config, pkgs, flakeRoot, user, ... }:
|
||||
let
|
||||
ewwConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/eww";
|
||||
# Dynamically read all files in assets/system/conf/eww/
|
||||
ewwConfs = lib.genAttrs (builtins.attrNames (builtins.readDir "${flakeRoot}/assets/system/conf/eww")) (name: {
|
||||
text = builtins.readFile "${flakeRoot}/assets/system/conf/eww/${name}";
|
||||
});
|
||||
in
|
||||
{
|
||||
mySystem = {
|
||||
apps.wallpaper = {
|
||||
enable = true;
|
||||
packages = [ "eww" ]; # just symbolic names
|
||||
};
|
||||
};
|
||||
|
||||
home-manager.users.${user.username} = {
|
||||
home.file = {
|
||||
"${ewwConfigDir}" = {
|
||||
source = "${flakeRoot}/assets/system/conf/eww";
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
EWW_BIN = "${pkgs.eww}/bin/eww";
|
||||
};
|
||||
|
||||
# Start eww with Hyprland/MangoWC
|
||||
wayland.windowManager.hyprland.settings = lib.mkForce {
|
||||
exec-once = [ "eww daemon" ];
|
||||
exec = [ "eww open-many ${ewwConfigDir}/widgets" ]; # Adjust as needed
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
fonts.packages = with pkgs; [
|
||||
pkgs.nerd-fonts.iosevka
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
user,
|
||||
flakeRoot,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
hyprlandFiles = builtins.attrNames (builtins.readDir "${flakeRoot}/assets/hyprland/conf/hypr");
|
||||
# Filter out hyprland.conf from the list of files to symlink
|
||||
otherHyprlandFiles = lib.filter (name: name != "hyprland.conf") hyprlandFiles;
|
||||
# Generate xdg.configFile entries for all files except hyprland.conf
|
||||
otherConfigs = lib.genAttrs otherHyprlandFiles (name: {
|
||||
target = "hypr/${name}";
|
||||
source = "${flakeRoot}/assets/hyprland/conf/hypr/${name}";
|
||||
});
|
||||
in
|
||||
{
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
home-manager.users.${user.username} = {
|
||||
home.stateVersion = "25.11";
|
||||
home.username = user.username;
|
||||
home.homeDirectory =
|
||||
config.home-manager.users.${user.username}.homeDirectory or "/home/${user.username}";
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
settings.general."col.active_border" = lib.mkForce "0xff97cbcd 0xff89b4fa";
|
||||
};
|
||||
|
||||
xdg.configFile = otherConfigs // {
|
||||
"hypr/hyprland.conf".text = ''
|
||||
${builtins.readFile "${flakeRoot}/assets/hyprland/conf/hypr/hyprland.conf"}
|
||||
'';
|
||||
"hypr/.keep".text = "";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{ config, pkgs, lib, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
# Pad naar de wallpaper config in de flake
|
||||
wallpaperConf = "${flakeRoot}/assets/hyprland/wallpaperstuff/wallpaper.toml";
|
||||
in
|
||||
{
|
||||
# Installeer wpaperd voor de gebruiker
|
||||
home.packages = [ pkgs.wpaperd ];
|
||||
|
||||
# Plaats wallpaper.toml automatisch in $HOME/.config/wpaperd
|
||||
home.file.".config/wpaperd/wallpaper.toml".source = wallpaperConf;
|
||||
|
||||
# Systemd user service
|
||||
systemd.user.services.wpaperd = {
|
||||
description = "wpaperd wallpaper daemon";
|
||||
wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.wpaperd}/bin/wpaperd --config ${config.home.homeDirectory}/.config/wpaperd/wallpaper.toml";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 1;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{ flakeRoot, config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.mySystem.desktop.stylix;
|
||||
in {
|
||||
|
||||
options.mySystem.desktop.stylix.enable =
|
||||
lib.mkEnableOption "Stylix System Theming";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
mySystem = {
|
||||
apps.wallpaper = {
|
||||
enable = true;
|
||||
packages = [ "feh" "st" ]; # just symbolic names
|
||||
};
|
||||
};
|
||||
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${flakeRoot}/assets/system/theming/stylix/catppuccin-mocha.yaml";
|
||||
|
||||
image = "${flakeRoot}/assets/hyprland/wallpaperstuff/pictures/wall1.jpg";
|
||||
polarity = "dark";
|
||||
|
||||
cursor = {
|
||||
package = pkgs.phinger-cursors;
|
||||
name = "phinger-cursors-light";
|
||||
size = 24;
|
||||
};
|
||||
|
||||
fonts = {
|
||||
monospace = {
|
||||
package = pkgs.nerd-fonts.fira-code;
|
||||
name = "Fira Code Nerd Font";
|
||||
};
|
||||
|
||||
sansSerif = {
|
||||
package = pkgs.lato;
|
||||
name = "Lato";
|
||||
};
|
||||
};
|
||||
|
||||
icons = {
|
||||
enable = true;
|
||||
package = pkgs.papirus-icon-theme;
|
||||
dark = "Papirus-Dark";
|
||||
light = "Papirus-Light";
|
||||
};
|
||||
};
|
||||
|
||||
home-manager.users.henrov.home.sessionVariables = {
|
||||
XCURSOR_THEME = config.stylix.cursor.name;
|
||||
XCURSOR_SIZE = toString config.stylix.cursor.size;
|
||||
HYPRCURSOR_THEME = config.stylix.cursor.name;
|
||||
HYPRCURSOR_SIZE = toString config.stylix.cursor.size;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{ lib, pkgs, config, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
username = "henrov";
|
||||
waybar-config = pkgs.writeText "waybar-config" (builtins.readFile (flakeRoot + "/assets/system/conf/waybar/config"));
|
||||
waybar-style = pkgs.writeText "waybar-style" (builtins.readFile (flakeRoot + "/assets/system/conf/waybar/style.css"));
|
||||
in
|
||||
{
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
};
|
||||
|
||||
systemd.user.services.waybar = {
|
||||
description = "Waybar (status bar for Wayland)";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
after = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${config.programs.waybar.package}/bin/waybar -c ${waybar-config} -s ${waybar-style}";
|
||||
Restart = "on-failure";
|
||||
RestartSec = "5s";
|
||||
};
|
||||
};
|
||||
|
||||
# Create symlinks for config and style
|
||||
system.activationScripts.waybarSetup = lib.mkAfter ''
|
||||
mkdir -p /home/${username}/.config/waybar
|
||||
ln -sf ${waybar-config} /home/${username}/.config/waybar/config
|
||||
ln -sf ${waybar-style} /home/${username}/.config/waybar/style.css
|
||||
chown -R ${username}:users /home/${username}/.config/waybar
|
||||
'';
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{ config, pkgs, lib, user, ... }:
|
||||
{
|
||||
home-manager.users.${user.username} = {
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [ xdg-desktop-portal-hyprland ];
|
||||
config.hyprland = {
|
||||
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ];
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
uwsm
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user