From 6d3b315eb797a9521e17caf059feb9b44401ad57 Mon Sep 17 00:00:00 2001 From: Eclypsed Date: Sun, 5 Apr 2026 14:00:34 -0400 Subject: [PATCH] Moved assets into separate module --- flake.lock | 13 +++++++++++++ flake.nix | 5 +++++ modules/features/assets.nix | 29 +++++++++++++++++++++++++++++ modules/features/xdg.nix | 8 -------- modules/users/eclypse.nix | 4 ++++ 5 files changed, 51 insertions(+), 8 deletions(-) create mode 100644 modules/features/assets.nix diff --git a/flake.lock b/flake.lock index 53c4d60..aa4520c 100644 --- a/flake.lock +++ b/flake.lock @@ -47,6 +47,18 @@ "type": "github" } }, + "assets": { + "flake": false, + "locked": { + "path": "./assets", + "type": "path" + }, + "original": { + "path": "./assets", + "type": "path" + }, + "parent": [] + }, "darwin": { "inputs": { "nixpkgs": [ @@ -483,6 +495,7 @@ "inputs": { "agenix": "agenix", "agenix-rekey": "agenix-rekey", + "assets": "assets", "flake-parts": "flake-parts_2", "home-manager": "home-manager_2", "import-tree": "import-tree", diff --git a/flake.nix b/flake.nix index c6e1ef0..cd1deb2 100644 --- a/flake.nix +++ b/flake.nix @@ -55,6 +55,11 @@ nix-jmu-cs345.url = "github:Eclypsed/nix-jmu-cs345"; + assets = { + flake = false; + url = "path:./assets"; + }; + packages = { flake = false; url = "path:./packages"; diff --git a/modules/features/assets.nix b/modules/features/assets.nix new file mode 100644 index 0000000..6b6b85e --- /dev/null +++ b/modules/features/assets.nix @@ -0,0 +1,29 @@ +{ + flake.modules.homeManager.assets = + { config, lib, ... }: + { + options = { + profilePicture = lib.mkOption { + type = lib.types.path; + default = null; + description = "The user's profile picture, to be used as ~/.face"; + }; + wallpaperDir = lib.mkOption { + type = lib.types.path; + default = null; + description = "The path to a directory containing wallpapers to being linked to XDG_WALLPAPERS_DIR"; + }; + }; + + config.xdg.userDirs.extraConfig.WALLPAPERS = "${config.xdg.userDirs.pictures}/Wallpapers"; + + config.home.file.".face".source = lib.mkIf (config.profilePicture != null) config.profilePicture; + + config.home.file."${config.xdg.userDirs.extraConfig.WALLPAPERS}" = + lib.mkIf (config.wallpaperDir != null) + { + source = config.wallpaperDir; + recursive = true; + }; + }; +} diff --git a/modules/features/xdg.nix b/modules/features/xdg.nix index ba80997..7838d05 100644 --- a/modules/features/xdg.nix +++ b/modules/features/xdg.nix @@ -13,17 +13,9 @@ createDirectories = true; extraConfig = { DEV = "${config.home.homeDirectory}/Dev"; - WALLPAPERS = "${config.xdg.userDirs.pictures}/Wallpapers"; SCREENSHOTS = "${config.xdg.userDirs.pictures}/Screenshots"; }; }; }; - - home.file.".face".source = ../../assets/profile-picture.jpg; - - home.file."${config.xdg.userDirs.extraConfig.WALLPAPERS}" = { - source = ../../assets/wallpapers; - recursive = true; - }; }; } diff --git a/modules/users/eclypse.nix b/modules/users/eclypse.nix index da5d8f0..e1ddc88 100644 --- a/modules/users/eclypse.nix +++ b/modules/users/eclypse.nix @@ -38,6 +38,7 @@ in { imports = with self.modules.homeManager; [ inputs.nix-jmu-cs345.homeManagerModules.bernstdh + assets direnv fastfetch firefox @@ -68,6 +69,9 @@ in stateVersion = "25.05"; }; + profilePicture = "${inputs.assets}/profile-picture.jpg"; + wallpaperDir = "${inputs.assets}/wallpapers"; + programs.home-manager.enable = true; programs.nix-jmu-cs345.enable = true;