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.
This commit is contained in:
steveej 2020-10-17 15:25:47 +02:00
parent eaad3a11b4
commit 89c9f9e606
15 changed files with 221 additions and 139 deletions

View file

@ -2,28 +2,23 @@
let let
channelVersions = (import versionsPath); channelVersions = (import versionsPath);
mkChannelSource = channel: mkChannelSource = name:
let let
channelVersion = builtins.getAttr channel channelVersions; channelVersion = builtins.getAttr name channelVersions;
in builtins.fetchGit { in builtins.fetchGit {
# Descriptive name to make the store path easier to identify # Descriptive name to make the store path easier to identify
name = "nixpkgs-channels-${channel}"; inherit name;
url = if builtins.hasAttr "url" channelVersion inherit (channelVersion) url ref rev;
then channelVersion."url"
else "https://github.com/NixOS/nixpkgs-channels/"
;
ref = (builtins.getAttr channel channelVersions)."ref";
rev = (builtins.getAttr channel channelVersions)."rev";
}; };
nixPath = builtins.foldl' (sum: elem: sum +":" + builtins.concatStringsSep "=" elem) "" [ nixPath = builtins.foldl' (path: elemName:
[ "nixpkgs" (mkChannelSource "channelsNixosStable") ] let
[ "nixos" (mkChannelSource "channelsNixosStable" + "/nixos") ] elem = builtins.getAttr elemName channelVersions;
[ "channels-nixos-stable" (mkChannelSource "channelsNixosStable") ] elemPath = (mkChannelSource elemName);
[ "channels-nixos-unstable" (mkChannelSource "channelsNixosUnstable") ] suffix = if builtins.hasAttr "suffix" elem then elem.suffix else "";
[ "nixpkgs-master" (mkChannelSource "nixpkgsMaster") ] in
[ "home-manager-module" (mkChannelSource "homeManagerModule") ] path + ":" + builtins.concatStringsSep "=" [ elemName elemPath ] + suffix
]; ) "" (builtins.attrNames channelVersions);
pkgs = import (mkChannelSource "channelsNixosStable") {}; pkgs = import (mkChannelSource "nixpkgs") {};
in in
{ {

View file

@ -36,29 +36,6 @@ in {
}; };
packageOverrides = pkgs: with pkgs; { 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 gnome3.gnome-tweak-tool
xorg.xhost xorg.xhost
dmidecode dmidecode
python36Packages.glances
evtest evtest
# Archive Managers # Archive Managers
@ -325,7 +301,7 @@ in {
glib.dev # contains gdbus tool glib.dev # contains gdbus tool
alacritty alacritty
roxterm roxterm
masterpkgs.wally-cli unstablepkgs.wally-cli
man-pages man-pages
# Screen recording # Screen recording

View file

@ -19,7 +19,8 @@ in {
../programs/emacs.nix ../programs/emacs.nix
../programs/firefox.nix ../programs/firefox.nix
../programs/chromium.nix ../programs/chromium.nix
../programs/homeshick.nix # FIXME: fix homeshick when no WAN connection is available
# ../programs/homeshick.nix
../programs/libreoffice.nix ../programs/libreoffice.nix
../programs/neovim.nix ../programs/neovim.nix
../programs/pass.nix ../programs/pass.nix
@ -33,29 +34,6 @@ in {
}; };
packageOverrides = pkgs: with pkgs; { 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 gnome3.gnome-tweak-tool
xorg.xhost xorg.xhost
dmidecode dmidecode
python36Packages.glances
evtest evtest
# Archive Managers # Archive Managers
@ -145,7 +122,7 @@ in {
gptfdisk gptfdisk
## Python ## Python
myPython36 myPython
busyboxStatic busyboxStatic

View file

@ -1,6 +1,10 @@
{ ... }: { ... }:
{ {
nixpkgs.config.packageOverrides = pkgs: with pkgs; {
nixPath = (import ../../../default.nix { versionsPath = ./versions.nix; }).nixPath;
};
imports = [ imports = [
../../profiles/common/configuration.nix ../../profiles/common/configuration.nix
../../profiles/graphical/configuration.nix ../../profiles/graphical/configuration.nix

View file

@ -1,20 +1,30 @@
let
nixpkgs = {
url = "https://github.com/NixOS/nixpkgs/";
ref = "nixos-20.09";
rev = "51aaa3fa1b69559456f9bd4968bd5b179a784f67";
};
in
{ {
channelsNixosStable = { inherit nixpkgs;
ref = "nixos-20.03"; nixos = nixpkgs // {
rev = "5659cb448e9b615d642c5fe52779c2223e72f7eb"; suffix = "/nixos";
}; };
channelsNixosUnstable = { "channels-nixos-stable" = nixpkgs;
"channels-nixos-unstable" = {
url = "https://github.com/NixOS/nixpkgs/";
ref = "nixos-unstable"; ref = "nixos-unstable";
rev = "daaa0e33505082716beb52efefe3064f0332b521"; rev = "24c9b05ac53e422f1af81a156f1fd58499eb27fb";
}; };
nixpkgsMaster = { "nixpkgs-master" = {
url = "https://github.com/NixOS/nixpkgs/"; url = "https://github.com/NixOS/nixpkgs/";
ref = "master"; ref = "master";
rev = "55dc3b76f0ca1dd62d158b92a637fe484df5227d"; rev = "396f3407a28a0ce8ee537d6f4440d3e6cb359570";
}; };
homeManagerModule = { "home-manager-module" = {
url = "https://github.com/rycee/home-manager"; url = "https://github.com/nix-community/home-manager";
ref = "release-20.03"; ref = "release-20.09";
rev = "e6f96b6aa3e99495f9f6f3488ecf78dd316e5bec"; rev = "7339784e07217ed0232e08d1ea33b610c94657d8";
}; };
} }

View file

@ -75,6 +75,10 @@ in {
ssh = { ssh = {
enable = true; enable = true;
authorizedKeys = keys.users.steveej.openssh; authorizedKeys = keys.users.steveej.openssh;
hostKeys = [
"/etc/secrets/initrd/ssh_host_rsa_key"
"/etc/secrets/initrd/ssh_host_ed25519_key"
];
}; };
}; };

View file

@ -1,20 +1,30 @@
let
nixpkgs = {
url = "https://github.com/NixOS/nixpkgs/";
ref = "nixos-20.09";
rev = "51aaa3fa1b69559456f9bd4968bd5b179a784f67";
};
in
{ {
channelsNixosStable = { inherit nixpkgs;
ref = "nixos-20.03-small"; nixos = nixpkgs // {
rev = "eabc31612eabea2573a09ce5bcacdad3bfccd264"; suffix = "/nixos";
}; };
channelsNixosUnstable = { "channels-nixos-stable" = nixpkgs;
"channels-nixos-unstable" = {
url = "https://github.com/NixOS/nixpkgs/";
ref = "nixos-unstable"; ref = "nixos-unstable";
rev = "84d74ae9c9cbed73274b8e4e00be14688ffc93fe"; rev = "24c9b05ac53e422f1af81a156f1fd58499eb27fb";
}; };
nixpkgsMaster = { "nixpkgs-master" = {
url = "https://github.com/NixOS/nixpkgs/"; url = "https://github.com/NixOS/nixpkgs/";
ref = "master"; ref = "master";
rev = "c0e65c63401c9c75c403df207e4bd6439b965cb4"; rev = "7c4305be84ae74499e1ddd9b8e97bcaaf6da0f7d";
}; };
homeManagerModule = { "home-manager-module" = {
url = "https://github.com/rycee/home-manager"; url = "https://github.com/nix-community/home-manager";
ref = "release-20.03"; ref = "release-20.09";
rev = "e6f96b6aa3e99495f9f6f3488ecf78dd316e5bec"; rev = "7339784e07217ed0232e08d1ea33b610c94657d8";
}; };
} }

View file

@ -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 = { inherit nixpkgs;
ref = "nixos-20.03-small"; nixos = nixpkgs // {
rev = "<% git ls-remote https://github.com/nixos/nixpkgs-channels nixos-20.03-small | awk '{ print $1 }' | tr -d '\n' -%>"; suffix = "/nixos";
}; };
channelsNixosUnstable = { "channels-nixos-stable" = nixpkgs;
"channels-nixos-unstable" = {
url = "https://github.com/NixOS/nixpkgs/";
ref = "nixos-unstable"; 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/"; url = "https://github.com/NixOS/nixpkgs/";
ref = "master"; ref = "master";
rev = "<% git ls-remote https://github.com/NixOS/nixpkgs.git master | head -n1 | awk '{ print $1 }' | tr -d '\n' -%>"; rev = "<% git ls-remote https://github.com/NixOS/nixpkgs.git master | head -n1 | awk '{ print $1 }' | tr -d '\n' -%>";
}; };
homeManagerModule = { "home-manager-module" = {
url = "https://github.com/rycee/home-manager"; url = "https://github.com/nix-community/home-manager";
ref = "release-20.03"; ref = "release-20.09";
rev = "<% git ls-remote https://github.com/rycee/home-manager.git release-20.03 | awk '{ print $1 }' | tr -d '\n' -%>"; rev = "<% git ls-remote https://github.com/nix-community/home-manager.git release-20.09 | awk '{ print $1 }' | tr -d '\n' -%>";
}; };
} }

View file

@ -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"; ref = "nixos-20.03";
rev = "ff6fda61600cc60404bab5cb6b18b8636785b7bc"; rev = "ff6fda61600cc60404bab5cb6b18b8636785b7bc";
}; };
channelsNixosUnstable = { "channels-nixos-19.09" = {
ref = "nixos-unstable"; url = "https://github.com/NixOS/nixpkgs/";
rev = "84d74ae9c9cbed73274b8e4e00be14688ffc93fe"; 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/"; url = "https://github.com/NixOS/nixpkgs/";
ref = "master"; ref = "master";
rev = "50e986ba967811afdb5edb3b6eda4369059e4238"; rev = "9b3e35d991ea6a43f256069dcb2e006006730d05";
}; };
homeManagerModule = { "home-manager-module" = {
url = "https://github.com/rycee/home-manager"; url = "https://github.com/nix-community/home-manager";
ref = "release-20.03"; ref = "release-20.09";
rev = "e6f96b6aa3e99495f9f6f3488ecf78dd316e5bec"; rev = "7339784e07217ed0232e08d1ea33b610c94657d8";
}; };
} }

