diff --git a/flake.lock b/flake.lock index 0482a43..58af383 100644 --- a/flake.lock +++ b/flake.lock @@ -53,6 +53,24 @@ "type": "github" } }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "ipmihddtemp": { "inputs": { "nixpkgs": [ @@ -76,11 +94,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1715542476, - "narHash": "sha256-FF593AtlzQqa8JpzrXyRws4CeKbc5W86o8tHt4nRfIg=", + "lastModified": 1708979614, + "narHash": "sha256-FWLWmYojIg6TeqxSnHkKpHu5SGnFP5um1uUjH+wRV6g=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "44072e24566c5bcc0b7aa9178a0104f4cfffab19", + "rev": "b7ee09cf5614b02d289cd86fcfa6f24d4e078c2a", "type": "github" }, "original": { @@ -106,11 +124,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1715534503, - "narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=", + "lastModified": 1708984720, + "narHash": "sha256-gJctErLbXx4QZBBbGp78PxtOOzsDaQ+yw1ylNQBuSUY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2057814051972fa1453ddfb0d98badbea9b83c06", + "rev": "13aff9b34cc32e59d35c62ac9356e4a41198a538", "type": "github" }, "original": { @@ -125,7 +143,8 @@ "ipmihddtemp": "ipmihddtemp", "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", - "simple-nixos-mailserver": "simple-nixos-mailserver" + "simple-nixos-mailserver": "simple-nixos-mailserver", + "utils": "utils_2" } }, "simple-nixos-mailserver": { @@ -156,6 +175,21 @@ "type": "gitlab" } }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "utils": { "locked": { "lastModified": 1605370193, @@ -170,6 +204,25 @@ "repo": "flake-utils", "type": "github" } + }, + "utils_2": { + "inputs": { + "flake-utils": "flake-utils" + }, + "locked": { + "lastModified": 1696281284, + "narHash": "sha256-xcmtTmoiiAOSk4abifbtqVZk0iwBcqJfg47iUbkwhcE=", + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "6cf1e312fb259693c4930d07ca3cbe1d07ef4a48", + "type": "github" + }, + "original": { + "owner": "gytis-ivaskevicius", + "ref": "v1.4.0", + "repo": "flake-utils-plus", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index ca27da5..ef5839c 100644 --- a/flake.nix +++ b/flake.nix @@ -2,6 +2,7 @@ inputs = { nixpkgs.url = "flake:nixpkgs/nixos-23.11"; nixpkgs-unstable.url = "flake:nixpkgs/nixos-unstable"; + utils.url = "github:gytis-ivaskevicius/flake-utils-plus/v1.4.0"; simple-nixos-mailserver = { url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-23.11"; inputs = { @@ -19,50 +20,46 @@ }; }; - outputs = { self, nixpkgs, nixpkgs-unstable, simple-nixos-mailserver, dogetipbot-telegram, ipmihddtemp }: { + outputs = inputs@{ self, utils, nixpkgs, nixpkgs-unstable, simple-nixos-mailserver, dogetipbot-telegram, ipmihddtemp }: utils.lib.mkFlake { - nixosConfigurations.paul-fixe = nixpkgs-unstable.lib.nixosSystem { - system = "x86_64-linux"; + inherit self inputs; + + channels.nixpkgs-unstable.config = { allowUnfree = true; }; + + supportedSystems = [ "x86_64-linux" ]; + + # Patch example + + # channels.nixpkgs-unstable.patches = [ + # (nixpkgs-unstable.legacyPackages."x86_64-linux".fetchpatch { + # name = "electron-cash.patch"; + # url = "https://github.com/NixOS/nixpkgs/pull/160607.patch"; + # sha256 = nixpkgs.lib.fakeHash; + # }) + # ]; + + hostDefaults.modules = [ + nixpkgs.nixosModules.notDetected + { + nix.generateRegistryFromInputs = true; + nix.linkInputs = true; + nix.generateNixPathFromInputs = true; + } + ]; + + hosts.loutreos.modules = [ + simple-nixos-mailserver.nixosModule + dogetipbot-telegram.nixosModule + ipmihddtemp.nixosModule + ./systems/LoutreOS/configuration.nix + ]; + + hosts.paul-fixe = { + channelName = "nixpkgs-unstable"; modules = [ - nixpkgs-unstable.nixosModules.notDetected - { - nixpkgs.config.allowUnfree = true; - nix = { - settings.experimental-features = [ "nix-command" "flakes" ]; - registry = { - nixpkgs.to = { - type = "path"; - path = nixpkgs-unstable.legacyPackages.x86_64-linux.path; - }; - }; - }; - } ./systems/PC-Fixe/configuration.nix ]; }; - - nixosConfigurations.loutreos = nixpkgs-unstable.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - nixpkgs-unstable.nixosModules.notDetected - simple-nixos-mailserver.nixosModule - dogetipbot-telegram.nixosModule - ipmihddtemp.nixosModule - { - nix = { - settings.experimental-features = [ "nix-command" "flakes" ]; - registry = { - nixpkgs.to = { - type = "path"; - path = nixpkgs.legacyPackages.x86_64-linux.path; - }; - }; - }; - } - ./systems/LoutreOS/configuration.nix - ]; - }; - }; }