nixos-configs/flake.nix

81 lines
1.9 KiB
Nix
Raw Permalink Normal View History

2021-07-02 01:47:30 +02:00
{
inputs = {
2024-10-13 22:52:21 +02:00
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
2023-03-28 16:34:46 +02:00
home-manager = {
2024-10-13 22:52:21 +02:00
url = "github:nix-community/home-manager/master";
2023-03-28 16:34:46 +02:00
inputs.nixpkgs.follows = "nixpkgs";
};
2023-05-17 23:23:34 +02:00
emacs-overlay.url = "github:nix-community/emacs-overlay";
2024-07-12 04:12:20 +02:00
vim-org-roam = {
url = "github:chipsenkbeil/org-roam.nvim";
2023-03-27 09:28:51 +02:00
flake = false;
};
2025-12-06 23:27:13 +01:00
llm-agents.url = "github:numtide/llm-agents.nix";
2025-10-06 16:05:56 +02:00
# Workaround until nvim-treesitter main branch is used in nixpkgs
nvim-treesitter-main.url = "github:iofq/nvim-treesitter-main";
2021-07-02 01:47:30 +02:00
};
2024-08-20 22:58:24 +02:00
outputs =
inputs@{
self,
nixpkgs,
...
}:
let
2024-07-12 04:12:20 +02:00
inherit (lib.my) mapHosts;
2023-03-20 22:35:11 +01:00
system = "x86_64-linux";
2024-08-20 22:58:24 +02:00
mkPkgs =
pkgs: extraOverlays:
2023-03-27 09:28:51 +02:00
import pkgs {
inherit system;
2024-08-20 22:58:24 +02:00
config.allowUnfreePredicate =
pkg:
2023-03-27 09:28:51 +02:00
builtins.elem (pkgs.lib.getName pkg) [
"steam"
"steam-original"
"steam-run"
2024-12-16 21:00:23 +01:00
"steam-unwrapped"
2025-07-15 12:05:04 +02:00
"keymapp"
2025-08-12 12:49:45 +02:00
"mongodb-compass"
2025-09-09 16:27:22 +02:00
"nvidia-x11"
"nvidia-settings"
2025-12-23 14:25:07 +01:00
"idea"
2023-03-27 09:28:51 +02:00
];
2025-10-06 16:05:56 +02:00
overlays =
extraOverlays
++ (pkgs.lib.attrValues self.overlays)
++ [ inputs.nvim-treesitter-main.overlays.default ];
2023-03-27 09:28:51 +02:00
};
2024-10-13 22:52:21 +02:00
pkgs = mkPkgs nixpkgs [ ];
2022-09-05 01:37:52 +02:00
2024-08-20 22:58:24 +02:00
lib = nixpkgs.lib.extend (
self: super: {
my = import ./lib {
inherit pkgs inputs;
lib = self;
};
}
);
2024-07-12 04:12:20 +02:00
in
{
2023-03-20 22:35:11 +01:00
lib = lib.my;
2022-09-05 01:37:52 +02:00
2024-08-20 22:58:24 +02:00
overlays = {
my = import ./overlay.nix;
};
2022-10-30 00:16:27 +02:00
2023-03-28 16:52:54 +02:00
nixosConfigurations = (mapHosts ./hosts { }) // {
2023-03-28 16:34:46 +02:00
rpi3 = nixpkgs.lib.nixosSystem {
system = "aarch64-linux";
2024-08-20 22:58:24 +02:00
specialArgs = {
inherit inputs;
};
2023-03-28 16:34:46 +02:00
modules = [ ./hosts/rpi3/default.nix ];
};
};
2022-09-05 01:37:52 +02:00
};
2021-07-02 01:47:30 +02:00
}