summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix56
1 files changed, 26 insertions, 30 deletions
diff --git a/flake.nix b/flake.nix
index 596444f..9103c13 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,5 +1,10 @@
{
- inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
+ nixConfig = {
+ extra-substituters = "https://nix-community.cachix.org";
+ extra-trusted-public-keys = "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=";
+ };
+
+ inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
inputs.nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.nixos-hardware.url = "github:NixOS/nixos-hardware/master";
inputs.emacs-overlay.url = "github:nix-community/emacs-overlay";
@@ -11,35 +16,15 @@
outputs =
{ self, nixpkgs, nixpkgs-unstable, nixos-hardware, emacs-overlay, agenix, jovian, mujmap }:
let
- pkgs-module = { config, ... }:
- let
- cfg = config.nixpkgs;
-
- extra-packages = final: prev: {
- agenix = agenix.packages.${final.system}.default;
- mujmap = mujmap.packages.${final.system}.default;
- };
-
- unstable-overlay = final: prev: rec {
- unstable = import nixpkgs-unstable {
- inherit (cfg) config localSystem crossSystem;
- };
- };
- in {
- nixpkgs.pkgs = import nixpkgs {
- inherit (cfg) config localSystem crossSystem;
- overlays = cfg.overlays
- ++ [ unstable-overlay extra-packages emacs-overlay.overlay ];
- };
- };
+ systems = ["x86_64-linux"];
+ lib = nixpkgs.lib;
+ forAllSystems = lib.genAttrs systems;
registry-module = { ... }: {
nix.registry.nixpkgs.flake = nixpkgs;
nix.registry.nixpkgs-unstable.flake = nixpkgs-unstable;
};
- lib = nixpkgs.lib;
-
orbekk-modules = let
moduleFiles = lib.attrNames
(lib.filterAttrs (n: v: lib.hasSuffix ".nix" n && v == "regular")
@@ -53,14 +38,23 @@
};
in lib.listToAttrs (map mkModule moduleNames);
- in {
- nixosModules = orbekk-modules // { inherit pkgs-module registry-module; };
+ in rec {
+ nixosModules = orbekk-modules // { inherit registry-module; };
- packages."x86_64-linux" =
- let pkgs = import nixpkgs { system = "x86_64-linux"; };
- in { };
+ overlays = {
+ emacs-overlay = emacs-overlay.overlay;
- nixosConfigurations = let
+ extraPackages = final: prev: {
+ agenix = agenix.packages.${final.system}.default;
+ mujmap = mujmap.packages.${final.system}.default;
+ unstable = import nixpkgs-unstable {
+ system = final.system;
+ config.allowUnfree = true;
+ };
+ };
+ };
+
+ nixosConfigurations = let
mkConfig = { hostName, module ? (./. + "/machines/${hostName}.nix")
, system ? "x86_64-linux" }: {
name = hostName;
@@ -79,6 +73,8 @@
lastModified = pkgs.lib.substring 0 8
(self.lastModifiedDate or self.lastModified or "19700101");
in "${lastModified}.${self.shortRev or "dirty"}";
+
+ nixpkgs.overlays = builtins.attrValues overlays;
})
] ++ lib.optional (hostName == "dex") jovian.nixosModules.jovian;
};