Failed attempts to enable unfree packages Commented out github plugin for VSCode Made standalone Home Manager not fail to find caches and honor more settings
121 lines
3.3 KiB
Nix
121 lines
3.3 KiB
Nix
# Edit this configuration file to define what should be installed on
|
||
# your system. Help is available in the configuration.nix(5) man page
|
||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||
{
|
||
description = "Greg's machines!";
|
||
|
||
nixConfig = {
|
||
extra-substituters = [
|
||
"https://greg-hellings.cachix.org"
|
||
"https://cache.garnix.io"
|
||
];
|
||
extra-trusted-public-keys = [
|
||
"greg-hellings.cachix.org-1:y01Jl/L5evlhxdnUW6n56AiI1k8g1wxWhTxJCe7XSco="
|
||
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g"
|
||
];
|
||
};
|
||
|
||
inputs = {
|
||
agenix = {
|
||
url = "github:ryantm/agenix";
|
||
inputs.nixpkgs.follows = "nixunstable";
|
||
};
|
||
btc = {
|
||
url = "github:fort-nix/nix-bitcoin/release";
|
||
};
|
||
darwin = {
|
||
url = "github:lnl7/nix-darwin/master";
|
||
inputs.nixpkgs.follows = "nixunstable";
|
||
};
|
||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||
hooks.url = "github:cachix/git-hooks.nix";
|
||
hmunstable = {
|
||
url = "github:nix-community/home-manager/master";
|
||
inputs.nixpkgs.follows = "nixunstable";
|
||
};
|
||
#proxmox.url = "github:SaumonNet/proxmox-nixos";
|
||
# To enable backups: https://github.com/SaumonNet/proxmox-nixos/pull/45
|
||
proxmox.url = "github:blecher-at/proxmox-nixos/fix-backup-pve-manager";
|
||
nixos-generators = {
|
||
url = "github:nix-community/nixos-generators";
|
||
inputs.nixpkgs.follows = "nixunstable";
|
||
};
|
||
nixvimunstable.url = "github:nix-community/nixvim/main";
|
||
nixunstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||
nurpkgs.url = "github:nix-community/NUR";
|
||
vsext.url = "github:greg-hellings/nix-vscode-extensions/fix-json";
|
||
wsl = {
|
||
url = "github:nix-community/NixOS-WSL";
|
||
inputs.nixpkgs.follows = "nixunstable";
|
||
};
|
||
};
|
||
|
||
outputs =
|
||
{ self, ... }@top:
|
||
let
|
||
local_overlay = import ./overlays;
|
||
packages_overlay = (
|
||
_: prev:
|
||
(import ./pkgs {
|
||
inherit self top;
|
||
pkgs = prev;
|
||
})
|
||
);
|
||
overlays = [
|
||
top.agenix.overlays.default
|
||
local_overlay
|
||
packages_overlay
|
||
top.nurpkgs.overlays.default
|
||
top.vsext.overlays.default
|
||
];
|
||
|
||
in
|
||
top.flake-parts.lib.mkFlake { inputs = top; } {
|
||
systems = [
|
||
"aarch64-linux"
|
||
"x86_64-linux"
|
||
"aarch64-darwin"
|
||
];
|
||
|
||
flake = {
|
||
nixosConfigurations = (import ./hosts { inherit top overlays; });
|
||
|
||
darwinConfigurations = (import ./darwin { inherit top overlays; });
|
||
|
||
homeConfigurations = (import ./home { inherit top overlays; });
|
||
|
||
overlays = {
|
||
default = packages_overlay;
|
||
local = local_overlay;
|
||
};
|
||
|
||
modules = import ./modules;
|
||
};
|
||
|
||
perSystem =
|
||
{
|
||
pkgs,
|
||
self',
|
||
system,
|
||
...
|
||
}:
|
||
{
|
||
_module.args = {
|
||
pkgs = import top.nixunstable { inherit system overlays; };
|
||
};
|
||
|
||
packages = (import ./pkgs { inherit pkgs top; }) // (import ./vms { inherit top; });
|
||
|
||
checks = import ./checks.nix {
|
||
inherit system;
|
||
inherit (top) hooks;
|
||
};
|
||
|
||
devShells = import ./shells.nix {
|
||
inherit self' pkgs;
|
||
inherit (top) nixvimunstable;
|
||
};
|
||
};
|
||
};
|
||
}
|