Files
nixos/flake.nix
T
2025-05-16 06:34:55 -05:00

103 lines
2.3 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";
astal.inputs.nixpkgs.follows = "nixpkgs";
ags.url = "github:aylur/ags";
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};
in {
# TODO: migrate to another nix file.
packages.${system}.default = pkgs.stdenv.mkDerivation {
pname = "marble";
src = ./marble;
dontUnpack = true;
nativeBuildInputs = with pkgs; [
wrapGAppsHook
gobject-introspection
];
buildInputs =
(with astal.packages.${system}; [
astal3
io
apps
battery
bluetooth
hyprland
mpris
network
notifd
powerprofiles
tray
wireplumber
])
++ (with pkgs; [
gjs
]);
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : ${with pkgs;
lib.makeBinPath [
dart-sass
fzf
]}
)
'';
installPhase = ''
mkdir -p $out/bin
install $src $out/bin/marble
'';
}; # END TODO
nixosConfigurations = {
biscuit = lib.nixosSystem {
specialArgs = {inherit inputs system;};
inherit system;
modules = [
./nixos/configuration.nix
];
};
};
homeConfigurations = {
biscuit = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
inherit system;
overlays = [inputs.hyprpanel.overlay];
};
# inherit pkgs;
extraSpecialArgs = {inherit inputs system;};
modules = [./home-manager/home.nix];
};
};
};
}