hm modules: gate behind enable options, always import
This commit is contained in:
parent
6ee82131cd
commit
c8cfa37bb9
8 changed files with 67 additions and 36 deletions
|
|
@ -23,6 +23,15 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
my = {
|
||||||
|
# keep-sorted start
|
||||||
|
gnome-extensions.enable = true;
|
||||||
|
nano.enable = true;
|
||||||
|
templates.enable = true;
|
||||||
|
zsh.enable = true;
|
||||||
|
# keep-sorted end
|
||||||
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
fzf.enable = true;
|
fzf.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,14 @@
|
||||||
{
|
{
|
||||||
imports = [ ./vscode.nix ];
|
imports = [ ./vscode.nix ];
|
||||||
config = {
|
config = {
|
||||||
|
my = {
|
||||||
|
# keep-sorted start
|
||||||
|
nano.enable = true;
|
||||||
|
templates.enable = true;
|
||||||
|
zsh.enable = true;
|
||||||
|
# keep-sorted end
|
||||||
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
## Apps
|
## Apps
|
||||||
telegram-desktop
|
telegram-desktop
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
enable = mkDefaultEnabledOption "gnome extended options";
|
enable = lib.mkEnableOption "gnome extended options";
|
||||||
appindicator.enable = mkDefaultEnabledOption "appindicator";
|
appindicator.enable = mkDefaultEnabledOption "appindicator";
|
||||||
caffeine.enable = mkDefaultEnabledOption "caffeine";
|
caffeine.enable = mkDefaultEnabledOption "caffeine";
|
||||||
tailscale-qs.enable = lib.mkOption {
|
tailscale-qs.enable = lib.mkOption {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,14 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
{
|
{
|
||||||
home = {
|
options.my.nano.enable = lib.mkEnableOption "nano editor config";
|
||||||
sessionVariables.EDITOR = "nano";
|
|
||||||
file.".nanorc".text = ''
|
config = lib.mkIf config.my.nano.enable {
|
||||||
set linenumbers
|
home = {
|
||||||
set mouse
|
sessionVariables.EDITOR = "nano";
|
||||||
'';
|
file.".nanorc".text = ''
|
||||||
|
set linenumbers
|
||||||
|
set mouse
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,12 @@
|
||||||
{ osConfig, thisDevice, ... }:
|
{ lib, config, osConfig, thisDevice, ... }:
|
||||||
{
|
{
|
||||||
services.tailscale-systray.enable = (thisDevice.isDesktop or false) && osConfig.my.tailscale.enable;
|
options.my.tailscale.enable = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = (thisDevice.isDesktop or false) && osConfig.my.tailscale.enable;
|
||||||
|
description = "Whether to enable the Tailscale system tray applet. Defaults to true on desktops with Tailscale enabled.";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.my.tailscale.enable {
|
||||||
|
services.tailscale-systray.enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,17 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
{
|
{
|
||||||
home.file = {
|
options.my.templates.enable = lib.mkEnableOption "file templates";
|
||||||
"Templates/Empty file".text = "";
|
|
||||||
"Templates/Empty bash script".text = ''
|
config = lib.mkIf config.my.templates.enable {
|
||||||
#!/usr/bin/env bash
|
home.file = {
|
||||||
# abort on error, undefined variables
|
"Templates/Empty file".text = "";
|
||||||
set -eu
|
"Templates/Empty bash script".text = ''
|
||||||
# print commands before execution
|
#!/usr/bin/env bash
|
||||||
set -x
|
# abort on error, undefined variables
|
||||||
'';
|
set -eu
|
||||||
|
# print commands before execution
|
||||||
|
set -x
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,18 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
{
|
{
|
||||||
programs = {
|
options.my.zsh.enable = lib.mkEnableOption "zsh with basic settings";
|
||||||
command-not-found.enable = true;
|
|
||||||
dircolors.enable = true;
|
|
||||||
|
|
||||||
zsh = {
|
config = lib.mkIf config.my.zsh.enable {
|
||||||
enable = true;
|
programs = {
|
||||||
syntaxHighlighting.enable = true;
|
command-not-found.enable = true;
|
||||||
autosuggestion.enable = true;
|
dircolors.enable = true;
|
||||||
enableVteIntegration = true;
|
|
||||||
|
zsh = {
|
||||||
|
enable = true;
|
||||||
|
syntaxHighlighting.enable = true;
|
||||||
|
autosuggestion.enable = true;
|
||||||
|
enableVteIntegration = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -96,16 +96,7 @@ forDevice (
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
users = home-manager-users;
|
users = home-manager-users;
|
||||||
sharedModules = [
|
sharedModules = [ { home.stateVersion = "22.11"; } ] ++ builtins.attrValues self.homeModules;
|
||||||
{ home.stateVersion = "22.11"; }
|
|
||||||
# keep-sorted start
|
|
||||||
self.homeModules.gnome-extensions
|
|
||||||
self.homeModules.nano
|
|
||||||
self.homeModules.tailscale
|
|
||||||
self.homeModules.templates
|
|
||||||
self.homeModules.zsh-basics
|
|
||||||
# keep-sorted end
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue