Compare commits

..

4 commits

5 changed files with 68 additions and 10 deletions

View file

@ -5,7 +5,7 @@ My personal NixOS and home-manager configurations.
- `nixos`: My main computer.
- `vps`: 2GB KVM VPS server on [RackNerd](https://www.racknerd.com/), installed with NixOS using [nixos-infect](https://github.com/elitak/nixos-infect).
- `wsl`: NixOS on WSL via [NixOS-WSL](https://github.com/nix-community/NixOS-WSL).
- `y2q`: Spare Galaxy S20+ phone, repurposed as a Raspbian server using [Pi Deploy](https://github.com/DesktopECHO/Pi-hole-for-Android).
- `y2q`: Spare Galaxy S20+ phone, repurposed as a Ubuntu server using [chroot-distro](https://github.com/Magisk-Modules-Alt-Repo/chroot-distro).
## Deploy
```sh

View file

@ -70,7 +70,7 @@
extraSpecialArgs = { inherit inputs rootPath; };
modules = [ ./home/hosts/wsl.nix ];
};
"android@y2q" = home-manager.lib.homeManagerConfiguration {
"toast@y2q" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.aarch64-linux;
extraSpecialArgs = { inherit inputs rootPath; };
modules = [ ./home/hosts/y2q.nix ];
@ -89,12 +89,9 @@
pkgs.sops
];
packages = [
(pkgs.symlinkJoin {
name = "deploy-bin";
paths = [ ./bin ];
})
];
shellHook = ''
export PATH=${builtins.toPath ./bin}:$PATH
'';
};
}
);

View file

@ -4,6 +4,7 @@
imports = [
inputs.nixvim.homeModules.nixvim
../modules/runit
../modules/cli/git.nix
../modules/cli/ripgrep.nix
../modules/cli/btop.nix
@ -14,8 +15,8 @@
];
home = {
username = "android";
homeDirectory = "/home/android";
username = "toast";
homeDirectory = "/home/toast";
stateVersion = "24.11";
};

View file

@ -0,0 +1,50 @@
{ config, lib, ... }:
{
imports = (
let
servicesPath = ./services;
serviceModules = builtins.attrNames (builtins.readDir (servicesPath));
in
map (module: servicesPath + "/${module}") serviceModules
);
options.runit = {
services = lib.mkOption {
type = lib.types.attrsOf (lib.types.submodule ({ name, ... }: {
options = {
script = lib.mkOption {
type = lib.types.str;
description = "Shell commands executed as the service's main process";
};
log.enable = lib.mkEnableOption "Enable logging";
};
}));
};
default = {};
description = "User-level runit services under ~/runit/services/";
};
config = {
home.file = lib.mkMerge (
lib.mapAttrsToList (serviceName: sCfg:
{
# run script
"runit/services/${serviceName}/run" = {
text = sCfg.script;
executable = true;
};
# logging
"runit/services/${serviceName}/log/run" = lib.mkIf sCfg.log.enable {
text = ''
#!/bin/sh
exec svlogd -t ./main
'';
};
}
) config.runit.services
);
};
}

View file

@ -0,0 +1,10 @@
{ pkgs, ... }:
{
runit.services.glances = {
script = ''
#!/bin/bash
${pkgs.glances}/bin/glances -w
'';
};
}