diff --git a/flake.lock b/flake.lock index 330dce8..bdd11db 100644 --- a/flake.lock +++ b/flake.lock @@ -380,30 +380,6 @@ "url": "https://git.pleshevski.ru/mynix/neovim" } }, - "mytools": { - "inputs": { - "flake-utils": [ - "flake-utils" - ], - "nixpkgs": [ - "nixpkgs" - ], - "poetry2nix": "poetry2nix" - }, - "locked": { - "lastModified": 1679901802, - "narHash": "sha256-BT/2TqtolnSYqi1vpx0nBo5idlPLwl+5ZY+e/T+dm6o=", - "ref": "refs/heads/main", - "rev": "b5afe25a79bfefe1da34d70779658ea7f313938b", - "revCount": 32, - "type": "git", - "url": "https://git.pleshevski.ru/mynix/tools" - }, - "original": { - "type": "git", - "url": "https://git.pleshevski.ru/mynix/tools" - } - }, "neoformat": { "flake": false, "locked": { @@ -492,34 +468,20 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1679944645, - "narHash": "sha256-e5Qyoe11UZjVfgRfwNoSU57ZeKuEmjYb77B9IVW7L/M=", + "lastModified": 1680122840, + "narHash": "sha256-zCQ/9iFHzCW5JMYkkHMwgK1/1/kTMgCMHq4THPINpAU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4bb072f0a8b267613c127684e099a70e1f6ff106", + "rev": "a575c243c23e2851b78c00e9fa245232926ec32f", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-22.11", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_3": { - "locked": { - "lastModified": 1679281263, - "narHash": "sha256-neMref1GTruSLt1jBgAw+lvGsZj8arQYfdxvSi5yp4Q=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "8276a165b9fa3db1a7a4f29ee29b680e0799b9dc", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, "nixpkgs_unstable": { "locked": { "lastModified": 1680110233, @@ -665,31 +627,6 @@ "type": "github" } }, - "poetry2nix": { - "inputs": { - "flake-utils": [ - "mytools", - "flake-utils" - ], - "nixpkgs": [ - "mytools", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1679445660, - "narHash": "sha256-yhO+5d5Ilxybmt3/oGI7KJ/kjnDq50MLrPIvjc40qeg=", - "owner": "nix-community", - "repo": "poetry2nix", - "rev": "50ec694c27a12bc178fff961c4dd927fa6a47f18", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "poetry2nix", - "type": "github" - } - }, "root": { "inputs": { "agenix": "agenix", @@ -698,12 +635,10 @@ "home-manager": "home-manager", "mailserver": "mailserver", "myneovim": "myneovim", - "mytools": "mytools", "nil": "nil", "nixpkgs": "nixpkgs_2", "nixpkgs_unstable": "nixpkgs_unstable", "vnetod": "vnetod", - "wd2": "wd2", "wired": "wired" } }, @@ -849,30 +784,6 @@ "url": "https://git.pleshevski.ru/pleshevskiy/vnetod" } }, - "wd2": { - "inputs": { - "flake-utils": [ - "flake-utils" - ], - "nixpkgs": "nixpkgs_3", - "tools": [ - "mytools" - ] - }, - "locked": { - "lastModified": 1679321145, - "narHash": "sha256-XxNcy0ldrUKDZhaGaORtkAcnoZmnpc32KJVyeIGV2BY=", - "ref": "refs/heads/main", - "rev": "82d99a485c47870a92fb889af58908a41e695092", - "revCount": 18, - "type": "git", - "url": "https://git.pleshevski.ru/pleshevskiy/wd2" - }, - "original": { - "type": "git", - "url": "https://git.pleshevski.ru/pleshevskiy/wd2" - } - }, "wired": { "inputs": { "alejandra": "alejandra", diff --git a/flake.nix b/flake.nix index 0108d11..f53a73f 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,7 @@ { inputs = { flake-utils.url = "github:numtide/flake-utils"; - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; nixpkgs_unstable.url = "github:NixOS/nixpkgs/master"; hardware.url = "github:NixOS/nixos-hardware/master"; @@ -33,19 +33,6 @@ inputs.flake-utils.follows = "flake-utils"; }; - # my nix tools - mytools = { - url = "git+https://git.pleshevski.ru/mynix/tools"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.flake-utils.follows = "flake-utils"; - }; - # a wrapper for d2 tool - wd2 = { - url = "git+https://git.pleshevski.ru/pleshevskiy/wd2"; - inputs.tools.follows = "mytools"; - inputs.flake-utils.follows = "flake-utils"; - }; - # tool to change .env faster vnetod = { url = "git+https://git.pleshevski.ru/pleshevskiy/vnetod"; @@ -128,6 +115,8 @@ }; }) // { + overlays.default = import ./pkgs; + nixosConfigurations = nixpkgs.lib.mapAttrs (hostname: { system diff --git a/nixos/modules/nix.nix b/nixos/modules/nix.nix index b913962..abb86be 100644 --- a/nixos/modules/nix.nix +++ b/nixos/modules/nix.nix @@ -1,8 +1,14 @@ -{ lib, config, ... }: +{ lib, inputs, config, ... }: let inherit (builtins) elem; cfg = config.local.nix; + + gitple = "https://git.pleshevski.ru"; + mkRegistry = id: url: { + from = { type = "indirect"; inherit id; }; + to = { type = "git"; inherit url; }; + }; in { options.local.nix = with lib; { @@ -22,6 +28,15 @@ in (cfg.allowUnfreePackages != [ ]) (pkg: elem (lib.getName pkg) cfg.allowUnfreePackages); + nixpkgs.overlays = lib.mkBefore [ + inputs.self.overlays.default + (final: prev: { + unstable = import inputs.nixpkgs-unstable { + inherit (config.nixpkgs) config overlays system; + }; + }) + ]; + nix = { settings = { auto-optimise-store = true; @@ -36,16 +51,18 @@ in keep-outputs = true; }; - registry = lib.mkIf cfg.enableMyRegistry ( - let - gitple = "https://git.pleshevski.ru"; - mkRegistry = id: url: { - from = { type = "indirect"; inherit id; }; - to = { type = "git"; inherit url; }; - }; - in - { templates = mkRegistry "tmpl" "${gitple}/mynix/templates"; } - ); + registry = lib.mkMerge [ + { + nixpkgs.flake = inputs.nixpkgs; + nixpkgs-unstable.flake = inputs.nixpkgs-unstable; + } + + (lib.mkIf cfg.enableMyRegistry { + templates = mkRegistry "tmpl" "${gitple}/mynix/templates"; + tools = mkRegistry "tools" "${gitple}/mynix/tools"; + tools_wd2 = mkRegistry "wd2" "${gitple}/pleshevskiy/wd2"; + }) + ]; }; }; } diff --git a/packages/default.nix b/packages/default.nix new file mode 100644 index 0000000..270f45a --- /dev/null +++ b/packages/default.nix @@ -0,0 +1,6 @@ +{ callPackage }: + + +callPackage ./woodpecker { } // { + myip = callPackage ./myip.nix { }; +}