This repository has been archived on 2024-03-04. You can view files and clone it, but cannot push or open issues or pull requests.
linux/.config/bash/module/Nix.sh

56 lines
1,019 B
Bash
Raw Normal View History

2024-01-24 17:05:52 +03:00
# Find Nix package path.
2024-01-24 18:49:45 +03:00
# Usage: nix_find <PACKAGE>
function nix_find() {
2024-01-24 17:05:52 +03:00
local IFS=$'\n'
local package="${1}"
if [[ "${package}" = "" ]]; then
help find_nix
return 2
fi
local found=$(ls --classify /nix/store/ | grep "${package}".*/)
if [[ "${found}" != "" ]]; then
echo "/nix/store/${found%/}"
else
false
fi
}
2024-01-24 18:56:14 +03:00
# Switch to Unstable branch.
function nix_unstable() {
nix-channel --add https://nixos.org/channels/nixos-unstable nixos
}
# Switch to Small Unstable branch (for server).
function nix_unstable_small() {
nix-channel --add https://nixos.org/channels/nixos-unstable-small nixos
}
2024-01-25 00:39:42 +03:00
# Display current channel.
function nix_channel() {
nix-channel --list
}
2024-01-24 19:06:50 +03:00
# Update system (rebuild).
2024-01-24 18:56:14 +03:00
function nix_update() {
2024-01-24 19:06:50 +03:00
nixos-rebuild switch
}
# Upgrade system.
function nix_upgrade() {
2024-01-24 18:56:14 +03:00
nixos-rebuild switch --upgrade
}
2024-01-24 19:42:52 +03:00
# Free up root space.
function nix_clean() {
nix-collect-garbage -d
[[ "${UID}" = 0 ]] && nix-store --gc
}
2024-01-24 23:58:03 +03:00
# Spawn temporary shell.
function shell() {
nix-shell -p "${@}"
}