diff --git a/configs/nixos/modules/desktop/session/waybar.nix b/configs/nixos/modules/desktop/session/waybar.nix index 459bc96..9ad0482 100644 --- a/configs/nixos/modules/desktop/session/waybar.nix +++ b/configs/nixos/modules/desktop/session/waybar.nix @@ -30,32 +30,7 @@ in home-manager.users.${config.user.name}.programs.waybar = { enable = true; - # Waybar 0.15.0 sends old Hyprland workspace dispatch commands. - # Use the fix commit until a release includes upstream PR #5013. - package = pkgs.waybar.overrideAttrs { - src = pkgs.fetchFromGitHub { - owner = "Alexays"; - repo = "Waybar"; - rev = "05945748dccce28bf96d26d8f64a9e69a8dd49ba"; - hash = "sha256-51R3mIt8cLNvh/X5qe9vOqeJCj0U9KRyemVE5y+OhiU="; - }; - - postUnpack = - let - libcava = pkgs.fetchFromGitHub { - owner = "LukashonakV"; - repo = "cava"; - tag = "0.10.7"; - hash = "sha256-zkyj1vBzHtoypX4Bxdh1Vmwh967DKKxN751v79hzmgQ="; - }; - in - '' - pushd "$sourceRoot" - cp -R --no-preserve=mode,ownership ${libcava} subprojects/cava-0.10.7 - patchShebangs . - popd - ''; - }; + package = pkgs.alexion.waybar; # A user service bound to graphical-session.target, which uwsm activates, # so the bar comes up with the session and no compositor exec-once. diff --git a/configs/nixos/modules/shell/pi/default.nix b/configs/nixos/modules/shell/pi/default.nix index a50de4d..a11653b 100644 --- a/configs/nixos/modules/shell/pi/default.nix +++ b/configs/nixos/modules/shell/pi/default.nix @@ -12,18 +12,14 @@ let piDir = "${config.users.users.${user}.home}/.pi/agent"; in { - options.modules.shell.pi = { - enable = lib.mkEnableOption "Pi, a terminal coding agent, configured through home-manager"; - }; + options.modules.shell.pi.enable = + lib.mkEnableOption "Pi, a terminal coding agent, configured through home-manager"; config = lib.mkIf config.modules.shell.pi.enable { home-manager.users.${user} = { programs.pi-coding-agent = { enable = true; - package = pkgs.pi-coding-agent.overrideAttrs { - src = ../../../../../third_party/pi; - patches = [ ]; - }; + package = pkgs.alexion.pi-coding-agent; settings = { defaultProvider = "openai-codex"; diff --git a/src/dotfiles/default.nix b/src/dotfiles/default.nix index 9e03ae9..1f7d642 100644 --- a/src/dotfiles/default.nix +++ b/src/dotfiles/default.nix @@ -33,7 +33,12 @@ let repositoryModules = modules; root = root + "/guests"; }; - modules.imports = util.collectNixFiles (root + "/modules"); + modules.imports = [ + { + nixpkgs.overlays = [ self.overlays.custom ]; + } + ] + ++ util.collectNixFiles (root + "/modules"); in import ./hosts.nix { diff --git a/src/flake/default.nix b/src/flake/default.nix index 76f2576..b8542bf 100644 --- a/src/flake/default.nix +++ b/src/flake/default.nix @@ -6,6 +6,19 @@ system, }: { + overlays.custom = final: _prev: { + alexion = import ./packages { + pkgs = final; + inherit root; + }; + }; + + packages.${system} = + (import inputs.nixpkgs { + inherit system; + overlays = [ self.overlays.custom ]; + }).alexion; + nixosConfigurations = import ../dotfiles { inherit inputs diff --git a/src/flake/packages/default.nix b/src/flake/packages/default.nix new file mode 100644 index 0000000..30078bc --- /dev/null +++ b/src/flake/packages/default.nix @@ -0,0 +1,8 @@ +{ pkgs, root }: +{ + pi-coding-agent = pkgs.callPackage ./pi-coding-agent.nix { + inherit root; + }; + + waybar = pkgs.callPackage ./waybar.nix { }; +} diff --git a/src/flake/packages/pi-coding-agent.nix b/src/flake/packages/pi-coding-agent.nix new file mode 100644 index 0000000..ce2b5df --- /dev/null +++ b/src/flake/packages/pi-coding-agent.nix @@ -0,0 +1,8 @@ +{ + pi-coding-agent, + root, +}: +pi-coding-agent.overrideAttrs { + src = root + "/third_party/pi"; + patches = [ ]; +} diff --git a/src/flake/packages/waybar.nix b/src/flake/packages/waybar.nix new file mode 100644 index 0000000..09a8bdc --- /dev/null +++ b/src/flake/packages/waybar.nix @@ -0,0 +1,28 @@ +{ + fetchFromGitHub, + waybar, +}: +waybar.overrideAttrs { + src = fetchFromGitHub { + owner = "Alexays"; + repo = "Waybar"; + rev = "05945748dccce28bf96d26d8f64a9e69a8dd49ba"; + hash = "sha256-51R3mIt8cLNvh/X5qe9vOqeJCj0U9KRyemVE5y+OhiU="; + }; + + postUnpack = + let + libcava = fetchFromGitHub { + owner = "LukashonakV"; + repo = "cava"; + tag = "0.10.7"; + hash = "sha256-zkyj1vBzHtoypX4Bxdh1Vmwh967DKKxN751v79hzmgQ="; + }; + in + '' + pushd "$sourceRoot" + cp -R --no-preserve=mode,ownership ${libcava} subprojects/cava-0.10.7 + patchShebangs . + popd + ''; +}