nichts/flake.nix
Bloxx12 3bd3da0c0d
packages: nushell: init
Signed-off-by: Bloxx12 <charlie@charlieroot.dev>
Change-Id: I6a6a6964bcbbf4d3f08ea2ebc9c22e84b200de93
2025-07-19 19:29:37 +02:00

87 lines
2.2 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;
formatter = eachSystem (system: pkgsFor.${system}.alejandra);
packages =
lib.mapAttrs (
_: pkgs: {
inherit
(import ./packages {
inherit inputs pkgs;
})
fish
helix
kakoune
nushell
;
}
)
pkgsFor;
apps = eachSystem (system: let
inherit (inputs.self.packages.${system}) fish helix nushell;
in {
default = inputs.self.apps.${system}.nushell;
helix = {
type = "app";
program = "${helix}/bin/hx";
};
nushell = {
type = "app";
program = "${nushell}/bin/nu";
};
fish = {
type = "app";
program = "${fish}/bin/fish";
};
});
templates = import ./templates;
};
inputs = {
# Unstable nixpkgs, using the new Lockable HTTP Tarball protocol
# https://github.com/NixOS/infra/pull/562.
nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz";
systems.url = "github:nix-systems/default-linux";
impermanence.url = "github:nix-community/impermanence";
watt = {
url = "github:notashelf/watt";
inputs.nixpkgs.follows = "nixpkgs";
};
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.systems.follows = "systems";
};
quickshell = {
# add ?ref=<tag> to track a tag
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";
};
# secure booting
lanzaboote = {
url = "github:nix-community/lanzaboote";
inputs.nixpkgs.follows = "nixpkgs";
};
# DetNix is doing too well these days not to use it.
determinate = {
url = "github:determinatesystems/determinate";
inputs.nixpkgs.follows = "nixpkgs";
};
};
}