2024-04-09 23:11:33 +02:00
|
|
|
{
|
2024-05-21 23:41:23 +02:00
|
|
|
description = "My NixOS config flake";
|
2024-10-29 18:30:40 +01:00
|
|
|
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
|
2025-05-05 11:05:40 +02:00
|
|
|
(import ./packages {
|
2025-06-26 20:45:45 +02:00
|
|
|
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
|
|
|
|
;
|
|
|
|
}
|
|
|
|
)
|
|
|
|
pkgsFor;
|
2024-11-02 11:28:08 +01:00
|
|
|
|
2025-03-02 21:22:19 +01:00
|
|
|
apps = eachSystem (system: let
|
2025-06-04 08:26:52 +02:00
|
|
|
inherit (inputs.self.packages.${system}) fish helix;
|
2025-03-02 21:22:19 +01:00
|
|
|
in {
|
2024-11-06 00:11:11 +01:00
|
|
|
default = {
|
|
|
|
type = "app";
|
2025-03-18 13:40:27 +01:00
|
|
|
program = "${fish}/bin/fish";
|
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
|
|
|
};
|
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
|
|
|
};
|
2024-05-15 00:14:59 +02:00
|
|
|
inputs = {
|
2025-07-08 16:19:30 +02:00
|
|
|
# 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";
|
2024-10-20 00:41:14 +02:00
|
|
|
|
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-04-06 22:25:03 +02:00
|
|
|
|
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-05-15 00:14:59 +02:00
|
|
|
};
|
2024-04-09 23:11:33 +02:00
|
|
|
}
|