Compare commits

...

4 commits

11 changed files with 233 additions and 121 deletions

126
flake.lock generated
View file

@ -70,11 +70,11 @@
"bt-tracker": {
"flake": false,
"locked": {
"lastModified": 1741478934,
"narHash": "sha256-j5fn+zrRPbD3uNhQw57v1LZXRqg2d+JBUbC8oUiGdyY=",
"lastModified": 1741680653,
"narHash": "sha256-b5Y241PYSU+H6g1T4gvyT69ELjgCiLIueHIXsmlmDcQ=",
"owner": "XIU2",
"repo": "TrackersListCollection",
"rev": "d14dda00e5f4409a51bc7a33fb6525ce5e902066",
"rev": "1e195e467d0e5bc12e051d76ed87959a4241fa26",
"type": "github"
},
"original": {
@ -137,11 +137,11 @@
]
},
"locked": {
"lastModified": 1740485968,
"narHash": "sha256-WK+PZHbfDjLyveXAxpnrfagiFgZWaTJglewBWniTn2Y=",
"lastModified": 1741684000,
"narHash": "sha256-NQykaWIrn5zilncefIvW4jPQ76YMXVK/dMTzkSVDmdk=",
"owner": "nix-community",
"repo": "disko",
"rev": "19c1140419c4f1cdf88ad4c1cfb6605597628940",
"rev": "2db1d64fc084b1d15e3871dffc02c62a94ed6ed7",
"type": "github"
},
"original": {
@ -153,11 +153,11 @@
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1739223196,
"narHash": "sha256-vAxN2f3rvl5q62gQQjZGVSvF93nAsOxntuFz+e/655w=",
"lastModified": 1741628778,
"narHash": "sha256-RsvHGNTmO2e/eVfgYK7g+eYEdwwh7SbZa+gZkT24MEA=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "a89108e6272426f4eddd93ba17d0ea101c34fb21",
"rev": "5a81d390bb64afd4e81221749ec4bffcbeb5fa80",
"type": "github"
},
"original": {
@ -332,11 +332,11 @@
"zig2nix": "zig2nix"
},
"locked": {
"lastModified": 1741473443,
"narHash": "sha256-H+rS9UDb1Qd0bTUxppNgiIHLzr4sR/LnDox4VhR5Q1w=",
"lastModified": 1741594465,
"narHash": "sha256-8a/QIgNwV8VGn8JIiACmVVEdue+U3juiMSAO1DEUTC4=",
"owner": "ghostty-org",
"repo": "ghostty",
"rev": "d3fd2b02e71f3eaecd310b246ee64a26a59b78e3",
"rev": "95daca616db5c24d7bb37fd5a3ac2f8762bb4ead",
"type": "github"
},
"original": {
@ -358,11 +358,11 @@
]
},
"locked": {
"lastModified": 1737465171,
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
"lastModified": 1741379162,
"narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
"rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc",
"type": "github"
},
"original": {
@ -421,11 +421,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1741370148,
"narHash": "sha256-nzGqv+4teMbOjhylRCfGsqH7XFLt5m+uwJHgGA0YpUQ=",
"lastModified": 1741703648,
"narHash": "sha256-JR0uyqJPJEbXLSPhlQJZvia3f6Ir7E9kXxXb/N4I45w=",
"owner": "helix-editor",
"repo": "helix",
"rev": "dc4761ad3a09a1cc9a3219d75765ff098fb203af",
"rev": "f9360fb27e60b21cfd824c4a68d2b5df4edb745b",
"type": "github"
},
"original": {
@ -442,11 +442,11 @@
]
},
"locked": {
"lastModified": 1741461731,
"narHash": "sha256-BBQfGvO3GWOV+5tmqH14gNcZrRaQ7Q3tQx31Frzoip8=",
"lastModified": 1741701235,
"narHash": "sha256-gBlb8R9gnjUAT5XabJeel3C2iEUiBHx3+91651y3Sqo=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "7f4c60a3d6e548dbc13666565c22cb3f8dcdad44",
"rev": "c630dfa8abcc65984cc1e47fb25d4552c81dd37e",
"type": "github"
},
"original": {
@ -466,11 +466,11 @@
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1741481065,
"narHash": "sha256-x8jjKZIKnVqP6+Wyo3LUr3vvQ/KN0JRcLEBh0eRUipI=",
"lastModified": 1741682127,
"narHash": "sha256-KnEVVbmIURr3FFFZm2fAUX8qe4BC67LnIDTpHwyb4YU=",
"owner": "jj-vcs",
"repo": "jj",
"rev": "0055cd4e0b1f92d1d5883943cf0ebabae3d60172",
"rev": "d37a5b1b74db3641da755dc8d5be4e95fa461bdb",
"type": "github"
},
"original": {
@ -530,11 +530,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1741472692,
"narHash": "sha256-OtZauVXHD7Q2ptcLrEJABfU+wL2cfz7qCKfebL8BlJE=",
"lastModified": 1741686876,
"narHash": "sha256-Kt37Zm9YcQoe/aRVbPFydZcfwIrEAg/U+iz3FcxsOZs=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "d5e517fd6b3c930a369bc81a0402a8d7eec956a6",
"rev": "fa230971ab63885ba5666588a7b78f75f73d5a85",
"type": "github"
},
"original": {
@ -563,11 +563,11 @@
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1741459657,
"narHash": "sha256-FalBBKrwu+YfGaNOsUTT4wzGWwx6EH+TkkRJV9TZjE8=",
"lastModified": 1741684091,
"narHash": "sha256-0tcSDfsGZy01XacnJOsUGZ6X36KYART0xT1u7nbWyso=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "69627bdc64d8891befff95e807869416658d36c6",
"rev": "b220cdbe7e29d47590147b65a1bfe50f3abeff84",
"type": "github"
},
"original": {
@ -583,11 +583,11 @@
"nixpkgs-stable": "nixpkgs-stable_3"
},
"locked": {
"lastModified": 1741432127,
"narHash": "sha256-JrN9MWJLVVEjVYINDX0NHI2U91/7qSywm6m6mGKwB0E=",
"lastModified": 1741691385,
"narHash": "sha256-Zjs3cBTVm4GLjjLgdi9XS/7nEdjjciKPj2EFOLOrNcE=",
"owner": "lilyinstarlight",
"repo": "nixos-cosmic",
"rev": "bf3d41b9fc89883823ce9fadbec1b44f2cdd1fac",
"rev": "5af413f4e97073783ed2dc11fd134ffc7771414d",
"type": "github"
},
"original": {
@ -614,11 +614,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1741246872,
"narHash": "sha256-Q6pMP4a9ed636qilcYX8XUguvKl/0/LGXhHcRI91p0U=",
"lastModified": 1741513245,
"narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "10069ef4cf863633f57238f179a0297de84bd8d3",
"rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1",
"type": "github"
},
"original": {
@ -661,11 +661,11 @@
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1741332913,
"narHash": "sha256-ri1e8ZliWS3Jnp9yqpKApHaOo7KBN33W8ECAKA4teAQ=",
"lastModified": 1741600792,
"narHash": "sha256-yfDy6chHcM7pXpMF4wycuuV+ILSTG486Z/vLx/Bdi6Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "20755fa05115c84be00b04690630cb38f0a203ad",
"rev": "ebe2788eafd539477f83775ef93c3c7e244421d3",
"type": "github"
},
"original": {
@ -677,11 +677,11 @@
},
"nixpkgs-stable_3": {
"locked": {
"lastModified": 1741332913,
"narHash": "sha256-ri1e8ZliWS3Jnp9yqpKApHaOo7KBN33W8ECAKA4teAQ=",
"lastModified": 1741600792,
"narHash": "sha256-yfDy6chHcM7pXpMF4wycuuV+ILSTG486Z/vLx/Bdi6Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "20755fa05115c84be00b04690630cb38f0a203ad",
"rev": "ebe2788eafd539477f83775ef93c3c7e244421d3",
"type": "github"
},
"original": {
@ -701,11 +701,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1740408283,
"narHash": "sha256-2xECnhgF3MU9YjmvOkrRp8wRFo2OjjewgCtlfckhL5s=",
"lastModified": 1741693509,
"narHash": "sha256-emkxnsZstiJWmGACimyAYqIKz2Qz5We5h1oBVDyQjLw=",
"owner": "nix-community",
"repo": "NUR",
"rev": "496a4a11162bdffb9a7b258942de138873f019f7",
"rev": "5479646b2574837f1899da78bdf9a48b75a9fb27",
"type": "github"
},
"original": {
@ -717,11 +717,11 @@
"nur-rycee": {
"flake": false,
"locked": {
"lastModified": 1741462124,
"narHash": "sha256-CPAkFMLGN9nFtHvWbfEdAM1KFCshr0raxhcWmjzh5Ek=",
"lastModified": 1741703094,
"narHash": "sha256-rM6zVLFGv2BqPPATh2zyDZaBlzbwe5l0RVw04qL8rtQ=",
"owner": "rycee",
"repo": "nur-expressions",
"rev": "0bbd4266c08de042ecf51e5fb356be915e839f10",
"rev": "f086e15336227c65af733b221159739c04132a8a",
"type": "gitlab"
},
"original": {
@ -734,11 +734,11 @@
"nur-xddxdd": {
"flake": false,
"locked": {
"lastModified": 1741342029,
"narHash": "sha256-Y8v0J0flzsO1GWVKsE2wBjVU1WuWEUx1wQ3A6t9crcw=",
"lastModified": 1741601101,
"narHash": "sha256-dXEy/blI2XGjnTfvNQxCLMpaAEE0eDL7Ai9CzJvdWFE=",
"owner": "xddxdd",
"repo": "nur-packages",
"rev": "ac5410ac586761cae72e4d7d28588eb6a2c1e656",
"rev": "c059e437606d78b128b38dda04e7c222284362d5",
"type": "github"
},
"original": {
@ -841,11 +841,11 @@
]
},
"locked": {
"lastModified": 1741043164,
"narHash": "sha256-9lfmSZLz6eq9Ygr6cCmvQiiBEaPb54pUBcjvbEMPORc=",
"lastModified": 1741644481,
"narHash": "sha256-E0RrMykMtEv15V3QhpsFutgoSKhL1JBhidn+iZajOyg=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "3f2412536eeece783f0d0ad3861417f347219f4d",
"rev": "e653d71e82575a43fe9d228def8eddb73887b866",
"type": "github"
},
"original": {
@ -882,11 +882,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1741392477,
"narHash": "sha256-6ySHuduGhlZBv1uxEOlOeHWDEkKuLQ/O63DI+ZRfAmg=",
"lastModified": 1741703342,
"narHash": "sha256-eU5RTDACahqJSLrR79FdS+dImmrK3YpFByjRWmmqeaU=",
"owner": "danth",
"repo": "stylix",
"rev": "6eea250b10386be0fc23496d1039d76b3147680e",
"rev": "9dc48274889d1f5349b8ebc7c83f0907f3c86588",
"type": "github"
},
"original": {
@ -962,11 +962,11 @@
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1740351358,
"narHash": "sha256-Hdk850xgAd3DL8KX0AbyU7tC834d3Lej1jOo3duWiOA=",
"lastModified": 1741468895,
"narHash": "sha256-YKM1RJbL68Yp2vESBqeZQBjTETXo8mCTTzLZyckCfZk=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "a1bc2bd89e693e7e3f5764cfe8114e2ae150e184",
"rev": "47c8c7726e98069cade5827e5fb2bfee02ce6991",
"type": "github"
},
"original": {
@ -978,11 +978,11 @@
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1740272597,
"narHash": "sha256-/etfUV3HzAaLW3RSJVwUaW8ULbMn3v6wbTlXSKbcoWQ=",
"lastModified": 1740877430,
"narHash": "sha256-zWcCXgdC4/owfH/eEXx26y5BLzTrefjtSLFHWVD5KxU=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "b6c7f46c8718cc484f2db8b485b06e2a98304cd0",
"rev": "d48ee86394cbe45b112ba23ab63e33656090edb4",
"type": "github"
},
"original": {

View file

@ -30,6 +30,43 @@ in
wl-clipboard
cliphist
];
qt = {
enable = true;
};
xdg.portal = {
configPackages = [ pkgs.niri-unstable ];
config = {
common = {
default = [
"cosmic"
];
};
};
enable = true;
extraPortals = lib.mkIf (
!pkgs.niri-unstable.cargoBuildNoDefaultFeatures
|| builtins.elem "xdp-gnome-screencast" pkgs.niri-unstable.cargoBuildFeatures
) [ pkgs.xdg-desktop-portal-gnome ];
};
xdg.configFile =
let
qtctConf =
''
[Appearance]
standard_dialogs=xdgdesktopportal
''
+ lib.optionalString (config.qt.style ? name) ''
style=${config.qt.style.name}
'';
in
{
"qt5ct/qt5ct.conf" = lib.mkForce {
text = qtctConf;
};
"qt6ct/qt6ct.conf" = lib.mkForce {
text = qtctConf;
};
};
youthlic.programs = {
fuzzel.enable = true;
wluma.enable = true;

View file

@ -9,9 +9,15 @@ let
in
{
config = lib.mkIf (cfg.enabled == "niri") {
qt = {
enable = true;
platformTheme = "qt5ct";
};
environment.systemPackages = with pkgs; [
bluez
cosmic-files
kdePackages.qt6ct
libsForQt5.qt5ct
];
xdg.mime = {
enable = true;

View file

@ -0,0 +1,44 @@
{
"juicity": {
"cargoLocks": null,
"date": "2025-02-20",
"extract": null,
"name": "juicity",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"rev": "4c5e8bd948ba2f72a0dd38681cf13ae532f6c9f5",
"sha256": "sha256-s/OYlW66mu/3MHwhZCxvQv8f/rNuCB4SLZ2jYPO5UQQ=",
"sparseCheckout": [],
"type": "git",
"url": "https://githuh.com/juicity/juicity"
},
"version": "4c5e8bd948ba2f72a0dd38681cf13ae532f6c9f5"
},
"tree-sitter-idris": {
"cargoLocks": null,
"date": "2024-11-05",
"extract": null,
"name": "tree-sitter-idris",
"passthru": {
"name": "idris"
},
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"rev": "c56a25cf57c68ff929356db25505c1cc4c7820f6",
"sha256": "sha256-aOAxb0KjhSwlNX/IDvGwEysYvImgUEIDeNDOWRl1qNk=",
"sparseCheckout": [],
"type": "git",
"url": "https://github.com/kayhide/tree-sitter-idris"
},
"version": "c56a25cf57c68ff929356db25505c1cc4c7820f6"
}
}

View file

@ -0,0 +1,33 @@
# This file was generated by nvfetcher, please do not modify it manually.
{ fetchgit, fetchurl, fetchFromGitHub, dockerTools }:
{
juicity = {
pname = "juicity";
version = "4c5e8bd948ba2f72a0dd38681cf13ae532f6c9f5";
src = fetchgit {
url = "https://githuh.com/juicity/juicity";
rev = "4c5e8bd948ba2f72a0dd38681cf13ae532f6c9f5";
fetchSubmodules = false;
deepClone = false;
leaveDotGit = false;
sparseCheckout = [ ];
sha256 = "sha256-s/OYlW66mu/3MHwhZCxvQv8f/rNuCB4SLZ2jYPO5UQQ=";
};
date = "2025-02-20";
};
tree-sitter-idris = {
pname = "tree-sitter-idris";
version = "c56a25cf57c68ff929356db25505c1cc4c7820f6";
src = fetchgit {
url = "https://github.com/kayhide/tree-sitter-idris";
rev = "c56a25cf57c68ff929356db25505c1cc4c7820f6";
fetchSubmodules = false;
deepClone = false;
leaveDotGit = false;
sparseCheckout = [ ];
sha256 = "sha256-aOAxb0KjhSwlNX/IDvGwEysYvImgUEIDeNDOWRl1qNk=";
};
name = "idris";
date = "2024-11-05";
};
}

View file

@ -3,20 +3,25 @@
inputs,
...
}:
let
srcs = pkgs.callPackage ./_sources/generated.nix { };
callPackage =
fn: args: pkgs.lib.callPackageWith (pkgs // { inherit inputs srcs callPackage; }) fn args;
in
{
pinentry-selector = pkgs.callPackage ./pinentry-selector.nix { };
helix = pkgs.callPackage ./helix { inherit inputs; };
juicity = pkgs.callPackage ./juicity.nix { };
pinentry-selector = callPackage ./pinentry-selector.nix { };
helix = callPackage ./helix { };
juicity = callPackage ./juicity.nix { };
}
// (
let
firefox-addons = (pkgs.callPackage "${inputs.nur-rycee}/pkgs/firefox-addons/default.nix" { });
firefox-addons = (callPackage "${inputs.nur-rycee}/pkgs/firefox-addons/default.nix" { });
in
pkgs.lib.genAttrs [ "immersive-translate" "tridactyl" ] (name: firefox-addons."${name}")
)
// (
let
nur-xddxdd = (pkgs.callPackage "${inputs.nur-xddxdd}/default.nix" { });
nur-xddxdd = (callPackage "${inputs.nur-xddxdd}/default.nix" { });
in
pkgs.lib.genAttrs [ "rime-zhwiki" "rime-moegirl" ] (name: nur-xddxdd."${name}")
// {

View file

@ -2,11 +2,12 @@
lib,
pkgs,
inputs,
callPackage,
...
}@args:
}:
let
inherit (inputs.helix.packages."${pkgs.system}") helix;
runtime = import ./runtime args;
runtime = callPackage ./runtime.nix { };
runtimeInputs = (
with pkgs;
[

View file

@ -1,16 +1,18 @@
{ lib, pkgs, ... }:
{
lib,
srcs,
stdenv,
runCommandNoCCLocal,
...
}:
let
inherit (pkgs) stdenv;
buildGrammar =
grammar:
let
source = sources."${grammar.name}";
in
stdenv.mkDerivation {
pname = "helix-tree-sitter-${grammar.name}";
version = grammar.rev;
src = source;
sourceRoot = "source";
version = grammar.version;
src = grammar.src;
# sourceRoot = "source";
dontConfigue = true;
@ -59,45 +61,32 @@ let
runHook postFixup
'';
};
grammars = map (file: import file) grammarFiles;
sources = lib.listToAttrs (
map (grammar: {
inherit (grammar) name;
value = builtins.fetchTree {
type = "github";
inherit (grammar) owner repo rev;
};
}) grammars
);
queries = lib.mapAttrsToList (name: value: ''
mkdir -p $out/${name}
grammars = lib.filterAttrs (key: _: lib.hasPrefix "tree-sitter-" key) srcs;
ln -s ${value}/queries/* $out/${name}/
'') sources;
builtGrammars = lib.listToAttrs (
map (grammar: {
inherit (grammar) name;
value = buildGrammar grammar;
}) grammars
);
queries = lib.mapAttrsToList (_: value: ''
mkdir -p $out/${value.name}
ln -s ${value.src}/queries/* $out/${value.name}/
'') grammars;
builtGrammars = builtins.mapAttrs (_: v: {
inherit (v) name;
value = buildGrammar v;
}) grammars;
grammarLinks = lib.mapAttrsToList (
name: value: "ln -s ${value}/${name}.so $out/${name}.so"
_: value: "ln -s ${value.value}/${value.name}.so $out/${value.name}.so"
) builtGrammars;
grammarDir = pkgs.runCommandNoCCLocal "helix-grammars" { } ''
grammarDir = runCommandNoCCLocal "helix-grammars" { } ''
mkdir -p $out
${builtins.concatStringsSep "\n" grammarLinks}
'';
queryDir = pkgs.runCommandNoCCLocal "helix-query" { } ''
queryDir = runCommandNoCCLocal "helix-query" { } ''
mkdir -p $out
${builtins.concatStringsSep "\n" queries}
'';
grammarFiles = [
./idris.nix
];
in
pkgs.runCommandNoCCLocal "helix-runtime" { } ''
runCommandNoCCLocal "helix-runtime" { } ''
mkdir -p $out
ln -s ${grammarDir} $out/grammars

View file

@ -1,6 +0,0 @@
{
name = "idris";
owner = "kayhide";
repo = "tree-sitter-idris";
rev = "c56a25cf57c68ff929356db25505c1cc4c7820f6";
}

View file

@ -1,21 +1,16 @@
{ pkgs, ... }:
pkgs.buildGoModule rec {
{ buildGoModule, srcs, ... }:
buildGoModule rec {
name = "juicity";
version = "unstable-20240514.r132.4af4f68";
version = "unstable-${srcs.juicity.date}.${srcs.juicity.version}";
src = pkgs.fetchFromGitHub {
repo = "juicity";
owner = "juicity";
rev = "4af4f68b405a6b86560ebb16963d133a7196af5c";
hash = "sha256-4sej/nb7d58+hSCaD6KIfDsqiGmgECPIbRKR65TbMBM=";
};
src = srcs.juicity.src;
env.CGO_ENABLED = 0;
subPackages = [
"cmd/server"
"cmd/client"
];
vendorHash = "sha256-uULJKg1nh6jU0uIgDf4GMu8O00zifLvU2wv65dlHLAs=";
vendorHash = "sha256-PdX9GENqdTPpNWVRG3cTgZfAlEU85MVgDOJdcVT4gnw=";
fixupPhase = ''
runHook preFixup

8
pkgs/nvfetcher.toml Normal file
View file

@ -0,0 +1,8 @@
[juicity]
src.git = "https://github.com/juicity/juicity"
fetch.git = "https://githuh.com/juicity/juicity"
[tree-sitter-idris]
src.git = "https://github.com/kayhide/tree-sitter-idris"
fetch.git = "https://github.com/kayhide/tree-sitter-idris"
passthru.name = "idris"