Compare commits

...

14 Commits

Author SHA1 Message Date
github-actions[bot] 2ca688181b flake.lock: Update
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/185a3b48814cc4a1afbf32a69792a6161c4038cd' (2024-04-11)
  → 'github:hyprwm/Hyprland/0634aaeac6cca12e4f72174c431c2db9da9c0072' (2024-04-13)
• Updated input 'hyprland/wlroots':
    'gitlab:wlroots/wlroots/50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b' (2024-03-09)
  → 'github:hyprwm/wlroots-hyprland/62eeffbe233d199f520a5755c344e85f8eab7940' (2024-04-12)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/d6b3ddd253c578a7ab98f8011e59990f21dc3932' (2024-04-10)
  → 'github:nixos/nixpkgs/a0c9e3aee1000ac2bfb0e5b98c94c946a5d180a9' (2024-04-12)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/ed9ef02d368c00e69e8e67fa86d0226559df75aa' (2024-04-11)
  → 'github:nix-community/nixpkgs-wayland/b816217ba4fc77d19ca033ab8f13b35ba0331e91' (2024-04-13)
• Updated input 'stable':
    'github:nixos/nixpkgs/b2cf36f43f9ef2ded5711b30b1f393ac423d8f72' (2024-04-10)
  → 'github:nixos/nixpkgs/51651a540816273b67bc4dedea2d37d116c5f7fe' (2024-04-11)
• Updated input 'zig2nix':
    'github:Cloudef/zig2nix/c5279639cbbb10df20a340f54dd95b562fafc552' (2024-04-11)
  → 'github:Cloudef/zig2nix/8124e7d607494287b4d88d5d86acb4681265a1e2' (2024-04-13)
• Updated input 'zls':
    'github:zigtools/zls/4e01c08f558ea07462aaa7b71d2a24f86f47a855' (2024-03-31)
  → 'github:zigtools/zls/9ba4742982f34bf70c0763f6ebdbae755c64bde5' (2024-04-13)
• Updated input 'zls/zig-overlay':
    'github:mitchellh/zig-overlay/b01e0b81d1fa489e54362ea0a74f182eaa9a35bb' (2024-03-28)
  → 'github:mitchellh/zig-overlay/9687044a467176bea9e3f0a972143bcbad5dae90' (2024-04-11)
2024-04-14 00:35:58 +00:00
Daylin Morgan 99cc850eb7
add nixfmt to pkgs 2024-04-12 14:00:26 -05:00
Daylin Morgan 69ac3fa6a6
add some pointless defers 2024-04-11 15:22:49 -05:00
Daylin Morgan 7dfe185a9f
use seperate funtion to get forwarded args 2024-04-11 13:57:58 -05:00
Daylin Morgan a7302bd609
accept additional positional args to forward 2024-04-11 13:28:50 -05:00
Daylin Morgan bf192f478d
flake.lock: Update
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/63e3668529f6c06478ec288723d0ba46374c4bc5?narHash=sha256-8/JkRxsXLhiGELcw7t5RBf1mk94mbHc/oJiBzoPYTv8%3D' (2024-04-08)
  → 'github:hyprwm/Hyprland/185a3b48814cc4a1afbf32a69792a6161c4038cd?narHash=sha256-m44SvLfwPc8qPpBQa5ObOtTe6RbVNfQLpn%2BbCdlHFxQ%3D' (2024-04-11)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/0d28066770464d19d637f6e8e42e8688420b6ac6?narHash=sha256-xxon7WwNm4/EadMKg1eF40/5s0O78nXUy2ILZt6vT7E%3D' (2024-04-08)
  → 'github:nixos/nixpkgs/d6b3ddd253c578a7ab98f8011e59990f21dc3932?narHash=sha256-kR7C7Fqt3JP40h0mzmSZeWI5pk1iwqj4CSeGjnUbVHc%3D' (2024-04-10)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/2547cb5b49297ad22dee07f6847c7a99a99f7721?narHash=sha256-pyppS3qgeZagY/YZF0ug2rf97Z91%2BgaUwnS0McFuH1k%3D' (2024-04-08)
  → 'github:nix-community/nixpkgs-wayland/ed9ef02d368c00e69e8e67fa86d0226559df75aa?narHash=sha256-HByQWVHn0sG7BFj%2B7z9UhhMY9CcCqaWBPXX5H3QKRyQ%3D' (2024-04-11)
