From e8b9451988546c89b83d92d0c7b13c52639c5e2c Mon Sep 17 00:00:00 2001 From: Jakub Skokan Date: Fri, 3 Aug 2018 11:57:44 +0200 Subject: [PATCH] Refactor for nixops vpsAdminOS support --- lib/vpsadminos/local.nix | 26 ++------------------------ lib/vpsadminos/pinned.nix | 28 ++-------------------------- machines/vosa/configuration.nix | 15 ++++++++------- network-libvirt.nix | 10 +++++----- network.nix | 30 +++++++++++++++++------------- 5 files changed, 34 insertions(+), 75 deletions(-) diff --git a/lib/vpsadminos/local.nix b/lib/vpsadminos/local.nix index 4e4e8f7..d00c189 100644 --- a/lib/vpsadminos/local.nix +++ b/lib/vpsadminos/local.nix @@ -1,26 +1,4 @@ -let - nixpkgsPath = "/home/aither/workspace/vpsadmin/nixpkgs"; - vpsadminosPath = "/home/aither/workspace/vpsadmin/vpsadminos"; - -in { - vpsadminos = {configuration, modules ? []}: - let - # this is fed into scopedImport so vpsadminos sees correct everywhere - overrides = { - __nixPath = [ - { prefix = "nixpkgs"; path = nixpkgsPath; } - { prefix = "vpsadminos"; path = vpsadminosPath; } - ] ++ builtins.nixPath; - import = fn: scopedImport overrides fn; - scopedImport = attrs: fn: scopedImport (overrides // attrs) fn; - builtins = builtins // overrides; - }; - in - builtins.scopedImport overrides (vpsadminosPath + "/os/") { - nixpkgs = nixpkgsPath; - system = "x86_64-linux"; - extraModules = modules; - inherit configuration; - }; + vpsadminosGit = "/home/aither/workspace/vpsadmin/vpsadminos"; + nixpkgsVpsFreeGit = "/home/aither/workspace/vpsadmin/nixpkgs"; } diff --git a/lib/vpsadminos/pinned.nix b/lib/vpsadminos/pinned.nix index 33e2db4..285aadc 100644 --- a/lib/vpsadminos/pinned.nix +++ b/lib/vpsadminos/pinned.nix @@ -1,40 +1,16 @@ let pkgs = import {}; - + vpsadminos_spec = builtins.fromJSON (builtins.readFile ./pinned/vpsadminos.json); + nixpkgsVpsFree_spec = builtins.fromJSON (builtins.readFile ./pinned/nixpkgs-vpsfreecz.json); in { - vpsadminos_spec = builtins.fromJSON (builtins.readFile ./pinned/vpsadminos.json); vpsadminosGit = builtins.trace vpsadminos_spec pkgs.fetchgit { inherit (vpsadminos_spec) url rev sha256; leaveDotGit = true; }; - nixpkgsVpsFree_spec = builtins.fromJSON (builtins.readFile ./pinned/nixpkgs-vpsfreecz.json); - nixpkgsVpsFreeGit = pkgs.fetchgit { inherit (nixpkgsVpsFree_spec) url rev sha256; leaveDotGit = true; }; - - nixpkgsVpsFree = import nixpkgsVpsFreeGit {}; - - vpsadminos = {configuration, modules ? []}: - let - # this is fed into scopedImport so vpsadminos sees correct everywhere - overrides = { - __nixPath = [ - { prefix = "nixpkgs"; path = nixpkgsVpsFree.path; } - { prefix = "vpsadminos"; path = vpsadminosGit; } - ] ++ builtins.nixPath; - import = fn: scopedImport overrides fn; - scopedImport = attrs: fn: scopedImport (overrides // attrs) fn; - builtins = builtins // overrides; - }; - in - builtins.scopedImport overrides (vpsadminosGit + "/os/") { - nixpkgs = nixpkgsVpsFree.path; - system = "x86_64-linux"; - extraModules = modules; - inherit configuration; - }; } diff --git a/machines/vosa/configuration.nix b/machines/vosa/configuration.nix index 381eaa6..e948cb1 100644 --- a/machines/vosa/configuration.nix +++ b/machines/vosa/configuration.nix @@ -6,7 +6,7 @@ ./hardware-configuration.nix ]; - #deployment.targetHost = "192.168.2.106"; + deployment.targetHost = "192.168.2.106"; boot.loader.grub.enable = true; boot.loader.grub.version = 2; @@ -18,11 +18,11 @@ networking.lxcbr = true; networking.nat = true; - i18n = { - consoleFont = "Lat2-Terminus16"; - consoleKeyMap = "us"; - defaultLocale = "en_US.UTF-8"; - }; + # i18n = { + # consoleFont = "Lat2-Terminus16"; + # consoleKeyMap = "us"; + # defaultLocale = "en_US.UTF-8"; + # }; time.timeZone = "Europe/Prague"; @@ -30,6 +30,7 @@ git htop nano + ranger vim wget ]; @@ -40,5 +41,5 @@ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCyWNChi95oRKXtSGdXtbthvXgWXk4y7uqpKVSIfqPq5GzI/S5WmAGe73Tc6o7aBzby09xpmLI/i41+jzQdSfxrGoCFRvpV+2W221jcdWyF/ojXiUciX2dQGS1gsKVcYNjLmqUrN/fNgY5XjuB10VU3nCenmRGGPep1Sx8CYi61lf5Qxb0AF71ylNJ8/rEXjkXad1vi7zTFteEWj3MmOoK1Fau4ykr6o4v2lSRWEvIxY9S+AFwNVqBtCC210ks1XYInaYuPnz0mdRmoOQIATLdBvIyHuWW5y8M9K+aplkLrUBI8abbrLcGze3lRusx4S3w2V4Pvgt9+DtpRM+kyC5gBhUxO8rY7+pBiIWP0WF87Xs5XfUe+nlhnbp23A/rAppvT6NnpvY10bvWTnKbnBlSyGWPUlYLVdqRwshLNSIKr2YByWorzNtnP63rTe5E8gHnpMs3+4f1Rdz0xgSx8kNZ0vAi7w2moFsjwQzc94Uzy52SkYkGgFYpkystXP05GKyB4N0nStoU25KmdX8dsSYGzF0WERy8KWx0tr1Hv/YONWek7IIHDZin5cTyhkbyktenlAyLJ5uj9Oty4MgKPsE3+GrMdczVTBf5ThhSuvyrZo2CqjTSBc6j7mEyEAAHqM6JNVyPRqhDYmtaK0iLTJCAyqnzQyLD9gxEBuTj/o+3rcw== aither@orion" ]; - system.nixos.stateVersion = "18.03"; + system.stateVersion = "18.03"; } diff --git a/network-libvirt.nix b/network-libvirt.nix index f1ad96b..dbb5187 100644 --- a/network-libvirt.nix +++ b/network-libvirt.nix @@ -1,7 +1,7 @@ { - vosa = - { config, lib, pkgs, ... }: - { - deployment.targetHost = "192.168.2.106"; - }; + # vosa = + # { config, lib, pkgs, ... }: + # { + # deployment.targetHost = "192.168.2.106"; + # }; } diff --git a/network.nix b/network.nix index 49070ca..400d1c0 100644 --- a/network.nix +++ b/network.nix @@ -4,18 +4,22 @@ let in { network.description = "testish infrastructure"; - - vosa = - #{ config, pkgs, lib, ...}: - let - osCfg = (pinned.vpsadminos { configuration = ./machines/vosa/configuration.nix; }).config; - nixopsCfg = { - deployment.targetHost = "192.168.2.106"; - environment.checkConfigurationOptions = true; - }; - in - osCfg // nixopsCfg; + network.machines = { + vosa = { + spin = "vpsAdminOS"; + path = "${pinned.vpsadminosGit}"; + nixPath = [ + { prefix = "nixpkgs"; path = "${pinned.nixpkgsVpsFreeGit}"; } + { prefix = "vpsadminos"; path = "${pinned.vpsadminosGit}"; } + ]; + }; + }; - # vosa = - # (pinned.vpsadminos { configuration = ./machines/vosa/configuration.nix; }).config; + vosa = + { config, pkgs, lib, ... }: + { + imports = [ + ./machines/vosa/configuration.nix + ]; + }; }