programs: port last users & remove the old packages.nix
This commit is contained in:
@@ -41,10 +41,12 @@
|
|||||||
".config/pulse" # persist pulseaudio volume
|
".config/pulse" # persist pulseaudio volume
|
||||||
];
|
];
|
||||||
|
|
||||||
# sane.packages.enableGuiPkgs = false; # XXX faster builds/imaging for debugging
|
sane.programs."pkgs.plasma5Packages.konsole" = {
|
||||||
sane.packages.extraUserPkgs = [
|
# more reliable terminal
|
||||||
pkgs.plasma5Packages.konsole # terminal
|
# TODO: move to gui/phosh
|
||||||
];
|
package = pkgs.plasma5Packages.konsole;
|
||||||
|
enableFor.users.colin = true;
|
||||||
|
};
|
||||||
|
|
||||||
sane.nixcache.enable = true;
|
sane.nixcache.enable = true;
|
||||||
sane.persist.enable = true;
|
sane.persist.enable = true;
|
||||||
|
@@ -8,12 +8,13 @@
|
|||||||
./services
|
./services
|
||||||
];
|
];
|
||||||
|
|
||||||
sane.packages.extraUserPkgs = with pkgs; [
|
sane.programs = {
|
||||||
# for administering services
|
# for administering services
|
||||||
freshrss
|
freshrss.enableFor.user.colin = true;
|
||||||
matrix-synapse
|
matrix-synapse.enableFor.user.colin = true;
|
||||||
signaldctl
|
signaldctl.enableFor.user.colin = true;
|
||||||
];
|
};
|
||||||
|
|
||||||
sane.persist.enable = true;
|
sane.persist.enable = true;
|
||||||
sane.services.dyn-dns.enable = true;
|
sane.services.dyn-dns.enable = true;
|
||||||
sane.services.wg-home.enable = true;
|
sane.services.wg-home.enable = true;
|
||||||
|
@@ -49,8 +49,6 @@ in
|
|||||||
|
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
|
|
||||||
packages = builtins.map (p: p.pkg) config.sane.packages.enabledUserPkgs;
|
|
||||||
|
|
||||||
# mount encrypted stuff at login
|
# mount encrypted stuff at login
|
||||||
# some other nix pam users:
|
# some other nix pam users:
|
||||||
# - <https://github.com/g00pix/nixconf/blob/32c04f6fa843fed97639dd3f09e157668d3eea1f/profiles/sshfs.nix>
|
# - <https://github.com/g00pix/nixconf/blob/32c04f6fa843fed97639dd3f09e157668d3eea1f/profiles/sshfs.nix>
|
||||||
|
@@ -5,7 +5,6 @@
|
|||||||
./feeds.nix
|
./feeds.nix
|
||||||
./fs
|
./fs
|
||||||
./ids.nix
|
./ids.nix
|
||||||
./packages.nix
|
|
||||||
./programs.nix
|
./programs.nix
|
||||||
./image.nix
|
./image.nix
|
||||||
./persist
|
./persist
|
||||||
|
@@ -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);
|
|
||||||
};
|
|
||||||
}
|
|
@@ -29,7 +29,7 @@ let
|
|||||||
pkgPath = splitString "." name;
|
pkgPath = splitString "." name;
|
||||||
in
|
in
|
||||||
# package can be inferred by the attr name, allowing shorthand like
|
# 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
|
# this indexing will throw if the package doesn't exist and the user forgets to specify
|
||||||
# a valid source explicitly.
|
# a valid source explicitly.
|
||||||
getAttrFromPath pkgPath pkgs;
|
getAttrFromPath pkgPath pkgs;
|
||||||
|
Reference in New Issue
Block a user