From 89c9f9e6062887e670fe80fe199e26a1b9c32fc3 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sat, 17 Oct 2020 15:25:47 +0200 Subject: [PATCH] versions: bump to 20.09 and improve NIX_PATH assembly The NIX_PATH assembly now walks over all keys in the given channel repositories and assembles a NIX_PATH entry from it. Previously it made assumptions about a set of hardcoded keys being available, which wasn't ideal as it didn't allow device-entries. --- nix/default.nix | 31 +++++++--------- .../configuration/graphical-fullblown.nix | 26 +------------ .../configuration/graphical-removable.nix | 29 ++------------- .../steveej-rmvbl-sdep0/configuration.nix | 4 ++ .../devices/steveej-rmvbl-sdep0/versions.nix | 32 ++++++++++------ nix/os/devices/steveej-t480s-work/system.nix | 4 ++ .../devices/steveej-t480s-work/versions.nix | 32 ++++++++++------ .../steveej-t480s-work/versions.tmpl.nix | 30 ++++++++++----- .../vmd32387.contaboserver.net/versions.nix | 37 ++++++++++++++----- .../versions.tmpl.nix | 37 +++++++++++++++++++ nix/os/profiles/graphical/system.nix | 9 +++-- nix/os/profiles/removable-medium/pkg.nix | 3 -- nix/pkgs/default.nix | 24 ++++++++++++ nix/variables/versions.nix | 32 ++++++++++------ nix/variables/versions.tmpl.nix | 30 ++++++++++----- 15 files changed, 221 insertions(+), 139 deletions(-) create mode 100644 nix/os/devices/vmd32387.contaboserver.net/versions.tmpl.nix diff --git a/nix/default.nix b/nix/default.nix index 5941a14..2512b43 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -2,28 +2,23 @@ let channelVersions = (import versionsPath); - mkChannelSource = channel: + mkChannelSource = name: let - channelVersion = builtins.getAttr channel channelVersions; + channelVersion = builtins.getAttr name channelVersions; in builtins.fetchGit { # Descriptive name to make the store path easier to identify - name = "nixpkgs-channels-${channel}"; - url = if builtins.hasAttr "url" channelVersion - then channelVersion."url" - else "https://github.com/NixOS/nixpkgs-channels/" - ; - ref = (builtins.getAttr channel channelVersions)."ref"; - rev = (builtins.getAttr channel channelVersions)."rev"; + inherit name; + inherit (channelVersion) url ref rev; }; - nixPath = builtins.foldl' (sum: elem: sum +":" + builtins.concatStringsSep "=" elem) "" [ - [ "nixpkgs" (mkChannelSource "channelsNixosStable") ] - [ "nixos" (mkChannelSource "channelsNixosStable" + "/nixos") ] - [ "channels-nixos-stable" (mkChannelSource "channelsNixosStable") ] - [ "channels-nixos-unstable" (mkChannelSource "channelsNixosUnstable") ] - [ "nixpkgs-master" (mkChannelSource "nixpkgsMaster") ] - [ "home-manager-module" (mkChannelSource "homeManagerModule") ] - ]; - pkgs = import (mkChannelSource "channelsNixosStable") {}; + nixPath = builtins.foldl' (path: elemName: + let + elem = builtins.getAttr elemName channelVersions; + elemPath = (mkChannelSource elemName); + suffix = if builtins.hasAttr "suffix" elem then elem.suffix else ""; + in + path + ":" + builtins.concatStringsSep "=" [ elemName elemPath ] + suffix + ) "" (builtins.attrNames channelVersions); + pkgs = import (mkChannelSource "nixpkgs") {}; in { diff --git a/nix/home-manager/configuration/graphical-fullblown.nix b/nix/home-manager/configuration/graphical-fullblown.nix index 46cbd3e..0029b41 100644 --- a/nix/home-manager/configuration/graphical-fullblown.nix +++ b/nix/home-manager/configuration/graphical-fullblown.nix @@ -36,29 +36,6 @@ in { }; packageOverrides = pkgs: with pkgs; { - myPython = python37Full.withPackages (ps: with ps; [ - pep8 yapf flake8 - # autopep8 (broken) - # pylint (broken) - ipython - llfuse - dugong - defusedxml - wheel - pip - virtualenv - pypi2nix - cffi - pyopenssl - urllib3 - mistune - - flask - - pyaml - ] ++ [ - pkgs.libffi - ]); }; }; @@ -101,7 +78,6 @@ in { gnome3.gnome-tweak-tool xorg.xhost dmidecode - python36Packages.glances evtest # Archive Managers @@ -325,7 +301,7 @@ in { glib.dev # contains gdbus tool alacritty roxterm - masterpkgs.wally-cli + unstablepkgs.wally-cli man-pages # Screen recording diff --git a/nix/home-manager/configuration/graphical-removable.nix b/nix/home-manager/configuration/graphical-removable.nix index 322415c..f663f31 100644 --- a/nix/home-manager/configuration/graphical-removable.nix +++ b/nix/home-manager/configuration/graphical-removable.nix @@ -19,7 +19,8 @@ in { ../programs/emacs.nix ../programs/firefox.nix ../programs/chromium.nix - ../programs/homeshick.nix + # FIXME: fix homeshick when no WAN connection is available + # ../programs/homeshick.nix ../programs/libreoffice.nix ../programs/neovim.nix ../programs/pass.nix @@ -33,29 +34,6 @@ in { }; packageOverrides = pkgs: with pkgs; { - myPython36 = python36Full.withPackages (ps: with ps; [ - pylint pep8 yapf flake8 - # autopep8 (broken) - # pylint (broken) - ipython - llfuse - dugong - defusedxml - wheel - pip - virtualenv - pypi2nix - cffi - pyopenssl - urllib3 - mistune - - flask - - pyaml - ] ++ [ - pkgs.libffi - ]); }; }; @@ -78,7 +56,6 @@ in { gnome3.gnome-tweak-tool xorg.xhost dmidecode - python36Packages.glances evtest # Archive Managers @@ -145,7 +122,7 @@ in { gptfdisk ## Python - myPython36 + myPython busyboxStatic diff --git a/nix/os/devices/steveej-rmvbl-sdep0/configuration.nix b/nix/os/devices/steveej-rmvbl-sdep0/configuration.nix index 87284bc..860f09f 100644 --- a/nix/os/devices/steveej-rmvbl-sdep0/configuration.nix +++ b/nix/os/devices/steveej-rmvbl-sdep0/configuration.nix @@ -1,6 +1,10 @@ { ... }: { + nixpkgs.config.packageOverrides = pkgs: with pkgs; { + nixPath = (import ../../../default.nix { versionsPath = ./versions.nix; }).nixPath; + }; + imports = [ ../../profiles/common/configuration.nix ../../profiles/graphical/configuration.nix diff --git a/nix/os/devices/steveej-rmvbl-sdep0/versions.nix b/nix/os/devices/steveej-rmvbl-sdep0/versions.nix index 0d3ca95..d619cd2 100644 --- a/nix/os/devices/steveej-rmvbl-sdep0/versions.nix +++ b/nix/os/devices/steveej-rmvbl-sdep0/versions.nix @@ -1,20 +1,30 @@ +let + nixpkgs = { + url = "https://github.com/NixOS/nixpkgs/"; + ref = "nixos-20.09"; + rev = "51aaa3fa1b69559456f9bd4968bd5b179a784f67"; + }; +in + { - channelsNixosStable = { - ref = "nixos-20.03"; - rev = "5659cb448e9b615d642c5fe52779c2223e72f7eb"; + inherit nixpkgs; + nixos = nixpkgs // { + suffix = "/nixos"; }; - channelsNixosUnstable = { + "channels-nixos-stable" = nixpkgs; + "channels-nixos-unstable" = { + url = "https://github.com/NixOS/nixpkgs/"; ref = "nixos-unstable"; - rev = "daaa0e33505082716beb52efefe3064f0332b521"; + rev = "24c9b05ac53e422f1af81a156f1fd58499eb27fb"; }; - nixpkgsMaster = { + "nixpkgs-master" = { url = "https://github.com/NixOS/nixpkgs/"; ref = "master"; - rev = "55dc3b76f0ca1dd62d158b92a637fe484df5227d"; + rev = "396f3407a28a0ce8ee537d6f4440d3e6cb359570"; }; - homeManagerModule = { - url = "https://github.com/rycee/home-manager"; - ref = "release-20.03"; - rev = "e6f96b6aa3e99495f9f6f3488ecf78dd316e5bec"; + "home-manager-module" = { + url = "https://github.com/nix-community/home-manager"; + ref = "release-20.09"; + rev = "7339784e07217ed0232e08d1ea33b610c94657d8"; }; } diff --git a/nix/os/devices/steveej-t480s-work/system.nix b/nix/os/devices/steveej-t480s-work/system.nix index a7a9c52..8237b75 100644 --- a/nix/os/devices/steveej-t480s-work/system.nix +++ b/nix/os/devices/steveej-t480s-work/system.nix @@ -75,6 +75,10 @@ in { ssh = { enable = true; authorizedKeys = keys.users.steveej.openssh; + hostKeys = [ + "/etc/secrets/initrd/ssh_host_rsa_key" + "/etc/secrets/initrd/ssh_host_ed25519_key" + ]; }; }; diff --git a/nix/os/devices/steveej-t480s-work/versions.nix b/nix/os/devices/steveej-t480s-work/versions.nix index 5738178..cb7387b 100644 --- a/nix/os/devices/steveej-t480s-work/versions.nix +++ b/nix/os/devices/steveej-t480s-work/versions.nix @@ -1,20 +1,30 @@ +let + nixpkgs = { + url = "https://github.com/NixOS/nixpkgs/"; + ref = "nixos-20.09"; + rev = "51aaa3fa1b69559456f9bd4968bd5b179a784f67"; + }; +in + { - channelsNixosStable = { - ref = "nixos-20.03-small"; - rev = "eabc31612eabea2573a09ce5bcacdad3bfccd264"; + inherit nixpkgs; + nixos = nixpkgs // { + suffix = "/nixos"; }; - channelsNixosUnstable = { + "channels-nixos-stable" = nixpkgs; + "channels-nixos-unstable" = { + url = "https://github.com/NixOS/nixpkgs/"; ref = "nixos-unstable"; - rev = "84d74ae9c9cbed73274b8e4e00be14688ffc93fe"; + rev = "24c9b05ac53e422f1af81a156f1fd58499eb27fb"; }; - nixpkgsMaster = { + "nixpkgs-master" = { url = "https://github.com/NixOS/nixpkgs/"; ref = "master"; - rev = "c0e65c63401c9c75c403df207e4bd6439b965cb4"; + rev = "7c4305be84ae74499e1ddd9b8e97bcaaf6da0f7d"; }; - homeManagerModule = { - url = "https://github.com/rycee/home-manager"; - ref = "release-20.03"; - rev = "e6f96b6aa3e99495f9f6f3488ecf78dd316e5bec"; + "home-manager-module" = { + url = "https://github.com/nix-community/home-manager"; + ref = "release-20.09"; + rev = "7339784e07217ed0232e08d1ea33b610c94657d8"; }; } diff --git a/nix/os/devices/steveej-t480s-work/versions.tmpl.nix b/nix/os/devices/steveej-t480s-work/versions.tmpl.nix index af80588..09f95fd 100644 --- a/nix/os/devices/steveej-t480s-work/versions.tmpl.nix +++ b/nix/os/devices/steveej-t480s-work/versions.tmpl.nix @@ -1,20 +1,30 @@ +let + nixpkgs = { + url = "https://github.com/NixOS/nixpkgs/"; + ref = "nixos-20.09"; + rev = "<% git ls-remote https://github.com/nixos/nixpkgs nixos-20.09 | awk '{ print $1 }' | tr -d '\n' -%>"; + }; +in + { - channelsNixosStable = { - ref = "nixos-20.03-small"; - rev = "<% git ls-remote https://github.com/nixos/nixpkgs-channels nixos-20.03-small | awk '{ print $1 }' | tr -d '\n' -%>"; + inherit nixpkgs; + nixos = nixpkgs // { + suffix = "/nixos"; }; - channelsNixosUnstable = { + "channels-nixos-stable" = nixpkgs; + "channels-nixos-unstable" = { + url = "https://github.com/NixOS/nixpkgs/"; ref = "nixos-unstable"; - rev = "<% git ls-remote https://github.com/nixos/nixpkgs-channels nixos-unstable | awk '{ print $1 }' | tr -d '\n' -%>"; + rev = "<% git ls-remote https://github.com/nixos/nixpkgs nixos-unstable | awk '{ print $1 }' | tr -d '\n' -%>"; }; - nixpkgsMaster = { + "nixpkgs-master" = { url = "https://github.com/NixOS/nixpkgs/"; ref = "master"; rev = "<% git ls-remote https://github.com/NixOS/nixpkgs.git master | head -n1 | awk '{ print $1 }' | tr -d '\n' -%>"; }; - homeManagerModule = { - url = "https://github.com/rycee/home-manager"; - ref = "release-20.03"; - rev = "<% git ls-remote https://github.com/rycee/home-manager.git release-20.03 | awk '{ print $1 }' | tr -d '\n' -%>"; + "home-manager-module" = { + url = "https://github.com/nix-community/home-manager"; + ref = "release-20.09"; + rev = "<% git ls-remote https://github.com/nix-community/home-manager.git release-20.09 | awk '{ print $1 }' | tr -d '\n' -%>"; }; } diff --git a/nix/os/devices/vmd32387.contaboserver.net/versions.nix b/nix/os/devices/vmd32387.contaboserver.net/versions.nix index 6547285..519781a 100644 --- a/nix/os/devices/vmd32387.contaboserver.net/versions.nix +++ b/nix/os/devices/vmd32387.contaboserver.net/versions.nix @@ -1,20 +1,37 @@ +let + nixpkgs = { + url = "https://github.com/NixOS/nixpkgs/"; + ref = "nixos-20.09"; + rev = "51aaa3fa1b69559456f9bd4968bd5b179a784f67"; + }; +in + { - channelsNixosStable = { + inherit nixpkgs; + "channels-nixos-stable" = nixpkgs; + "channels-nixos-20.03" = { + url = "https://github.com/NixOS/nixpkgs/"; ref = "nixos-20.03"; rev = "ff6fda61600cc60404bab5cb6b18b8636785b7bc"; }; - channelsNixosUnstable = { - ref = "nixos-unstable"; - rev = "84d74ae9c9cbed73274b8e4e00be14688ffc93fe"; + "channels-nixos-19.09" = { + url = "https://github.com/NixOS/nixpkgs/"; + ref = "nixos-19.09"; + rev = "75f4ba05c63be3f147bcc2f7bd4ba1f029cedcb1"; }; - nixpkgsMaster = { + "channels-nixos-unstable" = { + url = "https://github.com/NixOS/nixpkgs/"; + ref = "nixos-unstable"; + rev = "24c9b05ac53e422f1af81a156f1fd58499eb27fb"; + }; + "nixpkgs-master" = { url = "https://github.com/NixOS/nixpkgs/"; ref = "master"; - rev = "50e986ba967811afdb5edb3b6eda4369059e4238"; + rev = "9b3e35d991ea6a43f256069dcb2e006006730d05"; }; - homeManagerModule = { - url = "https://github.com/rycee/home-manager"; - ref = "release-20.03"; - rev = "e6f96b6aa3e99495f9f6f3488ecf78dd316e5bec"; + "home-manager-module" = { + url = "https://github.com/nix-community/home-manager"; + ref = "release-20.09"; + rev = "7339784e07217ed0232e08d1ea33b610c94657d8"; }; } diff --git a/nix/os/devices/vmd32387.contaboserver.net/versions.tmpl.nix b/nix/os/devices/vmd32387.contaboserver.net/versions.tmpl.nix new file mode 100644 index 0000000..a19cc09 --- /dev/null +++ b/nix/os/devices/vmd32387.contaboserver.net/versions.tmpl.nix @@ -0,0 +1,37 @@ +let + nixpkgs = { + url = "https://github.com/NixOS/nixpkgs/"; + ref = "nixos-20.09"; + rev = "<% git ls-remote https://github.com/nixos/nixpkgs nixos-20.09 | awk '{ print $1 }' | tr -d '\n' -%>"; + }; +in + +{ + inherit nixpkgs; + "channels-nixos-stable" = nixpkgs; + "channels-nixos-20.03" = { + url = "https://github.com/NixOS/nixpkgs/"; + ref = "nixos-20.03"; + rev = "<% git ls-remote https://github.com/nixos/nixpkgs nixos-20.03 | awk '{ print $1 }' | tr -d '\n' -%>"; + }; + "channels-nixos-19.09" = { + url = "https://github.com/NixOS/nixpkgs/"; + ref = "nixos-19.09"; + rev = "<% git ls-remote https://github.com/nixos/nixpkgs nixos-19.09 | awk '{ print $1 }' | tr -d '\n' -%>"; + }; + "channels-nixos-unstable" = { + url = "https://github.com/NixOS/nixpkgs/"; + ref = "nixos-unstable"; + rev = "<% git ls-remote https://github.com/nixos/nixpkgs nixos-unstable | awk '{ print $1 }' | tr -d '\n' -%>"; + }; + "nixpkgs-master" = { + url = "https://github.com/NixOS/nixpkgs/"; + ref = "master"; + rev = "<% git ls-remote https://github.com/NixOS/nixpkgs.git master | head -n1 | awk '{ print $1 }' | tr -d '\n' -%>"; + }; + "home-manager-module" = { + url = "https://github.com/nix-community/home-manager"; + ref = "release-20.09"; + rev = "<% git ls-remote https://github.com/nix-community/home-manager.git release-20.09 | awk '{ print $1 }' | tr -d '\n' -%>"; + }; +} diff --git a/nix/os/profiles/graphical/system.nix b/nix/os/profiles/graphical/system.nix index 008464c..38243fc 100644 --- a/nix/os/profiles/graphical/system.nix +++ b/nix/os/profiles/graphical/system.nix @@ -54,12 +54,13 @@ displayManager = { gdm.enable = false; + autoLogin = { + enable = true; + user = "steveej"; + }; + lightdm = { enable = true; - autoLogin = { - enable = true; - user = "steveej"; - }; background = "${pkgs.nixos-artwork.wallpapers.simple-blue}/share/artwork/gnome/nix-wallpaper-simple-blue.png"; }; diff --git a/nix/os/profiles/removable-medium/pkg.nix b/nix/os/profiles/removable-medium/pkg.nix index bc04f92..7b9ee0e 100644 --- a/nix/os/profiles/removable-medium/pkg.nix +++ b/nix/os/profiles/removable-medium/pkg.nix @@ -3,8 +3,5 @@ }: { - nixpkgs.config.packageOverrides = pkgs: with pkgs; { - nixPath = (import ../../../default.nix { versionsPath = ./versions.nix; }).nixPath; - }; home-manager.users.steveej = import ../../../home-manager/configuration/graphical-removable.nix { inherit pkgs; }; } diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index bc20d8f..1c24ed7 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -66,4 +66,28 @@ in rec { duplicacy = pkgs.callPackage ../pkgs/duplicacy {}; mfcl3770cdw = pkgs.callPackage ../pkgs/mfcl3770cdw.nix {}; staruml = pkgs.callPackage ../pkgs/staruml.nix { inherit (pkgs.gnome2) GConf; libgcrypt = pkgs.libgcrypt_1_5; }; + + myPython = pkgs.python37Full.withPackages (ps: with ps; [ + pep8 yapf flake8 + # autopep8 (broken) + # pylint (broken) + ipython + llfuse + dugong + defusedxml + wheel + pip + virtualenv + cffi + pyopenssl + urllib3 + mistune + + flask + + pyaml + ] ++ [ + pkgs.pypi2nix + pkgs.libffi + ]); } diff --git a/nix/variables/versions.nix b/nix/variables/versions.nix index 77f44eb..4a3e8f4 100644 --- a/nix/variables/versions.nix +++ b/nix/variables/versions.nix @@ -1,20 +1,30 @@ +let + nixpkgs = { + url = "https://github.com/NixOS/nixpkgs/"; + ref = "nixos-20.09"; + rev = "51aaa3fa1b69559456f9bd4968bd5b179a784f67"; + }; +in + { - channelsNixosStable = { - ref = "nixos-20.03"; - rev = "70717a337f7ae4e486ba71a500367cad697e5f09"; + inherit nixpkgs; + nixos = nixpkgs // { + suffix = "/nixos"; }; - channelsNixosUnstable = { + "channels-nixos-stable" = nixpkgs; + "channels-nixos-unstable" = { + url = "https://github.com/NixOS/nixpkgs/"; ref = "nixos-unstable"; - rev = "029a5de08390bb03c3f44230b064fd1850c6658a"; + rev = "24c9b05ac53e422f1af81a156f1fd58499eb27fb"; }; - nixpkgsMaster = { + "nixpkgs-master" = { url = "https://github.com/NixOS/nixpkgs/"; ref = "master"; - rev = "7a4ee350b007bcb4c689123ad21a8468f91a19b9"; + rev = "3312e1c3ba80506c435876f016d7b3888f297c4e"; }; - homeManagerModule = { - url = "https://github.com/rycee/home-manager"; - ref = "release-20.03"; - rev = "96fcf3b017d813fac300ecb821b6db6b7b5d0c40"; + "home-manager-module" = { + url = "https://github.com/nix-community/home-manager"; + ref = "release-20.09"; + rev = "7339784e07217ed0232e08d1ea33b610c94657d8"; }; } diff --git a/nix/variables/versions.tmpl.nix b/nix/variables/versions.tmpl.nix index fb5d7a8..09f95fd 100644 --- a/nix/variables/versions.tmpl.nix +++ b/nix/variables/versions.tmpl.nix @@ -1,20 +1,30 @@ +let + nixpkgs = { + url = "https://github.com/NixOS/nixpkgs/"; + ref = "nixos-20.09"; + rev = "<% git ls-remote https://github.com/nixos/nixpkgs nixos-20.09 | awk '{ print $1 }' | tr -d '\n' -%>"; + }; +in + { - channelsNixosStable = { - ref = "nixos-20.03"; - rev = "<% git ls-remote https://github.com/nixos/nixpkgs-channels nixos-20.03 | awk '{ print $1 }' | tr -d '\n' -%>"; + inherit nixpkgs; + nixos = nixpkgs // { + suffix = "/nixos"; }; - channelsNixosUnstable = { + "channels-nixos-stable" = nixpkgs; + "channels-nixos-unstable" = { + url = "https://github.com/NixOS/nixpkgs/"; ref = "nixos-unstable"; - rev = "<% git ls-remote https://github.com/nixos/nixpkgs-channels nixos-unstable | awk '{ print $1 }' | tr -d '\n' -%>"; + rev = "<% git ls-remote https://github.com/nixos/nixpkgs nixos-unstable | awk '{ print $1 }' | tr -d '\n' -%>"; }; - nixpkgsMaster = { + "nixpkgs-master" = { url = "https://github.com/NixOS/nixpkgs/"; ref = "master"; rev = "<% git ls-remote https://github.com/NixOS/nixpkgs.git master | head -n1 | awk '{ print $1 }' | tr -d '\n' -%>"; }; - homeManagerModule = { - url = "https://github.com/rycee/home-manager"; - ref = "release-20.03"; - rev = "<% git ls-remote https://github.com/rycee/home-manager.git release-20.03 | awk '{ print $1 }' | tr -d '\n' -%>"; + "home-manager-module" = { + url = "https://github.com/nix-community/home-manager"; + ref = "release-20.09"; + rev = "<% git ls-remote https://github.com/nix-community/home-manager.git release-20.09 | awk '{ print $1 }' | tr -d '\n' -%>"; }; }