diff options
Diffstat (limited to 'nixos/features/services/extra')
| -rw-r--r-- | nixos/features/services/extra/plymouth.nix | 36 | ||||
| -rw-r--r-- | nixos/features/services/extra/sddm.nix | 23 | ||||
| -rw-r--r-- | nixos/features/services/extra/ssh.nix | 14 | ||||
| -rw-r--r-- | nixos/features/services/extra/syncthing-client.nix | 35 | ||||
| -rw-r--r-- | nixos/features/services/extra/udisks2.nix | 12 |
5 files changed, 120 insertions, 0 deletions
diff --git a/nixos/features/services/extra/plymouth.nix b/nixos/features/services/extra/plymouth.nix new file mode 100644 index 0000000..07f00cd --- /dev/null +++ b/nixos/features/services/extra/plymouth.nix @@ -0,0 +1,36 @@ +{ config, pkgs, lib, ... }: let + cfg = config.features.services.extra.plymouth; +in { + options.features.services.extra.plymouth.enable = lib.mkEnableOption "plymouth"; + config = lib.mkIf cfg.enable { + boot = { + plymouth = { + enable = true; + theme = "dark_planet"; + themePackages = with pkgs; [ + # By default we would install all themes + (adi1090x-plymouth-themes.override { + selected_themes = [ "dark_planet" ]; + }) + ]; + }; + + # Enable "Silent Boot" + consoleLogLevel = 0; + initrd.verbose = false; + kernelParams = [ + "quiet" + "splash" + "boot.shell_on_fail" + "loglevel=3" + "rd.systemd.show_status=false" + "rd.udev.log_level=3" + "udev.log_priority=3" + ]; + # Hide the OS choice for bootloaders. + # It's still possible to open the bootloader list by pressing any key + # It will just not appear on screen unless a key is pressed + loader.timeout = 0; + }; + }; +} diff --git a/nixos/features/services/extra/sddm.nix b/nixos/features/services/extra/sddm.nix new file mode 100644 index 0000000..f266575 --- /dev/null +++ b/nixos/features/services/extra/sddm.nix @@ -0,0 +1,23 @@ +{ config, pkgs, lib, ... }: let + cfg = config.features.services.extra.sddm; + sddm-astronaut = pkgs.sddm-astronaut.override { + themeConfig = { + # Background = ./background.png; + }; + }; +in { + options.features.services.extra.sddm.enable = lib.mkEnableOption "sddm"; + config = lib.mkIf cfg.enable { + services = { + displayManager.sddm = { + enable = true; + wayland.enable = true; + package = pkgs.kdePackages.sddm; + theme = "sddm-astronaut-theme"; + extraPackages = [ sddm-astronaut ]; + }; + # xserver.enable = true; + }; + environment.systemPackages = [ sddm-astronaut ]; + }; +} diff --git a/nixos/features/services/extra/ssh.nix b/nixos/features/services/extra/ssh.nix new file mode 100644 index 0000000..d1cee26 --- /dev/null +++ b/nixos/features/services/extra/ssh.nix @@ -0,0 +1,14 @@ +{ config, lib, ... }: let + cfg = config.features.services.extra.ssh; +in { + options.features.services.extra.ssh.enable = lib.mkEnableOption "ssh"; + config = lib.mkIf cfg.enable { + services.openssh = { + enable = true; + settings = { + PermitRootLogin = "no"; + PasswordAuthentication = false; + }; + }; + }; +} diff --git a/nixos/features/services/extra/syncthing-client.nix b/nixos/features/services/extra/syncthing-client.nix new file mode 100644 index 0000000..6d3d3d3 --- /dev/null +++ b/nixos/features/services/extra/syncthing-client.nix @@ -0,0 +1,35 @@ +{ config, pkgs, lib, ... }: let + cfg = config.features.services.extra.syncthing-client; +in { + options.features.services.extra.syncthing-client = { + enable = lib.mkEnableOption "syncthing"; + username = lib.mkOption { + type = lib.types.str; + description = "The username of syncthing's user"; + }; + }; + config = lib.mkIf cfg.enable { + services.syncthing = { + enable = true; + user = cfg.username; + dataDir = "/home/${cfg.username}/Sync"; + configDir = "/home/${cfg.username}/.config/syncthing"; + overrideDevices = true; + overrideFolders = true; + settings = { + devices = { + "prodesk-server" = { + id = "SBH4S2T-B7KVAAI-BKBOQKZ-YSNQDSM-TKXPV6O-OSZUD3O-N6USL6L-DHL3BAK"; + }; + }; + folders = { + "Main" = { + path = "/home/${cfg.username}/Sync"; + devices = [ "prodesk-server" ]; + }; + }; + }; + }; + environment.systemPackages = [ pkgs.syncthing ]; + }; +} diff --git a/nixos/features/services/extra/udisks2.nix b/nixos/features/services/extra/udisks2.nix new file mode 100644 index 0000000..2ec2fa4 --- /dev/null +++ b/nixos/features/services/extra/udisks2.nix @@ -0,0 +1,12 @@ +{ + config, + lib, + ... +}: let + cfg = config.features.services.extra.udisks2; +in { + options.features.services.extra.udisks2.enable = lib.mkEnableOption "udisks2"; + config = lib.mkIf cfg.enable { + services.udisks2.enable = true; + }; +} |
