Move to deploy-rs, add basic configuration
diff --git a/host/github.nix b/host/github.nix
new file mode 100644
index 0000000..189c262
--- /dev/null
+++ b/host/github.nix
@@ -0,0 +1,5 @@
+{ pkgs, ... }: {
+ environment.systemPackages = [
+ pkgs.gh
+ ];
+}
diff --git a/host/shell.nix b/host/shell.nix
new file mode 100644
index 0000000..cc2e6d5
--- /dev/null
+++ b/host/shell.nix
@@ -0,0 +1,13 @@
+{ pkgs, ... }: {
+ users.defaultUserShell = pkgs.zsh;
+
+ programs.zsh = {
+ enable = true;
+ ohMyZsh = [ "zsh-syntax-highlighting" "git" "git-auto-fetch" "gh" ];
+ autosuggestions = {
+ enable = true;
+ async = true;
+ };
+ syntaxHighlighting.enable = true;
+ };
+}
diff --git a/host/sshKeys/minion b/host/sshKeys/minion
new file mode 100644
index 0000000..a64e3fc
--- /dev/null
+++ b/host/sshKeys/minion
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCW6p9/BRP+zgYj50MY2ncAMtsEGfD8HhGlb7T2SFjBvK5GrYu1WhbPgYN/+CvnC5MXOOzAoMl4u7TlSBf2EVIQf6PTYa9HQFXX1zhkNji53eTddI6DO3Vxd4te1jWwN3XpLrqyX9lw/o/oFDJ97GolGA8CjeamQLBKSf95/BMHwqYYQUQzzRBg+TUYMVleH1smsSxbOg497Eyqlk6lwpEW17X6zW2ulBalfbekuv3NZ/+Ca2CCQMYZ4Ieqr0T0aAdToQG0H2DjOQZnOPNJW9qAuv86X6u/A0BOKTMPQ8khH0pxUsk4xBA9s7YgRtpLhNPTVhC7q6LJywBBBDNrx1Bg7bU0/5f/fHGgLQj3xWLJA3B6v1c4XIf5IQzNoGNbhrJM1bbjtUYI/c0UAd2ID0dFX8VO8JZYrDz9fRcq2MS6/0/zRee1Yk6A/9EembZJ3CoXdtM3tNXBYtlDuObMAml+8QBkBPcF31PuHEtzRMbLe0zx0HKlQUj86onVXs/yK4M= minion@python
diff --git a/host/sshKeys/pinea b/host/sshKeys/pinea
new file mode 100644
index 0000000..be15e9f
--- /dev/null
+++ b/host/sshKeys/pinea
@@ -0,0 +1 @@
+ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMX92qv+fNaNThFXAaQnSpclmxCSnA9ftilSUEb4lwG3 GitHub
\ No newline at end of file
diff --git a/host/texts/MOTD b/host/texts/MOTD
new file mode 100644
index 0000000..1993df3
--- /dev/null
+++ b/host/texts/MOTD
@@ -0,0 +1,15 @@
+┌────────────────────────────────────────┐
+│ │
+│ ┌─── │ │ │
+│ │ │ │ │
+│ │ │ │ │
+│ │ │ │ │
+│ └──► ├──► ▼ │
+│ │
+│ │
+│ │
+│ ──► │
+│ │
+│ │
+│ │
+└────────────────────────────────────────┘
diff --git a/host/users.nix b/host/users.nix
new file mode 100644
index 0000000..a09372c
--- /dev/null
+++ b/host/users.nix
@@ -0,0 +1,31 @@
+{ pkgs, ... }: let
+ createUser = { username, realname, founder = false, sudo = false, ... }: {
+ description = realname;
+ extraGroups = (
+ (if founder then [ "founder" ] else []) ++
+ (if founder || sudo then [ "wheel" ] else [])
+ );
+ isNormalUser = true;
+ openssh.authorizedKeys.keyFiles = [ "./sshKeys/${username}" ];
+ };
+
+ users = {
+ "coded" = { realname = "Sam"; founder = true; };
+ "minion" = { realname = "Skyler"; founder = true; };
+ "pineapplefan" = { realname = "Ash"; founder = true; };
+ "eek" = { realname = "Nexus"; sudo = true; };
+ };
+in {
+ users = {
+ mutableUsers = false;
+ motd = ''
+ Welcome to Clicks! Please make sure to follow all guidelines for using the server, which you can find by typing
+ `guidelines` in your terminal. In particular, please remember to use this server as minimally as possible (e.g.
+ by keeping as much of your work as is possible stateless and by using your personal
+ "${builtins.readFile ./texts/MOTD}"
+ '';
+ defaultUserShell = pkgs.zsh;
+ users = builtins.mapAttrs (name: value: createUser { username = name; } // value) users;
+ groups = { };
+ };
+}