aboutsummaryrefslogtreecommitdiff
path: root/home-manager
diff options
context:
space:
mode:
authorAargh Rai <aargh.rai+git@gmail.com>2025-10-26 23:39:33 +0530
committerAargh Rai <aargh.rai+git@gmail.com>2025-10-26 23:39:33 +0530
commitb0d6c3079183602e5d010f958f370570d069a157 (patch)
tree56b0a3fd602d916270d1e4473dbe12bcfae4b3cb /home-manager
parent9aa0070e137ac3e2b90284ed82f1751a601e18e1 (diff)
home manager symlink + vlc + screen recorder (incomplete)
Diffstat (limited to 'home-manager')
-rw-r--r--home-manager/home.nix42
1 files changed, 40 insertions, 2 deletions
diff --git a/home-manager/home.nix b/home-manager/home.nix
index aec1491..80ebd26 100644
--- a/home-manager/home.nix
+++ b/home-manager/home.nix
@@ -1,5 +1,43 @@
-{ config, pkgs, username, ... }:
-{
+{ config, lib, pkgs, symlinkRoot, username, ... }:
+let
+ inherit (config.lib.file) mkOutOfStoreSymlink;
+ inherit (lib) flatten flip map mergeAttrsList;
+
+ pipe = flip lib.pipe;
+ flatMerge = pipe [flatten mergeAttrsList];
+
+ toSrcFile = name: "${symlinkRoot}/${name}";
+ link = pipe [toSrcFile mkOutOfStoreSymlink];
+
+ linkFile = name: {${name}.source = link name;};
+ linkDir = name: {
+ ${name} = {
+ source = link name;
+ recursive = true;
+ };
+ };
+
+ linkConfFiles = map linkFile;
+ linkConfDirs = map linkDir;
+
+ confFiles = linkConfFiles [
+ "starship.toml"
+ ];
+
+ confDirs = linkConfDirs [
+ "foot"
+ "hypr"
+ "nvim"
+ "tmux"
+ "waybar"
+ "wofi"
+ "yazi"
+ ];
+
+ links = flatMerge [confFiles confDirs];
+in {
+ xdg.configFile = links;
+
home.username = username;
home.homeDirectory = "/home/${username}";
home.stateVersion = "25.05";