mirror of
https://github.com/Horhik/dotfiles.git
synced 2024-11-09 18:33:12 +00:00
84 lines
2.5 KiB
Nix
84 lines
2.5 KiB
Nix
|
{
|
||
|
description = "Main configuration on top of nix flakes";
|
||
|
inputs = {
|
||
|
home-manager = {
|
||
|
url = "github:rycee/home-manager/release-21.05";
|
||
|
inputs = {
|
||
|
nixpkgs.follows = "nixpkgs";
|
||
|
};
|
||
|
};
|
||
|
nur.url = "github:nix-community/NUR";
|
||
|
emacs-overlay.url = "github:nix-community/emacs-overlay";
|
||
|
|
||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||
|
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||
|
master.url = "github:nixos/nixpkgs/master";
|
||
|
};
|
||
|
|
||
|
outputs = inputs@{ self, home-manager, nur, nixpkgs, ... }:
|
||
|
let
|
||
|
inherit (builtins) listToAttrs attrValues attrNames readDir;
|
||
|
inherit (nixpkgs) lib;
|
||
|
inherit (lib) removeSuffix;
|
||
|
pkgs = (import nixpkgs) {
|
||
|
system = "x86_64-linux";
|
||
|
config = {
|
||
|
allowUnfree = true;
|
||
|
};
|
||
|
overlays = attrValues self.overlays;
|
||
|
};
|
||
|
|
||
|
in
|
||
|
{
|
||
|
overlays =
|
||
|
let
|
||
|
overlayFiles = listToAttrs (map
|
||
|
(name: {
|
||
|
name = removeSuffix ".nix" name;
|
||
|
value = import (./overlays + "/${name}");
|
||
|
})
|
||
|
(attrNames (readDir ./overlays)));
|
||
|
in
|
||
|
overlayFiles // {
|
||
|
nur = final: prev: {
|
||
|
nur = import inputs.nur { nurpkgs = final.unstable; pkgs = final.unstable; };
|
||
|
};
|
||
|
emacs-overlay = inputs.emacs-overlay.overlay;
|
||
|
unstable = final: prev: {
|
||
|
unstable = import inputs.unstable {
|
||
|
system = final.system;
|
||
|
config = {
|
||
|
allowUnfree = true;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
master = final: prev: {
|
||
|
master = import inputs.master {
|
||
|
system = final.system;
|
||
|
config = {
|
||
|
allowUnfree = true;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
nixosConfigurations.lap = nixpkgs.lib.nixosSystem {
|
||
|
system = "x86_64-linux";
|
||
|
modules = [
|
||
|
./configuration.nix
|
||
|
./hardware-configuration.nix
|
||
|
home-manager.nixosModules.home-manager
|
||
|
({
|
||
|
home-manager.useGlobalPkgs = true;
|
||
|
home-manager.useUserPackages = true;
|
||
|
home-manager.users.horhik = {
|
||
|
imports = [
|
||
|
./modules/picom.nix
|
||
|
];
|
||
|
};
|
||
|
})
|
||
|
];
|
||
|
inherit pkgs;
|
||
|
};
|
||
|
};
|
||
|
}
|