View file

@ -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' -%>";
};
}

View file

@ -54,12 +54,13 @@
displayManager = { displayManager = {
gdm.enable = false; gdm.enable = false;
lightdm = {
enable = true;
autoLogin = { autoLogin = {
enable = true; enable = true;
user = "steveej"; user = "steveej";
}; };
lightdm = {
enable = true;
background = "${pkgs.nixos-artwork.wallpapers.simple-blue}/share/artwork/gnome/nix-wallpaper-simple-blue.png"; background = "${pkgs.nixos-artwork.wallpapers.simple-blue}/share/artwork/gnome/nix-wallpaper-simple-blue.png";
}; };

View file

@ -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; }; home-manager.users.steveej = import ../../../home-manager/configuration/graphical-removable.nix { inherit pkgs; };
} }

View file

@ -66,4 +66,28 @@ in rec {
duplicacy = pkgs.callPackage ../pkgs/duplicacy {}; duplicacy = pkgs.callPackage ../pkgs/duplicacy {};
mfcl3770cdw = pkgs.callPackage ../pkgs/mfcl3770cdw.nix {}; mfcl3770cdw = pkgs.callPackage ../pkgs/mfcl3770cdw.nix {};
staruml = pkgs.callPackage ../pkgs/staruml.nix { inherit (pkgs.gnome2) GConf; libgcrypt = pkgs.libgcrypt_1_5; }; 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
]);
} }

