remove sane.home-manager.extraPackages

replaced by sane.packages.extraUserPkgs
This commit is contained in:
colin 2022-11-22 05:11:02 +00:00
parent 7284452aa5
commit ca43811c16
7 changed files with 27 additions and 24 deletions

View File

@ -29,7 +29,7 @@
]; ];
# sane.packages.enableGuiPkgs = false; # XXX faster builds/imaging for debugging # sane.packages.enableGuiPkgs = false; # XXX faster builds/imaging for debugging
sane.home-manager.extraPackages = [ sane.packages.extraUserPkgs = [
pkgs.plasma5Packages.konsole # terminal pkgs.plasma5Packages.konsole # terminal
]; ];

View File

@ -9,7 +9,7 @@
./services ./services
]; ];
sane.home-manager.extraPackages = [ sane.packages.extraUserPkgs = [
# for administering services # for administering services
pkgs.matrix-synapse pkgs.matrix-synapse
pkgs.freshrss pkgs.freshrss

View File

@ -69,7 +69,7 @@ in
NIXOS_OZONE_WL = "1"; NIXOS_OZONE_WL = "1";
}; };
sane.home-manager.extraPackages = with pkgs; [ sane.packages.extraUserPkgs = with pkgs; [
phosh-mobile-settings phosh-mobile-settings
# TODO: see about removing this if the in-built gnome-settings bluetooth manager can work # TODO: see about removing this if the in-built gnome-settings bluetooth manager can work

View File

@ -597,7 +597,7 @@ in
# } # }
# ''; # '';
}; };
sane.home-manager.extraPackages = with pkgs; [ sane.packages.extraUserPkgs = with pkgs; [
swaylock swaylock
swayidle # (unused) swayidle # (unused)
wl-clipboard wl-clipboard

View File

@ -9,9 +9,9 @@
with lib; with lib;
let let
cfg = config.sane.home-manager; cfg = config.sane.home-manager;
# extract package from `extraPackages` # extract package from `sane.packages.enabledUserPkgs`
pkg-list = pkgspec: builtins.map (e: e.pkg or e) pkgspec; pkg-list = pkgspec: builtins.map (e: e.pkg or e) pkgspec;
# extract `dir` from `extraPackages` # extract `dir` from `sane.packages.enabledUserPkgs`
dir-list = pkgspec: builtins.concatLists (builtins.map (e: if e ? "dir" then [ e.dir ] else []) pkgspec); dir-list = pkgspec: builtins.concatLists (builtins.map (e: if e ? "dir" then [ e.dir ] else []) pkgspec);
private-list = pkgspec: builtins.concatLists (builtins.map (e: if e ? "private" then [ e.private ] else []) pkgspec); private-list = pkgspec: builtins.concatLists (builtins.map (e: if e ? "private" then [ e.private ] else []) pkgspec);
feeds = import ./feeds.nix { inherit lib; }; feeds = import ./feeds.nix { inherit lib; };
@ -33,14 +33,6 @@ in
]; ];
options = { options = {
# packages to deploy to the user's home
sane.home-manager.extraPackages = mkOption {
default = [ ];
# each entry can be either a package, or attrs:
# { pkg = package; dir = optional string;
type = types.listOf (types.either types.package types.attrs);
};
# attributes to copy directly to home-manager's `wayland.windowManager` option # attributes to copy directly to home-manager's `wayland.windowManager` option
sane.home-manager.windowManager = mkOption { sane.home-manager.windowManager = mkOption {
default = {}; default = {};
@ -65,7 +57,7 @@ in
"Music" "Music"
"Pictures" "Pictures"
"Videos" "Videos"
] ++ (dir-list cfg.extraPackages); ] ++ (dir-list config.sane.packages.enabledUserPkgs);
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
@ -79,7 +71,7 @@ in
manual.html.enable = false; # TODO: set to true later (build failure) manual.html.enable = false; # TODO: set to true later (build failure)
manual.manpages.enable = false; # TODO: enable after https://github.com/nix-community/home-manager/issues/3344 manual.manpages.enable = false; # TODO: enable after https://github.com/nix-community/home-manager/issues/3344
home.packages = pkg-list cfg.extraPackages; home.packages = pkg-list sysconfig.sane.packages.enabledUserPkgs;
wayland.windowManager = cfg.windowManager; wayland.windowManager = cfg.windowManager;
home.stateVersion = "21.11"; home.stateVersion = "21.11";
@ -101,7 +93,7 @@ in
name = path; name = path;
value = { source = config.lib.file.mkOutOfStoreSymlink "/home/colin/private/${path}"; }; value = { source = config.lib.file.mkOutOfStoreSymlink "/home/colin/private/${path}"; };
}) })
(private-list cfg.extraPackages) (private-list sysconfig.sane.packages.enabledUserPkgs)
); );
in { in {
# convenience # convenience

View File

@ -10,7 +10,7 @@
{ lib, pkgs, ... }: lib.mkIf false # XXX disabled! { lib, pkgs, ... }: lib.mkIf false # XXX disabled!
{ {
sane.home-manager.extraPackages = [ pkgs.nb ]; sane.packages.extraUserPkgs = [ pkgs.nb ];
home-manager.users.colin = { config, ... }: { home-manager.users.colin = { config, ... }: {
# nb markdown/personal knowledge manager # nb markdown/personal knowledge manager

View File

@ -221,6 +221,13 @@ let
in in
{ {
options = { options = {
# packages to deploy to the user's home
sane.packages.extraUserPkgs = mkOption {
default = [ ];
# each entry can be either a package, or attrs:
# { pkg = package; dir = optional string; private = optional string };
type = types.listOf (types.either types.package types.attrs);
};
sane.packages.enableConsolePkgs = mkOption { sane.packages.enableConsolePkgs = mkOption {
default = false; default = false;
type = types.bool; type = types.bool;
@ -242,15 +249,19 @@ in
type = types.bool; type = types.bool;
description = "enable system-wide packages"; description = "enable system-wide packages";
}; };
sane.packages.enabledUserPkgs = mkOption {
default = cfg.extraUserPkgs
++ (if cfg.enableConsolePkgs then consolePkgs else [])
++ (if cfg.enableGuiPkgs then guiPkgs else [])
++ (if cfg.enableDevPkgs then devPkgs else [])
;
type = types.listOf (types.either types.package types.attrs);
description = "generated from other config options";
};
}; };
config = { config = {
sane.home-manager.extraPackages = []
++ (if cfg.enableConsolePkgs then consolePkgs else [])
++ (if cfg.enableGuiPkgs then guiPkgs else [])
++ (if cfg.enableDevPkgs then devPkgs else [])
;
environment.systemPackages = mkIf cfg.enableSystemPkgs systemPkgs; environment.systemPackages = mkIf cfg.enableSystemPkgs systemPkgs;
}; };
} }