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
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
{

View file

@ -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

View file

@ -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

View file

@ -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

View file

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

View file

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

View file

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

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

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";
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";
};
}

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 = {
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";
};

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; };
}

View file

@ -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
]);
}

View file

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

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