feat: add compose

This commit is contained in:
jackjohn7 2026-07-22 10:40:34 -05:00
parent 6ce1b224e8
commit 59d0d2e37d
2 changed files with 115 additions and 85 deletions

130
flake.lock generated
View file

@ -10,11 +10,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1778446047, "lastModified": 1784665499,
"narHash": "sha256-oQvcadh2BCkrog+SGrG6YffKJrveYpjj3TdQJWaKhaM=", "narHash": "sha256-9BMxlTxCCDAeoNLtb1a/st7udtTIJep+wpUzquA29VU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "bun2nix", "repo": "bun2nix",
"rev": "f2bc12af1a6369648aac41041ceeaa0b866599c6", "rev": "0f2a1f0b6f42cebe3b149bf62d38754c5e0e9729",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -47,11 +47,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1777988971, "lastModified": 1782949081,
"narHash": "sha256-qIoWPDs+0/8JecyYgE3gpKQxW/4bLW/gp45vow9ioCQ=", "narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "0678d8986be1661af6bb555f3489f2fdfc31f6ff", "rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -65,11 +65,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1778716662, "lastModified": 1782949081,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", "narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", "rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -105,11 +105,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1779997040, "lastModified": 1784361323,
"narHash": "sha256-lAVg9lIgZmmsBZEZgsI9LkO6sRz6iQVDNo67R5eWCM8=", "narHash": "sha256-TsyHMkAx9V9Hq9kVbke16pm+3iehM656x/yTSvyz8KU=",
"owner": "AlvaroParker", "owner": "AlvaroParker",
"repo": "helium-nix", "repo": "helium-nix",
"rev": "a1d540d5b211897367eec8acd0ed189adbd48489", "rev": "06afa4dddfab3f88bea5c10edaa4a509a7fa01b3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -120,17 +120,16 @@
}, },
"hjem": { "hjem": {
"inputs": { "inputs": {
"nix-darwin": "nix-darwin",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1780199518, "lastModified": 1784601896,
"narHash": "sha256-NhtWx0youXYRvcqtL+sjdqoZinMcnjcwRsh6eBJUZLg=", "narHash": "sha256-rkpUOBv9pVG+GxhK90ebCrFpvjnfP4u2y/iGrzA42K4=",
"owner": "feel-co", "owner": "feel-co",
"repo": "hjem", "repo": "hjem",
"rev": "ffa433dd86e761de45ef985d4293f31a4d2a775d", "rev": "35e95ebb9557ac41a72fe00dd55218d1a7f21679",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -141,11 +140,11 @@
}, },
"import-tree": { "import-tree": {
"locked": { "locked": {
"lastModified": 1778781969, "lastModified": 1784254960,
"narHash": "sha256-Jjuz5CmSkur8KvLDoGa+vylEp+RkQtv4mt/qcMznpH0=", "narHash": "sha256-iI88R3wHz8wTKQb5orvpc51L/Xr64AJyxid/0MKa/b8=",
"owner": "vic", "owner": "vic",
"repo": "import-tree", "repo": "import-tree",
"rev": "d321337efd0f23a9eb14a42adb7b2c29313ab274", "rev": "4ebb10ae17d5f1ad366e7aef5b92cb8eecf24f69",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -154,26 +153,8 @@
"type": "github" "type": "github"
} }
}, },
"luajit-src": {
"flake": false,
"locked": {
"lastModified": 1763177035,
"narHash": "sha256-oYD86MqmlJpiCuEs4LwVtxvarPtz1RPWm8nJqNE0sBs=",
"owner": "SteamClientHomebrew",
"repo": "LuaJIT",
"rev": "89550023569c3e195e75e12951c067fe5591e0d2",
"type": "github"
},
"original": {
"owner": "SteamClientHomebrew",
"ref": "v2.1",
"repo": "LuaJIT",
"type": "github"
}
},
"millennium": { "millennium": {
"inputs": { "inputs": {
"luajit-src": "luajit-src",
"millennium-src": "millennium-src", "millennium-src": "millennium-src",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
@ -181,11 +162,11 @@
}, },
"locked": { "locked": {
"dir": "packages/nix", "dir": "packages/nix",
"lastModified": 1780205271, "lastModified": 1784048235,
"narHash": "sha256-+mwIFqTNYRNVK9YOPY0SvuTTlAAkpSkRNVZaxg3qGS0=", "narHash": "sha256-ar1xg5HFbz6XJ/BAOo37ewfnMcsLHj0/088soIvXKIo=",
"owner": "SteamClientHomebrew", "owner": "SteamClientHomebrew",
"repo": "Millennium", "repo": "Millennium",
"rev": "33e0e3101806c89be2e1338014d92c5e5532c21e", "rev": "df5a3572fd2366b4aa689abd655ee48296ba1afd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -198,48 +179,27 @@
"millennium-src": { "millennium-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1780199538, "lastModified": 1783268941,
"narHash": "sha256-ocI23Pl2OpezwafivNC0/f2vlQg1XOc+BmGQWTCqwBg=", "narHash": "sha256-MJLJ0I48HXgfOpISTAbDMYMUdWj9A6M+jGQz4uAvwyw=",
"owner": "SteamClientHomebrew", "owner": "SteamClientHomebrew",
"repo": "Millennium", "repo": "Millennium",
"rev": "76f9012b6ac14c454cfe3d4ad726ebddccff16e7", "rev": "f37f05bdbd4727d873a1ad83ce72d062ef9a0c48",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "SteamClientHomebrew", "owner": "SteamClientHomebrew",
"repo": "Millennium", "repo": "Millennium",
"rev": "76f9012b6ac14c454cfe3d4ad726ebddccff16e7", "rev": "f37f05bdbd4727d873a1ad83ce72d062ef9a0c48",
"type": "github"
}
},
"nix-darwin": {
"inputs": {
"nixpkgs": [
"hjem",
"nixpkgs"
]
},
"locked": {
"lastModified": 1777780666,
"narHash": "sha256-8wURyQMdDkGUarSTKOGdCuFfYiwa3HbzwscUfn3STDE=",
"owner": "nix-darwin",
"repo": "nix-darwin",
"rev": "8c62fba0854ba15c8917aed18894dbccb48a3777",
"type": "github"
},
"original": {
"owner": "nix-darwin",
"repo": "nix-darwin",
"type": "github" "type": "github"
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1779560665, "lastModified": 1784497964,
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=", "narHash": "sha256-vlHUuqAcbcH2RKmHbPiuQzbv1pnzzavXnI62RD0bqCU=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786", "rev": "241313f4e8e508cb9b13278c2b0fa25b9ca27163",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -251,11 +211,11 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1777168982, "lastModified": 1782614948,
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=", "narHash": "sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC+eBu2zKlp8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14", "rev": "db3f255737b94216eb71cce308e2912cf6bc2d7c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -266,11 +226,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1779536132, "lastModified": 1780336545,
"narHash": "sha256-q+fF42iv/geEbHfgSzy3tS0FF/EyD6XTZ98E6yxiBO8=", "narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3d8f0f3f72a6cd4d93d0ad13203f2ea1cb7e1456", "rev": "4df1b885d76a54e1aa1a318f8d16fd6005b6401f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -294,16 +254,16 @@
}, },
"systems": { "systems": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1776166891,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-bI8yrEGjrohR5hkQox7UrxDH7XqrYMwI8SL/LrJ1+S8=",
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default", "repo": "triplet",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "rev": "6de7bc09397911ce03636afbcf6118745ab2cda0",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default", "repo": "triplet",
"type": "github" "type": "github"
} }
}, },
@ -330,11 +290,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1775636079, "lastModified": 1784369104,
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=", "narHash": "sha256-47cxbcZODibHv3rELFQ9vZly0vUNkND/atn/U7HLeb0=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba", "rev": "df3c0640565d04a0261253cdd89fce78ec50168a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -348,11 +308,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1779886850, "lastModified": 1782135443,
"narHash": "sha256-Udj+9DzeLccvPKoW9Q8xFdqIhrw2jhYMoqxBv+8iWzo=", "narHash": "sha256-vAmbArdCyjqpVW+37aCy/PMBOLIqukUXLQuEKLwUhA4=",
"owner": "BirdeeHub", "owner": "BirdeeHub",
"repo": "nix-wrapper-modules", "repo": "nix-wrapper-modules",
"rev": "168fd6f514a9f8fa47df4fdcf9ecd61db10aec68", "rev": "6e7f66fa2cdf4d63162580b438f7fcf87c28a46f",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -0,0 +1,70 @@
{
self,
inputs,
config,
...
}:
{
flake.nixosModules.compose =
{ pkgs, lib, ... }:
{
config = {
hjem.users.${config.username}.files.".XCompose".source = pkgs.writeTextFile {
name = "compose-config";
text = ''
include "%L"
<Multi_key> <g> <r> <a> : "α" U03B1
<Multi_key> <g> <r> <A> : "Α" U0391
<Multi_key> <g> <r> <b> : "β" U03B2
<Multi_key> <g> <r> <B> : "Β" U0392
<Multi_key> <g> <r> <g> : "γ" U03B3
<Multi_key> <g> <r> <G> : "Γ" U0393
<Multi_key> <g> <r> <d> : "δ" U03B4
<Multi_key> <g> <r> <D> : "Δ" U0394
<Multi_key> <g> <r> <e> : "ε" U03B5
<Multi_key> <g> <r> <E> : "Ε" U0395
<Multi_key> <g> <r> <z> : "ζ" U03B6
<Multi_key> <g> <r> <Z> : "Ζ" U0396
<Multi_key> <g> <r> <h> : "η" U03B7
<Multi_key> <g> <r> <H> : "Η" U0397
<Multi_key> <g> <r> <q> : "θ" U03B8
<Multi_key> <g> <r> <Q> : "Θ" U0398
<Multi_key> <g> <r> <i> : "ι" U03B9
<Multi_key> <g> <r> <I> : "Ι" U0399
<Multi_key> <g> <r> <k> : "κ" U03BA
<Multi_key> <g> <r> <K> : "Κ" U039A
<Multi_key> <g> <r> <l> : "λ" U03BB
<Multi_key> <g> <r> <L> : "Λ" U039B
<Multi_key> <g> <r> <m> : "μ" U03BC
<Multi_key> <g> <r> <M> : "Μ" U039C
<Multi_key> <g> <r> <n> : "ν" U03BD
<Multi_key> <g> <r> <N> : "Ν" U039D
<Multi_key> <g> <r> <x> : "ξ" U03BE
<Multi_key> <g> <r> <X> : "Ξ" U039E
<Multi_key> <g> <r> <o> : "ο" U03BF
<Multi_key> <g> <r> <O> : "Ο" U039F
<Multi_key> <g> <r> <p> : "π" U03C0
<Multi_key> <g> <r> <P> : "Π" U03A0
<Multi_key> <g> <r> <r> : "ρ" U03C1
<Multi_key> <g> <r> <R> : "Ρ" U03A1
<Multi_key> <g> <r> <s> : "σ" U03C3
<Multi_key> <g> <r> <S> : "Σ" U03A3
<Multi_key> <g> <r> <v> : "ς" U03C2
<Multi_key> <g> <r> <t> : "τ" U03C4
<Multi_key> <g> <r> <T> : "Τ" U03A4
<Multi_key> <g> <r> <u> : "υ" U03C5
<Multi_key> <g> <r> <U> : "Υ" U03A5
<Multi_key> <g> <r> <f> : "φ" U03C6
<Multi_key> <g> <r> <F> : "Φ" U03A6
<Multi_key> <g> <r> <c> : "χ" U03C7
<Multi_key> <g> <r> <C> : "Χ" U03A7
<Multi_key> <g> <r> <y> : "ψ" U03C8
<Multi_key> <g> <r> <Y> : "Ψ" U03A8
<Multi_key> <g> <r> <w> : "ω" U03C9
<Multi_key> <g> <r> <W> : "Ω" U03A9
'';
};
};
};
}