From bf806a2e63e435f25dfb0f51143e421971a28877 Mon Sep 17 00:00:00 2001 From: uku Date: Thu, 29 Aug 2024 01:10:47 +0200 Subject: [PATCH] feat: switch to camasca --- configs/common.nix | 10 ++-- exprs/default.nix | 18 ------ exprs/pkgs/enigma.nix | 42 -------------- exprs/pkgs/koi.nix | 28 --------- exprs/pkgs/vineflower.nix | 31 ---------- exprs/pkgs/wine-discord-ipc-bridge.nix | 26 --------- exprs/reposilite/derivation.nix | 38 ------------- exprs/reposilite/module.nix | 79 -------------------------- flake.lock | 24 ++++++++ flake.nix | 17 +++--- programs/kde.nix | 8 ++- systems/etna/reposilite.nix | 4 +- 12 files changed, 46 insertions(+), 279 deletions(-) delete mode 100644 exprs/default.nix delete mode 100644 exprs/pkgs/enigma.nix delete mode 100644 exprs/pkgs/koi.nix delete mode 100644 exprs/pkgs/vineflower.nix delete mode 100644 exprs/pkgs/wine-discord-ipc-bridge.nix delete mode 100644 exprs/reposilite/derivation.nix delete mode 100644 exprs/reposilite/module.nix diff --git a/configs/common.nix b/configs/common.nix index 9fc037c..550ca27 100644 --- a/configs/common.nix +++ b/configs/common.nix @@ -3,7 +3,7 @@ pkgs, config, _utils, - self, + camasca, nixpkgs, agenix, home-manager, @@ -98,12 +98,10 @@ in { options = "-d"; }; - registry = let + registry = { n.flake = nixpkgs; - in { - inherit n; - nixpkgs = n; - u.flake = self; + nixpkgs.flake = nixpkgs; + u.flake = camasca; }; settings = { diff --git a/exprs/default.nix b/exprs/default.nix deleted file mode 100644 index ef5b3ee..0000000 --- a/exprs/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{self, ...}: { - flake.nixosModules = { - reposilite = import ./reposilite/module.nix self; - }; - - perSystem = {pkgs, ...}: { - packages = { - reposilite = pkgs.callPackage ./reposilite/derivation.nix {}; - enigma = pkgs.callPackage ./pkgs/enigma.nix {}; - vineflower = pkgs.callPackage ./pkgs/vineflower.nix {}; - koi = pkgs.kdePackages.callPackage ./pkgs/koi.nix {}; - - wine-discord-ipc-bridge = pkgs.callPackage ./pkgs/wine-discord-ipc-bridge.nix { - inherit (pkgs.pkgsCross.mingw32) stdenv; - }; - }; - }; -} diff --git a/exprs/pkgs/enigma.nix b/exprs/pkgs/enigma.nix deleted file mode 100644 index ae6d9c3..0000000 --- a/exprs/pkgs/enigma.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - stdenv, - fetchurl, - temurin-bin, - makeWrapper, - makeDesktopItem, - copyDesktopItems, -}: -stdenv.mkDerivation (finalAttrs: { - name = "enigma"; - version = "2.5.0"; - - src = fetchurl { - url = with finalAttrs; "https://maven.fabricmc.net/cuchaz/enigma-swing/${version}/enigma-swing-${version}-all.jar"; - hash = "sha256-yOPPTKt96aRSbziYDBLBKqfLS2R9GeXgz5m2t1fgFHo="; - }; - - dontUnpack = true; - - nativeBuildInputs = [makeWrapper copyDesktopItems]; - - installPhase = with finalAttrs; '' - runHook preInstall - - mkdir -p $out/bin $out/share/${name} - cp ${src} $out/share/${name}/${name}.jar - makeWrapper ${temurin-bin}/bin/java $out/bin/${name} --add-flags "-jar $out/share/${name}/${name}.jar" - - runHook postInstall - ''; - - desktopItems = [ - (makeDesktopItem { - name = "enigma"; - desktopName = "Enigma"; - exec = "enigma"; - terminal = false; - }) - ]; - - meta.mainProgram = "enigma"; -}) diff --git a/exprs/pkgs/koi.nix b/exprs/pkgs/koi.nix deleted file mode 100644 index 0a68c5a..0000000 --- a/exprs/pkgs/koi.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - stdenv, - fetchFromGitHub, - cmake, - ninja, - wrapQtAppsHook, - qtbase, - qtwayland, - kcoreaddons, - kwidgetsaddons, - kconfig, -}: -stdenv.mkDerivation (finalAttrs: { - name = "koi"; - version = "0.3.1"; - - src = fetchFromGitHub { - owner = "baduhai"; - repo = "Koi"; - rev = finalAttrs.version; - hash = "sha256-dhpuKIY/Xi62hzJlnVCIOF0k6uoQ3zH129fLq/r+Kmg="; - }; - - sourceRoot = "source/src"; - - nativeBuildInputs = [cmake ninja wrapQtAppsHook]; - buildInputs = [qtbase qtwayland kcoreaddons kwidgetsaddons kconfig]; -}) diff --git a/exprs/pkgs/vineflower.nix b/exprs/pkgs/vineflower.nix deleted file mode 100644 index a376c57..0000000 --- a/exprs/pkgs/vineflower.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ - stdenv, - fetchurl, - makeWrapper, - jre_headless, -}: -stdenv.mkDerivation (finalAttrs: { - name = "vineflower"; - version = "1.10.1"; - - src = fetchurl { - url = with finalAttrs; "https://github.com/Vineflower/vineflower/releases/download/${version}/vineflower-${version}.jar"; - hash = "sha256-ubII5QeTtkZXprYpIGdSZhP1Sd50BfkkNiSwL0J25Ak="; - }; - - nativeBuildInputs = [makeWrapper]; - - dontUnpack = true; - - installPhase = with finalAttrs; '' - runHook preInstall - - mkdir -p $out/bin $out/share/${name} - cp ${src} $out/share/${name}/${name}.jar - makeWrapper ${jre_headless}/bin/java $out/bin/${name} --add-flags "-jar $out/share/${name}/${name}.jar" - - runHook postInstall - ''; - - meta.mainProgram = "vineflower"; -}) diff --git a/exprs/pkgs/wine-discord-ipc-bridge.nix b/exprs/pkgs/wine-discord-ipc-bridge.nix deleted file mode 100644 index bd7b7ae..0000000 --- a/exprs/pkgs/wine-discord-ipc-bridge.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - stdenv, - fetchFromGitHub, -}: -stdenv.mkDerivation { - name = "wine-discord-ipc-bridge"; - - src = fetchFromGitHub { - owner = "0e4ef622"; - repo = "wine-discord-ipc-bridge"; - rev = "f8198c9d52e708143301017a296f7557c4387127"; - hash = "sha256-tAknITFlG63+gI5cN9SfUIUZkbIq/MgOPoGIcvoNo4Q="; - }; - - postPatch = '' - patchShebangs winediscordipcbridge-steam.sh - ''; - - installPhase = '' - mkdir -p $out/bin - cp winediscordipcbridge.exe $out/bin - cp winediscordipcbridge-steam.sh $out/bin - ''; - - meta.platforms = ["i686-windows" "x86_64-linux"]; -} diff --git a/exprs/reposilite/derivation.nix b/exprs/reposilite/derivation.nix deleted file mode 100644 index 93778b8..0000000 --- a/exprs/reposilite/derivation.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - makeWrapper, - jre_headless, -}: -stdenv.mkDerivation (finalAttrs: { - name = "reposilite"; - version = "3.5.14"; - - src = fetchurl { - url = with finalAttrs; "https://maven.reposilite.com/releases/com/reposilite/reposilite/${version}/reposilite-${version}-all.jar"; - hash = "sha256-qZXYpz6SBXDBj8c0IZkfVgxEFe/+DxMpdhLJsjks8cM="; - }; - - nativeBuildInputs = [makeWrapper]; - - dontUnpack = true; - - installPhase = with finalAttrs; '' - runHook preInstall - - mkdir -p $out/bin $out/share/${name} - cp ${src} $out/share/${name}/${name}.jar - makeWrapper ${jre_headless}/bin/java $out/bin/${name} --add-flags "-jar $out/share/${name}/${name}.jar" - - runHook postInstall - ''; - - meta = with lib; { - description = "Lightweight and easy-to-use repository management software dedicated for the Maven based artifacts in the JVM ecosystem"; - homepage = "https://reposilite.com/"; - license = licenses.asl20; - platforms = platforms.unix; - mainProgram = "reposilite"; - }; -}) diff --git a/exprs/reposilite/module.nix b/exprs/reposilite/module.nix deleted file mode 100644 index 7dab9ea..0000000 --- a/exprs/reposilite/module.nix +++ /dev/null @@ -1,79 +0,0 @@ -self: { - lib, - config, - pkgs, - ... -}: let - cfg = config.services.reposilite; - - inherit (pkgs.stdenv.hostPlatform) system; - - inherit - (lib) - getExe - literalExpression - mdDoc - mkDefault - mkEnableOption - mkIf - mkOption - mkPackageOption - types - ; -in { - options.services.reposilite = { - enable = mkEnableOption "reposilite"; - package = mkPackageOption self.packages.${system} "reposilite" {}; - environmentFile = mkOption { - description = mdDoc '' - Environment file as defined in {manpage}`systemd.exec(5)` - ''; - type = types.nullOr types.path; - default = null; - example = literalExpression '' - "/run/agenix.d/1/reposilite" - ''; - }; - }; - - config = mkIf cfg.enable { - users = { - users.reposilite = { - isSystemUser = true; - group = "reposilite"; - }; - - groups.reposilite = {}; - }; - - systemd.services."reposilite" = { - enable = true; - wantedBy = mkDefault ["multi-user.target"]; - after = mkDefault ["network.target"]; - script = '' - ${getExe cfg.package} - ''; - - serviceConfig = { - Type = "simple"; - Restart = "always"; - - EnvironmentFile = mkIf (cfg.environmentFile != null) cfg.environmentFile; - - StateDirectory = "reposilite"; - StateDirectoryMode = "0700"; - WorkingDirectory = "/var/lib/reposilite"; - - User = "reposilite"; - Group = "reposilite"; - - LimitNOFILE = "1048576"; - PrivateTmp = true; - PrivateDevices = true; - ProtectHome = true; - ProtectSystem = "strict"; - AmbientCapabilities = "CAP_NET_BIND_SERVICE"; - }; - }; - }; -} diff --git a/flake.lock b/flake.lock index 63d32f4..b32b56d 100644 --- a/flake.lock +++ b/flake.lock @@ -50,6 +50,29 @@ "type": "github" } }, + "camasca": { + "inputs": { + "flake-parts": [ + "flake-parts" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1724885464, + "narHash": "sha256-PQp5tDi+vRp5CEoUTI5NPbdhlDlp109KLDgpwsGH4J8=", + "owner": "uku3lig", + "repo": "camasca", + "rev": "f9ab5b1b70eeb6f5bc0e47375ef11b8f3eb81d25", + "type": "github" + }, + "original": { + "owner": "uku3lig", + "repo": "camasca", + "type": "github" + } + }, "catppuccin": { "locked": { "lastModified": 1724469296, @@ -388,6 +411,7 @@ "inputs": { "agenix": "agenix", "api-rs": "api-rs", + "camasca": "camasca", "catppuccin": "catppuccin", "crane": "crane", "flake-parts": "flake-parts", diff --git a/flake.nix b/flake.nix index 01ef327..ab793fc 100644 --- a/flake.nix +++ b/flake.nix @@ -12,7 +12,6 @@ imports = [ ./systems - ./exprs ]; perSystem = { @@ -22,12 +21,10 @@ }: { apps = (nixinate.nixinate.${system} self).nixinate; - devShells.default = pkgs.mkShellNoCC { - packages = with pkgs; [ - just - statix - ]; - }; + devShells.default = with pkgs; + mkShellNoCC { + packages = [just statix]; + }; formatter = pkgs.alejandra; }; @@ -36,6 +33,12 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; + camasca = { + url = "github:uku3lig/camasca"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-parts.follows = "flake-parts"; + }; + agenix = { url = "github:uku3lig/agenix"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/programs/kde.nix b/programs/kde.nix index 5729447..fa41575 100644 --- a/programs/kde.nix +++ b/programs/kde.nix @@ -1,10 +1,14 @@ -{self, pkgs, ...}: { +{ + camasca, + pkgs, + ... +}: { services.desktopManager.plasma6.enable = true; environment = { systemPackages = with pkgs; [ flameshot - self.packages.${pkgs.system}.koi + camasca.packages.${pkgs.system}.koi ]; plasma6.excludePackages = with pkgs.kdePackages; [ diff --git a/systems/etna/reposilite.nix b/systems/etna/reposilite.nix index 5968458..0275786 100644 --- a/systems/etna/reposilite.nix +++ b/systems/etna/reposilite.nix @@ -1,5 +1,5 @@ -{self, ...}: { - imports = [self.nixosModules.reposilite]; +{camasca, ...}: { + imports = [camasca.nixosModules.reposilite]; cfTunnels."maven.uku3lig.net" = "http://localhost:8080";