From fc729c8aae00bf0b838dad048b9f39cdf0654b86 Mon Sep 17 00:00:00 2001 From: Kris Date: Fri, 27 Mar 2026 23:01:48 +0200 Subject: [PATCH] a --- hosts/default/packages.nix | 291 ++++++++++++++------------- hosts/server/configuration.nix | 86 ++++++-- hosts/server/modules/vaultwarden.nix | 12 +- 3 files changed, 222 insertions(+), 167 deletions(-) diff --git a/hosts/default/packages.nix b/hosts/default/packages.nix index 5b22873..d2733a0 100644 --- a/hosts/default/packages.nix +++ b/hosts/default/packages.nix @@ -1,155 +1,168 @@ -{ inputs, config, pkgs, lib, ... }: +{ + inputs, + config, + pkgs, + lib, + ... +}: { - - fonts.packages = with pkgs; [ - noto-fonts - noto-fonts-cjk-sans - noto-fonts-emoji - monaspace - geist-font - # nerdfonts - nerd-fonts.geist-mono - nerd-fonts.monaspace - nerd-fonts.symbols-only - minecraftia - ]; - programs.seahorse.enable = true; + fonts.packages = with pkgs; [ + noto-fonts + noto-fonts-cjk-sans + noto-fonts-emoji + monaspace + geist-font + # nerdfonts + nerd-fonts.geist-mono + nerd-fonts.monaspace + nerd-fonts.symbols-only + minecraftia + ]; - environment.sessionVariables.LD_LIBRARY_PATH = "${pkgs.gcc15}/lib"; + programs.seahorse.enable = true; - security.polkit = { - enable = true; - }; + environment.sessionVariables.LD_LIBRARY_PATH = "${pkgs.gcc15}/lib"; - security.soteria.enable = true; + security.polkit = { + enable = true; + }; - # surely they should add programs.discord!! - environment.systemPackages = with pkgs; [ - (discord.override { - withEquicord = true; - }) + security.soteria.enable = true; - # hyprland stuff - inputs.hyprlock.packages.${pkgs.stdenv.hostPlatform.system}.hyprlock - inputs.hyprsysteminfo.packages.${pkgs.stdenv.hostPlatform.system}.hyprsysteminfo - - # roblox - inputs.tuxstrap.packages.${pkgs.stdenv.hostPlatform.system}.default - - # minecraft - qemu - (writeShellScriptBin "qemu-system-x86_64-uefi" '' - qemu-system-x86_64 \ - -bios ${OVMF.fd}/FV/OVMF.fd \ - "$@" - '') - (writeShellScriptBin "regretevator" ''xdg-open roblox://placeId=4972273297'') - (writeShellScriptBin "kaijuparadise" ''xdg-open roblox://placeId=6456351776'') - (writeShellScriptBin "sewh" ''xdg-open roblox://placeId=16991287194'') + # surely they should add programs.discord!! + environment.systemPackages = with pkgs; [ + mosh + (discord.override { + withEquicord = true; + }) - (writeShellScriptBin "fix-gtk" ''${inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland}/bin/hyprctl dispatch exec "${pkgs.xdg-desktop-portal-gtk}/libexec/xdg-desktop-portal-gtk -r"'') - (callPackage ./apps/wl-shimeji.nix {}) - (writeShellScriptBin "stop-shimejis" ''${inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland}/bin/hyprctl dispatch exec "shimejictl stop"'') - # (writeShellScriptBin "partynoob" ''shimejictl summon PartyNoob'') - # inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default - kdePackages.qtdeclarative - catppuccin-gtk - catppuccin - catppuccin-qt5ct - catppuccin-catwalk - catppuccin-whiskers - mission-center - # nvtopPackages.full - libxkbcommon - ffmpeg-full - gnupg - code-cursor - nix-direnv - htop - nixpkgs-fmt - nixd - catppuccin-cursors.mochaBlue - unzip - libwebp - ifuse - w3m - imagemagick - alacritty - libimobiledevice - direnv - nautilus - kdePackages.dolphin - kdePackages.kservice - qpwgraph - wget - git - fastfetch - vscode - nodejs - bun - yarn - (python3.withPackages (subpkgs: with subpkgs; [ - requests - pypresence - pygobject3 - ])) - # wrangler - fontforge - xclip - gamescope - yt-dlp - fontforge-gtk - deno - wofi - waybar - hyprpaper - dunst - swww - swappy - slurp - grim - wayland-utils - wl-clipboard - github-cli - cliphist - pywal - pavucontrol - wlogout - libnotify - killall - networkmanagerapplet - blueman - arrpc - playerctl - mangohud - jq - github-cli - file - nwg-look - # rhythmbox - hyprpolkitagent + # hyprland stuff + inputs.hyprlock.packages.${pkgs.stdenv.hostPlatform.system}.hyprlock + inputs.hyprsysteminfo.packages.${pkgs.stdenv.hostPlatform.system}.hyprsysteminfo - # important - glib - openssl - nss - glibc # C LIBRARY DO NOT REMOVE VERY IMPORTANT - gobject-introspection - gimp3 - mpv - nixfmt-rfc-style + # roblox + inputs.tuxstrap.packages.${pkgs.stdenv.hostPlatform.system}.default - protonvpn-cli - protonvpn-gui - (writeShellScriptBin "protonvpn" ''${pkgs.protonvpn-cli}/bin/protonvpn-cli "$@"'') + # minecraft + qemu + (writeShellScriptBin "qemu-system-x86_64-uefi" '' + qemu-system-x86_64 \ + -bios ${OVMF.fd}/FV/OVMF.fd \ + "$@" + '') + (writeShellScriptBin "regretevator" "xdg-open roblox://placeId=4972273297") + (writeShellScriptBin "kaijuparadise" "xdg-open roblox://placeId=6456351776") + (writeShellScriptBin "sewh" "xdg-open roblox://placeId=16991287194") - kdePackages.kdialog + (writeShellScriptBin "fix-gtk" ''${ + inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland + }/bin/hyprctl dispatch exec "${pkgs.xdg-desktop-portal-gtk}/libexec/xdg-desktop-portal-gtk -r"'') + (callPackage ./apps/wl-shimeji.nix { }) + (writeShellScriptBin "stop-shimejis" ''${ + inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland + }/bin/hyprctl dispatch exec "shimejictl stop"'') + # (writeShellScriptBin "partynoob" ''shimejictl summon PartyNoob'') + # inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default + kdePackages.qtdeclarative + catppuccin-gtk + catppuccin + catppuccin-qt5ct + catppuccin-catwalk + catppuccin-whiskers + mission-center + # nvtopPackages.full + libxkbcommon + ffmpeg-full + gnupg + code-cursor + nix-direnv + htop + nixpkgs-fmt + nixd + catppuccin-cursors.mochaBlue + unzip + libwebp + ifuse + w3m + imagemagick + alacritty + libimobiledevice + direnv + nautilus + kdePackages.dolphin + kdePackages.kservice + qpwgraph + wget + git + fastfetch + vscode + nodejs + bun + yarn + (python3.withPackages ( + subpkgs: with subpkgs; [ + requests + pypresence + pygobject3 + ] + )) + # wrangler + fontforge + xclip + gamescope + yt-dlp + fontforge-gtk + deno + wofi + waybar + hyprpaper + dunst + swww + swappy + slurp + grim + wayland-utils + wl-clipboard + github-cli + cliphist + pywal + pavucontrol + wlogout + libnotify + killall + networkmanagerapplet + blueman + arrpc + playerctl + mangohud + jq + github-cli + file + nwg-look + # rhythmbox + hyprpolkitagent - (writeShellScriptBin "roblox-studio-patcher" ''${pkgs.bun}/bin/bun run /home/ocbwoy3/config/scripts/bin/patchInternalRobloxStudio.ts'') - # firefox-devedition + # important + glib + openssl + nss + glibc # C LIBRARY DO NOT REMOVE VERY IMPORTANT + gobject-introspection + gimp3 + mpv + nixfmt-rfc-style - ]; + protonvpn-cli + protonvpn-gui + (writeShellScriptBin "protonvpn" ''${pkgs.protonvpn-cli}/bin/protonvpn-cli "$@"'') + + kdePackages.kdialog + + (writeShellScriptBin "roblox-studio-patcher" "${pkgs.bun}/bin/bun run /home/ocbwoy3/config/scripts/bin/patchInternalRobloxStudio.ts") + # firefox-devedition + + ]; } diff --git a/hosts/server/configuration.nix b/hosts/server/configuration.nix index ca8da57..edec60b 100644 --- a/hosts/server/configuration.nix +++ b/hosts/server/configuration.nix @@ -5,6 +5,48 @@ ... }: +let + mkUserService = pkgs.writeShellScriptBin "mk-user-service" '' + set -euo pipefail + + if [ "$#" -lt 2 ]; then + echo "Usage: mk-user-service " >&2 + exit 1 + fi + + name="$1" + shift + + unitDir="''${XDG_CONFIG_HOME:-$HOME/.config}/systemd/user" + unitFile="$unitDir/$name.service" + + mkdir -p "$unitDir" + + if [ -e "$unitFile" ]; then + echo "Refusing to overwrite existing unit: $unitFile" >&2 + exit 2 + fi + + cat > "$unitFile" <