mirror of
https://github.com/daylinmorgan/oizys.git
synced 2024-12-24 07:50:43 -06:00
Compare commits
4 commits
cd105ae69a
...
86b1d94995
Author | SHA1 | Date | |
---|---|---|---|
86b1d94995 | |||
7cf34d6df8 | |||
1fcd741bfa | |||
c995d60900 |
5 changed files with 93 additions and 46 deletions
111
flake.lock
111
flake.lock
|
@ -323,11 +323,11 @@
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725367654,
|
"lastModified": 1725563063,
|
||||||
"narHash": "sha256-1hiNRCEdSZLfyH2y06S+gqUbiSwbwdktStPSJuPesaM=",
|
"narHash": "sha256-tnBDplJLVDCfQyU8QV/WMlKXWqdburHmC3tp2XZmhtA=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "9b54342baa27d8de0460e1103ec4c3cc65592ed8",
|
"rev": "727f1b54cd1ba48774092a5d54acc0e55f3ffe0f",
|
||||||
"revCount": 5182,
|
"revCount": 5188,
|
||||||
"submodules": true,
|
"submodules": true,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/hyprwm/Hyprland/"
|
"url": "https://github.com/hyprwm/Hyprland/"
|
||||||
|
@ -343,11 +343,11 @@
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725276753,
|
"lastModified": 1725551787,
|
||||||
"narHash": "sha256-kcV2M7xIoQvLRIrMndysM4E0d2zGSwIDejamT4LKnDg=",
|
"narHash": "sha256-6LgsZHz8w3g4c9bRUwRAR+WIMwFGGf3P1VZQcKNRf2o=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "contrib",
|
"repo": "contrib",
|
||||||
"rev": "ae618eafa81b596db034c5df1d75d4eddf785824",
|
"rev": "1e531dc49ad36c88b45bf836081a7a2c8927e072",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -504,11 +504,11 @@
|
||||||
"lix": {
|
"lix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725228396,
|
"lastModified": 1725389327,
|
||||||
"narHash": "sha256-QBXwqyPuHUKBiuyzHBxqH/MpjPY9DQiY2M81P2t6b/0=",
|
"narHash": "sha256-UtHpRNYPabG0zW3XB8Dldb68O7n1JLSUczTwg37dcsA=",
|
||||||
"rev": "02eb07cfd539c34c080cb1baf042e5e780c1fcc2",
|
"rev": "72589e703258e5cb4de091390291ff84c3a22bf2",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/02eb07cfd539c34c080cb1baf042e5e780c1fcc2.tar.gz?rev=02eb07cfd539c34c080cb1baf042e5e780c1fcc2"
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/72589e703258e5cb4de091390291ff84c3a22bf2.tar.gz?rev=72589e703258e5cb4de091390291ff84c3a22bf2"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
|
@ -559,6 +559,24 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nim2nix_2": {
|
"nim2nix_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_7"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1725469705,
|
||||||
|
"narHash": "sha256-4/iSUwB3XKmybdt4R87VhBPiD3z4BL6RrD9LyrrkesM=",
|
||||||
|
"owner": "daylinmorgan",
|
||||||
|
"repo": "nim2nix",
|
||||||
|
"rev": "42af12ca45025c7146bc24e27f5d8b65b003d663",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "daylinmorgan",
|
||||||
|
"repo": "nim2nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nim2nix_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"utils",
|
"utils",
|
||||||
|
@ -726,11 +744,11 @@
|
||||||
"nixpkgs": "nixpkgs_6"
|
"nixpkgs": "nixpkgs_6"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725292436,
|
"lastModified": 1725541051,
|
||||||
"narHash": "sha256-AeRcvPq2SLjpLP1cXe5SjFUmwuO5BY4bskRcrxRZtJU=",
|
"narHash": "sha256-ke/qx3H6K789rijVpnDPD6M/BWqqueWMtXD+nGvqZ1k=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs-wayland",
|
"repo": "nixpkgs-wayland",
|
||||||
"rev": "52b72b12c456a5c0c87c40941ef79335e8d61104",
|
"rev": "5502df5dcd4157b8195fdf61da29bb560f4bceab",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -773,11 +791,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725103162,
|
"lastModified": 1725432240,
|
||||||
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
|
"narHash": "sha256-+yj+xgsfZaErbfYM3T+QvEE2hU7UuE+Jf0fJCJ8uPS0=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b",
|
"rev": "ad416d066ca1222956472ab7d0555a6946746a80",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -805,11 +823,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724819573,
|
"lastModified": 1725432240,
|
||||||
"narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=",
|
"narHash": "sha256-+yj+xgsfZaErbfYM3T+QvEE2hU7UuE+Jf0fJCJ8uPS0=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "71e91c409d1e654808b2621f28a327acfdad8dc2",
|
"rev": "ad416d066ca1222956472ab7d0555a6946746a80",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -820,6 +838,22 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_7": {
|
"nixpkgs_7": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1724479785,
|
||||||
|
"narHash": "sha256-pP3Azj5d6M5nmG68Fu4JqZmdGt4S4vqI5f8te+E/FTw=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "d0e1602ddde669d5beb01aec49d71a51937ed7be",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_8": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725103162,
|
"lastModified": 1725103162,
|
||||||
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
|
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
|
||||||
|
@ -842,11 +876,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724941407,
|
"lastModified": 1725471169,
|
||||||
"narHash": "sha256-LUwXnxjTEf4wkcqsgLlIlZo5CE7RBY/fLGHiZsxAl7s=",
|
"narHash": "sha256-PF5uVWJ9SDviht5rugMp2I8U8D0KTtPVO5TIC+XxWc0=",
|
||||||
"owner": "daylinmorgan",
|
"owner": "daylinmorgan",
|
||||||
"repo": "pixi-flake",
|
"repo": "pixi-flake",
|
||||||
"rev": "e18817720f229f350e4d25eecda3ed24d99b2d53",
|
"rev": "820ce16a1a39c469628d8ccea077827779496bda",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -866,11 +900,11 @@
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725368588,
|
"lastModified": 1725557788,
|
||||||
"narHash": "sha256-NVHYkh9rzIz9fc33gDFN7iQnHxG4m1v8NuLXZWUBVK8=",
|
"narHash": "sha256-mPw63Fk1veQx18OVQijlvKbxxXF1uzI8N+0pF/tDnqE=",
|
||||||
"owner": "roc-lang",
|
"owner": "roc-lang",
|
||||||
"repo": "roc",
|
"repo": "roc",
|
||||||
"rev": "c80eede300f1d48a307c4e5ace4fe13cbfc98c60",
|
"rev": "640bd15ca1dcf82bebe6a357e1a384b3ffdd4658",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1071,17 +1105,18 @@
|
||||||
},
|
},
|
||||||
"tsm": {
|
"tsm": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"nim2nix": "nim2nix_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "nix",
|
"dir": "nix",
|
||||||
"lastModified": 1723828016,
|
"lastModified": 1725560270,
|
||||||
"narHash": "sha256-s47lZE4T59+ohZpa5TqS1wKyTDYJOYO6yc7lM9giDJQ=",
|
"narHash": "sha256-daF97eJRmjyGMr/sz+Bdd5ZbPvoLKS2p4edoh35jzto=",
|
||||||
"owner": "daylinmorgan",
|
"owner": "daylinmorgan",
|
||||||
"repo": "tsm",
|
"repo": "tsm",
|
||||||
"rev": "7fb9a2d6b4005a614cb19c7f376551252ddf1f14",
|
"rev": "15e5cf6933a319503697f53d287e817fcafe7949",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -1093,15 +1128,15 @@
|
||||||
},
|
},
|
||||||
"utils": {
|
"utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nim2nix": "nim2nix_2",
|
"nim2nix": "nim2nix_3",
|
||||||
"nixpkgs": "nixpkgs_7"
|
"nixpkgs": "nixpkgs_8"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725378965,
|
"lastModified": 1725558444,
|
||||||
"narHash": "sha256-jr/X/wHOeEgqxTNjZ8naZB9JI4sEDXdj4SRekBYFCNg=",
|
"narHash": "sha256-ahxree7yZD9YuOUG0Z3R0qQjkGL+ZrgiKVcXa8kSNBo=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "03069333f260e50940eb4007cf15862bf23ab98e",
|
"rev": "1032b97146ff7ef74df06e5e3babdde244c08280",
|
||||||
"revCount": 9,
|
"revCount": 11,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.dayl.in/daylin/utils.git"
|
"url": "https://git.dayl.in/daylin/utils.git"
|
||||||
},
|
},
|
||||||
|
@ -1149,11 +1184,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725365439,
|
"lastModified": 1725538257,
|
||||||
"narHash": "sha256-PlGdaX3A9kndMxrwHW2QRd8SyE6mxheIgd81tqLV8HQ=",
|
"narHash": "sha256-J8UYDbHm8zSU+MruQ0VGEFL7eOJUkYsi7O4rCc0EcCk=",
|
||||||
"owner": "mitchellh",
|
"owner": "mitchellh",
|
||||||
"repo": "zig-overlay",
|
"repo": "zig-overlay",
|
||||||
"rev": "fb3b6628ebf2e0c8e4e346d5ed1de5fce60ece07",
|
"rev": "5848c57bc396697ae4ed69f5e1295fe655c3ffae",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -15,6 +15,7 @@ mkOizysModule config "hyprland" {
|
||||||
|
|
||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
(with pkgs; [
|
(with pkgs; [
|
||||||
|
wl-mirror
|
||||||
wlr-randr
|
wlr-randr
|
||||||
kanshi
|
kanshi
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,11 @@ proc runCmdCapt*(
|
||||||
# close p
|
# close p
|
||||||
close p
|
close p
|
||||||
|
|
||||||
proc runCmdCaptWithSpinner*(cmd: string, msg: string = "", capture: set[CaptureGrp] = {CaptStdout}): tuple[output, err: string] =
|
proc runCmdCaptWithSpinner*(
|
||||||
|
cmd: string,
|
||||||
|
msg: string = "",
|
||||||
|
capture: set[CaptureGrp] = {CaptStdout}
|
||||||
|
): tuple[output, err: string] =
|
||||||
withSpinner(msg):
|
withSpinner(msg):
|
||||||
let (output, err, code) = runCmdCapt(cmd, capture)
|
let (output, err, code) = runCmdCapt(cmd, capture)
|
||||||
if code != 0:
|
if code != 0:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import std/[
|
import std/[
|
||||||
algorithm, json,
|
algorithm, json,
|
||||||
enumerate, os, osproc, sequtils, strformat,
|
enumerate, os, sequtils, strformat,
|
||||||
strutils, sugar, logging, tables
|
strutils, sugar, logging, tables
|
||||||
]
|
]
|
||||||
import bbansi, jsony
|
import bbansi, jsony
|
||||||
|
@ -110,8 +110,11 @@ proc toBuildNixosConfiguration(): seq[string] =
|
||||||
var cmd = nixCommand("build")
|
var cmd = nixCommand("build")
|
||||||
cmd.addArg "--dry-run"
|
cmd.addArg "--dry-run"
|
||||||
cmd.addArgs nixosConfigAttrs()
|
cmd.addArgs nixosConfigAttrs()
|
||||||
# let (_, err) = runCmdCaptWithSpinner(cmd, "running dry run build for: " & getHosts().join(" "))
|
let (_, err) = runCmdCaptWithSpinner(
|
||||||
let (_, err, _) = runCmdCapt(cmd, {CaptStderr})
|
cmd,
|
||||||
|
"running dry run build for: " & getHosts().join(" "),
|
||||||
|
capture ={CaptStderr}
|
||||||
|
)
|
||||||
let output = parseDryRunOutput err
|
let output = parseDryRunOutput err
|
||||||
return output.toBuild.mapIt(it.storePath)
|
return output.toBuild.mapIt(it.storePath)
|
||||||
|
|
||||||
|
@ -120,12 +123,12 @@ type
|
||||||
inputDrvs: Table[string, JsonNode]
|
inputDrvs: Table[string, JsonNode]
|
||||||
name: string
|
name: string
|
||||||
|
|
||||||
proc evaluateDerivations(drvs: seq[string]): Table[string,NixDerivation] =
|
proc evaluateDerivations(drvs: seq[string]): Table[string, NixDerivation] =
|
||||||
var cmd = "nix derivation show -r"
|
var cmd = "nix derivation show -r"
|
||||||
cmd.addArgs drvs
|
cmd.addArgs drvs
|
||||||
let (output, _) =
|
let (output, _) =
|
||||||
runCmdCaptWithSpinner(cmd, "evaluating derivations")
|
runCmdCaptWithSpinner(cmd, "evaluating derivations")
|
||||||
output.fromJson(Table[string,NixDerivation])
|
fromJson(output, Table[string,NixDerivation])
|
||||||
|
|
||||||
|
|
||||||
# TODO: replace asserts in this proc
|
# TODO: replace asserts in this proc
|
||||||
|
|
|
@ -179,9 +179,13 @@ proc error*(spinny: Spinny, msg: string) =
|
||||||
template withSpinner*(msg: string = "", body: untyped): untyped =
|
template withSpinner*(msg: string = "", body: untyped): untyped =
|
||||||
var spinner {.inject.} = newSpinny(msg, Dots)
|
var spinner {.inject.} = newSpinny(msg, Dots)
|
||||||
spinner.setSymbolColor(fgBlue)
|
spinner.setSymbolColor(fgBlue)
|
||||||
start spinner
|
if isatty(stdout): # don't spin if it's not a tty
|
||||||
|
start spinner
|
||||||
|
|
||||||
body
|
body
|
||||||
stop spinner
|
|
||||||
|
if isatty(stdout):
|
||||||
|
stop spinner
|
||||||
|
|
||||||
template withSpinner*(body: untyped): untyped =
|
template withSpinner*(body: untyped): untyped =
|
||||||
withSpinner("", body)
|
withSpinner("", body)
|
||||||
|
|
Loading…
Reference in a new issue