lksdjklads

This commit is contained in:
2025-05-01 17:16:46 +02:00
parent 495252670b
commit 6d15668ec8
5 changed files with 68 additions and 9 deletions

View File

@@ -52,6 +52,10 @@
nixos-nspawn.url = "github:tfc/nspawn-nixos";
nixos-nspawn.flake = false; # we don't use it /shrug
# https://github.com/nix-community/nix-unit
/* nix-unit.url = "github:nix-community/nix-unit"; */
/* nix-unit.inputs.nixpkgs.follows = "nixpkgs-edge"; */
# https://github.com/wamserma/flake-programs-sqlite
#flake-programs-sqlite-2311.url = "github:wamserma/flake-programs-sqlite";
#flake-programs-sqlite-2311.inputs.nixpkgs.follows = "nixpkgs-2311";
@@ -441,5 +445,30 @@
remoteenv-fhs = mkShell { inheritFrom = [ remoteenv ]; } [ system-manager ];
});
/*
checks = forAllSystems ({ pkgs, inputs, system }: {
unitTests = pkgs.runCommand "tests" {
nativeBuildInputs = [ inputs.nix-unit.packages.${system}.default ];
} ''
export HOME="$(realpath .)"
# The nix derivation must be able to find all used inputs in the nix-store because it cannot download it during buildTime.
nix-unit --eval-store "$HOME" \
--extra-experimental-features flakes \
--override-input nixpkgs ${inputs.nixpkgs} \
--flake ${self}#unitTests
touch $out
'';
});
unitTests = let
doesEval = x: {
expr = (builtins.tryEval x).success;
expected = true;
};
in {
# https://nix-community.github.io/nix-unit/
};
*/
};
}

View File

@@ -10,10 +10,19 @@ export FZF_DEFAULT_OPTS := "--height 15 --cycle --bind 'ctrl-a:toggle-all' " + e
@_default:
just "$(gum filter --placeholder "Pick a recipie..." $(just --summary --unsorted))"
eval hostname=`just _a_host`:
nix eval ".#nixosConfigurations.\"{{hostname}}\".config.system.build.toplevel.outPath" --show-trace
eval-vm hostname=`just _a_host`:
nix eval ".#nixosConfigurations.\"{{hostname}}\".config.system.build.vm.outPath" --show-trace
# @eval $hostname=`just _a_host` $attrpath="" *_="_sentinel_":
@eval $hostname=`just _a_host` $attrpath="" *_:
attrpath="${attrpath:-system.build.toplevel.outPath}"; \
args=("${@:3}"); \
# [[ "${args[0]}" != "_sentinel_" ]] || args=("${args[@]:1}"); \
set -x; nix eval ".#nixosConfigurations.\"$hostname\".config.$attrpath" --show-trace "${args[@]}"
# @eval-vm $hostname=`just _a_host` $attrpath="" *_="_sentinel_":
@eval-vm $hostname=`just _a_host` $attrpath="" *_:
# nix eval ".#nixosConfigurations.\"$hostname\".config.system.build.vm.outPath" --show-trace "${@:2}"
attrpath="${attrpath:-system.build.toplevel.outPath}"; \
args=("${@:3}"); \
# [[ "${args[0]}" != "_sentinel_" ]] || args=("${args[@]:1}"); \
set -x; nix eval ".#nixosConfigurations.\"$hostname\".config.virtualisation.vmVariant.$attrpath" --show-trace "${args[@]}"
repl $hostname=`just _a_host`:
NIX_NO_NOM=1 nixos-rebuild --flake .#"$hostname" repl

View File

@@ -5,6 +5,15 @@
* [ ] nixos mobile
* [ ] home-manager on fhs distro
* [ ] system-manager with nix-system-graphics and systemd stuff
# non-nix
* [ ] a better joinLines micro plugin
* [ ] a joinLines zed plugin
* [ ] a copy-as-rich-text for micro using pandoc
* [ ] a copy-as-rich-text for zed using pandoc?
* [ ] a align-lines plugin for micro
* [ ] a align-lines plugin for zed
* [ ] toggle-markdown-checkbox plugin for micro
* [ ] toggle-markdown-checkbox plugin for zed
# nice to have
* [ ] move mkNixos mkHome mkSystem mkBsd etc out of flake.nix
* [ ] make `just build` detect which of nixos-rebuild/home-manage/system-manager to use

View File

@@ -55,7 +55,9 @@ _nix_fd() (
readarray -d $'\n' -t storepaths < <(
"$nix" build "${nix_args[@]}" "${nix_flags[@]}" --print-out-paths --no-link
)
fd "${fd_pattern[@]}" "${storepaths[@]}" "${fd_flags[@]}"
if [[ "${#storepaths[@]}" -gt 0 ]]; then
fd "${fd_pattern[@]}" "${storepaths[@]}" "${fd_flags[@]}"
fi
)
nix-fd() { _nix_fd "nix" "$@"; }

View File

@@ -72,9 +72,19 @@ in
changeDirWidgetOptions = [ "--preview 'tree -C {} | head -200'" ];
# ctrl-t
fileWidgetCommand = "fd --type f"; # respects .gitignore
# fileWidgetCommand = "fd . --type file"; # respects .gitignore
fileWidgetCommand = "fd . | sort --ignore-case --general-numeric-sort"; # respects .gitignore
fileWidgetOptions = [
"--bind 'home:first'"
"--bind 'end:last'"
"--cycle"
#"--preview 'head {}'"
# "--preview 'bat {}'"
# "--preview 'tail -n$LINES {} | bat --file-name {} --paging never --style plain'"
# "--preview 'bat {} --paging never --style plain' --preview-window follow"
"--preview 'if [[ -f {} ]]; then tail -n$LINES {} | bat --paging=never --style=plain --color=always --file-name {} ; else file {} ; fi' --preview-window follow"
# https://github.com/junegunn/fzf/discussions/3363#discussioncomment-6419463
"--bind 'ctrl-a:reload:eval $FZF_DEFAULT_COMMAND --no-ignore'"
];
@@ -95,9 +105,9 @@ in
#programs.zoxide.enable = true;
#programs.zoxide.options = [ "--cmd cd --cmd dc" ];
# https://carapace-sh.github.io/carapace-bin/completers.html
programs.carapace.enable = true; # completions
programs.bash.sessionVariables.CARAPACE_EXCLUDES = "just"; # comma-separated
# # https://carapace-sh.github.io/carapace-bin/completers.html
# programs.carapace.enable = true; # completions
# programs.bash.sessionVariables.CARAPACE_EXCLUDES = "just"; # comma-separated
# i can't type
home.shellAliases.sl = "ls";