Compare commits

Author SHA1 Message Date
wymiller a4d6749411 Merge branch 'master' into import-overlays-from-config 2026-09-06 13:55:13 -05:00
wymiller c59dc1252a mod: updated fetcher and vendor hashes 2026-09-06 14:58:27 -04:00
wymiller e1620950b6 add: make sable great again
Publish packages to Attic / publish (push) Successful in 23m22s
2026-09-06 14:02:14 -04:00
wymiller 479ef575d8 Merge branch 'master' into import-overlays-from-config 2026-09-06 12:41:35 -05:00
gitea-actions[bot] 21037dae06 chore: update flake lock 2026-09-06 07:05:17 +00:00
wymiller 4f5ecae56b Merge pull request '⚙️ Fix publish workflow' (#14) from publish-fix into master
Publish packages to Attic / publish (push) Successful in 8m9s
Reviewed-on: #14
2026-09-05 20:29:50 -05:00
wymiller ff8dcd1587 chore: env variable fix 2026-09-05 20:28:25 -04:00
wymiller a65b09f6cb chore: fix publish workflow 2026-09-05 20:18:12 -04:00
wymiller 887845a8f7 add: diffnav, gh-dash, lazygit, k9s overrides
these are all overlays that were part of my nix config before i created
my nur. i am putting them here to reduce build time when building my nix
config
2026-09-03 13:32:14 -04:00
wymiller 1b5df8dea8 Merge pull request '📦 Add cliamp package' (#12) from cliamp into master
Publish packages to Attic / publish (push) Failing after 8m46s
Reviewed-on: #12
2026-09-02 12:42:27 -05:00
wymiller 2fc67cffe3 Merge branch 'master' into cliamp 2026-09-02 12:42:18 -05:00
wymiller c16695f5f4 mod: ci stuff 2026-09-02 13:42:59 -04:00
wymiller 2f16b8c56a Merge pull request '📦 Add OpenGOAL package' (#11) from opengoal into master
Publish packages to Attic / publish (push) Successful in 8m43s
Reviewed-on: #11
2026-09-02 12:42:03 -05:00
wymiller ecd0ec0c95 Merge branch 'opengoal' of ssh://scm.wyattjmiller.com:222/wymiller/nur into opengoal 2026-09-02 13:45:05 -04:00
wymiller 91c5fd7944 mod: ci stuff 2026-09-02 13:45:01 -04:00
wymiller 7dad6a62f0 add: cliamp build target 2026-09-02 13:41:37 -04:00
wymiller c736d31570 Merge branch 'master' into opengoal 2026-09-02 12:21:48 -05:00
wymiller 563be1867c Merge pull request '📦 Add container package' (#10) from container into master
Publish packages to Attic / publish (push) Successful in 8m32s
Reviewed-on: #10
2026-09-02 12:20:25 -05:00
wymiller 9b1238eb39 add: apple container build target 2026-09-02 13:21:30 -04:00
wymiller b7c6087115 mod: add opengoal build target 2026-08-31 13:51:35 -04:00
gitea-actions[bot] 52e8bf19e0 chore: update flake lock 2026-08-30 19:14:39 +00:00
wymiller af2ded56a4 Merge branch 'master' of ssh://scm.wyattjmiller.com:222/wymiller/nur
Publish packages to Attic / publish (push) Canceled after 22s
2026-08-30 15:13:25 -04:00
wymiller aa4d5e60bb chore: run publish workflow after update flake workflow 2026-08-30 15:13:20 -04:00
gitea-actions[bot] d9ad2edcb6 chore: update flake lock 2026-08-30 07:06:09 +00:00
wymiller af5b631490 chore: modify license file
Publish packages to Attic / publish (push) Successful in 7m20s
2026-08-26 22:19:45 -04:00
14 changed files with 392 additions and 64 deletions
+8 -1
View File
@@ -4,6 +4,11 @@ on:
push: push:
branches: branches:
- master - master
workflow_run:
workflows:
- Update flake lock
types:
- completed
workflow_dispatch: workflow_dispatch:
jobs: jobs:
@@ -62,13 +67,15 @@ jobs:
system="$(nix eval --impure --raw --expr builtins.currentSystem)" system="$(nix eval --impure --raw --expr builtins.currentSystem)"
NIXPKGS_ALLOW_UNFREE=1 nix build --impure --accept-flake-config --no-link --print-out-paths -L \ NIXPKGS_ALLOW_UNFREE=1 nix build --impure --sandbox --no-sandbox-fallback --accept-flake-config --no-link --print-out-paths -L \
".#packages.${system}.atuinLatest" \ ".#packages.${system}.atuinLatest" \
".#packages.${system}.cliampLatest" \
".#packages.${system}.musicpresence" \ ".#packages.${system}.musicpresence" \
".#packages.${system}.vintage-story" \ ".#packages.${system}.vintage-story" \
".#packages.${system}.swaytreesave" \ ".#packages.${system}.swaytreesave" \
".#packages.${system}.archon" \ ".#packages.${system}.archon" \
".#packages.${system}.ani-cli-rs" \ ".#packages.${system}.ani-cli-rs" \
".#packages.${system}.opengoal" \
| tee built-paths.txt | tee built-paths.txt
- name: Push packages to Attic - name: Push packages to Attic
View File
Generated
+134 -17
View File
@@ -9,11 +9,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1787710235, "lastModified": 1788133146,
"narHash": "sha256-uWDHHB5Z9m3cXQNjfdWWqp2S/SwosukkJv57ORljCvQ=", "narHash": "sha256-rjxs1D9duSUWf/lnJV6JZXqdpTEbJ1ntX1hZyYHOuK4=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "4afabd4956611ec9213dd8392755dece81688b67", "rev": "427757654f013e316b3e267dd345c3ab780da7b6",
"revCount": 20, "revCount": 22,
"type": "git", "type": "git",
"url": "https://scm.wyattjmiller.com/wymiller/caitsith.git" "url": "https://scm.wyattjmiller.com/wymiller/caitsith.git"
}, },
@@ -42,6 +42,22 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-schemas": { "flake-schemas": {
"locked": { "locked": {
"lastModified": 1761577921, "lastModified": 1761577921,
@@ -70,6 +86,91 @@
"url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%2A" "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%2A"
} }
}, },
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"go-overlay",
"nixpkgs"
]
},
"locked": {
"lastModified": 1778507602,
"narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"go-overlay",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"go-overlay": {
"inputs": {
"flake-utils": "flake-utils",
"git-hooks": "git-hooks",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1788301927,
"narHash": "sha256-Zmcvt5yW//YLT3HYe3bWN1Sf2txYrnBpa5jLULVokc0=",
"owner": "purpleclay",
"repo": "go-overlay",
"rev": "fe48ae4f56981f9f7c2bf03d4951fb0aa6e2095b",
"type": "github"
},
"original": {
"owner": "purpleclay",
"repo": "go-overlay",
"type": "github"
}
},
"hildibrand": { "hildibrand": {
"inputs": { "inputs": {
"flake-schemas": "flake-schemas_2", "flake-schemas": "flake-schemas_2",
@@ -79,11 +180,11 @@
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1785717646, "lastModified": 1788130254,
"narHash": "sha256-j6MlkwaYOLa3bogK4SbOnVI5eMZ9j2GdExSiKMaELPo=", "narHash": "sha256-LR+73+2a51LOUKVTkEsP/XMVSZXm2P4hlgb7/KxdQ30=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "9588520925513ed0e47711a5798c6e9958143a0a", "rev": "f2049db9c29bf3ab0beff7cf0a990735d5571446",
"revCount": 5, "revCount": 6,
"type": "git", "type": "git",
"url": "https://scm.wyattjmiller.com/wymiller/hildibrand.git" "url": "https://scm.wyattjmiller.com/wymiller/hildibrand.git"
}, },
@@ -99,11 +200,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1787778830, "lastModified": 1788651960,
"narHash": "sha256-GnLPpDT727E6VpDlALP8JeP1BbSQ17H0HiEEYq6Ql4w=", "narHash": "sha256-v9wJd32eZ2bvhBzVOd7TIjLQd011P7nwOhjKtWlci5I=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "6b449e35980e1b75dd17da2d6d9b66e757194f1c", "rev": "2c0350c759688177331b8f5242311fae8877bdb3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -114,11 +215,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1787753485, "lastModified": 1788584326,
"narHash": "sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg=", "narHash": "sha256-Fd3OB8J9JhgliQwOKcqx4M672CInxi1I5VnwsaXeSQo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "062346a6d85bc4b49dfaa61c986e9c5be21217d1", "rev": "6713828a351efa628b025a1adf7f43cbf8597513",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -132,6 +233,7 @@
"inputs": { "inputs": {
"caitsith": "caitsith", "caitsith": "caitsith",
"darwin": "darwin", "darwin": "darwin",
"go-overlay": "go-overlay",
"hildibrand": "hildibrand", "hildibrand": "hildibrand",
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
@@ -187,11 +289,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1787713867, "lastModified": 1788678114,
"narHash": "sha256-ZRYTEvDb8QZLCHRoMyIZle9V3Bvw905m0teeo1RvI7M=", "narHash": "sha256-pcqbpV4ZI79al6KAlr+WJjaEo/PYfgctRlG43D5BSJM=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "494680f9ffa2b4bf9f2df0f442c7096e44adfa00", "rev": "4748ec2f5ed4a881474ed4c98aa71a5308cdac8d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -199,6 +301,21 @@
"repo": "rust-overlay", "repo": "rust-overlay",
"type": "github" "type": "github"
} }
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",
+6 -1
View File
@@ -11,6 +11,10 @@
url = "github:oxalica/rust-overlay"; url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
go-overlay = {
url = "github:purpleclay/go-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
hildibrand.url = "git+https://scm.wyattjmiller.com/wymiller/hildibrand.git"; hildibrand.url = "git+https://scm.wyattjmiller.com/wymiller/hildibrand.git";
hildibrand.inputs.nixpkgs.follows = "nixpkgs"; hildibrand.inputs.nixpkgs.follows = "nixpkgs";
@@ -18,7 +22,7 @@
caitsith.inputs.nixpkgs.follows = "nixpkgs"; caitsith.inputs.nixpkgs.follows = "nixpkgs";
}; };
outputs = inputs@{ self, nixpkgs, home-manager, darwin, rust-overlay, ... }: outputs = inputs@{ self, nixpkgs, home-manager, darwin, rust-overlay, go-overlay, ... }:
let let
supportedSystems = [ supportedSystems = [
"x86_64-linux" "x86_64-linux"
@@ -61,6 +65,7 @@
overlays.default = nixpkgs.lib.composeManyExtensions [ overlays.default = nixpkgs.lib.composeManyExtensions [
rust-overlay.overlays.default rust-overlay.overlays.default
go-overlay.overlays.default
(import ./overlays) (import ./overlays)
]; ];
homeManagerModules = import ./modules/home-manager self; homeManagerModules = import ./modules/home-manager self;
+43
View File
@@ -0,0 +1,43 @@
final: prev:
let
rustLatest = prev.rust-bin.stable.latest.default;
rustPlatform = prev.makeRustPlatform {
cargo = rustLatest;
rustc = rustLatest;
};
in
{
atuinLatest = (prev.atuin.override { inherit rustPlatform; }).overrideAttrs (oldAttrs: rec {
version = "18.19.0";
src = prev.fetchFromGitHub {
owner = "atuinsh";
repo = "atuin";
rev = "v${version}";
hash = "sha256-yAw+ty6FUnFbiRTdAe2QQHzj6uU24fZ/bEIXcHl/thg=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src;
hash = "sha256-jirVe0+N5+UHZWioj8AipUhawMBameqEJJpa8HPTnfw=";
};
cargoBuildFeatures = [
"ai"
"client"
"clipboard"
"daemon"
"hex"
"sync"
];
cargoCheckFeatures = cargoBuildFeatures;
preCheck = (oldAttrs.preCheck or "") + ''
export HOME="$TMPDIR"
export XDG_CONFIG_HOME="$TMPDIR/.config"
export XDG_DATA_HOME="$TMPDIR/.local/share"
export XDG_STATE_HOME="$TMPDIR/.local/state"
mkdir -p "$XDG_CONFIG_HOME" "$XDG_DATA_HOME" "$XDG_STATE_HOME"
'';
});
}
+24
View File
@@ -0,0 +1,24 @@
final: prev: {
cliampLatest = prev.cliamp.overrideAttrs (oldAttrs: rec {
version = "2.0.1";
src = prev.fetchFromGitHub {
owner = "bjarneo";
repo = "cliamp";
tag = "v${version}";
sha256 = "sha256-r7MrrcVt+/f+iPozn9jaczJmpPv431wAoW8LvHKBtB8=";
};
vendorHash = "sha256-rtwUWbft5XGEbuBCn0OMCn4TS5Ul+UXJNIqNOzXfU+M=";
buildInputs = with prev; [
libogg
libvorbis
flac
mpg123
]
++ lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
];
});
}
+10
View File
@@ -0,0 +1,10 @@
final: prev: {
containerLatest = prev.container.overrideAttrs (oldAttrs: rec {
version = "1.3.1";
src = prev.fetchurl {
url = "https://github.com/apple/container/releases/download/${version}/container-${version}-installer-signed.pkg";
hash = "sha256-p8G515J9MIdfL2x70dDLBsLapspXzp6QpRROiY/fVKg=";
};
});
}
+9 -42
View File
@@ -1,43 +1,10 @@
final: prev: final: prev:
let prev.lib.composeManyExtensions [
rustLatest = prev.rust-bin.stable.latest.default; (import ./atuin.nix)
rustPlatform = prev.makeRustPlatform { (import ./container.nix)
cargo = rustLatest; (import ./cliamp.nix)
rustc = rustLatest; (import ./diffnav.nix)
}; (import ./gh-dash.nix)
in (import ./lazygit.nix)
{ (import ./k9s.nix)
atuinLatest = (prev.atuin.override { inherit rustPlatform; }).overrideAttrs (oldAttrs: rec { ] final prev
version = "18.19.0";
src = prev.fetchFromGitHub {
owner = "atuinsh";
repo = "atuin";
rev = "v${version}";
hash = "sha256-yAw+ty6FUnFbiRTdAe2QQHzj6uU24fZ/bEIXcHl/thg=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src;
hash = "sha256-jirVe0+N5+UHZWioj8AipUhawMBameqEJJpa8HPTnfw=";
};
cargoBuildFeatures = [
"ai"
"client"
"clipboard"
"daemon"
"hex"
"sync"
];
cargoCheckFeatures = cargoBuildFeatures;
preCheck = (oldAttrs.preCheck or "") + ''
export HOME="$TMPDIR"
export XDG_CONFIG_HOME="$TMPDIR/.config"
export XDG_DATA_HOME="$TMPDIR/.local/share"
export XDG_STATE_HOME="$TMPDIR/.local/state"
mkdir -p "$XDG_CONFIG_HOME" "$XDG_DATA_HOME" "$XDG_STATE_HOME"
'';
});
}
+25
View File
@@ -0,0 +1,25 @@
final: prev: let
golang_latest = prev.go-bin.latestStable;
buildGoModuleLatest = prev.buildGoModule.override {
go = golang_latest;
};
in {
diffNavLatest = (prev.diffnav.override {
buildGoModule = buildGoModuleLatest;
}).overrideAttrs (_: rec {
version = "0.12.0";
src = prev.fetchFromGitHub {
owner = "dlvhdr";
repo = "diffnav";
rev = "v${version}";
hash = "sha256-DrEbo9YYg4FCXQXuIkbPxO5Z3ZOPZJYeGoLoP/vT0Y0=";
};
vendorHash = "sha256-2OzHyBPsylQVXhPlqk2owEhiibFi3H1UENvGGDdzGss";
ldflags = [
"-s"
"-w"
];
});
}
+36
View File
@@ -0,0 +1,36 @@
final: prev: let
golang_latest = prev.go-bin.latestStable;
buildGoModuleLatest = prev.buildGoModule.override {
go = golang_latest;
};
in {
ghDashLatest = (prev.gh-dash.override {
buildGoModule = buildGoModuleLatest;
}).overrideAttrs (oldAttrs: rec {
version = "4.25.2";
src = prev.fetchFromGitHub {
owner = "dlvhdr";
repo = "gh-dash";
rev = "v${version}";
hash = "sha256-FUb4zrGT0L7S1O5EcOCop4n0zlx1ODsANzBcEl9bvOU=";
};
vendorHash = "sha256-3iUBuMvA2Xh7UjTiFNEs3tuZMCnSt/bIhTSEDD92yCU=";
doCheck = false;
checkFlags = [
"-skip=TestFullOutput"
];
ldflags = [
"-s"
"-w"
"-X github.com/dlvhdr/gh-dash/v4/cmd.Version=${version}"
];
passthru = (oldAttrs.passthru or {}) // {
tests = {
version = oldAttrs.testers.testVersion { package = final.ghDashLatest; };
};
};
});
}
+18
View File
@@ -0,0 +1,18 @@
final: prev: {
k9sLatest = prev.k9s.overrideAttrs (oldAttrs: rec {
version = "0.51.0";
src = prev.fetchFromGitHub {
owner = "derailed";
repo = "k9s";
rev = "v${version}";
hash = "sha256-70Rfu1BVd/QnwWXRRpwIeZ2UJNWIGixpdiOHo4v7adA=";
};
vendorHash = "sha256-PkYDJK2oGl+siCG9p4R8shC0e5BhGFdJsc+ksL9J5zw=";
ldflags = [
"-X github.com/derailed/k9s/version.Version=${version}"
"-X github.com/derailed/k9s/version.BuildSource=nix"
];
});
}
+18
View File
@@ -0,0 +1,18 @@
final: prev: {
lazygitLatest = prev.lazygit.overrideAttrs (_: rec {
version = "0.65.0";
src = prev.fetchFromGitHub {
owner = "jesseduffield";
repo = "lazygit";
rev = "v${version}";
hash = "sha256-W/Z/BnA5L8tXYrKn3bnekNnx7bEaaJRoHSGAeygcK0E=";
};
vendorHash = null;
subPackages = [ "." ];
ldflags = [
"-X main.version=${version}"
"-X main.buildSource=nix"
];
});
}
+12 -3
View File
@@ -1,20 +1,29 @@
{ {
pkgs, pkgs,
hildibrand ? null, hildibrand ? null,
caitsith ? null caitsith ? null,
}: }:
{ {
# any overlays we define here
atuinLatest = pkgs.atuinLatest; atuinLatest = pkgs.atuinLatest;
containerLatest = pkgs.containerLatest;
cliampLatest = pkgs.cliampLatest;
lazygitLatest = pkgs.lazygitLatest;
ghDashLatest = pkgs.ghDashLatest;
diffNavLatest = pkgs.diffNavLatest;
k9sLatest = pkgs.k9sLatest;
# any packages that are added to pkgs and are inputs, we inherit them here # any packages that are added to pkgs and are inputs, we inherit them here
inherit hildibrand; inherit hildibrand;
inherit caitsith; inherit caitsith;
# any packages that build instructions are in this repo, they go here # any packages that build instructions are in this repo, they go here
# sable-web = pkgs.callPackage ./common/sable.nix {}; sable-web = pkgs.callPackage ./common/sable.nix { };
swaytreesave = pkgs.callPackage ./linux/swaytreesave.nix { }; swaytreesave = pkgs.callPackage ./linux/swaytreesave.nix { };
musicpresence = pkgs.callPackage ./linux/musicpresence.nix { }; musicpresence = pkgs.callPackage ./linux/musicpresence.nix { };
vintage-story = pkgs.callPackage ./linux/vintage-story.nix { }; vintage-story = pkgs.callPackage ./linux/vintage-story.nix { };
archon = pkgs.callPackage ./linux/archon.nix { }; archon = pkgs.callPackage ./linux/archon.nix { };
yubilock = pkgs.callPackage ./linux/yubilock/default.nix { }; yubilock = pkgs.callPackage ./linux/yubilock/default.nix { };
ani-cli-rs = pkgs.callPackage ./linux/ani-cli-rs.nix { }; ani-cli-rs = pkgs.callPackage ./linux/ani-cli-rs.nix { };
opengoal = pkgs.callPackage ./linux/opengoal.nix { };
} }
+49
View File
@@ -0,0 +1,49 @@
{ pkgs }:
let
pname = "OpenGOAL-Launcher";
version = "2.10.4";
src = pkgs.fetchurl {
url = "https://github.com/open-goal/launcher/releases/download/v${version}/${pname}_${version}_amd64.AppImage";
hash = "sha256-eikzjdOYNdJM9FM3O/HuCFDzf97Fm1nhbRedDyKZ1/s=";
};
in
pkgs.stdenvNoCC.mkDerivation {
inherit pname version src;
nativeBuildInputs = [ pkgs.makeWrapper ];
dontUnpack = true;
dontPatchELF = true;
installPhase = ''
runHook preInstall
cp "$src" "${pname}.AppImage"
chmod +x "${pname}.AppImage"
./"${pname}.AppImage" --appimage-extract
mkdir -p "$out/opt"
cp -a AppDir "$out/opt/opengoal-launcher"
rm -f "$out/opt/opengoal-launcher/share/icons/hicolor/scalable/apps/byobu.svg"
makeWrapper "$out/opt/opengoal-launcher/AppRun" "$out/bin/${pname}"
install -Dm444 "AppDir/${pname}.desktop" \
"$out/share/applications/${pname}.desktop"
install -Dm444 "AppDir/${pname}.png" \
"$out/share/icons/hicolor/256x256/apps/${pname}.png"
runHook postInstall
'';
passthru.updateScript = pkgs.nix-update-script { };
meta = with pkgs.lib; {
description = "Launcher for the OpenGOAL project";
homepage = "https://github.com/open-goal/launcher";
license = licenses.mit;
platforms = [ "x86_64-linux" ];
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
mainProgram = pname;
};
}