Files
nixos/flake.nix
T
biscuit 4ed41b1279 wip
2025-05-14 06:24:05 -05:00

75 lines
2.0 KiB
Nix

{
description = "A very basic flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs"; # ensures version follows nixpkgs
hyprland.url = "github:hyprwm/Hyprland";
hyprland.inputs.nixpkgs.follows = "nixpkgs";
astal = {
url = "github:aylur/astal";
inputs.nixpkgs.follows = "nixpkgs";
};
ags = {
url = "github:aylur/ags";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprpanel.url = "github:Jas-SinghFSU/Hyprpanel";
hyprpanel.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, nixpkgs, home-manager, ags, astal, hyprpanel, ... } @ inputs:
let
lib = nixpkgs.lib;
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
hyprpanelOverlay = self: super: {
hyprpanel = super.callPackage hyprpanel { };
};
in {
packages.${system}.default = pkgs.stdenvNoCC.mkDerivation rec {
name = "my-shell";
src = ./.;
nativeBuildInputs = [
ags.packages.${system}.default
pkgs.wrapGAppsHook
pkgs.gobject-introspection
];
buildInputs = with astal.packages.${system}; [
astal3
io
];
installPhase = ''
mkdir -p $out/bin
ags bundle app.ts $out/bin/${name}
'';
};
nixosConfigurations = {
biscuit = lib.nixosSystem {
specialArgs = { inherit inputs system; };
inherit system;
modules = [
./nixos/configuration.nix
{nixpkgs.overlays = [ inputs.hyprpanel.overlay ];}
];
};
};
homeConfigurations = {
biscuit = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
inherit system;
overlay = [ inputs.hyprpanel.overlay ];
};
extraSpecialArgs = { inherit inputs system; };
modules = [ ./home-manager/home.nix ];
};
};
};
}