From 5bd756eaf27882820cb59e0ecf9c305f08b3b3e3 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Thu, 11 Feb 2021 13:27:18 +0100 Subject: modules/user/sternenseemann/sway: fix startup by enabling opengl sway needs opengl driver's to be enabled and loadable in order to start. I previously didn't notice this oversight as I still had them loaded and did not reboot after the rebuild. --- pkgs/profpatsch/nman/default.nix | 15 ++------------- pkgs/profpatsch/nman/nman.rs | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 13 deletions(-) create mode 100644 pkgs/profpatsch/nman/nman.rs (limited to 'pkgs/profpatsch/nman') diff --git a/pkgs/profpatsch/nman/default.nix b/pkgs/profpatsch/nman/default.nix index 96699833..bb4b4544 100644 --- a/pkgs/profpatsch/nman/default.nix +++ b/pkgs/profpatsch/nman/default.nix @@ -1,14 +1,3 @@ -{ lib, runCommand, go }: - -runCommand "nman" { - meta = with lib; { - description = "Invoke manpage in temporary nix-shell"; - license = licenses.gpl3; - }; -} '' - mkdir cache - env GOCACHE="$PWD/cache" \ - ${lib.getBin go}/bin/go build -o nman ${./nman.go} - install -D nman $out/bin/nman -'' +{ writeRustSimpleBin }: +writeRustSimpleBin "nman" {} ./nman.rs diff --git a/pkgs/profpatsch/nman/nman.rs b/pkgs/profpatsch/nman/nman.rs new file mode 100644 index 00000000..16bd6271 --- /dev/null +++ b/pkgs/profpatsch/nman/nman.rs @@ -0,0 +1,34 @@ +#[derive(Debug)] +enum DrvOutput<'a> { + Out, + Bin, + Lib, + Man, + Dev, + DevDoc, + DevMan, + Other(&'a [u8]), +} + +#[derive(Debug)] +struct DrvWithOutput<'a> { + drv_path: &'a [u8], + output: DrvOutput<'a>, +} + +fn parse_drv_path<'a>(path: &'a [u8]) -> Option> { + let mut split = path.split(|c| char::from(c.to_owned()) == '!'); + split.next().map(|p| DrvWithOutput { + drv_path: p, + output: split.next().map(|s| DrvOutput::Other(s)) + .unwrap_or(DrvOutput::Out), + }).and_then(|parsed| match split.next() { + Some(_) => None, + None => Some(parsed), + }) +} + +fn main() -> std::io::Result<()> { + println!("{:?}", parse_drv_path(b"/nix/store/58i9psln992xjwk8ig1v3l3a4p9sslnp-lowdown-0.7.9.drv")); + Ok(()) +} -- cgit 1.4.1