nichts/flake.nix

88 lines
2.2 KiB
Nix
Raw Normal View History

2024-04-09 23:11:33 +02:00
{
2024-05-21 23:41:23 +02:00
description = "My NixOS config flake";
outputs = inputs: let
2025-04-16 22:34:25 +02:00
inherit (inputs.nixpkgs) lib;
eachSystem = lib.genAttrs (import inputs.systems);
2025-03-02 21:17:17 +01:00
pkgsFor = inputs.nixpkgs.legacyPackages;
2024-11-01 14:51:13 +01:00
in {
nixosConfigurations = import ./hosts inputs;
2024-11-01 16:19:42 +01:00
2025-04-16 22:34:25 +02:00
formatter = eachSystem (system: pkgsFor.${system}.alejandra);
2025-03-02 21:17:17 +01:00
2025-04-16 22:34:25 +02:00
packages =
lib.mapAttrs (
2025-07-08 14:22:00 +02:00
_: pkgs: {
2025-04-16 22:34:25 +02:00
inherit
(import ./packages {
inherit inputs pkgs;
2025-04-16 22:34:25 +02:00
})
fish
2025-06-04 08:26:52 +02:00
helix
2025-04-16 22:34:25 +02:00
kakoune
nushell
2025-04-16 22:34:25 +02:00
;
}
)
pkgsFor;
2024-11-02 11:28:08 +01:00
2025-03-02 21:22:19 +01:00
apps = eachSystem (system: let
inherit (inputs.self.packages.${system}) fish helix nushell;
2025-03-02 21:22:19 +01:00
in {
default = inputs.self.apps.${system}.nushell;
2024-11-06 00:11:11 +01:00
helix = {
type = "app";
2025-06-04 08:26:52 +02:00
program = "${helix}/bin/hx";
2024-11-06 00:11:11 +01:00
};
nushell = {
type = "app";
program = "${nushell}/bin/nu";
};
fish = {
type = "app";
program = "${fish}/bin/fish";
};
2025-03-02 21:22:19 +01:00
});
2025-06-05 08:27:20 +02:00
templates = import ./templates;
2024-11-01 14:51:13 +01:00
};
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";
2025-03-02 21:17:17 +01:00
systems.url = "github:nix-systems/default-linux";
2024-09-02 22:26:06 +02:00
impermanence.url = "github:nix-community/impermanence";
2025-04-06 22:09:17 +02:00
2025-06-10 20:23:50 +02:00
watt = {
2025-05-22 09:34:49 +02:00
url = "github:notashelf/watt";
2025-05-14 11:22:39 +02:00
inputs.nixpkgs.follows = "nixpkgs";
};
2025-07-19 00:45:47 +02:00
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.systems.follows = "systems";
};
2025-05-14 11:22:39 +02:00
2025-07-16 22:16:27 +02:00
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";
};
2025-04-06 22:09:17 +02:00
# secure booting
lanzaboote = {
url = "github:nix-community/lanzaboote";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-07-08 13:56:03 +02:00
# DetNix is doing too well these days not to use it.
2025-06-29 17:00:57 +02:00
determinate = {
url = "github:determinatesystems/determinate";
inputs.nixpkgs.follows = "nixpkgs";
2025-06-20 10:33:46 +02:00
};
};
2024-04-09 23:11:33 +02:00
}