flake: clean up modules

This commit is contained in:
Infinidoge 2024-10-22 11:34:51 -04:00
parent 28f18c9a99
commit 8cd8b3a3f9
Signed by: Infinidoge
SSH key fingerprint: SHA256:oAMyvotlNFraMmZmr+p6AxnNfW/GioTs1pOn3V4tQ7A
64 changed files with 258 additions and 273 deletions

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }: { ... }:
let let
uuid = uuid: "/dev/disk/by-uuid/${uuid}"; uuid = uuid: "/dev/disk/by-uuid/${uuid}";

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }: { ... }:
{ {
boot.initrd.availableKernelModules = [ "nvme" "ahci" "xhci_pci" "usbhid" "sd_mod" ]; boot.initrd.availableKernelModules = [ "nvme" "ahci" "xhci_pci" "usbhid" "sd_mod" ];

View file

@ -1,4 +1,4 @@
{ config, private, ... }: { private, ... }:
{ {
services.factorio = { services.factorio = {

View file

@ -1,7 +1,7 @@
{ config, pkgs, common, ... }: { config, common, pkgs, ... }:
let let
cfg = config.services.forgejo; cfg = config.services.forgejo;
domain = config.common.subdomain "git"; domain = common.subdomain "git";
in in
{ {
persist.directories = [ "/var/lib/private/gitea-runner/" ]; persist.directories = [ "/var/lib/private/gitea-runner/" ];
@ -25,10 +25,10 @@ in
settings = { settings = {
server = { server = {
ROOT_URL = "https://${domain}/"; ROOT_URL = "https://${domain}/";
SSH_DOMAIN = config.common.domain; SSH_DOMAIN = common.domain;
LANDING_PAGE = "explore"; LANDING_PAGE = "explore";
}; };
mailer = with config.common.email; { mailer = with common.email; {
ENABLED = true; ENABLED = true;
PROTOCOL = "smtps"; PROTOCOL = "smtps";
SMTP_ADDR = smtp.address; SMTP_ADDR = smtp.address;
@ -49,7 +49,7 @@ in
service = { service = {
DISABLE_REGISTRATION = true; DISABLE_REGISTRATION = true;
OFFLINE_MODE = false; OFFLINE_MODE = false;
NO_REPLY_ADDRESS = config.common.email.outgoing; NO_REPLY_ADDRESS = common.email.outgoing;
}; };
indexer = { indexer = {
REPO_INDEXER_ENABLED = true; REPO_INDEXER_ENABLED = true;
@ -96,7 +96,7 @@ in
}; };
}; };
services.nginx.virtualHosts.${domain} = config.common.nginx.ssl // { services.nginx.virtualHosts.${domain} = common.nginx.ssl // {
locations."/" = { locations."/" = {
proxyPass = "http://${cfg.settings.server.DOMAIN}:${toString cfg.settings.server.HTTP_PORT}"; proxyPass = "http://${cfg.settings.server.DOMAIN}:${toString cfg.settings.server.HTTP_PORT}";
extraConfig = '' extraConfig = ''

View file

@ -1,10 +1,10 @@
{ config, ... }: { config, common, ... }:
let let
domain = "freshrss.inx.moe"; domain = "freshrss.inx.moe";
in in
{ {
services.nginx.virtualHosts.${domain} = config.common.nginx.ssl; services.nginx.virtualHosts.${domain} = common.nginx.ssl;
services.freshrss = { services.freshrss = {
enable = true; enable = true;

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, modulesPath, ... }: { lib, modulesPath, ... }:
{ {
imports = [ imports = [

View file

@ -1,11 +1,11 @@
{ config, pkgs, lib, ... }: { config, common, ... }:
let let
domain = config.common.subdomain "hydra"; domain = common.subdomain "hydra";
in in
{ {
services.nginx.virtualHosts.${domain} = config.common.nginx.ssl // { services.nginx.virtualHosts.${domain} = common.nginx.ssl // {
locations."/" = { locations."/" = {
proxyPass = "http://localhost:${builtins.toString config.services.hydra.port}"; proxyPass = "http://localhost:${toString config.services.hydra.port}";
}; };
}; };
@ -14,13 +14,13 @@ in
port = 3333; port = 3333;
baseDir = "/srv/hydra"; baseDir = "/srv/hydra";
hydraURL = "https://${domain}"; hydraURL = "https://${domain}";
notificationSender = config.common.email.withSubaddress "hydra"; notificationSender = common.email.withSubaddress "hydra";
smtpHost = config.common.email.smtp.address; smtpHost = common.email.smtp.address;
useSubstitutes = true; useSubstitutes = true;
environmentFile = config.secrets.hydra; environmentFile = config.secrets.hydra;
extraEnv = { extraEnv = {
EMAIL_SENDER_TRANSPORT_sasl_username = config.common.email.outgoing; EMAIL_SENDER_TRANSPORT_sasl_username = common.email.outgoing;
EMAIL_SENDER_TRANSPORT_port = builtins.toString config.common.email.smtp.SSLTLS; EMAIL_SENDER_TRANSPORT_port = toString common.email.smtp.SSLTLS;
EMAIL_SENDER_TRANSPORT_ssl = "ssl"; EMAIL_SENDER_TRANSPORT_ssl = "ssl";
}; };
extraConfig = '' extraConfig = ''

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }: { config, common, ... }:
let let
address = "127.0.0.1"; address = "127.0.0.1";
port = 8096; port = 8096;
@ -13,7 +13,7 @@ let
''; '';
in in
{ {
services.nginx.virtualHosts."jellyfin.inx.moe" = config.common.nginx.ssl // { services.nginx.virtualHosts."jellyfin.inx.moe" = common.nginx.ssl // {
extraConfig = '' extraConfig = ''
client_max_body_size 20M; client_max_body_size 20M;
''; '';

View file

@ -1,12 +1,12 @@
# Unused # Unused
{ config, pkgs, lib, ... }: { config, common, ... }:
let let
cfg = config.services.jitsi-meet; cfg = config.services.jitsi-meet;
in in
{ {
services.jitsi-meet = { services.jitsi-meet = {
enable = true; enable = true;
hostName = config.common.subdomain "meet"; hostName = common.subdomain "meet";
config = { config = {
prejoinPageEnabled = true; prejoinPageEnabled = true;
disableModeratorIndicator = true; disableModeratorIndicator = true;

View file

@ -1,5 +1,7 @@
{ config, pkgs, ... }: { config, common, pkgs, ... }:
let let
cfg = config.services.jupyter;
mkPythonKernel = displayName: env: { mkPythonKernel = displayName: env: {
inherit displayName; inherit displayName;
language = "python"; language = "python";
@ -53,10 +55,10 @@ in
}) })
]; ];
services.nginx.virtualHosts."jupyter.internal.inx.moe" = config.common.nginx.ssl // { services.nginx.virtualHosts."jupyter.internal.inx.moe" = common.nginx.ssl // {
listenAddresses = [ "100.101.102.124" ]; listenAddresses = [ "100.101.102.124" ];
locations."/" = { locations."/" = {
proxyPass = "http://localhost:${toString config.services.jupyter.port}"; proxyPass = "http://localhost:${toString cfg.port}";
proxyWebsockets = true; proxyWebsockets = true;
}; };
}; };

View file

@ -1,5 +1,6 @@
{ pkgs, config, lib, ... }: { config, pkgs, ... }:
let let
cfg = config.services.postgresql;
directory = "/srv/postgresql"; directory = "/srv/postgresql";
in in
{ {
@ -8,6 +9,6 @@ in
services.postgresql = { services.postgresql = {
enable = true; enable = true;
package = pkgs.postgresql_16; package = pkgs.postgresql_16;
dataDir = "${directory}/${config.services.postgresql.package.psqlSchema}"; dataDir = "${directory}/${cfg.package.psqlSchema}";
}; };
} }

View file

@ -1,19 +1,22 @@
{ pkgs, config, ... }: { config, pkgs, ... }:
let
cfg = config.services.openssh;
in
{ {
users.users.incoming = { users.users = {
incoming = {
description = "User for incoming files with a chroot jail"; description = "User for incoming files with a chroot jail";
isSystemUser = true; isSystemUser = true;
group = "incoming"; group = "incoming";
}; };
users.groups.incoming = { };
users.users.jump = { jump = {
description = "User for ssh jumping"; description = "User for ssh jumping";
isSystemUser = true; isSystemUser = true;
group = "nogroup"; group = "nogroup";
}; };
users.users.neofetch = { neofetch = {
description = "SSH Neofetch"; description = "SSH Neofetch";
isSystemUser = true; isSystemUser = true;
group = "nogroup"; group = "nogroup";
@ -21,12 +24,16 @@
shell = pkgs.bash; shell = pkgs.bash;
}; };
users.users.guest = { guest = {
description = "Guest shell account for temporary access"; description = "Guest shell account for temporary access";
group = "users"; group = "users";
isNormalUser = true; isNormalUser = true;
shell = pkgs.bash; shell = pkgs.bash;
}; };
};
users.groups = {
incoming = { };
};
security.pam.services.sshd.allowNullPassword = true; security.pam.services.sshd.allowNullPassword = true;
@ -41,7 +48,7 @@
Match user incoming Match user incoming
AuthorizedKeysFile /etc/ssh/authorized_keys.d/infinidoge /etc/ssh/authorized_keys.d/%u AuthorizedKeysFile /etc/ssh/authorized_keys.d/infinidoge /etc/ssh/authorized_keys.d/%u
ChrootDirectory /srv/external ChrootDirectory /srv/external
ForceCommand ${config.services.openssh.sftpServerExecutable} -d incoming -u 007 ForceCommand ${cfg.sftpServerExecutable} -d incoming -u 007
X11Forwarding no X11Forwarding no
AllowTcpForwarding no AllowTcpForwarding no
KbdInteractiveAuthentication no KbdInteractiveAuthentication no

View file

@ -1,7 +1,7 @@
{ config, pkgs, ... }: { config, common, pkgs, ... }:
{ {
services.nginx.virtualHosts."thelounge.inx.moe" = config.common.nginx.ssl // { services.nginx.virtualHosts."thelounge.inx.moe" = common.nginx.ssl // {
locations."/" = { locations."/" = {
proxyPass = "http://localhost:${toString config.services.thelounge.port}"; proxyPass = "http://localhost:${toString config.services.thelounge.port}";
}; };

View file

@ -1,11 +1,11 @@
{ config, lib, pkgs, ... }: { config, common, lib, pkgs, ... }:
let let
domain = config.common.subdomain "bitwarden"; domain = common.subdomain "bitwarden";
in in
{ {
persist.directories = [ config.services.vaultwarden.dataDir ]; persist.directories = [ config.services.vaultwarden.dataDir ];
services.nginx.virtualHosts.${domain} = config.common.nginx.ssl // { services.nginx.virtualHosts.${domain} = common.nginx.ssl // {
locations."/" = { locations."/" = {
proxyPass = "http://127.0.0.1:${toString config.services.vaultwarden.config.ROCKET_PORT}"; proxyPass = "http://127.0.0.1:${toString config.services.vaultwarden.config.ROCKET_PORT}";
}; };
@ -15,7 +15,7 @@ in
enable = true; enable = true;
environmentFile = config.secrets."vaultwarden"; environmentFile = config.secrets."vaultwarden";
dataDir = "/srv/vaultwarden"; dataDir = "/srv/vaultwarden";
config = with config.common.email; { config = with common.email; {
DOMAIN = "https://${domain}"; DOMAIN = "https://${domain}";
SIGNUPS_ALLOWED = false; SIGNUPS_ALLOWED = false;

View file

@ -1,6 +1,6 @@
{ config, pkgs, lib, ... }: { config, common, pkgs, lib, ... }:
let let
inherit (config.common.nginx) ssl ssl-optional; inherit (common.nginx) ssl ssl-optional;
tryFiles = "$uri $uri.html $uri/ =404"; tryFiles = "$uri $uri.html $uri/ =404";
websiteConfig = '' websiteConfig = ''

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }: { lib, ... }:
{ {
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];

View file

@ -1,4 +1,4 @@
{ config, pkgs, lib, private, ... }: { { ... }: {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./filesystems.nix ./filesystems.nix

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }: { ... }:
let let
uuid = uuid: "/dev/disk/by-uuid/${uuid}"; uuid = uuid: "/dev/disk/by-uuid/${uuid}";
main = uuid "9d4bf2d8-f139-42e7-937a-541a7870d806"; main = uuid "9d4bf2d8-f139-42e7-937a-541a7870d806";

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }: { lib, ... }:
{ {
boot.initrd.availableKernelModules = [ "ahci" "nvme" "sd_mod" "usb_storage" "usbhid" "xhci_pci" ]; boot.initrd.availableKernelModules = [ "ahci" "nvme" "sd_mod" "usb_storage" "usbhid" "xhci_pci" ];

View file

@ -1,4 +1,4 @@
{ lib, config, pkgs, ... }: { { pkgs, ... }: {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./filesystems.nix ./filesystems.nix

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }: { ... }:
let let
uuid = uuid: "/dev/disk/by-uuid/${uuid}"; uuid = uuid: "/dev/disk/by-uuid/${uuid}";

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, modulesPath, ... }: { lib, modulesPath, ... }:
{ {
imports = [ imports = [

View file

@ -1,4 +1,4 @@
{ config, pkgs, lib, private, ... }: { { ... }: {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./filesystems.nix ./filesystems.nix

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }: { lib, ... }:
let let
uuid = uuid: "/dev/disk/by-uuid/${uuid}"; uuid = uuid: "/dev/disk/by-uuid/${uuid}";

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }: { lib, ... }:
{ {
boot.initrd.availableKernelModules = [ "nvme" "usb_storage" "xhci_pci" "ahci" "usbhid" "sd_mod" ]; boot.initrd.availableKernelModules = [ "nvme" "usb_storage" "xhci_pci" "ahci" "usbhid" "sd_mod" ];

View file

@ -1,4 +1,4 @@
{ lib, config, pkgs, ... }: { { pkgs, ... }: {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./filesystems.nix ./filesystems.nix

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, modulesPath, ... }: { lib, modulesPath, ... }:
{ {
imports = [ imports = [

View file

@ -1,4 +1,4 @@
{ pkgs, lib, ... }: { pkgs, ... }:
{ {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, modulesPath, ... }: { lib, modulesPath, ... }:
{ {
imports = imports =

View file

@ -1,4 +1,4 @@
{ pkgs, lib, ... }: { ... }:
{ {
system.stateVersion = "22.05"; system.stateVersion = "22.05";

View file

@ -1,4 +1,4 @@
{ private, config, lib, pkgs, ... }: { pkgs, ... }:
{ {
modules.hardware.form.server = true; modules.hardware.form.server = true;

View file

@ -1,4 +1,4 @@
{ config, lib, ... }: { config, ... }:
{ {
programs = { programs = {
# Enable dconf for programs that need it # Enable dconf for programs that need it

View file

@ -1,4 +1,4 @@
{ lib, pkgs, config, ... }: { config, lib, ... }:
lib.mkIf config.info.graphical { lib.mkIf config.info.graphical {
boot.extraModulePackages = with config.boot.kernelPackages; [ boot.extraModulePackages = with config.boot.kernelPackages; [

View file

@ -1,4 +1,4 @@
{ pkgs, config, private, ... }: { config, pkgs, private, ... }:
{ {
imports = [ private.nixosModules.networking ]; imports = [ private.nixosModules.networking ];

View file

@ -1,5 +1,5 @@
# Heavily inspired by hlissner: https://github.com/hlissner/dotfiles/blob/master/modules/options.nix # Heavily inspired by hlissner: https://github.com/hlissner/dotfiles/blob/master/modules/options.nix
{ config, options, lib, home-manager, ... }: { config, options, lib, ... }:
with lib; with lib;
with lib.our; with lib.our;
let let

View file

@ -1,4 +1,4 @@
{ config, lib, ... }: { common, lib, ... }:
with lib; with lib;
{ {
# For rage encryption, all hosts need a ssh key pair # For rage encryption, all hosts need a ssh key pair
@ -17,7 +17,7 @@ with lib;
}; };
programs.ssh = { programs.ssh = {
extraConfig = with config.common; '' extraConfig = with common; ''
Host rsync.net Host rsync.net
Hostname ${rsyncnet.host} Hostname ${rsyncnet.host}
User ${rsyncnet.user} User ${rsyncnet.user}

View file

@ -1,4 +1,4 @@
{ pkgs, lib, config, ... }: { config, common, pkgs, lib, ... }:
with lib; with lib;
with lib.our; with lib.our;
let let
@ -30,7 +30,7 @@ in
programs.xss-lock = { programs.xss-lock = {
enable = true; enable = true;
lockerCommand = lib.getExe config.common.wm.locker; lockerCommand = lib.getExe common.wm.locker;
}; };
# Automatically attach/detatch connected/disconnected monitors # Automatically attach/detatch connected/disconnected monitors
@ -64,7 +64,7 @@ in
pavucontrol pavucontrol
config.common.wm.locker common.wm.locker
]; ];
} }
(mkIf cfg.qtile.enable { (mkIf cfg.qtile.enable {

View file

@ -1,4 +1,4 @@
{ options, config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib; with lib;
with lib.our; with lib.our;

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, inputs, ... }: { config, lib, pkgs, ... }:
with lib; with lib;
with lib.our; with lib.our;
let let

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, private, ... }: { config, lib, private, ... }:
with lib; with lib;
with lib.our; with lib.our;
let let

View file

@ -1,4 +1,4 @@
{ config, options, lib, pkgs, ... }: { config, lib, ... }:
with lib; with lib;
with lib.our; with lib.our;
let let

View file

@ -1,4 +1,4 @@
{ pkgs, lib, config, ... }: { config, pkgs, lib, ... }:
with lib; with lib;

View file

@ -1,4 +1,4 @@
{ config, self, lib, pkgs, inputs, ... }: { config, lib, pkgs, ... }:
let let
inherit (lib) flatten optional mkIf; inherit (lib) flatten optional mkIf;
ifGraphical = lib.optionals config.info.graphical; ifGraphical = lib.optionals config.info.graphical;

View file

@ -1,4 +1,4 @@
{ pkgs, config, lib, ... }: { config, pkgs, lib, ... }:
# Modified from https://github.com/nix-community/impermanence/blob/master/home-manager.nix # Modified from https://github.com/nix-community/impermanence/blob/master/home-manager.nix

View file

@ -1,4 +1,4 @@
{ config, main, pkgs, lib, ... }: { main, ... }:
{ {
services.flameshot = { services.flameshot = {
enable = main.info.graphical; enable = main.info.graphical;

View file

@ -1,4 +1,5 @@
{ pkgs, ... }: { { pkgs, ... }:
{
home.packages = with pkgs; [ home.packages = with pkgs; [
gh gh
git-absorb git-absorb

View file

@ -1,4 +1,5 @@
{ config, ... }: { { config, ... }:
{
programs.htop = { programs.htop = {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }: { config, ... }:
{ {
programs.keychain = { programs.keychain = {
enable = true; enable = true;

View file

@ -1,10 +1,9 @@
{ main, pkgs, lib, ... }: { pkgs, ... }:
{ {
config = {
programs.kitty = { programs.kitty = {
enable = true; enable = true;
font = { font = rec {
package = (pkgs.nerdfonts.override { fonts = [ "DejaVuSansMono" ]; }); package = (pkgs.nerdfonts.override { fonts = [ name ]; });
name = "DejaVuSansMono"; name = "DejaVuSansMono";
size = 12; size = 12;
}; };
@ -19,5 +18,4 @@
#ssh = "kitty +kitten ssh"; #ssh = "kitty +kitten ssh";
icat = "kitty +kitten icat"; icat = "kitty +kitten icat";
}; };
};
} }

View file

@ -1,4 +1,4 @@
{ main, config, lib, pkgs, ... }: { main, lib, pkgs, ... }:
lib.mkIf main.info.graphical lib.mkIf main.info.graphical
{ {
services = { services = {

View file

@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }: { pkgs, ... }:
{ {
programs.nixvim = { programs.nixvim = {
enable = true; enable = true;

View file

@ -1,4 +1,4 @@
{ pkgs, main, config, ... }: { main, pkgs, ... }:
{ {
programs.obs-studio = { programs.obs-studio = {

View file

@ -1,9 +0,0 @@
{ ... }: {
imports = [
./bash.nix
./fish.nix
./ion.nix
./nushell.nix
./zsh.nix
];
}

View file

@ -1,15 +1,10 @@
{ config, pkgs, lib, ... }: { { config, lib, ... }:
imports = [ ./common.nix ]; {
programs.bash = {
programs = {
bash = {
enable = true; enable = true;
enableVteIntegration = true; enableVteIntegration = true;
initExtra = '' initExtra = ''
source <(${lib.getExe config.programs.kitty.package} + complete setup bash) source <(${lib.getExe config.programs.kitty.package} + complete setup bash)
''; '';
}; };
starship.enableBashIntegration = true;
};
} }

View file

@ -1,4 +1,5 @@
{ ... }: { { ... }:
{
programs.nix-index = { programs.nix-index = {
enable = true; enable = true;
enableBashIntegration = false; enableBashIntegration = false;

View file

@ -1,8 +1,6 @@
{ config, lib, pkgs, ... }: { { config, lib, ... }:
imports = [ ./common.nix ]; {
programs.fish = {
programs = {
fish = {
enable = true; enable = true;
functions = { }; functions = { };
shellAbbrs = { }; shellAbbrs = { };
@ -11,7 +9,4 @@
set -U fish_greeting set -U fish_greeting
''; '';
}; };
starship.enableFishIntegration = lib.mkIf config.programs.starship.enable true;
};
} }

View file

@ -1,11 +1,6 @@
{ config, pkgs, ... }: { { ... }:
imports = [ ./common.nix ]; {
programs.ion = {
programs = {
ion = {
enable = true; enable = true;
}; };
starship.enableIonIntegration = true;
};
} }

View file

@ -1,4 +1,5 @@
{ ... }: { { ... }:
{
programs.nushell = { programs.nushell = {
enable = true; enable = true;
extraConfig = '' extraConfig = ''

View file

@ -1,8 +1,6 @@
{ config, lib, pkgs, main, ... }: { { config, main, pkgs, ... }:
imports = [ ./common.nix ]; {
programs.zsh = rec {
programs = {
zsh = rec {
enable = true; enable = true;
enableCompletion = true; enableCompletion = true;
@ -112,7 +110,4 @@
]; ];
}; };
}; };
starship.enableZshIntegration = lib.mkIf config.programs.starship.enable true;
};
} }

View file

@ -1,4 +1,5 @@
{ ... }: { { ... }:
{
programs.ssh = { programs.ssh = {
enable = true; enable = true;
controlMaster = "auto"; controlMaster = "auto";

View file

@ -1,7 +1,7 @@
{ ... }: { { ... }:
{
programs.starship = { programs.starship = {
enable = true; enable = true;
enableBashIntegration = true;
settings = settings =
let let

View file

@ -1,4 +1,4 @@
{ lib, main, config, pkgs, ... }: { config, main, lib, pkgs, ... }:
lib.mkIf main.info.graphical lib.mkIf main.info.graphical
{ {
gtk = { gtk = {

View file

@ -1,4 +1,5 @@
{ ... }: { { ... }:
{
programs.tmux = { programs.tmux = {
enable = true; enable = true;
mouse = true; mouse = true;

View file

@ -1,4 +1,4 @@
{ lib, config, pkgs, ... }: { { config, lib, pkgs, ... }: {
users.users.root = { users.users.root = {
shell = pkgs.zsh; shell = pkgs.zsh;
hashedPasswordFile = lib.mkIf config.modules.secrets.enable config.secrets.root-password; hashedPasswordFile = lib.mkIf config.modules.secrets.enable config.secrets.root-password;