• Updated input 'stable':
    'github:nixos/nixpkgs/e38d7cb66ea4f7a0eb6681920615dfcc30fc2920?narHash=sha256-g0whLLwRvgO2FsyhY8fNk%2BTWenS3jg5UdlWL4uqgFeo%3D' (2024-04-06)
  → 'github:nixos/nixpkgs/b2cf36f43f9ef2ded5711b30b1f393ac423d8f72?narHash=sha256-bCs0%2BMSTra80oXAsnM6Oq62WsirOIaijQ/BbUY59tR4%3D' (2024-04-10)
• Updated input 'zig2nix':
    'github:Cloudef/zig2nix/53e12c1a03c34b0b35bcb0eb5b495ba90f62302f?narHash=sha256-TIcl3dKFqSymIFUj3vRN05Ahl2eAH/EqJRf/P5nCBtY%3D' (2024-04-08)
  → 'github:Cloudef/zig2nix/c5279639cbbb10df20a340f54dd95b562fafc552?narHash=sha256-eWGnAesSlXa7E2ugjwPT7g1HVs0uPPoLL2NT9sOzKCU%3D' (2024-04-11)
2024-04-11 09:58:06 -05:00
Daylin Morgan 7fc911b1a8
actually use stdout 2024-04-09 12:16:25 -05:00
Daylin Morgan a160e2eccc
note to self 2024-04-08 11:43:35 -05:00
Daylin Morgan 6bbc8aa28a
formatting 2024-04-08 11:42:48 -05:00
Daylin Morgan 3040b77bff
fix oizys-zig 2024-04-08 11:27:09 -05:00
Daylin Morgan 0b3f307660
flake.lock: Update
Flake lock file updates:

• Updated input 'f1multiviewer':
    'github:daylinmorgan/f1multiviewer-flake/26fb671c2dc7650a26477bc47a9aecc2819b5f3d?narHash=sha256-qA9/VpWzanFrgCqHGtdO0jAQ61wXizKUS0Q3%2BiA%2BcO4%3D' (2024-04-07)
  → 'github:daylinmorgan/f1multiviewer-flake/189b84de363cfa1d95cc77093e4e3bcd1ff1e492?narHash=sha256-G44hEGn5%2BPvjkY9YvUoWnFz9FZOtRKwEc6W/7EjzOgs%3D' (2024-04-08)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/c4b660a33930a0e60e853b6796c1fd76914b1719?narHash=sha256-ayxuwrzpow3cRoKtCYj3v7GGrDHTbKVDDUxb8wd1cL8%3D' (2024-04-04)
  → 'github:hyprwm/Hyprland/63e3668529f6c06478ec288723d0ba46374c4bc5?narHash=sha256-8/JkRxsXLhiGELcw7t5RBf1mk94mbHc/oJiBzoPYTv8%3D' (2024-04-08)
• Updated input 'hyprland/hyprcursor':
    'github:hyprwm/hyprcursor/d3876f34779cc03ee51e4aafc0d00a4f187c7544?narHash=sha256-sArxGyUBiCA1in%2Bq6t0QqT%2BZJiZ1PyBp7cNPKLmREM0%3D' (2024-03-26)
  → 'github:hyprwm/hyprcursor/818d8c4b69e0997483d60b75f701fe14b561a7a3?narHash=sha256-qwmR2p1oc48Bj7gUDvb1oGL19Rjs2PmEmk4ChV01A5o%3D' (2024-04-06)
• Updated input 'hyprland/hyprcursor/hyprlang':
    'github:hyprwm/hyprlang/a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2?narHash=sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk%3D' (2024-03-08)
  → follows 'hyprland/hyprlang'
• Removed input 'hyprland/hyprcursor/hyprlang/nixpkgs'
• Removed input 'hyprland/hyprcursor/hyprlang/systems'
• Updated input 'hyprland/hyprlang':
    'github:hyprwm/hyprlang/b3e430f81f3364c5dd1a3cc9995706a4799eb3fa?narHash=sha256-LSq1ZsTpeD7xsqvlsepDEelWRDtAhqwetp6PusHXJRo%3D' (2024-03-24)
  → 'github:hyprwm/hyprlang/c1402612146ba06606ebf64963a02bc1efe11e74?narHash=sha256-C/Wwsy/RLxHP1axFFl%2BAnwJRWfd8gxDKKoa8nt8Qk3c%3D' (2024-03-29)
