Files
illogical-impulse/flake.nix
T
2025-08-08 16:43:46 -05:00

70 lines
1.6 KiB
Nix

{
description = "A simple NixOS flake for a single system architecture.";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
hyprland = {
url = "github:hyprwm/Hyprland";
inputs.nixpkgs.follows = "nixpkgs";
};
quickshell = {
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
inputs.nixpkgs.follows = "nixpkgs";
};
matugen = {
url = "github:/InioX/Matugen";
inputs.nixpkgs.follows = "nixpkgs";
# ref = "refs/tags/matugen-v0.10.0";
};
};
outputs = {
self,
nixpkgs,
hyprland,
quickshell,
matugen,
...
}: let
supportedSystems = ["x86_64-linux" "aarch64-darwin"];
eachSupportedSystem = f:
nixpkgs.lib.genAttrs supportedSystems (system: let
pkgs = import nixpkgs {
inherit system;
};
in
f pkgs);
in {
nixosModules = rec {
default = illogical-impulse;
illogical-impulse = ./nix/modules;
};
legacyPackages = eachSupportedSystem (pkgs: {
iiShellConfig = pkgs.stdenv.mkDerivation {
pname = "ii-shell-config";
version = "1.0";
src = ./.;
installPhase = ''
runHook preInstall
install -d -m 755 $out/.config
cp -r .config/quickshell $out/.config/
runHook postInstall
'';
dontPatchShebangs = true;
};
});
devShells = eachSupportedSystem (pkgs: {
default = pkgs.mkShellNoCC {
packages = [
self.legacyPackages.${pkgs.system}.iiShellConfig
];
};
});
};
}