78 lines
1.9 KiB
Nix
78 lines
1.9 KiB
Nix
{
|
|
description = "My NixOS config flake";
|
|
outputs = inputs: let
|
|
inherit (inputs.nixpkgs) lib;
|
|
eachSystem = lib.genAttrs (import inputs.systems);
|
|
pkgsFor = inputs.nixpkgs.legacyPackages;
|
|
in {
|
|
nixosConfigurations = import ./hosts inputs;
|
|
|
|
devShells =
|
|
lib.mapAttrs (system: pkgs: {
|
|
default = pkgs.callPackage ./shell.nix {};
|
|
})
|
|
pkgsFor;
|
|
|
|
formatter = eachSystem (system: pkgsFor.${system}.alejandra);
|
|
|
|
packages =
|
|
lib.mapAttrs (
|
|
system: pkgs: {
|
|
inherit
|
|
(import ./packages rec {
|
|
inherit pkgs;
|
|
helix = inputs.helix.packages.${system}.default;
|
|
})
|
|
fish
|
|
wrapped-helix
|
|
kakoune
|
|
;
|
|
}
|
|
)
|
|
pkgsFor;
|
|
|
|
apps = eachSystem (system: let
|
|
inherit (inputs.self.packages.${system}) fish wrapped-helix;
|
|
in {
|
|
default = {
|
|
type = "app";
|
|
program = "${fish}/bin/fish";
|
|
};
|
|
helix = {
|
|
type = "app";
|
|
program = "${wrapped-helix}/bin/hx";
|
|
};
|
|
});
|
|
};
|
|
inputs = {
|
|
# Unstable nixpkgs baby!
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
|
|
systems.url = "github:nix-systems/default-linux";
|
|
|
|
impermanence.url = "github:nix-community/impermanence";
|
|
|
|
schizofox.url = "github:schizofox/schizofox";
|
|
|
|
# secure booting
|
|
lanzaboote = {
|
|
url = "github:nix-community/lanzaboote";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
hyprland = {
|
|
url = "github:hyprwm/hyprland";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
inputs.systems.follows = "systems";
|
|
};
|
|
|
|
helix.url = "github:helix-editor/helix";
|
|
|
|
quickshell = {
|
|
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
|
|
# THIS IS IMPORTANT
|
|
# Mismatched system dependencies will lead to crashes and other issues.
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
}
|