rebuilding minimised nix files

This commit is contained in:
2026-03-02 13:37:55 +01:00
parent dc732a98c1
commit ff31d38f5a
22 changed files with 546 additions and 730 deletions
-5
View File
@@ -1,12 +1,7 @@
{ config, lib, pkgs, flakeRoot, ... }:
let
ollamaConfPath = flakeRoot.outPath + "/assets/conf/apps/ai/ollama/ollama.conf";
envVars = builtins.fromJSON (builtins.readFile ollamaConfPath);
in
{
services.ollama = {
enable = true;
package = pkgs.ollama;
environmentVariables = envVars;
};
}
-1
View File
@@ -9,7 +9,6 @@
./desktop/hyprlock.nix
./desktop/hyprscrolling.nix
./desktop/hyprshell.nix
./desktop/powermenu.nix
#./desktop/animated_wallpaper.nix
./desktop/rotating_wallpaper.nix
./desktop/waybar.nix
@@ -1,20 +1,12 @@
{ config, pkgs, lib, flakeRoot, ... }:
let
repoWallpaperDir = flakeRoot.outPath + "/assets/conf/desktop/wallpaper";
userRelRoot = ".config/nixos_conf/wallpaperstuff";
userAbsRoot = "${config.home.homeDirectory}/${userRelRoot}";
userVideoPath = "${userAbsRoot}/videos/myWallpaper.mp4";
userVideoPath = ".config/nixos_conf/wallpaperstuff/videos/myWallpaper.mp4";
in
{
home.packages = [
pkgs.mpvpaper
pkgs.mpv
];
# Sync repo wallpapers (including videos/) into ~/nixos_conf/wallpaperstuff
home.file."${userRelRoot}" = {
source = lib.mkForce repoWallpaperDir;
recursive = true;
};
systemd.user.services.mpvpaper-wallpaper = {
Unit = {
Description = "Video wallpaper (mpvpaper)";
+2 -2
View File
@@ -19,8 +19,8 @@
gaps_in = 5
gaps_out = 20
# Optional; comment out if you don't want it
# workspace_method = center current
# Comment out if you don't want it
workspace_method = center current
}
}
'';
-6
View File
@@ -1,10 +1,4 @@
{ config, lib, pkgs, flakeRoot, ... }:
let
hypridleConf = flakeRoot.outPath + "/assets/conf/desktop/hypr/hypridle.conf";
in
{
home.packages = [ pkgs.hypridle ];
home.file.".config/hypr/hypridle.conf" = {
source = lib.mkForce hypridleConf;
};
}
+1 -9
View File
@@ -1,15 +1,12 @@
{ config, lib, pkgs, flakeRoot, ... }:
let
hyprConf = flakeRoot.outPath + "/assets/conf/desktop/hypr/hyprland.conf";
bindingsConf = flakeRoot.outPath + "/assets/conf/desktop/hypr/bindings.conf";
lidLockScript = flakeRoot.outPath + "/assets/conf/desktop/hypr/scripts/lid-lock.sh";
in
{
wayland.windowManager.hyprland = {
enable = true;
# Load base config + bindings from repo files
extraConfig = ''
${builtins.readFile hyprConf}
# Load bindings from repo files
# --- Repo keybindings ---
${builtins.readFile bindingsConf}
'';
@@ -19,11 +16,6 @@ in
];
};
};
# Gebruik home.file voor echte bestanden (geen symlinks)
home.file.".config/hypr/scripts/lid-lock.sh" = {
source = lib.mkForce lidLockScript;
executable = true;
};
xdg.portal = {
enable = true;
extraPortals = with pkgs; [
-11
View File
@@ -1,15 +1,4 @@
{ config, lib, pkgs, flakeRoot, ... }:
let
lockPngSrc = flakeRoot.outPath + "/assets/lock.png";
hyprlockConf = flakeRoot.outPath + "/assets/conf/desktop/hypr/hyprlock.conf";
in
{
home.packages = [ pkgs.hyprlock ];
# Gebruik home.file voor echte bestanden (geen symlinks)
home.file.".config/hypr/lock.png" = {
source = lib.mkForce lockPngSrc;
};
home.file.".config/hypr/hyprlock.conf" = {
source = lib.mkForce hyprlockConf;
};
}
+6 -34
View File
@@ -1,41 +1,13 @@
{ config, lib, pkgs, flakeRoot, ... }:
let
# Hyprscrolling drop-in config (repo -> ~/.config)
repoConf = flakeRoot.outPath + "/assets/conf/desktop/hypr/hyprscrolling.conf";
targetRel = "hypr/conf.d/90-hyprscrolling.conf";
# Overflow indicator script
repoOverflowScript = flakeRoot.outPath + "/assets/conf/desktop/hypr/scripts/hyprscroll-overflow.sh";
targetOverflowRel = "hypr/scripts/hyprscroll-overflow.sh";
# Adapt columnsize to monitor
repoPerMonitorScript = flakeRoot.outPath + "/assets/conf/desktop/hypr/scripts/hyprscrolling-per-monitor.sh";
targetPerMonitor = "hypr/scripts/hyprscrolling-per-monitor.sh";
# Switch between scrolling/dwindle
repoSwitchScript = flakeRoot.outPath + "/assets/conf/desktop/hypr/scripts/toggle-layout-scrolling-dwindle.sh";
targetSwitchScript = "hypr/scripts/toggle-layout-scrolling-dwindle.sh";
in
{
home.packages = with pkgs; [ jq ];
wayland.windowManager.hyprland = {
enable = true;
plugins = [ pkgs.hyprlandPlugins.hyprscrolling ];
extraConfig = ''
source = ${config.xdg.configHome}/${targetRel}
'';
};
# Copy repo configs/scripts into ~/.config (als echte bestanden)
home.file."${targetRel}" = {
source = lib.mkForce repoConf;
};
home.file."${targetOverflowRel}" = {
source = lib.mkForce repoOverflowScript;
executable = true;
};
home.file."${targetPerMonitor}" = {
source = lib.mkForce repoPerMonitorScript;
executable = true;
};
home.file."${targetSwitchScript}" = {
source = lib.mkForce repoSwitchScript;
executable = true;
plugins = [ pkgs.hyprlandPlugins.hyprscrolling
pkgs.hyprlandPlugins.hyprspace
pkgs.hyprlandPlugins.hyprsunset
pkgs.hyprlandPlugins.HyprEasymotion
];
};
}
-11
View File
@@ -1,19 +1,8 @@
# home/desktop/hyprshell.nix (Home-Manager module)
{ config, pkgs, lib, flakeRoot, ... }:
let
repoDir = flakeRoot.outPath + "/assets/conf/desktop/hypr/hyprshell";
cfgRon = repoDir + "/config.ron";
cssFile = repoDir + "/styles.css";
in
{
xdg.enable = true;
home.packages = [ pkgs.hyprshell ];
# Gebruik home.file voor echte bestanden (geen symlinks)
home.file.".config/hyprshell/config.ron" = {
source = lib.mkForce cfgRon;
};
home.file.".config/hyprshell/styles.css" = {
source = lib.mkForce cssFile;
};
# Autostart (systemd user service)
systemd.user.services.hyprshell = {
@@ -1,30 +1,9 @@
#+begin_src nix :tangle home/desktop/wallpaper.nix :noweb tangle :mkdirp yes
{ config, pkgs, lib, flakeRoot, ... }:
let
repoWallpaperDir = flakeRoot.outPath + "/assets/conf/desktop/wallpaper";
repoWallpaperConf = flakeRoot.outPath + "/assets/conf/desktop/wallpaper/wallpaper.conf";
userRelRoot = "nixos_conf/wallpaperstuff";
userAbsRoot = "${config.home.homeDirectory}/${userRelRoot}";
userConfPath = "${userAbsRoot}/wallpaper.conf";
# Exclude wallpaper.conf so HM does NOT manage it (avoids backup collisions)
repoWallpapersOnly = lib.cleanSourceWith {
src = repoWallpaperDir;
filter = path: type: (builtins.baseNameOf path) != "wallpaper.conf";
};
userConfPath = "${config.home.homeDirectory}/nixos_conf/wallpaperstuff/wallpaper.conf";
in
{
home.packages = [ pkgs.wpaperd ];
# Sync everything *except* wallpaper.conf into ~/nixos_conf/wallpaperstuff
home.file."${userRelRoot}" = {
source = lib.mkForce repoWallpapersOnly;
recursive = true;
};
# Now safely overwrite the config every activation (no HM collision)
home.activation.wallpaperConfForce = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
set -euo pipefail
mkdir -p "${userAbsRoot}"
install -m 0644 "${repoWallpaperConf}" "${userConfPath}"
'';
systemd.user.services.wpaperd = {
Unit = {
Description = "wpaperd wallpaper daemon";
+1 -7
View File
@@ -8,17 +8,11 @@ let
if inputs != null && inputs ? elephant
then inputs.elephant.packages.${pkgs.system}.default
else pkgs.elephant;
sessionTarget = "graphical-session.target";
# All theme files now live here
repoThemesDir = flakeRoot.outPath + "/assets/conf/desktop/walker";
sessionTarget = "graphical-session.target";;
in
{
xdg.enable = true;
home.packages = [ walkerPkg elephantPkg ];
# ~/.config/walker/themes/*
xdg.configFile."walker/themes/frosted/default.css".source = lib.mkForce (repoThemesDir + "/themes/frosted/default.css");
xdg.configFile."walker/themes/frosted/style.css".source = lib.mkForce (repoThemesDir + "/themes/frosted/style.css");
xdg.configFile."walker/config.toml".source = lib.mkForce (repoThemesDir + "/config.toml");
# xdg.configFile."walker/themes/default.html".source = lib.mkForce repoThemesDir + "/default.html";
# (services unchanged)
systemd.user.services.elephant = { /* ... your existing service ... */ };
-13
View File
@@ -1,17 +1,4 @@
{ config, lib, pkgs, flakeRoot, ... }:
let
repoWaybarDir = flakeRoot.outPath + "/assets/conf/desktop/waybar";
in
{
programs.waybar.enable = true;
programs.waybar.style = lib.mkForce ""; # Schakel standaardstijl uit
home.file.".config/waybar/config" = {
source = lib.mkForce "${repoWaybarDir}/config.jsonc";
};
# Overschrijf style.css handmatig na alle andere stappen
home.activation.waybarStyle = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
mkdir -p "${config.xdg.configHome}/waybar"
cp "${repoWaybarDir}/style.css" "${config.xdg.configHome}/waybar/style.css"
chmod 644 "${config.xdg.configHome}/waybar/style.css"
'';
}
-6
View File
@@ -1,12 +1,6 @@
{ config, pkgs, lib, flakeRoot, ... }:
let
repoAlacrittyConf = flakeRoot.outPath + "/assets/conf/dev/alacritty.toml";
in
{
xdg.enable = true;
programs.alacritty.enable = true;
# Override the config generated by programs.alacritty
xdg.configFile."alacritty/alacritty.toml".source = lib.mkForce repoAlacrittyConf;
catppuccin.alacritty.enable = true;
catppuccin.alacritty.flavor = "mocha";
}
+1 -16
View File
@@ -1,27 +1,12 @@
{ config, pkgs, lib, flakeRoot, ... }:
let
catppuccinMochaConf =
builtins.readFile (flakeRoot.outPath + "/assets/conf/dev/terminal/Catppuccin-Mocha.conf");
# Your own keymaps / other settings (but we will NOT rely on it for opacity)
repoKittyConfText =
builtins.readFile (flakeRoot.outPath + "/assets/conf/dev/terminal/kitty.conf");
in
{
xdg.enable = true;
# Stable theme file so kitty.conf can include it without /nix/store paths
xdg.configFile."kitty/themes/Catppuccin-Mocha.conf".text = lib.mkForce catppuccinMochaConf;
programs.kitty = {
enable = true;
# Home Manager generates ~/.config/kitty/kitty.conf; we append in-order:
# 1) include theme
# 2) your repo config (keymaps etc.)
# 3) force opacity LAST so it always wins
extraConfig = ''
# 1) Theme first (stable path)
include themes/Catppuccin-Mocha.conf
# 2) Your repo config (may also include theme; harmless if duplicated)
${repoKittyConfText}
# 3) Force transparency last (wins)
# 2) Force transparency last (wins)
#background_opacity 0.60
#dynamic_background_opacity yes
'';
+1 -1
View File
@@ -21,7 +21,7 @@ let
trim = lib.strings.trim;
# ---------- minimal INI-ish parser (sections + raw lines) ----------
readMaybe = p: if builtins.pathExists p then builtins.readFile p else "";
normalizeLine = l: trim (lib.replaceStrings [ "\r" ] [ "" ] l);
normalizeLine = l: trim (l`ib.replaceStrings [ "\r" ] [ "" ] l);
parseSections = text:
let
lines = map normalizeLine (lib.splitString "\n" text);
-7
View File
@@ -1,9 +1,4 @@
{ config, pkgs, lib, flakeRoot, ... }:
let
repoStarshipToml = flakeRoot.outPath + "/assets/conf/dev/terminal/starship.toml";
# The exact key that appears in the error:
targetKey = "${config.home.homeDirectory}/.config/starship.toml";
in
{
xdg.enable = true;
programs.starship = {
@@ -12,6 +7,4 @@ in
enableBashIntegration = true;
enableFishIntegration = true;
};
# Force the *actual conflicting option* (home.file."<abs path>".source)
home.file."${targetKey}".source = lib.mkForce repoStarshipToml;
}