Compare commits

...

5 commits

Author SHA1 Message Date
defb301c90
try building all at once 2024-11-19 09:39:38 -06:00
c426a6b55a
also accept queued 2024-11-19 09:19:21 -06:00
1e84539947
add flameshot 2024-11-18 17:38:53 -06:00
c03776be01
formatting 2024-11-18 16:58:15 -06:00
45eeeb3b78
fix hwylcli version 2024-11-18 15:14:55 -06:00
9 changed files with 232 additions and 14 deletions

View file

@ -60,6 +60,75 @@ jobs:
with: with:
push-args: --set-upstream --force origin flake-lock push-args: --set-upstream --force origin flake-lock
build-full-at-once:
needs: build-minimal
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
# needed to access ghostty repo for now
- name: Setup SSH
uses: MrSquaare/ssh-setup-action@v3
with:
host: github.com
private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- uses: daylin-bot/actions/setup@main
- uses: ./.github/actions/nix
with:
attic_token: ${{ secrets.ATTIC_TOKEN }}
clean: true
btrfs: true
- name: Pre-build oizys
run: nix build .
- name: Build
run: >
nix run .
--
build
"$(nix run . -- output --host,=othalan,algiz,mannaz,naudiz --flake .)"
--flake .
--debug
--
--keep-going
--out-link current
- run: git checkout flake-lock
- name: Pre-build oizys
run: nix build .
- name: Build Updated
run: >
nix run .
--
build
"$(nix run . -- output --host,=othalan,algiz,mannaz,naudiz --flake .)"
--flake .
--debug
--
--keep-going
--out-link updated
- run: ls
# - run: |
# echo "# System Diff" >> $GITHUB_STEP_SUMMARY
# nix run "nixpkgs#nvd" -- --color always diff ./current ./updated >> summary.md
# printf '```\n%s\n```\n' "$(nix run "nixpkgs#nvd" -- diff ./current ./updated)" >> $GITHUB_STEP_SUMMARY
#
- run: df -h
# - uses: actions/upload-artifact@v4
# with:
# name: ${{ matrix.host }}-summary
# path: summary.md
#
build-full: build-full:
needs: build-minimal needs: build-minimal
runs-on: ubuntu-latest runs-on: ubuntu-latest

View file

@ -58,7 +58,8 @@ let
packages = with pkgs; [ packages = with pkgs; [
openssl openssl
nim nim
nimble self.packages.${pkgs.system}.nimble
# nimble
]; ];
}; };
}); });

View file

@ -6,7 +6,6 @@
flake, flake,
... ...
}: }:
mkOizysModule config "hyprland" { mkOizysModule config "hyprland" {
programs.hyprland = enabled; programs.hyprland = enabled;
security.pam.services.swaylock = { }; security.pam.services.swaylock = { };
@ -42,8 +41,14 @@ mkOizysModule config "hyprland" {
# not even clear why I need to add this but ¯\_(ツ)_/¯ # not even clear why I need to add this but ¯\_(ツ)_/¯
kdePackages.qtwayland kdePackages.qtwayland
]) ])
++ [ (flake.pkg "hyprman") ] ++ [
(flake.pkg "hyprman")
((flake.pkgs "self").flameshot.override {
enableWlrSupport = true;
})
]
# swww-git is broken # swww-git is broken
++ (with (flake.pkgs "nixpkgs-wayland"); [ ++ (with (flake.pkgs "nixpkgs-wayland"); [
@ -59,7 +64,6 @@ mkOizysModule config "hyprland" {
# (overlayFrom "hyprland") # (overlayFrom "hyprland")
]; ];
services.getty = { services.getty = {
extraArgs = [ "--skip-login" ]; extraArgs = [ "--skip-login" ];
loginOptions = "-p -- ${config.oizys.user}"; loginOptions = "-p -- ${config.oizys.user}";

View file

@ -2,6 +2,7 @@
config, config,
lib, lib,
pkgs, pkgs,
flake,
... ...
}: }:
let let
@ -12,8 +13,9 @@ in
config = mkIfIn "nim" cfg { config = mkIfIn "nim" cfg {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
nim nim
nimble # nimble
nimlangserver nimlangserver
(flake.pkgs "self").nimble
]; ];
}; };
} }

