mirror of
https://github.com/daylinmorgan/oizys.git
synced 2024-12-30 12:10:43 -06:00
Compare commits
18 commits
4808169e87
...
fa1253baa5
Author | SHA1 | Date | |
---|---|---|---|
|
fa1253baa5 | ||
ad24ee33d9 | |||
a9235fef86 | |||
9b686cc202 | |||
00550108b1 | |||
13401e38f4 | |||
409fb6a016 | |||
92bc73b255 | |||
b33633cd3c | |||
6ad1950f5e | |||
c26350a67f | |||
dfb825e72d | |||
7bd5e95612 | |||
38d3219ad4 | |||
a67cd9d0ed | |||
8ceae1884b | |||
ba0c40c2f5 | |||
2240cc0af4 |
18 changed files with 229 additions and 171 deletions
186
flake.lock
186
flake.lock
|
@ -18,6 +18,7 @@
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
|
"nixpkgs-wayland",
|
||||||
"nix-eval-jobs",
|
"nix-eval-jobs",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
|
@ -38,14 +39,14 @@
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_2"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709126324,
|
"lastModified": 1710146030,
|
||||||
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
|
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "d465f4819400de7c8d874d50b982301f28a84605",
|
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -54,23 +55,50 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hyprcursor": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprlang": "hyprlang",
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710257359,
|
||||||
|
"narHash": "sha256-43re5pzE/cswFAgw92/ugsB3+d5ufDaCcLtl9ztKfBo=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprcursor",
|
||||||
|
"rev": "1761f6cefd77f4fcd2039d930c88d6716ddc4974",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprcursor",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"hyprland": {
|
"hyprland": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"hyprcursor": "hyprcursor",
|
||||||
"hyprland-protocols": "hyprland-protocols",
|
"hyprland-protocols": "hyprland-protocols",
|
||||||
"hyprlang": "hyprlang",
|
"hyprlang": "hyprlang_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": "systems",
|
"systems": "systems_2",
|
||||||
"wlroots": "wlroots",
|
"wlroots": "wlroots",
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709684144,
|
"lastModified": 1710634512,
|
||||||
"narHash": "sha256-7j+EjESpJYRx6tRkeTd6YgQxFUWXJ1vmhnwh0S8jlaA=",
|
"narHash": "sha256-dqYzqSsGB9PhwxG2H3oVRpqAMWziVuQ7k+02ASku8T4=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "Hyprland",
|
"repo": "Hyprland",
|
||||||
"rev": "fb87e332c59ce386a095b3e81bb1abbcc9cc3e5c",
|
"rev": "0387528c56c4d9faf93946cbc9426973de6ef61b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -87,11 +115,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709391291,
|
"lastModified": 1710415616,
|
||||||
"narHash": "sha256-NJwAgXRKLVuO3YLkGxXIanLvTKN+cJsYwbLoWOa7ODk=",
|
"narHash": "sha256-1qVByzzCcKoCmP8ReUSAjKU5V9pfTLHQIM4WI1tvQ9E=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "contrib",
|
"repo": "contrib",
|
||||||
"rev": "2d4ece4a008feefddc194bde785b1d39f987b5a7",
|
"rev": "75420d09f93346d9d23d5a1e26b42699f6b66cd6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -126,6 +154,29 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hyprlang": {
|
"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": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprland",
|
"hyprland",
|
||||||
|
@ -137,11 +188,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1708787654,
|
"lastModified": 1709914708,
|
||||||
"narHash": "sha256-7ACgM3ZuAhPqurXHUvR2nWMRcnmzGGPjLK6q4DSTelI=",
|
"narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprlang",
|
||||||
"rev": "0fce791ba2334aca183f2ed42399518947550d0d",
|
"rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -156,11 +207,11 @@
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709467759,
|
"lastModified": 1710184940,
|
||||||
"narHash": "sha256-ojIpNROGKk56wyvpMAlBVor3CvPez3pFMORrocxW4io=",
|
"narHash": "sha256-FzYm4td3FJfzOAuEkCXt3KdUgZuA072OAQXqIq+IAMo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "lib-aggregate",
|
"repo": "lib-aggregate",
|
||||||
"rev": "206e40afdc468d0658e30e1644e2473dc6285cf2",
|
"rev": "45b75bf534592c0c1c881a1c447f7fdb37a87eaf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -173,9 +224,7 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"nix-github-actions": "nix-github-actions",
|
"nix-github-actions": "nix-github-actions",
|
||||||
"nixpkgs": [
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -195,6 +244,7 @@
|
||||||
"nix-github-actions": {
|
"nix-github-actions": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
"nixpkgs-wayland",
|
||||||
"nix-eval-jobs",
|
"nix-eval-jobs",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
|
@ -220,11 +270,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709435391,
|
"lastModified": 1710120787,
|
||||||
"narHash": "sha256-s4itTkIVxn5lYeTzwkbAgl99atnjdZv1idI1118vdzA=",
|
"narHash": "sha256-tlLuB73OCOKtU2j83bQzSYFyzjJo3rjpITZE5MoofG8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "93554c04c2f1c02f4a383538e8848d511c3129e9",
|
"rev": "e76ff2df6bfd2abe06abd8e7b9f217df941c1b07",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -235,11 +285,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709641832,
|
"lastModified": 1710534455,
|
||||||
"narHash": "sha256-bzzRc3DiV8Cm/67HDa39pyBymqF45ISgUbXqjrMk2UE=",
|
"narHash": "sha256-huQT4Xs0y4EeFKn2BTBVYgEwJSv8SDlm82uWgMnCMmI=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "bfa8b30043892dc2b660d403faa159bab7b65898",
|
"rev": "9af9c1c87ed3e3ed271934cb896e0cdd33dae212",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -251,11 +301,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709426687,
|
"lastModified": 1710031547,
|
||||||
"narHash": "sha256-jLBZmwXf0WYHzLkmEMq33bqhX55YtT5edvluFr0RcSA=",
|
"narHash": "sha256-pkUg3hOKuGWMGF9WEMPPN/G4pqqdbNGJQ54yhyQYDVY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "7873d84a89ae6e4841528ff7f5697ddcb5bdfe6c",
|
"rev": "630ebdc047ca96d8126e16bb664c7730dc52f6e6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -268,19 +318,17 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"lib-aggregate": "lib-aggregate",
|
"lib-aggregate": "lib-aggregate",
|
||||||
"nix-eval-jobs": [
|
"nix-eval-jobs": "nix-eval-jobs",
|
||||||
"nix-eval-jobs"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709651762,
|
"lastModified": 1710631003,
|
||||||
"narHash": "sha256-bqzSRKYivOsXFkiVwWfoqtBISmBrwT5ShEhXgxKrkxk=",
|
"narHash": "sha256-6bOCj2BUwOYDO1Lq3DgwIfrdUiieKkm1fCHFQRkLK4Y=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs-wayland",
|
"repo": "nixpkgs-wayland",
|
||||||
"rev": "d59914397b85d7b208b1ccc39906ef7bfcf0f26c",
|
"rev": "bce941770aa96005f08c7b60851037352bf76156",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -289,6 +337,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1703134684,
|
||||||
|
"narHash": "sha256-SQmng1EnBFLzS7WSRyPM9HgmZP2kLJcPAz+Ug/nug6o=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "d6863cbcbbb80e71cecfc03356db1cda38919523",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pinix": {
|
"pinix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -313,11 +377,27 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"hyprland-contrib": "hyprland-contrib",
|
"hyprland-contrib": "hyprland-contrib",
|
||||||
"nix-eval-jobs": "nix-eval-jobs",
|
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-wayland": "nixpkgs-wayland",
|
"nixpkgs-wayland": "nixpkgs-wayland",
|
||||||
"pinix": "pinix"
|
"pinix": "pinix",
|
||||||
|
"stable": "stable"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"stable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710420202,
|
||||||
|
"narHash": "sha256-MvFKESbq4rUWuaf2RKPNYENaSZEw/jaCLo2gU6oREcM=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "878ef7d9721bee9f81f8a80819f9211ad1f993da",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-23.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
|
@ -336,6 +416,21 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_2": {
|
"systems_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1689347949,
|
||||||
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
@ -353,6 +448,7 @@
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
"nixpkgs-wayland",
|
||||||
"nix-eval-jobs",
|
"nix-eval-jobs",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
|
@ -375,18 +471,18 @@
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"host": "gitlab.freedesktop.org",
|
"host": "gitlab.freedesktop.org",
|
||||||
"lastModified": 1708558866,
|
"lastModified": 1709983277,
|
||||||
"narHash": "sha256-Mz6hCtommq7RQfcPnxLINigO4RYSNt23HeJHC6mVmWI=",
|
"narHash": "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=",
|
||||||
"owner": "wlroots",
|
"owner": "wlroots",
|
||||||
"repo": "wlroots",
|
"repo": "wlroots",
|
||||||
"rev": "0cb091f1a2d345f37d2ee445f4ffd04f7f4ec9e5",
|
"rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"host": "gitlab.freedesktop.org",
|
"host": "gitlab.freedesktop.org",
|
||||||
"owner": "wlroots",
|
"owner": "wlroots",
|
||||||
"repo": "wlroots",
|
"repo": "wlroots",
|
||||||
"rev": "0cb091f1a2d345f37d2ee445f4ffd04f7f4ec9e5",
|
"rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -410,11 +506,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1708696469,
|
"lastModified": 1709299639,
|
||||||
"narHash": "sha256-shh5wmpeYy3MmsBfkm4f76yPsBDGk6OLYRVG+ARy2F0=",
|
"narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"rev": "1b713911c2f12b96c2574474686e4027ac4bf826",
|
"rev": "2d2fb547178ec025da643db57d40a971507b82fe",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
13
flake.nix
13
flake.nix
|
@ -9,21 +9,14 @@
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||||
|
stable.url = "github:nixos/nixpkgs/nixos-23.11";
|
||||||
|
|
||||||
hyprland.url = "github:hyprwm/Hyprland/main";
|
hyprland.url = "github:hyprwm/Hyprland/main";
|
||||||
hyprland.inputs.nixpkgs.follows = "nixpkgs";
|
hyprland.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
hyprland-contrib.url = "github:hyprwm/contrib";
|
hyprland-contrib.url = "github:hyprwm/contrib";
|
||||||
hyprland-contrib.inputs.nixpkgs.follows = "nixpkgs";
|
hyprland-contrib.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland";
|
||||||
nixpkgs-wayland = {
|
nixpkgs-wayland.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
url = "github:nix-community/nixpkgs-wayland";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
inputs.nix-eval-jobs.follows = "nix-eval-jobs";
|
|
||||||
};
|
|
||||||
|
|
||||||
nix-eval-jobs.url = "github:nix-community/nix-eval-jobs";
|
|
||||||
nix-eval-jobs.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
|
|
||||||
pinix.url = "github:remi-dupre/pinix";
|
pinix.url = "github:remi-dupre/pinix";
|
||||||
pinix.inputs.nixpkgs.follows = "nixpkgs";
|
pinix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
|
@ -5,12 +5,12 @@
|
||||||
}: {
|
}: {
|
||||||
imports = with self.nixosModules; [
|
imports = with self.nixosModules; [
|
||||||
nix-ld
|
nix-ld
|
||||||
virtualbox
|
|
||||||
restic
|
restic
|
||||||
docker
|
docker
|
||||||
];
|
];
|
||||||
|
|
||||||
oizys = {
|
oizys = {
|
||||||
|
vbox.enable = true;
|
||||||
desktop.enable = true;
|
desktop.enable = true;
|
||||||
vpn.enable = true;
|
vpn.enable = true;
|
||||||
languages = [
|
languages = [
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.systemd-boot.consoleMode = "max";
|
boot.loader.systemd-boot.consoleMode = "max";
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
# boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
# This option defines the first version of NixOS you have installed on this particular machine,
|
||||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
lib = nixpkgs.lib.extend (import ./extended.nix);
|
lib = nixpkgs.lib.extend (import ./extended.nix);
|
||||||
|
|
||||||
inherit (builtins) concatLists attrValues mapAttrs elemAt match readDir filter listToAttrs;
|
inherit (builtins) concatLists attrValues mapAttrs elemAt match readDir filter listToAttrs;
|
||||||
inherit (lib) hasSuffix nixosSystem genAttrs isNixFile;
|
inherit (lib) nixosSystem genAttrs isNixFile;
|
||||||
inherit (lib.filesystem) listFilesRecursive;
|
inherit (lib.filesystem) listFilesRecursive;
|
||||||
|
|
||||||
#supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
|
#supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
|
||||||
|
|
|
@ -2,7 +2,6 @@ final: prev: let
|
||||||
inherit (final) hasSuffix;
|
inherit (final) hasSuffix;
|
||||||
runes = import ../modules/runes;
|
runes = import ../modules/runes;
|
||||||
in {
|
in {
|
||||||
|
|
||||||
isNixFile = path: hasSuffix ".nix" path;
|
isNixFile = path: hasSuffix ".nix" path;
|
||||||
mkIfIn = name: list: prev.mkIf (builtins.elem name list);
|
mkIfIn = name: list: prev.mkIf (builtins.elem name list);
|
||||||
mkRune = {
|
mkRune = {
|
||||||
|
|
|
@ -19,6 +19,8 @@
|
||||||
qtile
|
qtile
|
||||||
hyprland
|
hyprland
|
||||||
|
|
||||||
|
virtualbox
|
||||||
|
|
||||||
gui
|
gui
|
||||||
|
|
||||||
languages
|
languages
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
vim
|
vim
|
||||||
neovim
|
neovim
|
||||||
|
|
||||||
nixd
|
# nixd
|
||||||
tree-sitter
|
tree-sitter
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib) mkOption types literalExpression mdDoc;
|
inherit (lib) mkOption types literalExpression mdDoc;
|
||||||
cfg = config.oizys.languages;
|
|
||||||
in {
|
in {
|
||||||
imports = [./nim.nix ./tex.nix ./misc.nix ./node.nix ./python.nix];
|
imports = [./nim.nix ./tex.nix ./misc.nix ./node.nix ./python.nix];
|
||||||
options.oizys.languages = mkOption {
|
options.oizys.languages = mkOption {
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
}: let
|
}: let
|
||||||
inherit (lib) mkIfIn;
|
inherit (lib) mkIfIn;
|
||||||
cfg = config.oizys.languages;
|
cfg = config.oizys.languages;
|
||||||
pixi = pkgs.callPackage ../../pkgs/pixi.nix {};
|
|
||||||
in {
|
in {
|
||||||
config = mkIfIn "python" cfg {
|
config = mkIfIn "python" cfg {
|
||||||
environment.systemPackages = let
|
environment.systemPackages = let
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib) mkIf mkIfIn;
|
inherit (lib) mkIfIn;
|
||||||
cfg = config.oizys.languages;
|
cfg = config.oizys.languages;
|
||||||
in {
|
in {
|
||||||
config = mkIfIn "tex" cfg {
|
config = mkIfIn "tex" cfg {
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
nil
|
||||||
alejandra
|
alejandra
|
||||||
|
|
||||||
self.packages.${pkgs.system}.oizys
|
self.packages.${pkgs.system}.oizys
|
||||||
|
|
|
@ -1,7 +1,16 @@
|
||||||
{...}: {
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib) mkEnableOption mkIf;
|
||||||
|
cfg = config.oizys.vbox;
|
||||||
|
in {
|
||||||
|
options.oizys.vbox.enable = mkEnableOption "enable virtualbox host";
|
||||||
|
config = mkIf cfg.enable {
|
||||||
virtualisation.virtualbox = {
|
virtualisation.virtualbox = {
|
||||||
host.enable = true;
|
host.enable = true;
|
||||||
# guest.enable = true;
|
|
||||||
};
|
};
|
||||||
users.extraGroups.vboxusers.members = ["daylin"];
|
users.extraGroups.vboxusers.members = ["daylin"];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +1,38 @@
|
||||||
import std/[os, osproc, parseopt, times, strutils, terminal]
|
import std/[macros, os, osproc, parseopt, times, strformat, strutils, terminal]
|
||||||
from std/nativesockets import getHostname
|
from std/nativesockets import getHostname
|
||||||
|
|
||||||
let summaryFile = getEnv("GITHUB_STEP_SUMMARY")
|
let summaryFile = getEnv("GITHUB_STEP_SUMMARY")
|
||||||
|
|
||||||
proc info(args: varargs[string, `$`]) =
|
macro doc(procedure: typed): untyped =
|
||||||
|
## extract documenatation comments from procedure
|
||||||
|
procedure.expectKind(nnkSym)
|
||||||
|
if procedure.symKind != nskProc:
|
||||||
|
error("procedure expected", procedure)
|
||||||
|
let
|
||||||
|
impl = procedure.getImpl
|
||||||
|
docs = impl.body.extractDocCommentsAndRunnables
|
||||||
|
var doc: string
|
||||||
|
for element in docs:
|
||||||
|
if element.kind == nnkCommentStmt:
|
||||||
|
doc.addSep("\n", startLen = 1)
|
||||||
|
doc.add($element)
|
||||||
|
result = newLit(doc)
|
||||||
|
|
||||||
|
proc logInfo(args: varargs[string, `$`]) =
|
||||||
stdout.styledWriteLine(
|
stdout.styledWriteLine(
|
||||||
fgCyan, "oizys", resetStyle, "|",
|
fgCyan, "oizys", resetStyle, "|",
|
||||||
styleDim, "INFO", resetStyle, "| ",
|
styleDim, "INFO", resetStyle, "| ",
|
||||||
args.join("")
|
args.join("")
|
||||||
)
|
)
|
||||||
|
|
||||||
proc error(args: varargs[string, `$`]) =
|
proc logErr(args: varargs[string, `$`]) =
|
||||||
stdout.styledWriteLine(
|
stdout.styledWriteLine(
|
||||||
fgCyan, "oizys", resetStyle, "|",
|
fgCyan, "oizys", resetStyle, "|",
|
||||||
fgRed, "ERROR", resetStyle, "| ",
|
fgRed, "ERROR", resetStyle, "| ",
|
||||||
args.join("")
|
args.join("")
|
||||||
)
|
)
|
||||||
|
|
||||||
proc warn(args: varargs[string, `$`]) =
|
proc logWarn(args: varargs[string, `$`]) =
|
||||||
stdout.styledWriteLine(
|
stdout.styledWriteLine(
|
||||||
fgCyan, "oizys", resetStyle, "|",
|
fgCyan, "oizys", resetStyle, "|",
|
||||||
fgYellow, "WARN", resetStyle, "| ",
|
fgYellow, "WARN", resetStyle, "| ",
|
||||||
|
@ -34,7 +49,7 @@ type
|
||||||
|
|
||||||
proc execQuit(c: OizysContext, args: varargs[string]) =
|
proc execQuit(c: OizysContext, args: varargs[string]) =
|
||||||
let cmd = (@args & c.extraArgs).join(" ")
|
let cmd = (@args & c.extraArgs).join(" ")
|
||||||
info "exec: ", cmd
|
logInfo "exec: ", cmd
|
||||||
quit (execCmd cmd)
|
quit (execCmd cmd)
|
||||||
|
|
||||||
proc newCtx(): OizysContext =
|
proc newCtx(): OizysContext =
|
||||||
|
@ -44,11 +59,11 @@ proc newCtx(): OizysContext =
|
||||||
|
|
||||||
proc check(c: OizysContext) =
|
proc check(c: OizysContext) =
|
||||||
if not dirExists c.flake:
|
if not dirExists c.flake:
|
||||||
error c.flake, " does not exist"
|
logErr c.flake, "does not exist"
|
||||||
error "please use -f/--flake or $FLAKE_PATH"
|
logErr "please use -f/--flake or $FLAKE_PATH"
|
||||||
quit 1
|
quit 1
|
||||||
info "flake: ", c.flake
|
logInfo "flake:", c.flake
|
||||||
info "host: ", c.host
|
logInfo "host:", c.host
|
||||||
|
|
||||||
proc cmd(c: OizysContext): string {.inline.} =
|
proc cmd(c: OizysContext): string {.inline.} =
|
||||||
let pixExists = findExe("pix") != ""
|
let pixExists = findExe("pix") != ""
|
||||||
|
@ -56,7 +71,7 @@ proc cmd(c: OizysContext): string {.inline.} =
|
||||||
if pixExists:
|
if pixExists:
|
||||||
return "pix"
|
return "pix"
|
||||||
else:
|
else:
|
||||||
warn "pinix not found, falling back to nix"
|
logWarn "pinix not found, falling back to nix"
|
||||||
return "nix"
|
return "nix"
|
||||||
|
|
||||||
proc systemFlakePath(c: OizysContext): string =
|
proc systemFlakePath(c: OizysContext): string =
|
||||||
|
@ -71,6 +86,7 @@ proc dry(c: OizysContext) =
|
||||||
execQuit c, c.cmd, "build", c.systemFlakePath, "--dry-run"
|
execQuit c, c.cmd, "build", c.systemFlakePath, "--dry-run"
|
||||||
|
|
||||||
proc cache(c: OizysContext) =
|
proc cache(c: OizysContext) =
|
||||||
|
## build and push to cachix
|
||||||
let start = now()
|
let start = now()
|
||||||
let code = execCmd """
|
let code = execCmd """
|
||||||
cachix watch-exec """ & c.cache & """ \
|
cachix watch-exec """ & c.cache & """ \
|
||||||
|
@ -79,16 +95,18 @@ proc cache(c: OizysContext) =
|
||||||
--print-build-logs \
|
--print-build-logs \
|
||||||
--accept-flake-config
|
--accept-flake-config
|
||||||
"""
|
"""
|
||||||
|
|
||||||
let duration = (now() - start)
|
let duration = (now() - start)
|
||||||
if code != 0:
|
if code != 0:
|
||||||
error "faile to build configuration for: ", c.host
|
logErr "failed to build configuration for: ", c.host
|
||||||
|
quit code
|
||||||
|
|
||||||
if summaryFile != "":
|
if summaryFile != "":
|
||||||
writeFile(
|
writeFile(
|
||||||
summaryFile,
|
summaryFile,
|
||||||
"Built host: " & c.host & " in " & $duration & " seconds"
|
"Built host: " & c.host & " in " & $duration & " seconds"
|
||||||
)
|
)
|
||||||
info "Built host: " & c.host & " in " & $duration & " seconds"
|
logInfo "Built host: " & c.host & " in " & $duration & " seconds"
|
||||||
|
|
||||||
|
|
||||||
proc nixosRebuild(c: OizysContext, subcmd: string) =
|
proc nixosRebuild(c: OizysContext, subcmd: string) =
|
||||||
|
@ -103,15 +121,20 @@ proc switch(c: OizysContext) =
|
||||||
## nixos rebuild switch
|
## nixos rebuild switch
|
||||||
nixosRebuild c, "switch"
|
nixosRebuild c, "switch"
|
||||||
|
|
||||||
const usage = """
|
proc path(c: OizysContext) =
|
||||||
|
## print nix flake output
|
||||||
|
echo c.systemFlakePath
|
||||||
|
|
||||||
|
const usage = fmt"""
|
||||||
oizys <cmd> [opts]
|
oizys <cmd> [opts]
|
||||||
|
|
||||||
commands:
|
commands:
|
||||||
dry poor man's nix flake check
|
dry {dry.doc}
|
||||||
boot nixos-rebuild boot
|
boot {boot.doc}
|
||||||
switch nixos-rebuild switch
|
switch {switch.doc}
|
||||||
cache build and push to cachix
|
cache {cache.doc}
|
||||||
build build system flake
|
build {build.doc}
|
||||||
|
path {path.doc}
|
||||||
|
|
||||||
options:
|
options:
|
||||||
-h|--help show this help
|
-h|--help show this help
|
||||||
|
@ -129,8 +152,9 @@ proc runCmd(c: OizysContext, cmd: string) =
|
||||||
of "boot": boot c
|
of "boot": boot c
|
||||||
of "cache": cache c
|
of "cache": cache c
|
||||||
of "build": build c
|
of "build": build c
|
||||||
|
of "path": path c
|
||||||
else:
|
else:
|
||||||
error "unknown command: ", cmd
|
logErr "unknown command: ", cmd
|
||||||
echo usage
|
echo usage
|
||||||
quit 1
|
quit 1
|
||||||
|
|
||||||
|
@ -159,11 +183,9 @@ when isMainModule:
|
||||||
for kind, key, val in p.getopt():
|
for kind, key, val in p.getopt():
|
||||||
case kind
|
case kind
|
||||||
of cmdArgument:
|
of cmdArgument:
|
||||||
echo key
|
|
||||||
subcmd = key
|
subcmd = key
|
||||||
of cmdLongOption, cmdShortOption:
|
of cmdLongOption, cmdShortOption:
|
||||||
if key == "":
|
if key == "": break
|
||||||
break
|
|
||||||
parseFlag c, kind, key, val
|
parseFlag c, kind, key, val
|
||||||
of cmdEnd:
|
of cmdEnd:
|
||||||
discard
|
discard
|
||||||
|
|
|
@ -10,5 +10,16 @@
|
||||||
(f: f != "default.nix")
|
(f: f != "default.nix")
|
||||||
(builtins.attrNames (builtins.readDir ./.)));
|
(builtins.attrNames (builtins.readDir ./.)));
|
||||||
in {
|
in {
|
||||||
nixpkgs.overlays = defaultOverlays;
|
nixpkgs.overlays =
|
||||||
|
defaultOverlays
|
||||||
|
++ [
|
||||||
|
(
|
||||||
|
final: _prev: {
|
||||||
|
stable = import inputs.stable {
|
||||||
|
system = final.system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
)
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,15 @@
|
||||||
{...}: (final: prev: {
|
{...}: (final: prev: {
|
||||||
nimble = prev.nimble.overrideNimAttrs {
|
nimble = prev.nimble.overrideNimAttrs {
|
||||||
version = "0.14.2-f74bf2";
|
version = "0.14.2-5e7901760e89108476a4e21976a0ef783403e8fe";
|
||||||
requiredNimVersion = 2;
|
requiredNimVersion = 2;
|
||||||
buildInputs = [prev.pkgs.openssl];
|
buildInputs = [prev.pkgs.openssl];
|
||||||
|
|
||||||
src = final.fetchFromGitHub {
|
src = final.fetchFromGitHub {
|
||||||
owner = "nim-lang";
|
owner = "nim-lang";
|
||||||
repo = "nimble";
|
repo = "nimble";
|
||||||
# more recent commit
|
|
||||||
rev = "f74bf2bc388f7a0154104b4bcaa093a499d3f0f7";
|
# most recent commit 2024-03-11
|
||||||
|
rev = "5e7901760e89108476a4e21976a0ef783403e8fe";
|
||||||
hash = "sha256-8b5yKvEl7c7wA/8cpdaN2CSvawQJzuRce6mULj3z/mI=";
|
hash = "sha256-8b5yKvEl7c7wA/8cpdaN2CSvawQJzuRce6mULj3z/mI=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,76 +0,0 @@
|
||||||
{ lib
|
|
||||||
, stdenv
|
|
||||||
, rustPlatform
|
|
||||||
, fetchFromGitHub
|
|
||||||
, pkg-config
|
|
||||||
, openssl
|
|
||||||
, installShellFiles
|
|
||||||
, darwin
|
|
||||||
, testers
|
|
||||||
, pixi
|
|
||||||
}:
|
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
|
||||||
pname = "pixi";
|
|
||||||
version = "0.15.2";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "prefix-dev";
|
|
||||||
repo = "pixi";
|
|
||||||
rev = "v${version}";
|
|
||||||
hash = "sha256-bh8Uu6Q2AND50Qzivc6k1Z8JWudkHC2i4YW1Hxa69SM=";
|
|
||||||
};
|
|
||||||
|
|
||||||
cargoHash = "sha256-yMIcPwnuN7F2ZrOtJw8T+nxeSzLsYn+iC34bYeWpi/w=";
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
pkg-config
|
|
||||||
installShellFiles
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
openssl
|
|
||||||
]
|
|
||||||
++ lib.optionals stdenv.isDarwin (
|
|
||||||
with darwin.apple_sdk_11_0.frameworks; [ CoreFoundation IOKit SystemConfiguration Security ]
|
|
||||||
);
|
|
||||||
|
|
||||||
# There are some CI failures with Rattler. Tests on Aarch64 has been skipped.
|
|
||||||
# See https://github.com/prefix-dev/pixi/pull/241.
|
|
||||||
doCheck = !stdenv.isAarch64;
|
|
||||||
|
|
||||||
preCheck = ''
|
|
||||||
export HOME="$(mktemp -d)"
|
|
||||||
'';
|
|
||||||
|
|
||||||
checkFlags = [
|
|
||||||
# Skip tests requiring network
|
|
||||||
"--skip=add_channel"
|
|
||||||
"--skip=add_functionality"
|
|
||||||
"--skip=add_functionality_os"
|
|
||||||
"--skip=add_functionality_union"
|
|
||||||
"--skip=add_pypi_functionality"
|
|
||||||
"--skip=test_alias"
|
|
||||||
"--skip=test_cwd"
|
|
||||||
"--skip=test_incremental_lock_file"
|
|
||||||
];
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
installShellCompletion --cmd pix \
|
|
||||||
--bash <($out/bin/pixi completion --shell bash) \
|
|
||||||
--fish <($out/bin/pixi completion --shell fish) \
|
|
||||||
--zsh <($out/bin/pixi completion --shell zsh)
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru.tests.version = testers.testVersion {
|
|
||||||
package = pixi;
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Package management made easy";
|
|
||||||
homepage = "https://pixi.sh/";
|
|
||||||
license = licenses.bsd3;
|
|
||||||
maintainers = with lib.maintainers; [ aaronjheng edmundmiller ];
|
|
||||||
mainProgram = "pixi";
|
|
||||||
};
|
|
||||||
}
|
|
3
todo.md
3
todo.md
|
@ -4,4 +4,7 @@
|
||||||
- [ ] trackdown wezterm bug... (try building from flake?)
|
- [ ] trackdown wezterm bug... (try building from flake?)
|
||||||
> https://github.com/wez/wezterm/issues/5067
|
> https://github.com/wez/wezterm/issues/5067
|
||||||
|
|
||||||
|
- [ ] Check if vivaldi-ffmpeg-codecs are out of date
|
||||||
|
https://forum.vivaldi.net/topic/88884/page-crash-due-to-read-out-of-range-on-nixos/12
|
||||||
|
|
||||||
<!-- generated with <3 by daylinmorgan/todo -->
|
<!-- generated with <3 by daylinmorgan/todo -->
|
||||||
|
|
Loading…
Reference in a new issue