View file

@ -1,20 +1,30 @@
let
nixpkgs = {
url = "https://github.com/NixOS/nixpkgs/";
ref = "nixos-20.09";
rev = "51aaa3fa1b69559456f9bd4968bd5b179a784f67";
};
in
{ {
channelsNixosStable = { inherit nixpkgs;
ref = "nixos-20.03"; nixos = nixpkgs // {
rev = "70717a337f7ae4e486ba71a500367cad697e5f09"; suffix = "/nixos";
}; };
channelsNixosUnstable = { "channels-nixos-stable" = nixpkgs;
"channels-nixos-unstable" = {
url = "https://github.com/NixOS/nixpkgs/";
ref = "nixos-unstable"; ref = "nixos-unstable";
rev = "029a5de08390bb03c3f44230b064fd1850c6658a"; rev = "24c9b05ac53e422f1af81a156f1fd58499eb27fb";
}; };
nixpkgsMaster = { "nixpkgs-master" = {
url = "https://github.com/NixOS/nixpkgs/"; url = "https://github.com/NixOS/nixpkgs/";
ref = "master"; ref = "master";
rev = "7a4ee350b007bcb4c689123ad21a8468f91a19b9"; rev = "3312e1c3ba80506c435876f016d7b3888f297c4e";
}; };
homeManagerModule = { "home-manager-module" = {
url = "https://github.com/rycee/home-manager"; url = "https://github.com/nix-community/home-manager";
ref = "release-20.03"; ref = "release-20.09";
rev = "96fcf3b017d813fac300ecb821b6db6b7b5d0c40"; rev = "7339784e07217ed0232e08d1ea33b610c94657d8";
}; };
} }

View file

@ -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 = { inherit nixpkgs;
ref = "nixos-20.03"; nixos = nixpkgs // {
rev = "<% git ls-remote https://github.com/nixos/nixpkgs-channels nixos-20.03 | awk '{ print $1 }' | tr -d '\n' -%>"; suffix = "/nixos";
}; };
channelsNixosUnstable = { "channels-nixos-stable" = nixpkgs;
"channels-nixos-unstable" = {
url = "https://github.com/NixOS/nixpkgs/";
ref = "nixos-unstable"; 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/"; url = "https://github.com/NixOS/nixpkgs/";
ref = "master"; ref = "master";
rev = "<% git ls-remote https://github.com/NixOS/nixpkgs.git master | head -n1 | awk '{ print $1 }' | tr -d '\n' -%>"; rev = "<% git ls-remote https://github.com/NixOS/nixpkgs.git master | head -n1 | awk '{ print $1 }' | tr -d '\n' -%>";
}; };
homeManagerModule = { "home-manager-module" = {
url = "https://github.com/rycee/home-manager"; url = "https://github.com/nix-community/home-manager";
ref = "release-20.03"; ref = "release-20.09";
rev = "<% git ls-remote https://github.com/rycee/home-manager.git release-20.03 | awk '{ print $1 }' | tr -d '\n' -%>"; rev = "<% git ls-remote https://github.com/nix-community/home-manager.git release-20.09 | awk '{ print $1 }' | tr -d '\n' -%>";
}; };
} }