• Updated input 'hyprland-contrib':
    'github:hyprwm/contrib/536f00c5895015da1e7aa85bbee9aa6dcd149e69?narHash=sha256-BxWizZAc845ks9BjEXosRjfBv/NMr1WwoORBQuixfII%3D' (2024-03-21)
  → 'github:hyprwm/contrib/5870244b592c22558b658dbaf94f9e41afb0316f?narHash=sha256-fzlBLhXUN6y7mzEtcGNRDXxFakBEfaj4Bmj5PuoCNaM%3D' (2024-04-07)
• Updated input 'nix-index-database':
    'github:nix-community/nix-index-database/2844b5f3ad3b478468151bd101370b9d8ef8a3a7?narHash=sha256-JPStavwlT7TfxxiXHk6Q7sbNxtnXAIjXQJMLO0KB6M0%3D' (2024-03-31)
  → 'github:nix-community/nix-index-database/4676d72d872459e1e3a248d049609f110c570e9a?narHash=sha256-e12bNDottaGoBgd0AdH/bQvk854xunlWAdZwr/oHO1c%3D' (2024-04-07)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/f480f9d09e4b4cf87ee6151eba068197125714de?narHash=sha256-LbbVOliJKTF4Zl2b9salumvdMXuQBr2kuKP5%2BZwbYq4%3D' (2024-04-04)
  → 'github:nixos/nixpkgs/0d28066770464d19d637f6e8e42e8688420b6ac6?narHash=sha256-xxon7WwNm4/EadMKg1eF40/5s0O78nXUy2ILZt6vT7E%3D' (2024-04-08)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/9b77653338f52da4b498abdf4835efb6ff6e453e?narHash=sha256-NoMBBCADTms3yx5BL%2Bsbc7vfDivNiYULO6t9GBAsPt0%3D' (2024-04-04)
  → 'github:nix-community/nixpkgs-wayland/2547cb5b49297ad22dee07f6847c7a99a99f7721?narHash=sha256-pyppS3qgeZagY/YZF0ug2rf97Z91%2BgaUwnS0McFuH1k%3D' (2024-04-08)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/9c06929b83e57c18d125f1105ba6a423f24083d2?narHash=sha256-D2WENp9GuaCostvNcQ7vElekk0V5cuMdnFZ7NfRhVrQ%3D' (2024-03-31)
  → 'github:nix-community/lib-aggregate/2737d0204685c3274390229a09eb8f7eaa1a9e89?narHash=sha256-E5EcBzf/zaR3hD8g1CDtqqwXXebSWtqOvoaR%2BLDjTME%3D' (2024-04-07)
• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/90b1a963ff84dc532db92f678296ff2499a60a87?narHash=sha256-cqfX0QJNEnge3a77VnytM0Q6QZZ0DziFXt6tSCV8ZSc%3D' (2024-03-31)
  → 'github:nix-community/nixpkgs.lib/3c62b6a12571c9a7f65ab037173ee153d539905f?narHash=sha256-K6IkdtMtq9xktmYPj0uaYc8NsIqHuaAoRBaMgu9Fvrw%3D' (2024-04-07)
• Updated input 'stable':
    'github:nixos/nixpkgs/1487bdea619e4a7a53a4590c475deabb5a9d1bfb?narHash=sha256-XP24tOobf6GGElMd0ux90FEBalUtw6NkBSVh/RlA6ik%3D' (2024-04-03)
  → 'github:nixos/nixpkgs/e38d7cb66ea4f7a0eb6681920615dfcc30fc2920?narHash=sha256-g0whLLwRvgO2FsyhY8fNk%2BTWenS3jg5UdlWL4uqgFeo%3D' (2024-04-06)
• Updated input 'zig2nix':
    'github:Cloudef/zig2nix/31122d9accecf7d281229bb9e12dedddef120a1f?narHash=sha256-VNFjRCfTYvWP2UvjA9r/44qrTXZ%2BJGOVnYSTDSajdeM%3D' (2024-04-04)
  → 'github:Cloudef/zig2nix/53e12c1a03c34b0b35bcb0eb5b495ba90f62302f?narHash=sha256-TIcl3dKFqSymIFUj3vRN05Ahl2eAH/EqJRf/P5nCBtY%3D' (2024-04-08)
