1

Compare commits

..

4 Commits

Author SHA1 Message Date
05ed0caab9 Migrate config to lazy 2024-06-01 22:12:27 +02:00
49d769cad2 Add help-closure to shell.nix 2024-06-01 19:33:36 +02:00
adcc104f8f Reformat 2024-06-01 19:33:30 +02:00
0abf1fc657 Add toLuaObject generator from nixvim 2024-06-01 13:59:34 +02:00
11 changed files with 1803 additions and 1152 deletions

File diff suppressed because it is too large Load Diff

View File

@ -460,7 +460,8 @@ rec {
# vale # Why not lint everything (including english)? # vale # Why not lint everything (including english)?
# TODO: Development module, I need multiple modules to be able to add python packages to a single python install... # TODO: Development module, I need multiple modules to be able to add python packages to a single python install...
(python311.withPackages (p: with p; [ (python311.withPackages (p:
with p; [
# p.rich # p.rich
# p.numpy # p.numpy
# p.scipy # p.scipy
@ -472,6 +473,7 @@ rec {
pyyaml pyyaml
std2 std2
pynvim pynvim
pynvim-pp
])) ]))
jetbrains.clion jetbrains.clion
jetbrains.rust-rover jetbrains.rust-rover

View File

@ -14,7 +14,8 @@ in {
options.modules.chromium = import ./options.nix {inherit lib mylib;}; options.modules.chromium = import ./options.nix {inherit lib mylib;};
config = mkIf cfg.enable { config = mkIf cfg.enable {
home.packages = with pkgs; builtins.concatLists [ home.packages = with pkgs;
builtins.concatLists [
(optionals cfg.google [ (optionals cfg.google [
google-chrome # Trash, but required for decker pdf export google-chrome # Trash, but required for decker pdf export
(pkgs.writeShellScriptBin "chrome" "exec -a $0 ${google-chrome}/bin/google-chrome-stable $@") (pkgs.writeShellScriptBin "chrome" "exec -a $0 ${google-chrome}/bin/google-chrome-stable $@")

File diff suppressed because it is too large Load Diff

View File

@ -9,4 +9,5 @@
networking = import ./networking.nix {inherit inputs pkgs lib;}; networking = import ./networking.nix {inherit inputs pkgs lib;};
virtualisation = import ./virtualisation.nix {inherit inputs pkgs lib;}; virtualisation = import ./virtualisation.nix {inherit inputs pkgs lib;};
rofi = import ./rofi.nix {inherit inputs pkgs lib;}; rofi = import ./rofi.nix {inherit inputs pkgs lib;};
generators = import ./generators.nix {inherit inputs pkgs lib;};
} }

49
lib/generators.nix Normal file
View File

@ -0,0 +1,49 @@
{
inputs,
pkgs,
lib,
...
}: rec {
# NOTE: Taken from NixVim https://github.com/nix-community/nixvim/blob/main/lib/to-lua.nix
toLuaObject = args:
if builtins.isAttrs args
then
if lib.hasAttr "__raw" args
then args.__raw
else if lib.hasAttr "__empty" args
then "{ }"
else
"{"
+ (lib.concatStringsSep "," (
lib.mapAttrsToList (
n: v: let
valueString = toLuaObject v;
in
if lib.hasPrefix "__unkeyed" n
then valueString
else if lib.hasPrefix "__rawKey__" n
then ''[${lib.removePrefix "__rawKey__" n}] = '' + valueString
else if n == "__emptyString"
then "[''] = " + valueString
else "[${toLuaObject n}] = " + valueString
) (lib.filterAttrs (n: v: v != null && (toLuaObject v != "{}")) args)
))
+ "}"
else if builtins.isList args
then "{" + lib.concatMapStringsSep "," toLuaObject args + "}"
else if builtins.isString args
then
# This should be enough!
builtins.toJSON args
else if builtins.isPath args
then builtins.toJSON (toString args)
else if builtins.isBool args
then "${lib.boolToString args}"
else if builtins.isFloat args
then "${toString args}"
else if builtins.isInt args
then "${toString args}"
else if (args == null)
then "nil"
else "";
}

View File

@ -30,7 +30,10 @@
linkConfig = { linkConfig = {
# This corresponds to the [LINK] section # This corresponds to the [LINK] section
# RequiredForOnline = "routable"; # RequiredForOnline = "routable";
RequiredForOnline = if routable then "routable" else "no"; # Don't make nixos-rebuild wait for systemd-networkd-wait-online.service RequiredForOnline =
if routable
then "routable"
else "no"; # Don't make nixos-rebuild wait for systemd-networkd-wait-online.service
}; };
}; };
@ -76,7 +79,10 @@
linkConfig = { linkConfig = {
# This corresponds to the [LINK] section # This corresponds to the [LINK] section
# RequiredForOnline = "routable"; # RequiredForOnline = "routable";
RequiredForOnline = if routable then "routable" else "no"; # Don't make nixos-rebuild wait for systemd-networkd-wait-online.service RequiredForOnline =
if routable
then "routable"
else "no"; # Don't make nixos-rebuild wait for systemd-networkd-wait-online.service
}; };
}; };

View File

@ -136,5 +136,10 @@ pkgs.devshell.mkShell {
help = "Display the wanted dynamic libraries by a binary"; help = "Display the wanted dynamic libraries by a binary";
command = "echo 'ldd (readlink -f (which <arg>))'"; command = "echo 'ldd (readlink -f (which <arg>))'";
} }
{
name = "help-closure";
help = "Display the closure of a package";
command = "echo 'nix path-info --recursive --size --closure-size --human-readable (readlink -f (which <arg>))'";
}
]; ];
} }