3 Commits

Author SHA1 Message Date
77998b3ef5 README: clean, add build instructions 2025-09-21 20:10:09 +02:00
d15e8e5cf9 flake.nix: add vm + runnables 2025-09-21 20:09:14 +02:00
3a1dcee2db package.nix: set mainProgram 2025-09-21 20:07:00 +02:00
4 changed files with 95 additions and 3 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
*.uasm *.uasm
result result
*.qcow2

View File

@@ -1,6 +1,23 @@
this is wip # QOTD daemon
the idea was to create a uiua program that serves the [qotd port > [! CAUTION]
> This is WIP
The idea was to create a uiua program that serves the [qotd port
17](https://en.wikipedia.org/wiki/QOTD) then host it on one of pvv's machines. 17](https://en.wikipedia.org/wiki/QOTD) then host it on one of pvv's machines.
this to learn about socket programming in uiua, and to show some love to the this to learn about socket programming in uiua, and to show some love to the
oft-forgotten port 17. oft-forgotten port 17.
## Building and running
**Build:**
```console
$ nix build
```
**Run in VM:**
```console
$ nix run .#vm
```

View File

@@ -16,6 +16,19 @@
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
in f system pkgs); in f system pkgs);
in { in {
apps = forAllSystems (
system: pkgs: {
default = {
type = "app";
program = "${lib.getExe self.packages.${system}.default}";
};
vm = {
type = "app";
program = "${self.nixosConfigurations.vm.config.system.build.vm}/bin/run-nixos-vm";
};
}
);
devShells = forAllSystems (system: pkgs: { devShells = forAllSystems (system: pkgs: {
default = pkgs.mkShell { default = pkgs.mkShell {
nativeBuildInputs = [ nativeBuildInputs = [
@@ -33,5 +46,64 @@
}; };
nixosModules.default = ./nix/module.nix; nixosModules.default = ./nix/module.nix;
nixosConfigurations.vm = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
pkgs = import nixpkgs {
system = "x86_64-linux";
overlays = [
self.overlays.default
];
};
modules = [
"${nixpkgs}/nixos/modules/virtualisation/qemu-vm.nix"
self.nixosModules.default
({ config, pkgs, ... }: {
system.stateVersion = config.system.nixos.release;
virtualisation.graphics = false;
users.extraUsers.root.password = "root";
services.getty.autologinUser = "root";
environment.systemPackages = with pkgs; [
netcat
];
users.motd = ''
=======================
Welcome to the qotd vm!
Try running:
nc localhost 17
=======================
'';
services.qotd = {
enable = true;
quotes = [
''
"rm -rf /"
- felixalb on bekkalokk, 2026 (probably)
''
''
( U I U A )
- frero, 2025
''
''
bwaaa :3
- oysteikt on gitea, 2024
''
];
};
})
];
};
}; };
} }

View File

@@ -51,4 +51,6 @@ stdenvNoCC.mkDerivation {
install -Dm555 "$wrapperPath" "$out"/bin/qotd install -Dm555 "$wrapperPath" "$out"/bin/qotd
runHook postInstall runHook postInstall
''; '';
meta.mainProgram = "qotd";
} }