files: allow disabling creation of a file

PR #3622
This commit is contained in:
Lars Mühmel 2023-01-25 22:58:35 +01:00 committed by Robert Helgesson
parent c59f0eac51
commit 7efca2ca18
No known key found for this signature in database
GPG key ID: 36BDAA14C2797E89
4 changed files with 24 additions and 1 deletions

View file

@ -4,7 +4,7 @@ with lib;
let let
cfg = config.home.file; cfg = filterAttrs (n: f: f.enable) config.home.file;
homeDirectory = config.home.homeDirectory; homeDirectory = config.home.homeDirectory;

View file

@ -15,6 +15,14 @@ in
fileType = basePathDesc: basePath: types.attrsOf (types.submodule ( fileType = basePathDesc: basePath: types.attrsOf (types.submodule (
{ name, config, ... }: { { name, config, ... }: {
options = { options = {
enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether this file should be generated. This option allows specific
files to be disabled.
'';
};
target = mkOption { target = mkOption {
type = types.str; type = types.str;
apply = p: apply = p:

View file

@ -1,4 +1,5 @@
{ {
files-disabled = ./disabled.nix;
files-executable = ./executable.nix; files-executable = ./executable.nix;
files-hidden-source = ./hidden-source.nix; files-hidden-source = ./hidden-source.nix;
files-out-of-store-symlink = ./out-of-store-symlink.nix; files-out-of-store-symlink = ./out-of-store-symlink.nix;

View file

@ -0,0 +1,14 @@
{ ... }:
{
home.file."disabled" = {
enable = false;
text = ''
This file should not exist
'';
};
nmt.script = ''
assertPathNotExists home-files/disabled
'';
}