From b4ddb149cc8ed35c5c4ccd1d9ee88478e334031b Mon Sep 17 00:00:00 2001 From: Noah Masur <7386960+nmasur@users.noreply.github.com> Date: Thu, 22 Dec 2022 00:31:25 +0000 Subject: [PATCH] fix: bad references for server linux --- hosts/desktop/default.nix | 3 +++ hosts/macbook/default.nix | 1 + hosts/oracle/default.nix | 2 ++ hosts/wsl/default.nix | 5 +++-- modules/mail/default.nix | 3 ++- nixos/applications/default.nix | 5 +++++ nixos/graphical/xorg.nix | 2 +- nixos/hardware/monitors.nix | 3 --- nixos/services/backups.nix | 6 +++--- nixos/services/calibre.nix | 6 +++--- nixos/services/gitea.nix | 2 +- nixos/services/n8n.nix | 2 +- nixos/services/nextcloud.nix | 2 +- nixos/services/vaultwarden.nix | 8 ++++---- 14 files changed, 30 insertions(+), 20 deletions(-) create mode 100644 nixos/applications/default.nix diff --git a/hosts/desktop/default.nix b/hosts/desktop/default.nix index b1bc604..38f383f 100644 --- a/hosts/desktop/default.nix +++ b/hosts/desktop/default.nix @@ -11,6 +11,7 @@ nixpkgs.lib.nixosSystem { ../../modules ../../nixos globals + wsl.nixosModules.wsl home-manager.nixosModules.home-manager { physical = true; @@ -27,6 +28,7 @@ nixpkgs.lib.nixosSystem { wallpaper = "${wallpapers}/gruvbox/road.jpg"; gtk.theme.name = nixpkgs.lib.mkDefault "Adwaita-dark"; passwordHash = nixpkgs.lib.fileContents ../../private/password.sha512; + wsl.enable = false; media.enable = true; firefox.enable = true; @@ -35,6 +37,7 @@ nixpkgs.lib.nixosSystem { discord.enable = true; nautilus.enable = true; obsidian.enable = true; + mail.enable = true; mail.aerc.enable = true; mail.himalaya.enable = true; gaming.enable = true; diff --git a/hosts/macbook/default.nix b/hosts/macbook/default.nix index 52dec24..0c23455 100644 --- a/hosts/macbook/default.nix +++ b/hosts/macbook/default.nix @@ -27,6 +27,7 @@ darwin.lib.darwinSystem { nixpkgs.overlays = [ firefox-darwin.overlay ] ++ overlays; # Set registry to flake packages, used for nix X commands nix.registry.nixpkgs.flake = nixpkgs; + mail.enable = true; mail.aerc.enable = true; mail.himalaya.enable = true; kitty.enable = true; diff --git a/hosts/oracle/default.nix b/hosts/oracle/default.nix index ad1eee5..35df13a 100644 --- a/hosts/oracle/default.nix +++ b/hosts/oracle/default.nix @@ -15,12 +15,14 @@ nixpkgs.lib.nixosSystem { ../../modules ../../nixos (removeAttrs globals [ "mail.server" ]) + wsl.nixosModules.wsl home-manager.nixosModules.home-manager { server = true; gui.enable = false; theme = { colors = (import ../../colorscheme/gruvbox).dark; }; nixpkgs.overlays = overlays; + wsl.enable = false; # FQDNs for various services networking.hostName = "oracle"; diff --git a/hosts/wsl/default.nix b/hosts/wsl/default.nix index edfc27f..e076c60 100644 --- a/hosts/wsl/default.nix +++ b/hosts/wsl/default.nix @@ -7,11 +7,11 @@ nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { }; modules = [ + ../../modules + ../../nixos globals wsl.nixosModules.wsl home-manager.nixosModules.home-manager - ../../modules - ../../nixos { networking.hostName = "wsl"; # Set registry to flake packages, used for nix X commands @@ -33,6 +33,7 @@ nixpkgs.lib.nixosSystem { false; # Including Windows PATH will slow down Neovim command mode }; + mail.enable = true; mail.aerc.enable = true; mail.himalaya.enable = true; dotfiles.enable = true; diff --git a/modules/mail/default.nix b/modules/mail/default.nix index 24ac7e1..2afa517 100644 --- a/modules/mail/default.nix +++ b/modules/mail/default.nix @@ -3,6 +3,7 @@ imports = [ ./himalaya.nix ./aerc.nix ]; options = { + mail.enable = lib.mkEnableOption "Mail service."; mail.user = lib.mkOption { type = lib.types.str; description = "User name for the email address."; @@ -14,7 +15,7 @@ }; }; - config = lib.mkIf (config.mail.user != null && config.mail.server != null) { + config = lib.mkIf config.mail.enable { home-manager.users.${config.user} = { programs.mbsync = { enable = true; }; diff --git a/nixos/applications/default.nix b/nixos/applications/default.nix new file mode 100644 index 0000000..18b746c --- /dev/null +++ b/nixos/applications/default.nix @@ -0,0 +1,5 @@ +{ ... }: { + + imports = [ ./calibre.nix ]; + +} diff --git a/nixos/graphical/xorg.nix b/nixos/graphical/xorg.nix index fab1510..53f4d0e 100644 --- a/nixos/graphical/xorg.nix +++ b/nixos/graphical/xorg.nix @@ -21,7 +21,7 @@ package = pkgs."${config.gtk.theme.package}"; }; - in lib.mkIf (pkgs.stdenv.isLinux && config.gui.enable) { + in lib.mkIf config.gui.enable { # Enable the X11 windowing system. services.xserver = { diff --git a/nixos/hardware/monitors.nix b/nixos/hardware/monitors.nix index 297c475..e8cf5b9 100644 --- a/nixos/hardware/monitors.nix +++ b/nixos/hardware/monitors.nix @@ -1,8 +1,5 @@ { config, pkgs, lib, ... }: { - # Timezone required for Redshift schedule - imports = [ ../nixos/timezone.nix ]; - config = lib.mkIf (config.gui.enable && config.physical && pkgs.stdenv.isLinux) { diff --git a/nixos/services/backups.nix b/nixos/services/backups.nix index 83f4b4b..5c25048 100644 --- a/nixos/services/backups.nix +++ b/nixos/services/backups.nix @@ -44,14 +44,14 @@ systemd.services.litestream = { after = [ "backup-secret.service" ]; requires = [ "backup-secret.service" ]; - environment.AWS_ACCESS_KEY_ID = config.backupS3.accessKeyId; + environment.AWS_ACCESS_KEY_ID = config.backup.s3.accessKeyId; }; # # Backup library to object storage # services.restic.backups.calibre = { # user = "calibre-web"; # repository = - # "s3://${config.backupS3.endpoint}/${config.backupS3.bucket}/calibre"; + # "s3://${config.backup.s3.endpoint}/${config.backup.s3.bucket}/calibre"; # paths = [ # "/var/books" # "/var/lib/calibre-web/app.db" @@ -59,7 +59,7 @@ # ]; # initialize = true; # timerConfig = { OnCalendar = "00:05:00"; }; - # environmentFile = backupS3File; + # environmentFile = backup.s3File; # }; }; diff --git a/nixos/services/calibre.nix b/nixos/services/calibre.nix index a3365e0..f12ec20 100644 --- a/nixos/services/calibre.nix +++ b/nixos/services/calibre.nix @@ -53,7 +53,7 @@ let libraryPath = "/var/lib/calibre-web"; # Default location in { description = "Backup Calibre data"; - environment.AWS_ACCESS_KEY_ID = config.backupS3.accessKeyId; + environment.AWS_ACCESS_KEY_ID = config.backup.s3.accessKeyId; serviceConfig = { Type = "oneshot"; User = "calibre-web"; @@ -63,8 +63,8 @@ script = '' ${pkgs.awscli2}/bin/aws s3 sync \ ${libraryPath}/ \ - s3://${config.backupS3.bucket}/calibre/ \ - --endpoint-url=https://${config.backupS3.endpoint} + s3://${config.backup.s3.bucket}/calibre/ \ + --endpoint-url=https://${config.backup.s3.endpoint} ''; }; diff --git a/nixos/services/gitea.nix b/nixos/services/gitea.nix index 4810279..e28429d 100644 --- a/nixos/services/gitea.nix +++ b/nixos/services/gitea.nix @@ -75,7 +75,7 @@ in { path = "${giteaPath}/data/gitea.db"; replicas = [{ url = - "s3://${config.backupS3.bucket}.${config.backupS3.endpoint}/gitea"; + "s3://${config.backup.s3.bucket}.${config.backup.s3.endpoint}/gitea"; }]; }]; }; diff --git a/nixos/services/n8n.nix b/nixos/services/n8n.nix index f06b1d6..e61096d 100644 --- a/nixos/services/n8n.nix +++ b/nixos/services/n8n.nix @@ -2,7 +2,7 @@ options = { n8nServer = lib.mkOption { - type = lib.types.str; + type = lib.types.nullOr lib.types.str; description = "Hostname for n8n automation"; default = null; }; diff --git a/nixos/services/nextcloud.nix b/nixos/services/nextcloud.nix index fd1a01c..30093d5 100644 --- a/nixos/services/nextcloud.nix +++ b/nixos/services/nextcloud.nix @@ -69,7 +69,7 @@ path = "${config.services.nextcloud.datadir}/data/nextcloud.db"; replicas = [{ url = - "s3://${config.backupS3.bucket}.${config.backupS3.endpoint}/nextcloud"; + "s3://${config.backup.s3.bucket}.${config.backup.s3.endpoint}/nextcloud"; }]; }]; }; diff --git a/nixos/services/vaultwarden.nix b/nixos/services/vaultwarden.nix index c547dea..c02fa78 100644 --- a/nixos/services/vaultwarden.nix +++ b/nixos/services/vaultwarden.nix @@ -77,7 +77,7 @@ in { path = "${vaultwardenPath}/db.sqlite3"; replicas = [{ url = - "s3://${config.backupS3.bucket}.${config.backupS3.endpoint}/vaultwarden"; + "s3://${config.backup.s3.bucket}.${config.backup.s3.endpoint}/vaultwarden"; }]; }]; }; @@ -101,7 +101,7 @@ in { # Backup other Vaultwarden data to object storage systemd.services.vaultwarden-backup = { description = "Backup Vaultwarden files"; - environment.AWS_ACCESS_KEY_ID = config.backupS3.accessKeyId; + environment.AWS_ACCESS_KEY_ID = config.backup.s3.accessKeyId; serviceConfig = { Type = "oneshot"; User = "vaultwarden"; @@ -111,8 +111,8 @@ in { script = '' ${pkgs.awscli2}/bin/aws s3 sync \ ${vaultwardenPath}/ \ - s3://${config.backupS3.bucket}/vaultwarden/ \ - --endpoint-url=https://${config.backupS3.endpoint} \ + s3://${config.backup.s3.bucket}/vaultwarden/ \ + --endpoint-url=https://${config.backup.s3.endpoint} \ --exclude "*db.sqlite3*" \ --exclude ".db.sqlite3*" '';