98 lines
2.2 KiB
Nix
98 lines
2.2 KiB
Nix
{pkgs, ...}: {
|
|
home.packages = with pkgs; [
|
|
bat
|
|
];
|
|
|
|
home.sessionVariables = {
|
|
EDITOR = "nvim";
|
|
};
|
|
|
|
programs = {
|
|
bash.enable = true;
|
|
|
|
nushell = {
|
|
enable = true;
|
|
|
|
extraConfig = ''
|
|
$env.config.buffer_editor = "nvim"
|
|
|
|
if "ZELLIJ" in $env == false {
|
|
zellij
|
|
exit
|
|
} else {
|
|
if "IN_NIX_SHELL" in $env == false {
|
|
fastfetch
|
|
}
|
|
}
|
|
|
|
def garbage [] {
|
|
sudo nix-collect-garbage --delete-old
|
|
sudo nixos-rebuild switch --flake /home/maxag/.nix-config
|
|
}
|
|
|
|
def c [] {
|
|
clear
|
|
fastfetch
|
|
}
|
|
|
|
def flake [
|
|
shell?: string
|
|
--edit (-e)
|
|
--command (-c): string
|
|
] {
|
|
if $edit {
|
|
nvim ~/.nix-config/flakes/flake.nix
|
|
} else {
|
|
match $command {
|
|
null => {nix develop $"/home/maxag/.nix-config/flakes/#($shell)"}
|
|
_ => {nix develop $"/home/maxag/.nix-config/flakes/#($shell)" --command bash -c $"($command)"}
|
|
}
|
|
}
|
|
}
|
|
|
|
def edit [file: path] {
|
|
match ($file | path parse | get extension) {
|
|
"rs" => {
|
|
flake rust -c $"nvim ($file)"
|
|
}
|
|
"zig" => {
|
|
flake zig -c $"nvim ($file)"
|
|
}
|
|
"c" | "cpp" => {
|
|
flake c -c $"nvim ($file)"
|
|
}
|
|
"cs" => {
|
|
flake c-sharp -c $"nvim ($file)"
|
|
}
|
|
_ => {nvim $file}
|
|
}
|
|
}
|
|
'';
|
|
|
|
settings = {
|
|
show_banner = false;
|
|
};
|
|
|
|
shellAliases = {
|
|
zel = "zellij";
|
|
rebuild = "sudo nixos-rebuild switch --flake /home/maxag/.nix-config";
|
|
system = "nvim /home/maxag/.nix-config/flake.nix";
|
|
home = "nvim /home/maxag/.nix-config/home/main/home.nix";
|
|
config = "nvim /home/maxag/.nix-config/configuration/main/configuration.nix";
|
|
cat = "bat -p -P";
|
|
nvim = "edit";
|
|
nix-shell = "nix-shell --run nu";
|
|
};
|
|
};
|
|
|
|
zoxide = {
|
|
enable = true;
|
|
enableBashIntegration = true;
|
|
enableNushellIntegration = true;
|
|
|
|
options = [
|
|
"--cmd cd"
|
|
];
|
|
};
|
|
};
|
|
}
|