2024-04-08 11:16:25 -05:00
Daylin Morgan 77c6375f5f
add f1multiviewer flake 2024-04-08 11:05:36 -05:00
Daylin Morgan c0ba1896a5
add glow 2024-04-05 12:18:47 -05:00
Daylin Morgan bf6b0b26d8
add zls and abstract zig to module 2024-04-05 12:18:44 -05:00
11 changed files with 322 additions and 95 deletions

View File

@ -1,5 +1,25 @@
{
"nodes": {
"f1multiviewer": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1712592932,
"narHash": "sha256-G44hEGn5+PvjkY9YvUoWnFz9FZOtRKwEc6W/7EjzOgs=",
"owner": "daylinmorgan",
"repo": "f1multiviewer-flake",
"rev": "189b84de363cfa1d95cc77093e4e3bcd1ff1e492",
"type": "github"
},
"original": {
"owner": "daylinmorgan",
"repo": "f1multiviewer-flake",
"type": "github"
}
},
"flake-compat": {
"locked": {
"lastModified": 1688025799,
@ -15,6 +35,22 @@
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
@ -39,7 +75,7 @@
},
"flake-utils": {
"inputs": {
"systems": "systems_3"
"systems": "systems_2"
},
"locked": {
"lastModified": 1710146030,
@ -57,7 +93,7 @@
},
"flake-utils_2": {
"inputs": {
"systems": "systems_4"
"systems": "systems_3"
},
"locked": {
"lastModified": 1705309234,
@ -73,9 +109,66 @@
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_4"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"zls",
"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"
}
},
"hyprcursor": {
"inputs": {
"hyprlang": "hyprlang",
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
@ -86,11 +179,11 @@
]
},
"locked": {
"lastModified": 1711466786,
"narHash": "sha256-sArxGyUBiCA1in+q6t0QqT+ZJiZ1PyBp7cNPKLmREM0=",
"lastModified": 1712434681,
"narHash": "sha256-qwmR2p1oc48Bj7gUDvb1oGL19Rjs2PmEmk4ChV01A5o=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "d3876f34779cc03ee51e4aafc0d00a4f187c7544",
"rev": "818d8c4b69e0997483d60b75f701fe14b561a7a3",
"type": "github"
},
"original": {
@ -103,20 +196,20 @@
"inputs": {
"hyprcursor": "hyprcursor",
"hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang_2",
"hyprlang": "hyprlang",
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_2",
"systems": "systems",
"wlroots": "wlroots",
"xdph": "xdph"
},
"locked": {
"lastModified": 1712248444,
"narHash": "sha256-ayxuwrzpow3cRoKtCYj3v7GGrDHTbKVDDUxb8wd1cL8=",
"lastModified": 1713050186,
"narHash": "sha256-AKdzVa0Zz5PQ1ptQgD0jj8J+UZUW9OeKGZ0mNVnkyI4=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "c4b660a33930a0e60e853b6796c1fd76914b1719",
"rev": "0634aaeac6cca12e4f72174c431c2db9da9c0072",
"type": "github"
},
"original": {
@ -133,11 +226,11 @@
]
},
"locked": {
"lastModified": 1711036118,
"narHash": "sha256-BxWizZAc845ks9BjEXosRjfBv/NMr1WwoORBQuixfII=",
"lastModified": 1712505318,
"narHash": "sha256-fzlBLhXUN6y7mzEtcGNRDXxFakBEfaj4Bmj5PuoCNaM=",
"owner": "hyprwm",
"repo": "contrib",
"rev": "536f00c5895015da1e7aa85bbee9aa6dcd149e69",
"rev": "5870244b592c22558b658dbaf94f9e41afb0316f",
"type": "github"
},
"original": {
@ -172,29 +265,6 @@
}
},
"hyprlang": {
"inputs": {
"nixpkgs": [
"hyprland",
"hyprcursor",
"nixpkgs"
],
"systems": "systems"
},
"locked": {
"lastModified": 1709914708,
"narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprlang_2": {
"inputs": {
"nixpkgs": [
"hyprland",
@ -206,11 +276,11 @@
]
},
"locked": {
"lastModified": 1711250455,
"narHash": "sha256-LSq1ZsTpeD7xsqvlsepDEelWRDtAhqwetp6PusHXJRo=",
"lastModified": 1711671891,
"narHash": "sha256-C/Wwsy/RLxHP1axFFl+AnwJRWfd8gxDKKoa8nt8Qk3c=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "b3e430f81f3364c5dd1a3cc9995706a4799eb3fa",
"rev": "c1402612146ba06606ebf64963a02bc1efe11e74",
"type": "github"
},
"original": {
@ -219,17 +289,29 @@
"type": "github"
}
},
"langref": {
"flake": false,
"locked": {
"narHash": "sha256-94broSBethRhPJr0G9no4TPyB8ee6BQ/hHK1QnLPln0=",
"type": "file",
"url": "https://raw.githubusercontent.com/ziglang/zig/54bbc73f8502fe073d385361ddb34a43d12eec39/doc/langref.html.in"
},
"original": {
"type": "file",
"url": "https://raw.githubusercontent.com/ziglang/zig/54bbc73f8502fe073d385361ddb34a43d12eec39/doc/langref.html.in"
}
},
"lib-aggregate": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1711886936,
"narHash": "sha256-D2WENp9GuaCostvNcQ7vElekk0V5cuMdnFZ7NfRhVrQ=",
"lastModified": 1712491724,
"narHash": "sha256-E5EcBzf/zaR3hD8g1CDtqqwXXebSWtqOvoaR+LDjTME=",
"owner": "nix-community",
"repo": "lib-aggregate",
"rev": "9c06929b83e57c18d125f1105ba6a423f24083d2",
"rev": "2737d0204685c3274390229a09eb8f7eaa1a9e89",
"type": "github"
},
"original": {
@ -288,11 +370,11 @@
]
},
"locked": {
"lastModified": 1711854532,
"narHash": "sha256-JPStavwlT7TfxxiXHk6Q7sbNxtnXAIjXQJMLO0KB6M0=",
"lastModified": 1712459390,
"narHash": "sha256-e12bNDottaGoBgd0AdH/bQvk854xunlWAdZwr/oHO1c=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "2844b5f3ad3b478468151bd101370b9d8ef8a3a7",
"rev": "4676d72d872459e1e3a248d049609f110c570e9a",
"type": "github"
},
"original": {
@ -303,11 +385,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1712192574,
"narHash": "sha256-LbbVOliJKTF4Zl2b9salumvdMXuQBr2kuKP5+ZwbYq4=",
"lastModified": 1712883908,
"narHash": "sha256-icE1IJE9fHcbDfJ0+qWoDdcBXUoZCcIJxME4lMHwvSM=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "f480f9d09e4b4cf87ee6151eba068197125714de",
"rev": "a0c9e3aee1000ac2bfb0e5b98c94c946a5d180a9",
"type": "github"
},
"original": {
@ -319,11 +401,11 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1711846064,
"narHash": "sha256-cqfX0QJNEnge3a77VnytM0Q6QZZ0DziFXt6tSCV8ZSc=",
"lastModified": 1712450863,
"narHash": "sha256-K6IkdtMtq9xktmYPj0uaYc8NsIqHuaAoRBaMgu9Fvrw=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "90b1a963ff84dc532db92f678296ff2499a60a87",
"rev": "3c62b6a12571c9a7f65ab037173ee153d539905f",
"type": "github"
},
"original": {
@ -342,11 +424,11 @@
]
},
"locked": {
"lastModified": 1712237761,
"narHash": "sha256-NoMBBCADTms3yx5BL+sbc7vfDivNiYULO6t9GBAsPt0=",
"lastModified": 1713039214,
"narHash": "sha256-CV0LzaPJLlMOo8hv4qCvGoIYXB9GL8gxpVFZ+zpZkK4=",
"owner": "nix-community",
"repo": "nixpkgs-wayland",
"rev": "9b77653338f52da4b498abdf4835efb6ff6e453e",
"rev": "b816217ba4fc77d19ca033ab8f13b35ba0331e91",
"type": "github"
},
"original": {
@ -393,6 +475,7 @@
},
"root": {
"inputs": {
"f1multiviewer": "f1multiviewer",
"hyprland": "hyprland",
"hyprland-contrib": "hyprland-contrib",
"nix-index-database": "nix-index-database",
@ -401,16 +484,17 @@
"pinix": "pinix",
"stable": "stable",
"tsm": "tsm",
"zig2nix": "zig2nix"
"zig2nix": "zig2nix",
"zls": "zls"
}
},
"stable": {
"locked": {
"lastModified": 1712168706,
"narHash": "sha256-XP24tOobf6GGElMd0ux90FEBalUtw6NkBSVh/RlA6ik=",
"lastModified": 1712867921,
"narHash": "sha256-edTFV4KldkCMdViC/rmpJa7oLIU8SE/S35lh/ukC7bg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "1487bdea619e4a7a53a4590c475deabb5a9d1bfb",
"rev": "51651a540816273b67bc4dedea2d37d116c5f7fe",
"type": "github"
},
"original": {
@ -437,16 +521,16 @@
},
"systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"repo": "default",
"type": "github"
}
},
@ -527,20 +611,18 @@
"wlroots": {
"flake": false,
"locked": {
"host": "gitlab.freedesktop.org",
"lastModified": 1709983277,
"narHash": "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=",
"owner": "wlroots",
"repo": "wlroots",
"rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
"type": "gitlab"
"lastModified": 1712935342,
"narHash": "sha256-zzIbTFNFd/as42jyGx23fil2uBDYYv+8GA5JmRq5y9c=",
"owner": "hyprwm",
"repo": "wlroots-hyprland",
"rev": "62eeffbe233d199f520a5755c344e85f8eab7940",
"type": "github"
},
"original": {
"host": "gitlab.freedesktop.org",
"owner": "wlroots",
"repo": "wlroots",
"rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
"type": "gitlab"
"owner": "hyprwm",
"repo": "wlroots-hyprland",
"rev": "62eeffbe233d199f520a5755c344e85f8eab7940",
"type": "github"
}
},
"xdph": {
@ -576,6 +658,29 @@
"type": "github"
}
},
"zig-overlay": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_4",
"nixpkgs": [
"zls",
"nixpkgs"
]
},
"locked": {
"lastModified": 1712794997,
"narHash": "sha256-H1sVVagnlL6xmvSVELGMEAhvJHv4auAY3B97Oi2I8uo=",
"owner": "mitchellh",
"repo": "zig-overlay",
"rev": "9687044a467176bea9e3f0a972143bcbad5dae90",
"type": "github"
},
"original": {
"owner": "mitchellh",
"repo": "zig-overlay",
"type": "github"
}
},
"zig2nix": {
"inputs": {
"flake-utils": "flake-utils_2",
@ -584,11 +689,11 @@
]
},
"locked": {
"lastModified": 1712193674,
"narHash": "sha256-VNFjRCfTYvWP2UvjA9r/44qrTXZ+JGOVnYSTDSajdeM=",
"lastModified": 1712970631,
"narHash": "sha256-Y09UxZCzRvvlKEFPfZ8p2xGmnGBi0ocHoAQnQ+Wkuok=",
"owner": "Cloudef",
"repo": "zig2nix",
"rev": "31122d9accecf7d281229bb9e12dedddef120a1f",
"rev": "8124e7d607494287b4d88d5d86acb4681265a1e2",
"type": "github"
},
"original": {
@ -596,6 +701,30 @@
"repo": "zig2nix",
"type": "github"
}
},
"zls": {
"inputs": {
"flake-utils": "flake-utils_3",
"gitignore": "gitignore",
"langref": "langref",
"nixpkgs": [
"nixpkgs"
],
"zig-overlay": "zig-overlay"
},
"locked": {
"lastModified": 1713042264,
"narHash": "sha256-10CWxJ9xpPZlqthBp/2NMrBXp6epUKAjqvp9Jsjd9Tk=",
"owner": "zigtools",
"repo": "zls",
"rev": "9ba4742982f34bf70c0763f6ebdbae755c64bde5",
"type": "github"
},
"original": {
"owner": "zigtools",
"repo": "zls",
"type": "github"
}
}
},
"root": "root",

