From 12c3e83dbede956deca10119167a12cd68293613 Mon Sep 17 00:00:00 2001 From: Ivan Bushchik Date: Mon, 4 Sep 2023 21:54:55 +0300 Subject: [PATCH] Migrate to uutils, install retroarch, add ivabus-dev.nix package (testing on celerrime) Signed-off-by: Ivan Bushchik --- common/base.nix | 2 +- default.nix | 2 +- machines/celerrime/default.nix | 23 +++++++++++++++++++- pkgs/ivabus-dev.nix | 39 ++++++++++++++++++++++++++++++++++ roles/devel.nix | 1 + roles/gaming.nix | 3 ++- roles/graphical.nix | 2 +- 7 files changed, 67 insertions(+), 5 deletions(-) create mode 100644 pkgs/ivabus-dev.nix diff --git a/common/base.nix b/common/base.nix index 49e3e1c..bcb9576 100644 --- a/common/base.nix +++ b/common/base.nix @@ -30,7 +30,7 @@ curl usbutils pciutils - coreutils-full + (uutils-coreutils.override { prefix = ""; }) killall git git-crypt diff --git a/default.nix b/default.nix index fd211b1..937d195 100644 --- a/default.nix +++ b/default.nix @@ -9,4 +9,4 @@ rec { roles ]; }; -} \ No newline at end of file +} diff --git a/machines/celerrime/default.nix b/machines/celerrime/default.nix index 693f6b9..06ae464 100644 --- a/machines/celerrime/default.nix +++ b/machines/celerrime/default.nix @@ -31,11 +31,32 @@ in { networking.useDHCP = true; - # Setup asahi-specific things. NOTE: you must copy firmware from ESP to /etc/nixos/asahi/firmware hardware.asahi.peripheralFirmwareDirectory = ../../asahi/firmware; hardware.asahi.addEdgeKernelConfig = true; hardware.asahi.useExperimentalGPUDriver = true; + environment.systemPackages = with pkgs; [ + (retroarch.override { cores = with libretro; [ np2kai ];}) + ]; + + services.nginx = { + enable = true; + # Use recommended settings + recommendedGzipSettings = true; + recommendedOptimisation = true; + recommendedProxySettings = true; + recommendedTlsSettings = true; + + virtualHosts."ivabus.dev" = { + # i don't want to call package like this + root = pkgs.callPackage ../../pkgs/ivabus-dev.nix {}; + + extraConfig = '' + error_page 404 /404.html; + ''; + }; + }; + system.stateVersion = "23.05"; } diff --git a/pkgs/ivabus-dev.nix b/pkgs/ivabus-dev.nix new file mode 100644 index 0000000..cb64157 --- /dev/null +++ b/pkgs/ivabus-dev.nix @@ -0,0 +1,39 @@ +{ pkgs ? import {}, bundlerEnv, ... }: +let + version = "025b56be08da939ad016dcacfb833b8652d2848e"; + repo = builtins.fetchGit { + url = "https://github.com/ivabus/website"; + rev = version; + }; + + gems = bundlerEnv { + name = "ivabus-dev"; + ruby = pkgs.ruby; + + gemdir = "${repo}/."; + }; +in pkgs.stdenv.mkDerivation { + inherit version; + name = "ivabus-dev"; + src = repo; + + buildInputs = with pkgs; [ + gems + # nokogiri dependencies + zlib + libiconv + libxml2 + libxslt + # jekyll wants a JS runtime + nodejs-slim + ]; + + buildPhase = '' + bundle exec jekyll build + ''; + + installPhase = '' + mkdir -p $out + cp -r _site/* $out/ + ''; +} diff --git a/roles/devel.nix b/roles/devel.nix index 0b63d9e..cb12f50 100644 --- a/roles/devel.nix +++ b/roles/devel.nix @@ -21,6 +21,7 @@ in { ninja picocom screen + hyperfine ]; } # Architecture-specific packages and configuration diff --git a/roles/gaming.nix b/roles/gaming.nix index 509f9ec..e759d92 100644 --- a/roles/gaming.nix +++ b/roles/gaming.nix @@ -15,6 +15,7 @@ in { wineWowPackages.staging winetricks wineWowPackages.waylandFull + (retroarch.override { cores = with libretro; [ np2kai ];}) ]; } # Enable steam only on x86_64 (since I have hosts with ARM, but I don't think I will enable my.roles.gaming on ARM system soon) @@ -24,4 +25,4 @@ in { networking.firewall.allowedUDPPorts = [ 27031 27036 ]; }) ]); -} \ No newline at end of file +} diff --git a/roles/graphical.nix b/roles/graphical.nix index 74af599..68cdd2e 100644 --- a/roles/graphical.nix +++ b/roles/graphical.nix @@ -85,7 +85,7 @@ in { roboto-mono kochi-substitute ]; - + environment.sessionVariables.NIXOS_OZONE_WL = "1"; # Enable wayland for electron home-manager.users.ivabus = { gtk = { enable = true;