implementing home.file instead of xdg.config

This commit is contained in:
2026-03-01 21:03:54 +01:00
parent 9a87e37114
commit 1786fbd39e
11 changed files with 326 additions and 340 deletions
+312 -321
View File
File diff suppressed because it is too large Load Diff
@@ -12,7 +12,7 @@ in
]; ];
# Sync repo wallpapers (including videos/) into ~/nixos_conf/wallpaperstuff # Sync repo wallpapers (including videos/) into ~/nixos_conf/wallpaperstuff
home.file."${userRelRoot}" = { home.file."${userRelRoot}" = {
source = repoWallpaperDir; source = lib.mkForce repoWallpaperDir;
recursive = true; recursive = true;
}; };
systemd.user.services.mpvpaper-wallpaper = { systemd.user.services.mpvpaper-wallpaper = {
+1 -1
View File
@@ -5,6 +5,6 @@ in
{ {
home.packages = [ pkgs.hypridle ]; home.packages = [ pkgs.hypridle ];
home.file.".config/hypr/hypridle.conf" = { home.file.".config/hypr/hypridle.conf" = {
source = hypridleConf; source = lib.mkForce hypridleConf;
}; };
} }
+1 -1
View File
@@ -21,7 +21,7 @@ in
}; };
# Gebruik home.file voor echte bestanden (geen symlinks) # Gebruik home.file voor echte bestanden (geen symlinks)
home.file.".config/hypr/scripts/lid-lock.sh" = { home.file.".config/hypr/scripts/lid-lock.sh" = {
source = lidLockScript; source = lib.mkForce lidLockScript;
executable = true; executable = true;
}; };
xdg.portal = { xdg.portal = {
+2 -2
View File
@@ -7,9 +7,9 @@ in
home.packages = [ pkgs.hyprlock ]; home.packages = [ pkgs.hyprlock ];
# Gebruik home.file voor echte bestanden (geen symlinks) # Gebruik home.file voor echte bestanden (geen symlinks)
home.file.".config/hypr/lock.png" = { home.file.".config/hypr/lock.png" = {
source = lockPngSrc; source = lib.mkForce lockPngSrc;
}; };
home.file.".config/hypr/hyprlock.conf" = { home.file.".config/hypr/hyprlock.conf" = {
source = hyprlockConf; source = lib.mkForce hyprlockConf;
}; };
} }
+4 -4
View File
@@ -24,18 +24,18 @@ in
}; };
# Copy repo configs/scripts into ~/.config (als echte bestanden) # Copy repo configs/scripts into ~/.config (als echte bestanden)
home.file."${targetRel}" = { home.file."${targetRel}" = {
source = repoConf; source = lib.mkForce repoConf;
}; };
home.file."${targetOverflowRel}" = { home.file."${targetOverflowRel}" = {
source = repoOverflowScript; source = lib.mkForce repoOverflowScript;
executable = true; executable = true;
}; };
home.file."${targetPerMonitor}" = { home.file."${targetPerMonitor}" = {
source = repoPerMonitorScript; source = lib.mkForce repoPerMonitorScript;
executable = true; executable = true;
}; };
home.file."${targetSwitchScript}" = { home.file."${targetSwitchScript}" = {
source = repoSwitchScript; source = lib.mkForce repoSwitchScript;
executable = true; executable = true;
}; };
} }
+2 -3
View File
@@ -10,10 +10,10 @@ in
home.packages = [ pkgs.hyprshell ]; home.packages = [ pkgs.hyprshell ];
# Gebruik home.file voor echte bestanden (geen symlinks) # Gebruik home.file voor echte bestanden (geen symlinks)
home.file.".config/hyprshell/config.ron" = { home.file.".config/hyprshell/config.ron" = {
source = cfgRon; source = lib.mkForce cfgRon;
}; };
home.file.".config/hyprshell/styles.css" = { home.file.".config/hyprshell/styles.css" = {
source = cssFile; source = lib.mkForce cssFile;
}; };
# Autostart (systemd user service) # Autostart (systemd user service)
systemd.user.services.hyprshell = { systemd.user.services.hyprshell = {
@@ -31,4 +31,3 @@ in
WantedBy = [ "graphical-session.target" ]; WantedBy = [ "graphical-session.target" ];
}; };
}; };
}
+1 -1
View File
@@ -7,7 +7,7 @@ in
{ {
# Ensure script exists in ~/.config/hypr/scripts/ # Ensure script exists in ~/.config/hypr/scripts/
home.file."${targetRel}" = { home.file."${targetRel}" = {
source = repoScript; source = lib.mkForce repoScript;
executable = true; executable = true;
}; };
} }
@@ -16,7 +16,7 @@ in
home.packages = [ pkgs.wpaperd ]; home.packages = [ pkgs.wpaperd ];
# Sync everything *except* wallpaper.conf into ~/nixos_conf/wallpaperstuff # Sync everything *except* wallpaper.conf into ~/nixos_conf/wallpaperstuff
home.file."${userRelRoot}" = { home.file."${userRelRoot}" = {
source = repoWallpapersOnly; source = lib.mkForce repoWallpapersOnly;
recursive = true; recursive = true;
}; };
# Now safely overwrite the config every activation (no HM collision) # Now safely overwrite the config every activation (no HM collision)
+1 -1
View File
@@ -6,7 +6,7 @@ in
programs.waybar.enable = true; programs.waybar.enable = true;
programs.waybar.style = lib.mkForce ""; # Schakel standaardstijl uit programs.waybar.style = lib.mkForce ""; # Schakel standaardstijl uit
home.file.".config/waybar/config" = { home.file.".config/waybar/config" = {
source = "${repoWaybarDir}/config.jsonc"; source = lib.mkForce "${repoWaybarDir}/config.jsonc";
}; };
# Overschrijf style.css handmatig na alle andere stappen # Overschrijf style.css handmatig na alle andere stappen
home.activation.waybarStyle = lib.hm.dag.entryAfter [ "writeBoundary" ] '' home.activation.waybarStyle = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
-4
View File
@@ -1,21 +1,17 @@
{ config, pkgs, lib, flakeRoot, ... }: { config, pkgs, lib, flakeRoot, ... }:
let let
repoStarshipToml = flakeRoot.outPath + "/assets/conf/dev/terminal/starship.toml"; repoStarshipToml = flakeRoot.outPath + "/assets/conf/dev/terminal/starship.toml";
# The exact key that appears in the error: # The exact key that appears in the error:
targetKey = "${config.home.homeDirectory}/.config/starship.toml"; targetKey = "${config.home.homeDirectory}/.config/starship.toml";
in in
{ {
xdg.enable = true; xdg.enable = true;
programs.starship = { programs.starship = {
enable = true; enable = true;
enableZshIntegration = true; enableZshIntegration = true;
enableBashIntegration = true; enableBashIntegration = true;
enableFishIntegration = true; enableFishIntegration = true;
}; };
# Force the *actual conflicting option* (home.file."<abs path>".source) # Force the *actual conflicting option* (home.file."<abs path>".source)
home.file."${targetKey}".source = lib.mkForce repoStarshipToml; home.file."${targetKey}".source = lib.mkForce repoStarshipToml;
} }