View File

@ -25,6 +25,12 @@
zig2nix.url = "github:Cloudef/zig2nix";
zig2nix.inputs.nixpkgs.follows = "nixpkgs";
zls.url = "github:zigtools/zls";
zls.inputs.nixpkgs.follows = "nixpkgs";
f1multiviewer.url = "github:daylinmorgan/f1multiviewer-flake";
f1multiviewer.inputs.nixpkgs.follows = "nixpkgs";
};
nixConfig = {

View File

@ -20,6 +20,7 @@ in {
"nim"
"tex"
"node"
"zig"
];
};

View File

@ -1,4 +1,5 @@
{
inputs,
pkgs,
config,
lib,
@ -25,6 +26,8 @@ in {
accents = ["rosewater"];
variant = "mocha";
})
inputs.f1multiviewer.outputs.packages.${pkgs.system}.default
];
};
}

View File

@ -23,6 +23,7 @@ mkDefaultOizysModule config "cli" {
delta
ripgrep
glow
btop
inputs.tsm.packages.${pkgs.system}.tsm
];

View File

@ -1,10 +1,10 @@
{lib, ...}: let
inherit (lib) mkOption types literalExpression mdDoc;
in {
imports = [./nim.nix ./tex.nix ./misc.nix ./node.nix ./python.nix];
imports = [./nim.nix ./tex.nix ./misc.nix ./node.nix ./python.nix ./zig.nix];
options.oizys.languages = mkOption {
type = with types; (listOf str);
description = lib.mdDoc ''
description = mdDoc ''
List of programming languages to enable.
'';
default = [];

16
modules/languages/zig.nix Normal file
View File

@ -0,0 +1,16 @@
{
inputs,
config,
lib,
pkgs,
...
}: let
inherit (lib) mkIfIn;
cfg = config.oizys.languages;
zig = inputs.zig2nix.outputs.packages.${pkgs.system}.zig.master.bin;
zls = inputs.zls.outputs.packages.${pkgs.system}.default;
in {
config = mkIfIn "zig" cfg {
environment.systemPackages = [zig zls];
};
}

View File

@ -24,6 +24,7 @@
environment.systemPackages = with pkgs; [
nil
alejandra
nixfmt-rfc-style
self.packages.${pkgs.system}.default
inputs.pinix.packages.${pkgs.system}.default

View File

@ -3,9 +3,13 @@ const std = @import("std");
const yazap = @import("yazap");
const App = yazap.App;
const Arg = yazap.Arg;
const Allocator = std.mem.Allocator;
allocator: Allocator,
app: App,
matches: *const yazap.ArgMatches = undefined,
forward: ?[][]const u8 = null,
process_args: ?[]const [:0]u8 = null,
pub fn init(allocator: Allocator) !Cli {
var app = App.init(allocator, "oizys", "nix begat oizys");
@ -17,19 +21,55 @@ pub fn init(allocator: Allocator) !Cli {
var cmd_output = app.createCommand("output", "show system flake output path");
var cmd_boot = app.createCommand("boot", "nixos rebuild boot");
var cmd_switch = app.createCommand("switch", "nixos rebuild switch");
const commands = .{ &cmd_dry, &cmd_build, &cmd_cache, &cmd_output, &cmd_switch, &cmd_boot };
try cmd_cache.addArg(Arg.singleValueOption("name", 'n', "name of cachix cache"));
inline for (commands) |subcmd| {
inline for (.{
&cmd_dry,
&cmd_build,
&cmd_cache,
&cmd_output,
&cmd_switch,
&cmd_boot,
}) |subcmd| {
try subcmd.addArg(Arg.positional("forward", null, null));
try subcmd.addArg(Arg.singleValueOption("flake", 'f', "path to flake"));
try subcmd.addArg(Arg.singleValueOption("host", null, "hostname (default: current host)"));
try subcmd.addArg(Arg.booleanOption("no-pinix", null, "don't use pinix"));
try oizys.addSubcommand(subcmd.*);
}
return Cli{ .app = app };
return Cli{
.allocator = allocator,
.app = app,
};
}
fn get_forward_args(self: *Cli, args: []const [:0]u8) !usize {
var forward = std.ArrayList([]const u8).init(self.allocator);
const delim_idx: usize = delim_lookup: for (args, 0..) |arg, i| {
if (std.mem.eql(u8, "--", arg)) break :delim_lookup i;
} else args.len;
if (args.len > delim_idx)
for (args[delim_idx + 1 ..]) |fwd|
try forward.append(fwd);
self.forward = try forward.toOwnedSlice();
return delim_idx;
}
pub fn parse(self: *Cli) !void {
self.process_args = try std.process.argsAlloc(self.allocator);
const delim_idx = try self.get_forward_args(self.process_args.?);
self.matches = try self.app.parseFrom(self.process_args.?[1..delim_idx]);
}
pub fn deinit(self: *Cli) void {
std.process.argsFree(self.allocator, self.process_args.?);
if (self.forward) |fwd| {
for (fwd) |arg| self.allocator.free(arg);
self.allocator.free(fwd);
}
self.app.deinit();
}

View File

@ -11,6 +11,7 @@ output: []const u8,
cmd: OizysCmd,
no_pinix: bool,
debug: bool = false,
forward: ?[][]const u8,
pub const OizysCmd = enum {
dry,
@ -21,20 +22,27 @@ pub const OizysCmd = enum {
build,
};
pub fn init(allocator: std.mem.Allocator, matches: *const ArgMatches) !Oizys {
pub fn init(allocator: std.mem.Allocator, matches: *const ArgMatches, forward: ?[][]const u8) !Oizys {
const cmd = matches.subcommand.?.name;
const flags = matches.subcommandMatches(cmd).?;
const host = flags.getSingleValue("host") orelse try Oizys.getDefaultHostName(allocator);
const flake = flags.getSingleValue("flake") orelse try Oizys.getDefaultFlake(allocator);
const host = flags.getSingleValue("host") orelse
try Oizys.getDefaultHostName(allocator);
const flake = flags.getSingleValue("flake") orelse
try Oizys.getDefaultFlake(allocator);
return Oizys{
.allocator = allocator,
.host = host,
.flake = flake,
.output = try std.fmt.allocPrint(allocator, "{s}#nixosConfigurations.{s}.config.system.build.toplevel", .{ flake, host }),
.output = try std.fmt.allocPrint(
allocator,
"{s}#nixosConfigurations.{s}.config.system.build.toplevel",
.{ flake, host },
),
.cmd = std.meta.stringToEnum(OizysCmd, cmd).?,
.cache_name = flags.getSingleValue("cache") orelse "daylin",
.no_pinix = flags.containsArg("no-pinix"),
.forward = forward,
};
}
@ -67,7 +75,11 @@ pub fn getDefaultFlake(allocator: Allocator) ![]const u8 {
}
pub fn getOutputPath(self: *Oizys) ![]const u8 {
return std.fmt.allocPrint(self.allocator, "{s}#nixosConfigurations.{s}.config.system.build.toplevel", .{ self.flake, self.host });
return std.fmt.allocPrint(
self.allocator,
"{s}#nixosConfigurations.{s}.config.system.build.toplevel",
.{ self.flake, self.host },
);
}
pub const NixCmd = enum { Nix, NixosRebuild };
@ -81,12 +93,27 @@ pub fn runNixCmd(self: *Oizys, cmd: NixCmd, argv: []const []const u8) !void {
NixCmd.NixosRebuild => try args.appendSlice(&.{ "sudo", self.nixos_rebuild() }),
}
try args.appendSlice(argv);
if (self.forward) |fwd| try args.appendSlice(fwd);
var p = std.ChildProcess.init(args.items, self.allocator);
_ = try p.spawnAndWait();
}
pub fn cache(self: *Oizys) !void {
var p = std.ChildProcess.init(&.{ "cachix", "watch-exec", self.cache_name, "--verbose", "--", "nix", "build", self.flake, "--print-build-logs", "--accept-flake-config" }, self.allocator);
var p = std.ChildProcess.init(
&.{
"cachix",
"watch-exec",
self.cache_name,
"--verbose",
"--",
"nix",
"build",
self.output,
"--print-build-logs",
"--accept-flake-config",
},
self.allocator,
);
_ = try p.spawnAndWait();
}
@ -105,7 +132,8 @@ pub fn run(self: *Oizys) !void {
try self.runNixCmd(NixCmd.Nix, &.{ "build", self.output });
},
.output => {
std.debug.print("{s}", .{self.output});
const stdout = std.io.getStdOut().writer();
try stdout.print("{s}\n", .{self.output});
},
.cache => {
try self.cache();

View File

@ -9,14 +9,16 @@ pub fn main() !void {
const allocator = arena.allocator();
var cli = try Cli.init(allocator);
const matches = try cli.app.parseProcess();
try cli.parse();
defer cli.deinit();
if (!matches.containsArgs()) {
if (!cli.matches.containsArgs()) {
try cli.app.displayHelp();
return;
}
var oizys = try Oizys.init(allocator, matches);
var oizys = try Oizys.init(allocator, cli.matches, cli.forward);
defer oizys.deinit();
try oizys.run();
}