From 6fa1f92b1bb90f807c6616627f7b74140cdcc4e5 Mon Sep 17 00:00:00 2001 From: Tyler Starr Date: Sat, 26 Oct 2024 19:26:44 -0700 Subject: [PATCH] remove system folder and relocate modules --- provision/hosts/bulwark/configuration.nix | 3 --- provision/hosts/kestrel/configuration.nix | 5 +---- provision/modules/default.nix | 8 +++++++- .../{system => programs/base}/terminal.nix | 11 ++++++++--- .../{system/backup.nix => programs/borg.nix} | 6 +++--- provision/modules/programs/default.nix | 2 ++ provision/modules/services/default.nix | 1 + provision/modules/services/ssh.nix | 15 +++++++++++++++ provision/modules/system/default.nix | 4 ---- provision/modules/system/ssh.nix | 16 ---------------- 10 files changed, 37 insertions(+), 34 deletions(-) rename provision/modules/{system => programs/base}/terminal.nix (89%) rename provision/modules/{system/backup.nix => programs/borg.nix} (86%) create mode 100644 provision/modules/services/ssh.nix delete mode 100644 provision/modules/system/default.nix delete mode 100644 provision/modules/system/ssh.nix diff --git a/provision/hosts/bulwark/configuration.nix b/provision/hosts/bulwark/configuration.nix index 2cab8aae..851091a9 100644 --- a/provision/hosts/bulwark/configuration.nix +++ b/provision/hosts/bulwark/configuration.nix @@ -42,10 +42,7 @@ }; services = { samba-client.enable = true; - }; - system = { ssh.enable = true; - terminal.enable = true; }; }; } diff --git a/provision/hosts/kestrel/configuration.nix b/provision/hosts/kestrel/configuration.nix index 560e5cd4..1aba0f1f 100644 --- a/provision/hosts/kestrel/configuration.nix +++ b/provision/hosts/kestrel/configuration.nix @@ -49,6 +49,7 @@ }; programs = { beancount.enable = true; + borg.enable = true; chezmoi.apply = true; kitty.enable = true; virt-manager.enable = true; @@ -63,11 +64,7 @@ }; services = { samba-client.enable = true; - }; - system = { - backup.enable = true; ssh.enable = true; - terminal.enable = true; }; }; } diff --git a/provision/modules/default.nix b/provision/modules/default.nix index 8fa5036a..0490f1a8 100644 --- a/provision/modules/default.nix +++ b/provision/modules/default.nix @@ -1,4 +1,10 @@ { ... }: { - imports = [ ./desktop ./devel ./gaming ./programs ./system ./services ]; + imports = [ + ./desktop + ./devel + ./gaming + ./programs + ./services + ]; } diff --git a/provision/modules/system/terminal.nix b/provision/modules/programs/base/terminal.nix similarity index 89% rename from provision/modules/system/terminal.nix rename to provision/modules/programs/base/terminal.nix index d9dadade..5213ac15 100644 --- a/provision/modules/system/terminal.nix +++ b/provision/modules/programs/base/terminal.nix @@ -1,10 +1,15 @@ { config, lib, pkgs, user, ... }: -let cfg = config.modules.system.terminal; +let cfg = config.modules.programs.base.terminal; in { - options.modules.system.terminal.enable = lib.mkEnableOption "terminal"; - config = lib.mkIf cfg.enable { + options.modules.programs.base.terminal = with lib; { + enable = lib.mkOption { + type = with types; bool; + default = true; + }; + }; + config = lib.mkIf cfg.enable { environment.systemPackages = with pkgs; [ killall # Command-line utility to terminate processes by name. pciutils # Utilities for inspecting and manipulating devices connected to the PCI bus. diff --git a/provision/modules/system/backup.nix b/provision/modules/programs/borg.nix similarity index 86% rename from provision/modules/system/backup.nix rename to provision/modules/programs/borg.nix index 0a813ca6..3b01cd5d 100644 --- a/provision/modules/system/backup.nix +++ b/provision/modules/programs/borg.nix @@ -1,10 +1,9 @@ { config, pkgs, user, lib, ... }: -let cfg = config.modules.system.backup; +let cfg = config.modules.programs.borg; in { - options.modules.system.backup.enable = lib.mkEnableOption "backup"; + options.modules.programs.borg.enable = lib.mkEnableOption "borg"; config = lib.mkIf cfg.enable { - services.borgmatic.enable = true; environment.systemPackages = with pkgs; [ borgbackup # Deduplicating backup program tree @@ -22,5 +21,6 @@ in { rm /tmp/docker_images '') ]; + services.borgmatic.enable = true; }; } diff --git a/provision/modules/programs/default.nix b/provision/modules/programs/default.nix index a9bebcef..e075c027 100644 --- a/provision/modules/programs/default.nix +++ b/provision/modules/programs/default.nix @@ -1,7 +1,9 @@ { ... }: { imports = [ + ./base/terminal.nix ./beancount.nix + ./borg.nix ./chrome ./firefox ./git.nix diff --git a/provision/modules/services/default.nix b/provision/modules/services/default.nix index 6dcc5867..35c9a3d4 100644 --- a/provision/modules/services/default.nix +++ b/provision/modules/services/default.nix @@ -2,5 +2,6 @@ { imports = [ ./samba-client.nix + ./ssh.nix ]; } diff --git a/provision/modules/services/ssh.nix b/provision/modules/services/ssh.nix new file mode 100644 index 00000000..79dd1a69 --- /dev/null +++ b/provision/modules/services/ssh.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, user, ... }: + +let cfg = config.modules.services.ssh; +in { + options.modules.services.ssh.enable = lib.mkEnableOption "ssh"; + config = lib.mkIf cfg.enable { + services.openssh.enable = true; + services.pcscd.enable = true; + programs.gnupg.agent = { + enable = true; + pinentryPackage = pkgs.pinentry-curses; + enableSSHSupport = true; + }; + }; +} diff --git a/provision/modules/system/default.nix b/provision/modules/system/default.nix deleted file mode 100644 index b2e001a1..00000000 --- a/provision/modules/system/default.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ ... }: -{ - imports = [ ./backup.nix ./ssh.nix ./terminal.nix ]; -} diff --git a/provision/modules/system/ssh.nix b/provision/modules/system/ssh.nix deleted file mode 100644 index a0fbce5f..00000000 --- a/provision/modules/system/ssh.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ config, lib, pkgs, user, ... }: - -let cfg = config.modules.system.ssh; -in { - options.modules.system.ssh.enable = lib.mkEnableOption "ssh"; - config = lib.mkIf cfg.enable { - # Enable the OpenSSH daemon. - services.openssh.enable = true; - services.pcscd.enable = true; - programs.gnupg.agent = { - enable = true; - pinentryPackage = pkgs.pinentry-curses; - enableSSHSupport = true; - }; - }; -}