changed discord bot from docker container to systemd service

This commit is contained in:
ISnortPennies 2023-01-19 20:40:22 -05:00
parent e1987d6461
commit 257c6102ff
9 changed files with 67 additions and 50 deletions

View file

@ -1,25 +1,35 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
{ {
system.stateVersion = "23.05"; system.stateVersion = "23.05";
environment = { environment = {
defaultPackages = [ ]; defaultPackages = [ ]; #don't install anything by default
binsh = "${pkgs.dash}/bin/dash"; binsh = "${pkgs.dash}/bin/dash"; #use dash for speed
variables = { variables = {
EDITOR = "nvim"; EDITOR = "vi";
VISUAL = "vi";
}; };
}; };
# boot faster #nix stuff
systemd.services.NetworkManager-wait-online.enable = false;
nix = { nix = {
settings = { settings = {
auto-optimise-store = true; auto-optimise-store = true; #save space
cores = 0; cores = 0; # use all cores
keep-outputs = false; #don't make ./results files
keep-derivations = false; #^
experimental-features = "nix-command flakes";
}; };
extraOptions = '' };
keep-outputs = false #sound settings
keep-derivations = false security.rtkit.enable = true;
experimental-features = nix-command flakes sound.enable = false; #disable alsa
''; services.pipewire = {
enable = true;
wireplumber.enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
}; };
networking = { networking = {
firewall = { firewall = {
@ -28,13 +38,28 @@
}; };
networkmanager.enable = true; networkmanager.enable = true;
}; };
services.gvfs.enable = true; #enable ssh
programs = {
mtr.enable = true; #ping and traceroute
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
};
services.openssh = {
enable = true;
permitRootLogin = "yes";
};
#themeing
qt = { qt = {
enable = true; enable = true;
style = "gtk2"; style = "gtk2";
platformTheme = "gtk2"; platformTheme = "gtk2";
}; };
programs.dconf.enable = true;
#time settings
time.timeZone = "America/New_York"; time.timeZone = "America/New_York";
services = { services = {
timesyncd = { timesyncd = {
@ -45,32 +70,12 @@
]; ];
}; };
}; };
# Select internationalisation properties. #terminal stuff
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
console = { console = {
font = "Lat2-Terminus16"; font = "Lat2-Terminus16";
useXkbConfig = true; useXkbConfig = true;
}; };
#should be false programs.dconf.enable = true;
sound.enable = false; services.gvfs.enable = true; #gvfs for pcmanfm
# rtkit is optional but recommended
security.rtkit.enable = true;
services.pipewire = {
enable = true;
wireplumber.enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
#enable ssh
programs = {
mtr.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
};
services.openssh.enable = true;
} }

View file

@ -40,6 +40,7 @@
in in
{ {
formatter.x86_64-linux = pkgs.nixpkgs-fmt; formatter.x86_64-linux = pkgs.nixpkgs-fmt;
nixosConfigurations = { nixosConfigurations = {
gerg-desktop = lib.nixosSystem { gerg-desktop = lib.nixosSystem {
inherit system pkgs; inherit system pkgs;

View file

@ -2,7 +2,7 @@
{ {
programs.git = { programs.git = {
enable = true; enable = true;
package = pkgs.git; package = pkgs.gitMinimal;
userName = "ISnortPennies"; userName = "ISnortPennies";
userEmail = "ISnortPennies@protonmail.com"; userEmail = "ISnortPennies@protonmail.com";
}; };

View file

@ -12,7 +12,6 @@
./neovim ./neovim
]; ];
xsession.numlock.enable = true; xsession.numlock.enable = true;
programs.home-manager.enable = true;
home = { home = {
inherit username; inherit username;
homeDirectory = "/home/${username}"; homeDirectory = "/home/${username}";

View file

@ -5,7 +5,6 @@
./git.nix ./git.nix
./neovim ./neovim
]; ];
programs.home-manager.enable = true;
home = { home = {
username = "root"; username = "root";
homeDirectory = "/root"; homeDirectory = "/root";

View file

@ -29,6 +29,7 @@
pcmanfm #file manager pcmanfm #file manager
haskellPackages.squeeze #file compression haskellPackages.squeeze #file compression
nix-tree #view packages nix-tree #view packages
bc #terminal calculator
]; ];
} }

View file

@ -14,7 +14,6 @@ let
echo "RUN AS ROOT" echo "RUN AS ROOT"
exit 1 exit 1
fi fi
rm /nix/var/nix/gcroots/auto/*
nix-collect-garbage -d nix-collect-garbage -d
''; '';

View file

@ -1,24 +1,25 @@
{ lib { lib
, rustPlatform , rustPlatform
, fetchFromGitHub , fetchFromGitHub
, yt-dlp
, pkg-config , pkg-config
, openssl , openssl
, cmake , cmake
, libopus
}: }:
# yt-dlp and ffmpeg required at runtime
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "parrot"; pname = "parrot";
version = "1.4.2"; version = "1.5.1";
# buildFeatures = ["let_else"];
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "aquelemiguel"; owner = "aquelemiguel";
repo = "parrot"; repo = "parrot";
rev = "28d7db3c5b50c7ba01eec71a3177875feae44bcc"; rev = "b2c5ad7774616f488e9fc556082da545c5461c21";
sha256 = "sha256-G9SfaiR/KIt+Xm7vLs/EGaImZeSaUbpgAArfK6oVJeM="; sha256 = "sha256-S73Ef4GjdHjkiQZnOqwFzuidWnSrMe92rc1qZ6rYdiY=";
}; };
buildInputs = [ buildInputs = [
yt-dlp libopus
openssl openssl
]; ];
@ -26,7 +27,7 @@ rustPlatform.buildRustPackage rec {
pkg-config pkg-config
cmake cmake
]; ];
cargoSha256 = "sha256-ScwyPTq9da0hst/b2FX89SP03OX3HrJT3oUKGsHEjgs="; cargoSha256 = "sha256-qPyuj5OxHrWz0YbrquCTTKZM3j1poXuioNNvn9z+xDQ=";
RUSTC_BOOTSTRAP = 1; RUSTC_BOOTSTRAP = 1;

View file

@ -48,12 +48,24 @@
fsType = "vfat"; fsType = "vfat";
}; };
}; };
virtualisation.docker.enable = true; #discord bot stuff
virtualisation.docker.enable = false;
systemd.services.parrot = {
enable = true;
path = with pkgs; [ parrot yt-dlp ffmpeg ];
wantedBy = [ "multi-user.target" ];
wants = [ "NetworkManager-wait-online.service" ];
after = [ "NetworkManager-wait-online.service" ];
script = "parrot";
serviceConfig = {
EnvironmentFile = "/home/${username}/parrot/.env";
};
};
#mining stuff #mining stuff
systemd.services.mining = { systemd.services.mining = {
enable = false; enable = false;
path = with pkgs; [ t-rex-miner afk-cmds st zsh dbus xmrig ]; path = with pkgs; [ t-rex-miner afk-cmds st zsh dbus xmrig ];
wantedBy = [ "graphical.target" ]; wants = [ "graphical.target" ];
script = '' script = ''
afk-cmds -c /home/${username}/afk-cmds.json afk-cmds -c /home/${username}/afk-cmds.json
''; '';