diff --git a/user/options.nix b/user/options.nix index bb06847..1101035 100644 --- a/user/options.nix +++ b/user/options.nix @@ -1,6 +1,7 @@ { config, lib, + pkgs, ... }: { options.u = { @@ -51,5 +52,20 @@ ln = base: x: config.lib.file.mkOutOfStoreSymlink "${base}/${x}"; lnh = ln "${config.home.homeDirectory}"; lnn = ln "${config.u.confPath}"; + fixXcursor = pkg: + pkg.overrideAttrs { + buildInputs = pkg.buildInputs ++ [pkgs.xorg.libXcursor]; + env.NIX_LDFLAGS = "-lXcursor"; + }; + localHome = pkg: name: bin: + pkgs.symlinkJoin { + name = name; + paths = [pkg]; + buildInputs = [pkgs.makeWrapper]; + postBuild = '' + wrapProgram $out/${bin} \ + --set HOME "${config.home.homeDirectory}/.local/home" + ''; + }; }; } diff --git a/user/packages.nix b/user/packages.nix index 8985c6c..6bd00e6 100644 --- a/user/packages.nix +++ b/user/packages.nix @@ -5,27 +5,13 @@ ... }: { home.packages = with pkgs; [ - (pkgs.symlinkJoin { - name = "firefox"; - paths = [pkgs.firefox-bin]; - buildInputs = [pkgs.makeWrapper]; - postBuild = '' - wrapProgram $out/bin/firefox \ - --set HOME "${config.home.homeDirectory}/.local/home" - ''; - }) + (config.u.lib.localHome pkgs.firefox-bin "firefox" "bin/firefox") alacritty mpv - (nsxiv.overrideAttrs { - buildInputs = pkgs.nsxiv.buildInputs ++ [pkgs.xorg.libXcursor]; - env.NIX_LDFLAGS = "-lXcursor"; - }) + (config.u.lib.fixXcursor nsxiv) rofi sct - (maim.overrideAttrs { - buildInputs = pkgs.maim.buildInputs ++ [pkgs.xorg.libXcursor]; - env.NIX_LDFLAGS = "-lXcursor"; - }) + (config.u.lib.fixXcursor maim) xclip copyq picom