Compare commits

..

No commits in common. "37a93b29ee7d210d7843b330f288bf99098b6698" and "d6ad8105680fe53708e1705d61a412c4a40b6b7a" have entirely different histories.

7 changed files with 56 additions and 89 deletions

View file

@ -95,6 +95,7 @@
overlays = [
inputs.hypr-contrib.overlays.default
inputs.hyprland.overlays.default
inputs.neovim-nightly-overlay.overlay
overlay
];

View file

@ -34,54 +34,42 @@ let
which-nix = pkgs.writeFishApplication {
name = "which-nix";
runtimeInputs = with pkgs; [ which coreutils-full procps ];
runtimeInputs = with pkgs; [ which coreutils-full ];
text = /* fish */ ''
function recurse -a path;
if not test -f "$path"
return
end
echo $path
if test -L $path
recurse (readlink $path)
end
end
for arg in $argv
recurse (which $arg)
end
readlink -f (which $argv)
'';
completions = /* fish */ ''
complete -c which-nix -fa '(__fish_complete_command)'
'';
};
gi = pkgs.writeFishApplication {
name = "gi";
runtimeInputs = with pkgs; [ fzf gum curl ];
text = /* fish */ ''
set url https://www.gitignore.io/api
gi = pkgs.writeFishApplication
{
name = "gi";
runtimeInputs = with pkgs; [ fzf gum curl ];
text = /* fish */ ''
set url https://www.gitignore.io/api
if test (count $argv) -eq 0
set choice ( curl -sL $url/list \
| string split "," \
| fzf -m \
| string join "," )
else
set choice (string join "," $argv[1..])
end
if test (count $argv) -eq 0
set choice ( curl -sL $url/list \
| string split "," \
| fzf -m \
| string join "," )
else
set choice (string join "," $argv[1..])
end
if gum confirm "Overwrite current .gitignore?"
curl -sL $url/$choice > .gitignore
else
curl -sL $url/$choice >> .gitignore
end
'';
completions = /* fish */ ''
set args (curl -sL https://www.gitignore.io/api/list | string split ",")
complete -c gi -fa "$args"
'';
};
if gum confirm "Overwrite current .gitignore?"
curl -sL $url/$choice > .gitignore
else
curl -sL $url/$choice >> .gitignore
end
'';
completions = /* fish */ ''
set args (curl -sL https://www.gitignore.io/api/list | string split ",")
complete -c gi -fa "$args"
'';
};
in
{
users.users.moritz = {

View file

@ -8,12 +8,9 @@ with lib;
let
cfg = config.my.programs.fish;
shellConfig = config.my.shell;
exportedVariables =
let
exportVariables =
lib.mapAttrsToList (n: v: ''set -x ${n} "${v}"'') shellConfig.variables;
in
lib.concatStringsSep "\n" exportVariables;
exportVariables =
lib.mapAttrsToList (n: v: ''set -x ${n} "${v}"'') shellConfig.variables;
exportedVariables = lib.concatStringsSep "\n" exportVariables;
in
{
options.my.programs.fish.enable = mkEnableOption "fish";

View file

@ -9,8 +9,7 @@ with lib;
let
cfg = config.my.programs.hyprland;
hyprland-nvidia = pkgs.hyprland.override { enableNvidiaPatches = true; };
hyprland = if cfg.nvidiaSupport then hyprland-nvidia else pkgs.hyprland;
hyprland = pkgs.hyprland.override { enableNvidiaPatches = cfg.nvidiaSupport; };
in
{
options.my.programs.hyprland = {

View file

@ -17,7 +17,7 @@ in
gateway = "vpn.uni-leipzig.de";
protocol = "anyconnect";
user = "mb18cele@uni-leipzig.de";
# NOTE: file content as follows:
# NOTE file content as follows:
# <my_password>
# "1-Standard-Uni" or "2-Spezial-Alles"
# Explanation:

View file

@ -2,33 +2,7 @@ _:
final: _:
with final.lib;
rec {
fishFile =
{ name
, destination
, content
, checkPhase ? null
}:
final.writeTextFile {
inherit name destination;
executable = true;
allowSubstitutes = true;
preferLocalBuild = false;
text = ''
#!${getExe final.fish}
${content}
'';
checkPhase =
if checkPhase == null then ''
runHook preCheck
${getExe final.fish} -n "$target"
runHook postCheck
''
else checkPhase;
};
{
writeFishApplication =
{ name
, text
@ -37,21 +11,30 @@ rec {
, checkPhase ? null
}:
let
runtimeHeader = optionalString (runtimeInputs != [ ])
''export PATH="${makeBinPath runtimeInputs}:$PATH"'';
fishFile = destination: content: final.writeTextFile {
inherit name destination;
executable = true;
allowSubstitutes = true;
preferLocalBuild = false;
text = ''
#!${getExe final.fish}
script = fishFile {
inherit checkPhase;
name = "${name}_script";
destination = "/bin/${name}";
content = concatLines [ runtimeHeader text ];
};
completions_file = fishFile {
inherit checkPhase;
name = "${name}_completions";
destination = "/share/fish/vendor_completions.d/${name}.fish";
content = concatLines [ runtimeHeader completions ];
${optionalString (runtimeInputs != [ ]) ''export PATH="${makeBinPath runtimeInputs}:$PATH"''}
${content}
'';
checkPhase =
if checkPhase == null then ''
runHook preCheck
${getExe final.fish} -n "$target"
runHook postCheck
''
else checkPhase;
};
script = fishFile "/bin/${name}" text;
completions_file = fishFile "/share/fish/vendor_completions.d/${name}.fish" completions;
in
final.symlinkJoin {
inherit name;

View file

@ -11,7 +11,6 @@ final: prev:
version = lib.my.mkVersionInput inputs.rofi-wayland;
});
timers = inputs.timers.packages.${prev.system}.default;
hyprland = inputs.hyprland.packages.${prev.system}.default;
fzf1 = final.writeShellApplication {
name = "fzf1";