Compare commits

..

No commits in common. "9814ddd9fc2d557abd589bb82bd2a654ea9bc7fb" and "42c2413ce032e37d4b70a77ea4c1f06e695ec655" have entirely different histories.

7 changed files with 42 additions and 41 deletions

View File

@ -397,7 +397,7 @@ remap('n', '<leader>gs', function() require('neogit').open({}) end);
require("inlay-hints").setup { require("inlay-hints").setup {
only_current_line = false, only_current_line = false,
eol = { eol = {
right_align = false, right_align = true,
} }
} }
local on_attach = function(client, bufnr) local on_attach = function(client, bufnr)

View File

@ -45,6 +45,22 @@
"type": "github" "type": "github"
} }
}, },
"from-yaml": {
"flake": false,
"locked": {
"lastModified": 1667993187,
"narHash": "sha256-JG1XYGCmR7Jqawvs8AO4c2mrOl37BXGGgU9cfeL0b8k=",
"owner": "pegasust",
"repo": "fromYaml",
"rev": "ef0ed4acfc4a6b7a0f1515cb48f5dbdda89dac3c",
"type": "github"
},
"original": {
"owner": "pegasust",
"repo": "fromYaml",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -135,6 +151,7 @@
"root": { "root": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"from-yaml": "from-yaml",
"home-manager": "home-manager", "home-manager": "home-manager",
"nixgl": "nixgl", "nixgl": "nixgl",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",

View File

@ -9,6 +9,10 @@
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
nixgl.url = "github:guibou/nixGL"; nixgl.url = "github:guibou/nixGL";
rust-overlay.url = "github:oxalica/rust-overlay"; rust-overlay.url = "github:oxalica/rust-overlay";
from-yaml = {
url = "github:pegasust/fromYaml";
flake = false;
};
}; };
outputs = outputs =
@ -17,6 +21,7 @@
, nixgl , nixgl
, rust-overlay , rust-overlay
, flake-utils , flake-utils
, from-yaml
, ... , ...
}: }:
let let
@ -27,7 +32,7 @@
inherit system overlays; inherit system overlays;
config = { allowUnfree = true; }; config = { allowUnfree = true; };
}; };
lib = (import ../lib { inherit pkgs; lib = pkgs.lib; }); lib = (import ../lib-nix { inherit pkgs from-yaml; lib = pkgs.lib; });
in in
{ {
homeConfigurations = homeConfigurations =

View File

@ -2,7 +2,6 @@
{ config { config
, pkgs # This is by default just ``= import <nixpkgs>{}` , pkgs # This is by default just ``= import <nixpkgs>{}`
, myHome , myHome
, myLib
, ... , ...
}: }:
let let
@ -29,7 +28,20 @@ let
# ])) # ]))
]; ];
proj_root = builtins.toString ./../..; proj_root = builtins.toString ./../..;
inherit (myLib) fromYaml; # TODO: put this in a seperate library
# callPackage supports both PATH and function as first param!
yamlToJsonDrv = yamlContent: outputPath: pkgs.callPackage
({ runCommand }:
# runCommand source: https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/trivial-builders.nix#L33
runCommand outputPath { inherit yamlContent; nativeBuildInputs = [ pkgs.yq ]; }
# run yq which outputs '.' (no filter) on file at yamlPath
# note that $out is passed onto the bash/sh script for execution
''
echo "$yamlContent" | yq >$out
'')
{ };
# fromYamlPath = yamlPath: builtins.fromJSON (builtins.readFile (yamlToJsonDrv yamlPath "any-output.json"));
fromYaml = yamlContent: builtins.fromJSON (builtins.readFile (yamlToJsonDrv yamlContent "any_output.json"));
in in
{ {
home = { home = {

View File

@ -1,9 +1,4 @@
{ pkgs {pkgs, lib, from-yaml, ...}@flake_import:
, lib {
, ... }@flake_import: fromYaml = import "${from-yaml}/fromYaml.nix" {inherit lib;};
let serde = import ./serde { inherit pkgs lib; };
in
pkgs.lib // lib // {
fromYaml = serde.fromYaml;
fromYamlPath = serde.fromYamlPath;
} }

View File

@ -1,28 +0,0 @@
# Takes care of serializing and deserializing to some formats
# Blame: Pegasust<pegasucksgg@gmail.com>
# TODO: Add to* formats from pkgs.formats.*
{ pkgs
, lib
} @ inputs:
let
yamlToJsonDrv = yamlContent: outputPath: pkgs.callPackage
({ runCommand }:
# runCommand source: https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/trivial-builders.nix#L33
runCommand outputPath { inherit yamlContent; nativeBuildInputs = [ pkgs.yq ]; }
# run yq which outputs '.' (no filter) on file at yamlPath
# note that $out is passed onto the bash/sh script for execution
''
echo "$yamlContent" | yq >$out
'')
{ };
in {
# Takes in a yaml string and produces a derivation with translated JSON at $outputPath
# similar to builtins.fromJSON, turns a YAML string to nix attrset
fromYaml = yamlContent: builtins.fromJSON (builtins.readFile (yamlToJsonDrv yamlContent "any_output.json"));
fromYamlPath = yamlPath: builtins.fromJSON (
builtins.readFile (
yamlToJsonDrv (
builtins.readFile yamlPath)
"any-output.json"));
# TODO: fromToml?
}

View File

@ -10,7 +10,7 @@ HOME_MANAGER_DIR="${SCRIPT_DIR}/../nix-conf/home-manager"
# test if we have home-manager, if not, attempt to use nix to put home-manager to # test if we have home-manager, if not, attempt to use nix to put home-manager to
# our environment # our environment
if [ $(home-manager >/dev/null 2>&1) ]; then if [ $(home-manager &>/dev/null) ]; then
nix-shell -p home-manager --run "home-manager switch --flake $HOME_MANAGER_DIR" nix-shell -p home-manager --run "home-manager switch --flake $HOME_MANAGER_DIR"
else else
home-manager switch --flake "$HOME_MANAGER_DIR" home-manager switch --flake "$HOME_MANAGER_DIR"