70 lines
1.6 KiB
Nix
70 lines
1.6 KiB
Nix
{
|
|
description = "My NixOS and home-manager configs";
|
|
|
|
inputs = {
|
|
# Nixpkgs
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
|
|
# Home manager
|
|
home-manager.url = "github:nix-community/home-manager/master";
|
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
# Zen browser
|
|
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
|
|
|
# AGS
|
|
ags.url = "github:Aylur/ags";
|
|
ags.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
# Neovim plugins not in nixpkgs
|
|
plugin-rainbow-delimiters-nvim.url = "gitlab:HiPhish/rainbow-delimiters.nvim";
|
|
plugin-rainbow-delimiters-nvim.flake = false;
|
|
|
|
plugin-undotree-nvim.url = "github:jiaoshijie/undotree";
|
|
plugin-undotree-nvim.flake = false;
|
|
|
|
plugin-harpoon1.url = "github:ThePrimeagen/harpoon";
|
|
plugin-harpoon1.flake = false;
|
|
};
|
|
|
|
outputs =
|
|
{
|
|
self,
|
|
nixpkgs,
|
|
...
|
|
}@inputs:
|
|
let
|
|
inherit (self) outputs;
|
|
lib = nixpkgs.lib;
|
|
|
|
rootRel = path: ./. + ("/" + path);
|
|
moduleRel = map (path: rootRel ("modules/" + path));
|
|
assetRel = path: rootRel ("assets/" + path);
|
|
|
|
createSystemConfig =
|
|
hostname:
|
|
lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit
|
|
inputs
|
|
outputs
|
|
rootRel
|
|
moduleRel
|
|
assetRel
|
|
hostname
|
|
;
|
|
};
|
|
modules = [
|
|
./hosts/_base
|
|
./hosts/${hostname}
|
|
];
|
|
};
|
|
in
|
|
{
|
|
overlays = import ./overlays { inherit inputs; };
|
|
nixosConfigurations = lib.genAttrs [
|
|
"kalle-pc"
|
|
"kalle-laptop"
|
|
] createSystemConfig;
|
|
};
|
|
}
|