From e961180371086a7539a29bbd5eafdd587c4a3562 Mon Sep 17 00:00:00 2001 From: Emile Clark-Boman Date: Sun, 8 Feb 2026 20:22:39 +1000 Subject: [PATCH] move hosts/packages -> packages --- .../chameleonultragui/default.nix.bak1 | 474 ------------------ hosts/packages/tundra/README | 12 - hosts/packages/tundra/flake.lock | 62 --- hosts/packages/tundra/flake.nix | 42 -- hosts/packages/tundra/src/app.in.vala | 31 -- hosts/packages/tundra/src/meson.build | 47 -- hosts/packages/tundra/src/style.scss | 107 ---- hosts/packages/tundra/src/widget/Bar.vala | 265 ---------- {hosts/packages => packages}/README | 0 .../angryoxide/default.nix | 0 .../chameleonultragui/TODO.md | 0 .../chameleonultragui/default.nix | 0 packages/{ekphos.nix => ekphos/default.nix} | 0 .../huggingface_hub/flake.nix | 0 .../huggingface_hub/hf-xet.nix | 0 .../huggingface_hub/huggingface_hub.nix | 0 .../x86-manpages/default.nix | 0 17 files changed, 1040 deletions(-) delete mode 100644 hosts/packages/chameleonultragui/default.nix.bak1 delete mode 100644 hosts/packages/tundra/README delete mode 100644 hosts/packages/tundra/flake.lock delete mode 100644 hosts/packages/tundra/flake.nix delete mode 100644 hosts/packages/tundra/src/app.in.vala delete mode 100644 hosts/packages/tundra/src/meson.build delete mode 100644 hosts/packages/tundra/src/style.scss delete mode 100644 hosts/packages/tundra/src/widget/Bar.vala rename {hosts/packages => packages}/README (100%) rename {hosts/packages => packages}/angryoxide/default.nix (100%) rename hosts/packages/chameleonultragui/TODO => packages/chameleonultragui/TODO.md (100%) rename {hosts/packages => packages}/chameleonultragui/default.nix (100%) rename packages/{ekphos.nix => ekphos/default.nix} (100%) rename {hosts/packages => packages}/huggingface_hub/flake.nix (100%) rename {hosts/packages => packages}/huggingface_hub/hf-xet.nix (100%) rename {hosts/packages => packages}/huggingface_hub/huggingface_hub.nix (100%) rename {hosts/packages => packages}/x86-manpages/default.nix (100%) diff --git a/hosts/packages/chameleonultragui/default.nix.bak1 b/hosts/packages/chameleonultragui/default.nix.bak1 deleted file mode 100644 index 158877a..0000000 --- a/hosts/packages/chameleonultragui/default.nix.bak1 +++ /dev/null @@ -1,474 +0,0 @@ -{ - pkgs, - lib, - ... -}: -# ChameleonUltraGUI requires flutter sdk >3.0.0 -pkgs.flutter324.buildFlutterApplication -(self: { - pname = "ChameleonUltraGUI"; - version = "1.1.2"; - - src = pkgs.fetchFromGitHub { - owner = "GameTec-live"; - repo = "ChameleonUltraGUI"; - sha256 = "1mb6wkqk6vaamrhflfhsgp5gvqiw2qkvmy7j65abcx7sn5990i27"; - rev = "11424abaccb4a010fcbeab9799ae8f675d8afe99"; - }; - - desktopItems = [ - (pkgs.makeDesktopItem { - name = self.pname; - desktopName = "Chameleon Ultra GUI"; - icon = self.pname; - comment = self.meta.description; - - exec = "chameleonultragui"; - terminal = false; - - categories = [ - "Utility" - ]; - }) - ]; - - # path to application within fetched sources - sourceRoot = "source/chameleonultragui"; - - buildInputs = [ - pkgs.imagemagick # creating mipmaps for share/icons - pkgs.yj # converting pubspec.lock yaml->json - ]; - - buildArguments = ["--release"]; - - # source files compile with Flutter >3.29.0 but this - # derivation uses 3.24.0 (so we patch for compatability) - postPatch = let - argbPatch = '' - --- general.dart.old 2025-05-11 15:59:51.812132078 +1000 - +++ general.dart 2025-05-11 15:58:14.755856407 +1000 - @@ -211,7 +211,7 @@ - } - - String colorToHex(Color color) { - - return '#\''${color.toARGB32().toRadixString(16).padLeft(8, '0').substring(2)}'; - + return '#\''${color.value.toRadixString(16).padLeft(8, '0').substring(2)}'; - } - - Color hexToColor(String hex) { - ''; - in '' - # patch source files using Color.toARGB32 method (not defined in Flutter 3.24) - argbPatch="${argbPatch}" - patch lib/helpers/general.dart <(echo "$argbPatch") - ''; - - # installPhase = '' - # runHook preInstall - - # # create mipmaps of desktop logo - # logoOriginal="assets/logo-color-desktop.png" - # for i in 16 32 64 128 256 512; do - # res="$i"x"$i" - # logoOut="$out"/share/icons/hicolor/"$res"/apps - # mkdir -p $logoOut - # ${pkgs.imagemagick}/bin/magick $logoOriginal -resize $res $logoOut/${pname}.png - # done - - # runHook postInstall - # ''; - - # Nix doesn't natively have a fromYAML function (so I made this instead) - pubspecLock = let - appRoot = "${self.src}/chameleonultragui"; - - # when generating patch files use -u flag and then - # make sure to escape all " characters for Nix string - pubspecLockPatch = '' - --- pubspec.lock.bak2025-05-10 15:42:44.287730979 +1000 - +++ pubspec.lock2025-05-10 15:41:23.778480048 +1000 - @@ -5,18 +5,23 @@ - dependency: transitive - description: - name: _fe_analyzer_shared - - sha256: dc27559385e905ad30838356c5f5d574014ba39872d732111cd07ac0beff4c57 - + sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834 - url: \"https://pub.dev\" - source: hosted - - version: \"80.0.0\" - + version: \"72.0.0\" - + _macros: - + dependency: transitive - + description: dart - + source: sdk - + version: \"0.3.2\" - analyzer: - dependency: transitive - description: - name: analyzer - - sha256: \"192d1c5b944e7e53b24b5586db760db934b177d4147c42fbca8c8c5f1eb8d11e\" - + sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139 - url: \"https://pub.dev\" - source: hosted - - version: \"7.3.0\" - + version: \"6.7.0\" - archive: - dependency: \"direct main\" - description: - @@ -37,26 +42,26 @@ - dependency: \"direct main\" - description: - name: async - - sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 - + sha256: \"947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c\" - url: \"https://pub.dev\" - source: hosted - - version: \"2.12.0\" - + version: \"2.11.0\" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - - sha256: \"8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea\" - + sha256: \"6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66\" - url: \"https://pub.dev\" - source: hosted - - version: \"2.1.2\" - + version: \"2.1.1\" - characters: - dependency: transitive - description: - name: characters - - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 - + sha256: \"04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605\" - url: \"https://pub.dev\" - source: hosted - - version: \"1.4.0\" - + version: \"1.3.0\" - checked_yaml: - dependency: transitive - description: - @@ -77,18 +82,18 @@ - dependency: transitive - description: - name: clock - - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b - + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: \"https://pub.dev\" - source: hosted - - version: \"1.1.2\" - + version: \"1.1.1\" - collection: - dependency: \"direct main\" - description: - name: collection - - sha256: \"2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76\" - + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: \"https://pub.dev\" - source: hosted - - version: \"1.19.1\" - + version: \"1.18.0\" - convert: - dependency: \"direct main\" - description: - @@ -157,10 +162,10 @@ - dependency: transitive - description: - name: fake_async - - sha256: \"6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc\" - + sha256: \"511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78\" - url: \"https://pub.dev\" - source: hosted - - version: \"1.3.2\" - + version: \"1.3.1\" - ffi: - dependency: \"direct main\" - description: - @@ -196,11 +201,10 @@ - file_saver: - dependency: \"direct main\" - description: - - path: \".\" - - ref: fix-windows - - resolved-ref: \"3038d74d5560dcca528423fffd745abf31eb88ae\" - - url: \"https://github.com/Foxushka/file_saver.git\" - - source: git - + name: file_saver - + sha256: \"017a127de686af2d2fbbd64afea97052d95f2a0f87d19d25b87e097407bf9c1e\" - + url: \"https://pub.dev\" - + source: hosted - version: \"0.2.14\" - fixnum: - dependency: transitive - @@ -234,11 +238,10 @@ - flutter_libserialport: - dependency: \"direct main\" - description: - - path: \".\" - - ref: main - - resolved-ref: \"6740aae075505a220a98492910b090824efc7910\" - - url: \"https://github.com/NeariX67/flutter_libserialport.git\" - - source: git - + name: flutter_libserialport - + sha256: d193b5ac819db6540d20cc8d20d9f5ec9e3396edb4d2c4a23c97863fa9132336 - + url: \"https://pub.dev\" - + source: hosted - version: \"0.5.0\" - flutter_lints: - dependency: \"direct dev\" - @@ -347,18 +350,18 @@ - dependency: transitive - description: - name: leak_tracker - - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec - + sha256: \"3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05\" - url: \"https://pub.dev\" - source: hosted - - version: \"10.0.8\" - + version: \"10.0.5\" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 - + sha256: \"932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806\" - url: \"https://pub.dev\" - source: hosted - - version: \"3.0.9\" - + version: \"3.0.5\" - leak_tracker_testing: - dependency: transitive - description: - @@ -399,14 +402,22 @@ - url: \"https://pub.dev\" - source: hosted - version: \"1.3.0\" - + macros: - + dependency: transitive - + description: - + name: macros - + sha256: \"0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536\" - + url: \"https://pub.dev\" - + source: hosted - + version: \"0.1.2-main.4\" - matcher: - dependency: transitive - description: - name: matcher - - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 - + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: \"https://pub.dev\" - source: hosted - - version: \"0.12.17\" - + version: \"0.12.16+1\" - material_color_utilities: - dependency: transitive - description: - @@ -419,10 +430,10 @@ - dependency: transitive - description: - name: meta - - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c - + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 - url: \"https://pub.dev\" - source: hosted - - version: \"1.16.0\" - + version: \"1.15.0\" - mobile_scanner: - dependency: \"direct main\" - description: - @@ -467,10 +478,10 @@ - dependency: \"direct main\" - description: - name: path - - sha256: \"75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5\" - + sha256: \"087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af\" - url: \"https://pub.dev\" - source: hosted - - version: \"1.9.1\" - + version: \"1.9.0\" - path_provider: - dependency: transitive - description: - @@ -723,15 +734,15 @@ - dependency: transitive - description: flutter - source: sdk - - version: \"0.0.0\" - + version: \"0.0.99\" - source_span: - dependency: transitive - description: - name: source_span - - sha256: \"254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c\" - + sha256: \"53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c\" - url: \"https://pub.dev\" - source: hosted - - version: \"1.10.1\" - + version: \"1.10.0\" - sprintf: - dependency: transitive - description: - @@ -744,42 +755,42 @@ - dependency: transitive - description: - name: stack_trace - - sha256: \"8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1\" - + sha256: \"73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b\" - url: \"https://pub.dev\" - source: hosted - - version: \"1.12.1\" - + version: \"1.11.1\" - stream_channel: - dependency: transitive - description: - name: stream_channel - - sha256: \"969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d\" - + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: \"https://pub.dev\" - source: hosted - - version: \"2.1.4\" - + version: \"2.1.2\" - string_scanner: - dependency: transitive - description: - name: string_scanner - - sha256: \"921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43\" - + sha256: \"556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde\" - url: \"https://pub.dev\" - source: hosted - - version: \"1.4.1\" - + version: \"1.2.0\" - term_glyph: - dependency: transitive - description: - name: term_glyph - - sha256: \"7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e\" - + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: \"https://pub.dev\" - source: hosted - - version: \"1.2.2\" - + version: \"1.2.1\" - test_api: - dependency: transitive - description: - name: test_api - - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd - + sha256: \"5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb\" - url: \"https://pub.dev\" - source: hosted - - version: \"0.7.4\" - + version: \"0.7.2\" - typed_data: - dependency: transitive - description: - @@ -855,12 +866,11 @@ - usb_serial: - dependency: \"direct main\" - description: - - path: \".\" - - ref: fix-usbserial - - resolved-ref: \"9fcbacc92bec19ea02d33a40d9f39e45d19cf637\" - - url: \"https://github.com/Foxushka/usbserial.git\" - - source: git - - version: \"0.5.1\" - + name: usb_serial - + sha256: a605a600e34e7f28d4e80851ca3999ef747e42e406138887b8a88b8c382a8b07 - + url: \"https://pub.dev\" - + source: hosted - + version: \"0.5.2\" - uuid: - dependency: \"direct main\" - description: - @@ -881,10 +891,10 @@ - dependency: transitive - description: - name: vm_service - - sha256: \"0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14\" - + sha256: \"5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d\" - url: \"https://pub.dev\" - source: hosted - - version: \"14.3.1\" - + version: \"14.2.5\" - wakelock_plus: - dependency: \"direct main\" - description: - @@ -958,5 +968,5 @@ - source: hosted - version: \"2.2.1\" - sdks: - - dart: \">=3.7.0-0 <4.0.0\" - + dart: \">=3.5.0 <4.0.0\" - flutter: \">=3.24.0\" - ''; - in - builtins.fromJSON - ( - builtins.readFile (pkgs.runCommand "${self.pname}-buildenv" { - inputs = [ - # DEBUG (both lines commented) - #pkgs.flutter324 # ChameleonUltraGUI requires sdk >3.0.0 - #pkgs.yj - ]; - } '' - # copy source files to a temporary path to rebuild the lockfile - buildPath=$(mktemp -d) - cp -r "${appRoot}/." "$buildPath/" - - outPubspecLock="$buildPath/pubspec.lock" - # MUST define variables to use multiline Nix string in bash scripting - pubspecLockPatch="${pubspecLockPatch}" - - # apply the pubspec.yaml patch and regenerate lock file - # (create a temporary home directory for flutter to play in) - #(cd $buildPath && chmod -R +w . \ - # && patch ./pubspec.yaml <(echo "$pubspecYamlPatch") \ - # && export HOME=$(mktemp -d) \ - # && flutter --disable-analytics \ - # && flutter config --no-cli-animations \ - # && ${pkgs.flutter}/bin/flutter pub get) - - # patch the lockfile - chmod +w $outPubspecLock - patch $outPubspecLock <(echo "$pubspecLockPatch") - - # convert new lockfile to json and return - ${pkgs.yj}/bin/yj < "$buildPath/pubspec.lock" > $out - '') - ); - - # TODO: try this instead of patching - # gitHashes = { - # dartssh2 = "sha256-2pypKwurziwGLZYuGaxlS2lzN3UvJp3bRTvvYYxEqRI="; - # hotkey_manager_linux = "sha256-aO0h94YZvgV/ggVupNw8GjyZsnXrq3qTHRDtuhNv3oI="; - # system_info2 = "sha256-fly7E2vG+bQ/+QGzXk+DYba73RZccltdW2LpZGDKX60="; - # tray_menu = "sha256-riiAiBEms+9ARog8i+MR1fto1Yqx+gwbBWyNbNq6VTM="; - # window_size = "sha256-71PqQzf+qY23hTJvcm0Oye8tng3Asr42E2vfF1nBmVA="; - # xterm = "sha256-h8vIonTPUVnNqZPk/A4ZV7EYCMyM0rrErL9ZOMe4ZBE="; - # }; - - meta = with lib; { - description = "A GUI for the Chameleon Ultra written in Flutter for crossplatform"; - homepage = "https://github.com/GameTec-live/ChameleonUltraGUI"; - license = licenses.gpl3; - maintainers = [maintainers.emileclarkb]; - platforms = platforms.linux; - }; -}) -.overrideAttrs ( - previousAttrs: { - installPhase = - previousAttrs.installPhase - + '' - # create mipmaps of desktop logo - logoOriginal="assets/logo-color-desktop.png" - for i in 16 32 64 128 256 512; do - res="$i"x"$i" - logoOut="$out"/share/icons/hicolor/"$res"/apps - mkdir -p $logoOut - ${pkgs.imagemagick}/bin/magick $logoOriginal -resize $res $logoOut/${previousAttrs.pname}.png - done - ''; - } -) diff --git a/hosts/packages/tundra/README b/hosts/packages/tundra/README deleted file mode 100644 index e44647c..0000000 --- a/hosts/packages/tundra/README +++ /dev/null @@ -1,12 +0,0 @@ -**Tundra** is the name I'm giving my *desktop environment.* -Made primarily with Aylur's Astal library and the Vala -programming language (as an excuse to learn it). - -NOTE: Tundra is designed specifically to work on Hyprland, -I have no idea how it'll interact with other window managers :) - - -##### Meson Notes (temporary) -Setup meson like `meson setup ` ie `meson setup build src`. -Compile meson like `meson compile -C ` where is the relative path to it, -if you're in it already just use `meson compile` otherwise if in project root use `meson compile build`. diff --git a/hosts/packages/tundra/flake.lock b/hosts/packages/tundra/flake.lock deleted file mode 100644 index 85ad9ef..0000000 --- a/hosts/packages/tundra/flake.lock +++ /dev/null @@ -1,62 +0,0 @@ -{ - "nodes": { - "astal": { - "inputs": { - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1745934282, - "narHash": "sha256-hgUd4yUYALHzzoEi/88BnsgrxZIqk+zyQVoI3CL61IU=", - "owner": "aylur", - "repo": "astal", - "rev": "07583deff8a486fad472718572c3248f0fbea1f3", - "type": "github" - }, - "original": { - "owner": "aylur", - "repo": "astal", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1737469691, - "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1746663147, - "narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "astal": "astal", - "nixpkgs": "nixpkgs_2" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/hosts/packages/tundra/flake.nix b/hosts/packages/tundra/flake.nix deleted file mode 100644 index b6e0a36..0000000 --- a/hosts/packages/tundra/flake.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - inputs = { - nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; - astal.url = "github:aylur/astal"; - }; - - outputs = { - self, - nixpkgs, - astal, - }: let - system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; - in { - packages.${system} = { - default = pkgs.stdenv.mkDerivation { - name = "tundra"; - src = ./.; - - nativeBuildInputs = with pkgs; [ - meson - ninja - pkg-config - vala - gobject-introspection - dart-sass - ]; - - buildInputs = [ - astal.packages.${system}.io - astal.packages.${system}.astal3 - astal.packages.${system}.battery - astal.packages.${system}.wireplumber - astal.packages.${system}.network - astal.packages.${system}.tray - astal.packages.${system}.mpris - astal.packages.${system}.hyprland - ]; - }; - }; - }; -} diff --git a/hosts/packages/tundra/src/app.in.vala b/hosts/packages/tundra/src/app.in.vala deleted file mode 100644 index b3da69e..0000000 --- a/hosts/packages/tundra/src/app.in.vala +++ /dev/null @@ -1,31 +0,0 @@ -class App : Astal.Application { - public static App instance; - - public override void request (string msg, SocketConnection conn) { - print(@"$msg\n"); - AstalIO.write_sock.begin(conn, "ok"); - } - - public override void activate () { - foreach (var mon in this.monitors) - add_window(new Bar(mon)); - - apply_css("@STYLE@"); - } - - public static void main(string[] args) { - var instance_name = "vala"; - - App.instance = new App() { - instance_name = instance_name - }; - - try { - App.instance.acquire_socket(); - App.instance.run(null); - } catch (Error err) { - print(AstalIO.send_request(instance_name, string.joinv(" ", args))); - } - } -} - diff --git a/hosts/packages/tundra/src/meson.build b/hosts/packages/tundra/src/meson.build deleted file mode 100644 index 1cc6b10..0000000 --- a/hosts/packages/tundra/src/meson.build +++ /dev/null @@ -1,47 +0,0 @@ -project('tundra', 'vala', 'c') - -bindir = get_option('prefix') / get_option('bindir') -# bindir = './bin' -libdir = get_option('prefix') / get_option('libdir') - -pkgconfig_deps = [ - dependency('glib-2.0'), - dependency('gobject-2.0'), - dependency('gtk+-3.0'), - dependency('libnm'), - dependency('astal-io-0.1'), - dependency('astal-3.0'), - dependency('astal-battery-0.1'), - dependency('astal-wireplumber-0.1'), - dependency('astal-network-0.1'), - dependency('astal-tray-0.1'), - dependency('astal-mpris-0.1'), - dependency('astal-hyprland-0.1'), -] - -# needed for GLib.Math -deps = pkgconfig_deps + meson.get_compiler('c').find_library('m') - -main = configure_file( - input: 'app.in.vala', - output: 'app.vala', - configuration: { - 'STYLE': run_command( - find_program('sass'), - meson.project_source_root() / 'style.scss', - ).stdout(), - }, -) - -sources = files( - 'widget/Bar.vala', -) - -executable( - 'tundra', - [sources, main], - dependencies: deps, - install: true, - install_dir: bindir, -) - diff --git a/hosts/packages/tundra/src/style.scss b/hosts/packages/tundra/src/style.scss deleted file mode 100644 index 5c20382..0000000 --- a/hosts/packages/tundra/src/style.scss +++ /dev/null @@ -1,107 +0,0 @@ -@use "sass:color"; - -$bg: #212223; -$fg: #f1f1f1; -$accent: #378DF7; -$radius: 7px; - -window.Bar { - border: none; - box-shadow: none; - background-color: $bg; - color: $fg; - font-size: 1.1em; - font-weight: bold; - - label { - margin: 0 8px; - } - - .Workspaces { - button { - all: unset; - background-color: transparent; - - &:hover label { - background-color: color.adjust($fg, $alpha: -0.84); - border-color: color.adjust($accent, $alpha: -0.8); - } - - &:active label { - background-color: color.adjust($fg, $alpha: -0.8) - } - } - - label { - transition: 200ms; - padding: 0 8px; - margin: 2px; - border-radius: $radius; - border: 1pt solid transparent; - } - - .focused label { - color: $accent; - border-color: $accent; - } - } - - .SysTray { - margin-right: 8px; - - button { - padding: 0 4px; - } - } - - .FocusedClient { - color: $accent; - } - - .Media .Cover { - min-height: 1.2em; - min-width: 1.2em; - border-radius: $radius; - background-position: center; - background-size: contain; - } - - .Battery label { - padding-left: 0; - margin-left: 0; - } - - .AudioSlider { - * { - all: unset; - } - - icon { - margin-right: .6em; - } - - & { - margin: 0 1em; - } - - trough { - background-color: color.adjust($fg, $alpha: -0.8); - border-radius: $radius; - } - - highlight { - background-color: $accent; - min-height: .8em; - border-radius: $radius; - } - - slider { - background-color: $fg; - border-radius: $radius; - min-height: 1em; - min-width: 1em; - margin: -.2em; - } - } -} - diff --git a/hosts/packages/tundra/src/widget/Bar.vala b/hosts/packages/tundra/src/widget/Bar.vala deleted file mode 100644 index f1ba8eb..0000000 --- a/hosts/packages/tundra/src/widget/Bar.vala +++ /dev/null @@ -1,265 +0,0 @@ -class Workspaces : Gtk.Box { - AstalHyprland.Hyprland hypr = AstalHyprland.get_default(); - public Workspaces() { - Astal.widget_set_class_names(this, {"Workspaces"}); - hypr.notify["workspaces"].connect(sync); - sync(); - } - - void sync() { - foreach (var child in get_children()) - child.destroy(); - - // TODO: create a copy of workspaces - // then create a list of tuples (map id to index in hypr.workspaces) - // then sort new list by id - // then iterate and use index on hypr.workspaces - // NEVERMIND: read `lib/hyprland/hyprland.vala` and see how the - // `_workspaces` property is defined as a HashTable - // basically just extend on that / create a wrapper - // that allows better organisation - - hypr.workspaces.sort((a, b) => { return a.id - b.id; }); - foreach (var ws in hypr.workspaces) { - // filter out special workspaces - if (!(ws.id >= -99 && ws.id <= -2)) { - add(button(ws)); - } - } - } - - Gtk.Button button(AstalHyprland.Workspace ws) { - var btn = new Gtk.Button() { - visible = true, - label = ws.id.to_string() - }; - - hypr.notify["focused-workspace"].connect(() => { - var focused = hypr.focused_workspace == ws; - if (focused) { - Astal.widget_set_class_names(btn, {"focused"}); - } else { - Astal.widget_set_class_names(btn, {}); - } - }); - - btn.clicked.connect(ws.focus); - return btn; - } -} - -class FocusedClient : Gtk.Box { - public FocusedClient() { - Astal.widget_set_class_names(this, {"Focused"}); - AstalHyprland.get_default().notify["focused-client"].connect(sync); - sync(); - } - - void sync() { - foreach (var child in get_children()) - child.destroy(); - - var client = AstalHyprland.get_default().focused_client; - if (client == null) - return; - - var label = new Gtk.Label(client.title) { visible = true }; - client.bind_property("title", label, "label", BindingFlags.SYNC_CREATE); - add(label); - } -} - -class Media : Gtk.Box { - AstalMpris.Mpris mpris = AstalMpris.get_default(); - - public Media() { - Astal.widget_set_class_names(this, {"Media"}); - mpris.notify["players"].connect(sync); - sync(); - } - - void sync() { - foreach (var child in get_children()) - child.destroy(); - - if (mpris.players.length() == 0) { - add(new Gtk.Label("Nothing Playing")); - return; - } - - var player = mpris.players.nth_data(0); - var label = new Gtk.Label(null); - var cover = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 0) { - valign = Gtk.Align.CENTER - }; - - Astal.widget_set_class_names(cover, {"Cover"}); - player.bind_property("metadata", label, "label", BindingFlags.SYNC_CREATE, (_, src, ref trgt) => { - var title = player.title; - var artist = player.artist; - trgt.set_string(@"$artist - $title"); - return true; - }); - - var id = player.notify["cover-art"].connect(() => { - var art = player.cover_art; - Astal.widget_set_css(cover, @"background-image: url('$art')"); - }); - - cover.destroy.connect(() => player.disconnect(id)); - add(cover); - add(label); - } -} - -class SysTray : Gtk.Box { - HashTable items = new HashTable(str_hash, str_equal); - AstalTray.Tray tray = AstalTray.get_default(); - - public SysTray() { - Astal.widget_set_class_names(this, { "SysTray" }); - tray.item_added.connect(add_item); - tray.item_removed.connect(remove_item); - } - - void add_item(string id) { - if (items.contains(id)) - return; - - var item = tray.get_item(id); - var btn = new Gtk.MenuButton() { use_popover = false, visible = true }; - var icon = new Astal.Icon() { visible = true }; - - item.bind_property("tooltip-markup", btn, "tooltip-markup", BindingFlags.SYNC_CREATE); - item.bind_property("gicon", icon, "gicon", BindingFlags.SYNC_CREATE); - item.bind_property("menu-model", btn, "menu-model", BindingFlags.SYNC_CREATE); - btn.insert_action_group("dbusmenu", item.action_group); - item.notify["action-group"].connect(() => { - btn.insert_action_group("dbusmenu", item.action_group); - }); - - btn.add(icon); - add(btn); - items.set(id, btn); - } - - void remove_item(string id) { - if (items.contains(id)) { - items.remove(id); - } - } -} - -class Wifi : Astal.Icon { - public Wifi() { - Astal.widget_set_class_names(this, {"Wifi"}); - var wifi = AstalNetwork.get_default().wifi; - // var wifi = AstalNetwork.get_default().get_wifi(); - if (wifi != null) { - wifi.bind_property("ssid", this, "tooltip-text", BindingFlags.SYNC_CREATE); - wifi.bind_property("icon-name", this, "icon", BindingFlags.SYNC_CREATE); - } - } -} - -class AudioSlider : Gtk.Box { - Astal.Icon icon = new Astal.Icon(); - Astal.Slider slider = new Astal.Slider() { hexpand = true }; - - public AudioSlider() { - add(icon); - add(slider); - Astal.widget_set_class_names(this, {"AudioSlider"}); - Astal.widget_set_css(this, "min-width: 140px"); - - var speaker = AstalWp.get_default().audio.default_speaker; - speaker.bind_property("volume-icon", icon, "icon", BindingFlags.SYNC_CREATE); - speaker.bind_property("volume", slider, "value", BindingFlags.SYNC_CREATE); - slider.dragged.connect(() => speaker.volume = slider.value); - } -} - -class Battery : Gtk.Box { - Astal.Icon icon = new Astal.Icon(); - Astal.Label label = new Astal.Label(); - - public Battery() { - add(icon); - add(label); - Astal.widget_set_class_names(this, {"Battery"}); - - var bat = AstalBattery.get_default(); - bat.bind_property("is-present", this, "visible", BindingFlags.SYNC_CREATE); - bat.bind_property("battery-icon-name", icon, "icon", BindingFlags.SYNC_CREATE); - bat.bind_property("percentage", label, "label", BindingFlags.SYNC_CREATE, (_, src, ref trgt) => { - var p = Math.floor(src.get_double() * 100); - trgt.set_string(@"$p%"); - return true; - }); - } -} - -class Time : Astal.Label { - string format; - AstalIO.Time interval; - - void sync() { - label = new DateTime.now_local().format(format); - } - - public Time(string format = "%H:%M - %A %e.") { - this.format = format; - interval = AstalIO.Time.interval(1000, null); - interval.now.connect(sync); - destroy.connect(interval.cancel); - Astal.widget_set_class_names(this, {"Time"}); - } -} - -class Left : Gtk.Box { - public Left() { - Object(hexpand: true, halign: Gtk.Align.START); - add(new Workspaces()); - add(new FocusedClient()); - } -} - -class Center : Gtk.Box { - public Center() { - add(new Media()); - } -} - -class Right : Gtk.Box { - public Right() { - Object(hexpand: true, halign: Gtk.Align.END); - add(new SysTray()); - add(new Wifi()); - add(new AudioSlider()); - add(new Battery()); - add(new Time()); - } -} - -class Bar : Astal.Window { - public Bar(Gdk.Monitor monitor) { - Object( - anchor: Astal.WindowAnchor.TOP - | Astal.WindowAnchor.LEFT - | Astal.WindowAnchor.RIGHT, - exclusivity: Astal.Exclusivity.EXCLUSIVE, - gdkmonitor: monitor - ); - - Astal.widget_set_class_names(this, {"Bar"}); - - add(new Astal.CenterBox() { - start_widget = new Left(), - center_widget = new Center(), - end_widget = new Right(), - }); - - show_all(); - } -} - diff --git a/hosts/packages/README b/packages/README similarity index 100% rename from hosts/packages/README rename to packages/README diff --git a/hosts/packages/angryoxide/default.nix b/packages/angryoxide/default.nix similarity index 100% rename from hosts/packages/angryoxide/default.nix rename to packages/angryoxide/default.nix diff --git a/hosts/packages/chameleonultragui/TODO b/packages/chameleonultragui/TODO.md similarity index 100% rename from hosts/packages/chameleonultragui/TODO rename to packages/chameleonultragui/TODO.md diff --git a/hosts/packages/chameleonultragui/default.nix b/packages/chameleonultragui/default.nix similarity index 100% rename from hosts/packages/chameleonultragui/default.nix rename to packages/chameleonultragui/default.nix diff --git a/packages/ekphos.nix b/packages/ekphos/default.nix similarity index 100% rename from packages/ekphos.nix rename to packages/ekphos/default.nix diff --git a/hosts/packages/huggingface_hub/flake.nix b/packages/huggingface_hub/flake.nix similarity index 100% rename from hosts/packages/huggingface_hub/flake.nix rename to packages/huggingface_hub/flake.nix diff --git a/hosts/packages/huggingface_hub/hf-xet.nix b/packages/huggingface_hub/hf-xet.nix similarity index 100% rename from hosts/packages/huggingface_hub/hf-xet.nix rename to packages/huggingface_hub/hf-xet.nix diff --git a/hosts/packages/huggingface_hub/huggingface_hub.nix b/packages/huggingface_hub/huggingface_hub.nix similarity index 100% rename from hosts/packages/huggingface_hub/huggingface_hub.nix rename to packages/huggingface_hub/huggingface_hub.nix diff --git a/hosts/packages/x86-manpages/default.nix b/packages/x86-manpages/default.nix similarity index 100% rename from hosts/packages/x86-manpages/default.nix rename to packages/x86-manpages/default.nix