nichts/flake.nix

100 lines
2.4 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
devShells =
lib.mapAttrs (system: pkgs: {
default = pkgs.callPackage ./shell.nix {};
})
pkgsFor;
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 (
system: pkgs: {
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
;
}
)
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
};
inputs = {
# Unstable nixpkgs baby!
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
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-04-09 15:31:18 +02:00
schizofox.url = "github:schizofox/schizofox";
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-04-06 22:09:17 +02:00
# 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";
};
2025-04-09 15:31:18 +02:00
2025-04-16 22:34:25 +02:00
quickshell = {
2025-06-29 17:00:57 +02:00
url = "git+https://git.outfoxxed.me/quickshell/quickshell";
2025-04-16 22:34:25 +02:00
# THIS IS IMPORTANT
# Mismatched system dependencies will lead to crashes and other issues.
inputs.nixpkgs.follows = "nixpkgs";
};
2025-07-03 23:33:19 +02:00
lix-module = {
2025-07-03 23:34:56 +02:00
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.2-1.tar.gz";
2025-07-03 23:33:19 +02:00
inputs.nixpkgs.follows = "nixpkgs";
};
# The things rust is making me do...
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-06-29 17:00:57 +02:00
# DetNix is doing too well these days not to use it...
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
}