refactor(flake): move custom packages to overlay
This commit is contained in:
@@ -21,7 +21,15 @@ let
|
||||
modules = lib.attrByPath [ config.networking.hostName ] { } config.registry.waybar;
|
||||
in
|
||||
{
|
||||
options.modules.desktop.session.waybar.enable = lib.mkEnableOption "the Waybar status bar";
|
||||
options.modules.desktop.session.waybar = {
|
||||
enable = lib.mkEnableOption "the Waybar status bar";
|
||||
|
||||
package = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
default = pkgs.alexion.waybar;
|
||||
description = "Waybar package used by the status bar.";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.modules.desktop.session.waybar.enable {
|
||||
# A symbols font backs the module glyphs, so pango falls back to it for the
|
||||
@@ -30,32 +38,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 = config.modules.desktop.session.waybar.package;
|
||||
|
||||
# A user service bound to graphical-session.target, which uwsm activates,
|
||||
# so the bar comes up with the session and no compositor exec-once.
|
||||
|
||||
@@ -14,16 +14,19 @@ in
|
||||
{
|
||||
options.modules.shell.pi = {
|
||||
enable = lib.mkEnableOption "Pi, a terminal coding agent, configured through home-manager";
|
||||
|
||||
package = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
default = pkgs.alexion.pi-coding-agent;
|
||||
description = "Pi package installed for the primary user.";
|
||||
};
|
||||
};
|
||||
|
||||
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 = config.modules.shell.pi.package;
|
||||
|
||||
settings = {
|
||||
defaultProvider = "openai-codex";
|
||||
|
||||
@@ -24,6 +24,10 @@ let
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
inputs.stylix.nixosModules.stylix
|
||||
|
||||
{
|
||||
nixpkgs.overlays = [ specialArgs.self.overlays.default ];
|
||||
}
|
||||
|
||||
repositoryModules
|
||||
guestModules
|
||||
|
||||
|
||||
@@ -5,7 +5,18 @@
|
||||
root,
|
||||
system,
|
||||
}:
|
||||
let
|
||||
overlay = import ./overlay.nix { inherit root; };
|
||||
pkgs = import inputs.nixpkgs {
|
||||
inherit system;
|
||||
overlays = [ overlay ];
|
||||
};
|
||||
in
|
||||
{
|
||||
overlays.default = overlay;
|
||||
|
||||
packages.${system} = pkgs.alexion;
|
||||
|
||||
nixosConfigurations = import ../dotfiles {
|
||||
inherit
|
||||
inputs
|
||||
|
||||
7
src/flake/overlay.nix
Normal file
7
src/flake/overlay.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{ root }:
|
||||
final: _prev: {
|
||||
alexion = import ./packages {
|
||||
pkgs = final;
|
||||
inherit root;
|
||||
};
|
||||
}
|
||||
8
src/flake/packages/default.nix
Normal file
8
src/flake/packages/default.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ pkgs, root }:
|
||||
{
|
||||
pi-coding-agent = pkgs.callPackage ./pi-coding-agent.nix {
|
||||
inherit root;
|
||||
};
|
||||
|
||||
waybar = pkgs.callPackage ./waybar.nix { };
|
||||
}
|
||||
8
src/flake/packages/pi-coding-agent.nix
Normal file
8
src/flake/packages/pi-coding-agent.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
pi-coding-agent,
|
||||
root,
|
||||
}:
|
||||
pi-coding-agent.overrideAttrs {
|
||||
src = root + "/third_party/pi";
|
||||
patches = [ ];
|
||||
}
|
||||
28
src/flake/packages/waybar.nix
Normal file
28
src/flake/packages/waybar.nix
Normal file
@@ -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
|
||||
'';
|
||||
}
|
||||
Reference in New Issue
Block a user