From afb006f6ecae3558ad54e2f54e01fe091514ca65 Mon Sep 17 00:00:00 2001 From: Colin Date: Fri, 3 Feb 2023 05:26:57 +0000 Subject: [PATCH] programs: port last users & remove the old packages.nix --- hosts/by-name/moby/default.nix | 10 ++++--- hosts/by-name/servo/default.nix | 11 ++++---- hosts/common/users.nix | 2 -- modules/default.nix | 1 - modules/packages.nix | 47 --------------------------------- modules/programs.nix | 2 +- 6 files changed, 13 insertions(+), 60 deletions(-) delete mode 100644 modules/packages.nix diff --git a/hosts/by-name/moby/default.nix b/hosts/by-name/moby/default.nix index 7146d24e..362891d7 100644 --- a/hosts/by-name/moby/default.nix +++ b/hosts/by-name/moby/default.nix @@ -41,10 +41,12 @@ ".config/pulse" # persist pulseaudio volume ]; - # sane.packages.enableGuiPkgs = false; # XXX faster builds/imaging for debugging - sane.packages.extraUserPkgs = [ - pkgs.plasma5Packages.konsole # terminal - ]; + sane.programs."pkgs.plasma5Packages.konsole" = { + # more reliable terminal + # TODO: move to gui/phosh + package = pkgs.plasma5Packages.konsole; + enableFor.users.colin = true; + }; sane.nixcache.enable = true; sane.persist.enable = true; diff --git a/hosts/by-name/servo/default.nix b/hosts/by-name/servo/default.nix index 74bd1ab8..e730192f 100644 --- a/hosts/by-name/servo/default.nix +++ b/hosts/by-name/servo/default.nix @@ -8,12 +8,13 @@ ./services ]; - sane.packages.extraUserPkgs = with pkgs; [ + sane.programs = { # for administering services - freshrss - matrix-synapse - signaldctl - ]; + freshrss.enableFor.user.colin = true; + matrix-synapse.enableFor.user.colin = true; + signaldctl.enableFor.user.colin = true; + }; + sane.persist.enable = true; sane.services.dyn-dns.enable = true; sane.services.wg-home.enable = true; diff --git a/hosts/common/users.nix b/hosts/common/users.nix index 72647182..ccb70a69 100644 --- a/hosts/common/users.nix +++ b/hosts/common/users.nix @@ -49,8 +49,6 @@ in shell = pkgs.zsh; - packages = builtins.map (p: p.pkg) config.sane.packages.enabledUserPkgs; - # mount encrypted stuff at login # some other nix pam users: # - diff --git a/modules/default.nix b/modules/default.nix index 05344db4..892d6540 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -5,7 +5,6 @@ ./feeds.nix ./fs ./ids.nix - ./packages.nix ./programs.nix ./image.nix ./persist diff --git a/modules/packages.nix b/modules/packages.nix deleted file mode 100644 index b989bfd8..00000000 --- a/modules/packages.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; -with pkgs; -let - cfg = config.sane.packages; - - pkgSpec = types.submodule { - options = { - pkg = mkOption { - type = types.package; - }; - dir = mkOption { - type = types.listOf types.str; - default = []; - description = "list of home-relative paths to persist for this package"; - }; - private = mkOption { - type = types.listOf types.str; - default = []; - description = "list of home-relative paths to persist (in encrypted format) for this package"; - }; - }; - }; - - toPkgSpec = types.coercedTo types.package (p: { pkg = p; }) pkgSpec; -in -{ - options = { - # packages to deploy to the user's home - sane.packages.extraUserPkgs = mkOption { - default = [ ]; - type = types.listOf toPkgSpec; - }; - - sane.packages.enabledUserPkgs = mkOption { - default = cfg.extraUserPkgs; - type = types.listOf toPkgSpec; - description = "generated from other config options"; - }; - }; - - config = { - sane.user.persist.plaintext = concatLists (map (p: p.dir) cfg.enabledUserPkgs); - sane.user.persist.private = concatLists (map (p: p.private) cfg.enabledUserPkgs); - }; -} diff --git a/modules/programs.nix b/modules/programs.nix index 028f488f..7ea79063 100644 --- a/modules/programs.nix +++ b/modules/programs.nix @@ -29,7 +29,7 @@ let pkgPath = splitString "." name; in # package can be inferred by the attr name, allowing shorthand like - # `sane.packages.nano.enable = true;` + # `sane.programs.nano.enable = true;` # this indexing will throw if the package doesn't exist and the user forgets to specify # a valid source explicitly. getAttrFromPath pkgPath pkgs;