View file

@ -1,11 +1,17 @@
{ pkgs, ... }: { pkgs, ... }:
let inherit (pkgs) python3Packages; let
in inherit (pkgs) python3Packages;
in
{ {
# nph = pkgs.callPackage ./nim/nph { }; # doesn't compile with 2.2.0 :/ # nph = pkgs.callPackage ./nim/nph { }; # doesn't compile with 2.2.0 :/
# nimlangserver = pkgs.callPackage ./nim/nimlangserver { }; # nimlangserver = pkgs.callPackage ./nim/nimlangserver { };
nimble = pkgs.callPackage ./nim/nimble { }; nimble = pkgs.callPackage ./nim/nimble { };
distrobox = pkgs.callPackage ./distrobox {};
llm = python3Packages.callPackage ./llm {}; distrobox = pkgs.callPackage ./distrobox { };
llm-claude-3 = python3Packages.callPackage ./llm-plugins/llm-claude-3 {};
llm = python3Packages.callPackage ./llm { };
llm-claude-3 = python3Packages.callPackage ./llm-plugins/llm-claude-3 { };
flameshot = pkgs.callPackage ./flameshot { };
} }

136
pkgs/flameshot/default.nix Normal file
View file

@ -0,0 +1,136 @@
{
stdenv,
lib,
overrideSDK,
fetchFromGitHub,
fetchpatch,
cmake,
imagemagick,
libicns,
libsForQt5,
grim,
makeBinaryWrapper,
nix-update-script,
enableWlrSupport ? false,
enableMonochromeIcon ? false,
}:
assert stdenv.hostPlatform.isDarwin -> (!enableWlrSupport);
let
stdenv' = if stdenv.hostPlatform.isDarwin then overrideSDK stdenv "11.0" else stdenv;
in
stdenv'.mkDerivation {
pname = "flameshot";
# wlr screenshotting is currently only available on unstable version (>12.1.0)
version = "12.1.0-unstable-2024-11-18";
src = fetchFromGitHub {
owner = "flameshot-org";
repo = "flameshot";
rev = "729f494d535356adfbd65dc127a5c82ea218006e";
hash = "sha256-hrUPBVWnTYvgcWOSnRQAywr6RG5qMph5Nf0AbnKdpj0=";
};
# is this necessary with newer versions?
# patches = [
# # https://github.com/flameshot-org/flameshot/pull/3166
# # fixes fractional scaling calculations on wayland
# (fetchpatch {
# name = "10-fix-wayland.patch";
# url = "https://github.com/flameshot-org/flameshot/commit/5fea9144501f7024344d6f29c480b000b2dcd5a6.patch";
# hash = "sha256-SnjVbFMDKD070vR4vGYrwLw6scZAFaQA4b+MbI+0W9E=";
# })
# ];
cmakeFlags =
[
(lib.cmakeBool "DISABLE_UPDATE_CHECKER" true)
(lib.cmakeBool "USE_MONOCHROME_ICON" enableMonochromeIcon)
]
++ lib.optionals stdenv.hostPlatform.isLinux [
(lib.cmakeBool "USE_WAYLAND_CLIPBOARD" true)
(lib.cmakeBool "USE_WAYLAND_GRIM" enableWlrSupport)
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
(lib.cmakeFeature "Qt5_DIR" "${libsForQt5.qtbase.dev}/lib/cmake/Qt5")
];
nativeBuildInputs =
[
cmake
libsForQt5.qttools
libsForQt5.qtsvg
libsForQt5.wrapQtAppsHook
makeBinaryWrapper
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
imagemagick
libicns
];
buildInputs = [
libsForQt5.qtbase
libsForQt5.kguiaddons
];
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
# Fix icns generation running concurrently with png generation
sed -E -i '/"iconutil -o/i\
)\
execute_process(\
' src/CMakeLists.txt
# Replace unavailable commands
sed -E -i \
-e 's/"sips -z ([0-9]+) ([0-9]+) +(.+) --out /"magick \3 -resize \1x\2\! /' \
-e 's/"iconutil -o (.+) -c icns (.+)"/"png2icns \1 \2\/*{16,32,128,256,512}.png"/' \
src/CMakeLists.txt
'';
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir $out/Applications
mv $out/bin/flameshot.app $out/Applications
ln -s $out/Applications/flameshot.app/Contents/MacOS/flameshot $out/bin/flameshot
rm -r $out/share/applications
rm -r $out/share/dbus*
rm -r $out/share/icons
rm -r $out/share/metainfo
'';
dontWrapQtApps = true;
postFixup =
let
binary =
if stdenv.hostPlatform.isDarwin then
"Applications/flameshot.app/Contents/MacOS/flameshot"
else
"bin/flameshot";
in
''
wrapProgram $out/${binary} \
${lib.optionalString enableWlrSupport "--prefix PATH : ${lib.makeBinPath [ grim ]}"} \
''${qtWrapperArgs[@]}
'';
passthru = {
updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
};
meta = with lib; {
description = "Powerful yet simple to use screenshot software";
homepage = "https://github.com/flameshot-org/flameshot";
changelog = "https://github.com/flameshot-org/flameshot/releases";
mainProgram = "flameshot";
maintainers = with maintainers; [
scode
oxalica
];
license = licenses.gpl3Plus;
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -8,7 +8,7 @@ buildNimblePackage {
verions = "unstable"; verions = "unstable";
src = lib.cleanSource ./.; src = lib.cleanSource ./.;
nativeBuildInputs = [ openssl ]; nativeBuildInputs = [ openssl ];
nimbleDepsHash = "sha256-1AztepAkNtxC3lfi5gTj1QrhejKNsNXa4mUdR958vJM="; nimbleDepsHash = "sha256-1YoGvWvoJJSMauDbeH8ZHuK+QQot48Mkye9TeWteT8k=";
meta = { meta = {
description = "nix begat oizys"; description = "nix begat oizys";

View file

@ -3,12 +3,12 @@
"packages": { "packages": {
"hwylterm": { "hwylterm": {
"version": "0.1.0", "version": "0.1.0",
"vcsRevision": "748f7e1bd6325d39bc531b29ce28f5ef276c5aae", "vcsRevision": "c5f70cec4e40ba396f59162e98c359a1a1ea4fe1",
"url": "https://github.com/daylinmorgan/hwylterm", "url": "https://github.com/daylinmorgan/hwylterm",
"downloadMethod": "git", "downloadMethod": "git",
"dependencies": [], "dependencies": [],
"checksums": { "checksums": {
"sha1": "129117c4e51b13d8eede1ef4a471b134d724b92f" "sha1": "5727969a8e82e29a7581c13cc7cc45996dbca5a1"
} }
}, },
"jsony": { "jsony": {

View file

@ -93,7 +93,7 @@ proc getInProgressRun(
while (now() - start) < timeoutDuration: while (now() - start) < timeoutDuration:
let response = getGhApi(fmt"https://api.github.com/repos/daylinmorgan/oizys/actions/workflows/{workflow}/runs") let response = getGhApi(fmt"https://api.github.com/repos/daylinmorgan/oizys/actions/workflows/{workflow}/runs")
let runs = fromJson(response.body, ListGhWorkflowResponse).workflow_runs let runs = fromJson(response.body, ListGhWorkflowResponse).workflow_runs
if runs[0].status == "in_progress": if runs[0].status in ["in_progress", "queued"]:
spinner.stop() # cleanup spinner.stop() # cleanup
return (runs[0], true) return (runs[0], true)
sleep 500 sleep 500