added podman and shortcut for nixos rebuilds
This commit is contained in:
19
flake.lock
generated
19
flake.lock
generated
@@ -148,6 +148,22 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-unstable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1786862985,
|
||||||
|
"narHash": "sha256-FBJRXmbGXiSUDvYEbfLYRkckayyZ6SK1UEqhCrIZ2Cs=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "e5bdc4a41d4c072fe1e3787eaa0320a384741d44",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767892417,
|
"lastModified": 1767892417,
|
||||||
@@ -184,7 +200,8 @@
|
|||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
|
||||||
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
|
|||||||
44
home/zsh.nix
44
home/zsh.nix
@@ -107,8 +107,12 @@
|
|||||||
setup = "source ./setup_env.sh";
|
setup = "source ./setup_env.sh";
|
||||||
gpuenv = "__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia";
|
gpuenv = "__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia";
|
||||||
digital = "$HOME/Tools/Digital/Digital.sh";
|
digital = "$HOME/Tools/Digital/Digital.sh";
|
||||||
nixos_test = "sudo nixos_rebuild test --flake $HOME/NixOS-Configs#hades";
|
nixos_test = "rebuild test";
|
||||||
nixos_switch = "sudo nixos_rebuild switch --flake $HOME/NixOS-Configs#hades";
|
nixos_switch = "rebuild switch";
|
||||||
|
"rebuild-switch" = "rebuild switch";
|
||||||
|
"rebuild-test" = "rebuild test";
|
||||||
|
"rebuild-boot" = "rebuild boot";
|
||||||
|
"rebuild-build" = "rebuild build";
|
||||||
};
|
};
|
||||||
|
|
||||||
initContent = lib.mkMerge [
|
initContent = lib.mkMerge [
|
||||||
@@ -166,6 +170,42 @@
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Custom helper functions
|
# Custom helper functions
|
||||||
|
rebuild () {
|
||||||
|
local action="''${1:-switch}"
|
||||||
|
shift 2>/dev/null || true
|
||||||
|
|
||||||
|
local config_dir="''${FLAKE_CONFIG:-$HOME/NixOS-Configs}"
|
||||||
|
local host="hades"
|
||||||
|
local target="$config_dir#$host"
|
||||||
|
|
||||||
|
case "$action" in
|
||||||
|
switch|test|boot)
|
||||||
|
echo "==> Running: sudo nixos-rebuild $action --flake $target $*"
|
||||||
|
sudo nixos-rebuild "$action" --flake "$target" "$@"
|
||||||
|
;;
|
||||||
|
build|dry-build|dry-run|dry-activate)
|
||||||
|
local act="$action"
|
||||||
|
[[ "$action" == "dry-run" ]] && act="dry-build"
|
||||||
|
echo "==> Running: nixos-rebuild $act --flake $target $*"
|
||||||
|
nixos-rebuild "$act" --flake "$target" "$@"
|
||||||
|
;;
|
||||||
|
help|-h|--help)
|
||||||
|
echo "Usage: rebuild [switch|test|boot|build|dry-build] [extra nixos-rebuild options]"
|
||||||
|
echo ""
|
||||||
|
echo "Commands:"
|
||||||
|
echo " switch Build, activate, and make default boot entry (default)"
|
||||||
|
echo " test Build and activate without creating a boot entry"
|
||||||
|
echo " boot Build and make default boot entry without activating"
|
||||||
|
echo " build Build system to ./result without activating or sudo"
|
||||||
|
echo " dry-build Show what would be built/fetched"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "==> Running: sudo nixos-rebuild $action --flake $target $*"
|
||||||
|
sudo nixos-rebuild "$action" --flake "$target" "$@"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
perlmutter_pass () {
|
perlmutter_pass () {
|
||||||
echo -n 'bw master password: '
|
echo -n 'bw master password: '
|
||||||
read -s MASTER_PASS
|
read -s MASTER_PASS
|
||||||
|
|||||||
@@ -6,5 +6,6 @@
|
|||||||
./browser.nix
|
./browser.nix
|
||||||
./communication.nix
|
./communication.nix
|
||||||
./dev.nix
|
./dev.nix
|
||||||
|
./virt.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,13 +2,15 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
# Core Editors & AI Agents
|
||||||
neovim
|
neovim
|
||||||
uv
|
|
||||||
rustup
|
|
||||||
ghidra
|
|
||||||
antigravity-cli
|
antigravity-cli
|
||||||
pi-coding-agent
|
pi-coding-agent
|
||||||
|
|
||||||
|
# Languages & Toolchains
|
||||||
|
uv
|
||||||
|
rustup
|
||||||
|
|
||||||
# Clang & LLVM Toolchain
|
# Clang & LLVM Toolchain
|
||||||
llvmPackages_latest.clang
|
llvmPackages_latest.clang
|
||||||
llvmPackages_latest.lld
|
llvmPackages_latest.lld
|
||||||
@@ -17,7 +19,28 @@
|
|||||||
llvmPackages_latest.clang-tools
|
llvmPackages_latest.clang-tools
|
||||||
llvmPackages_latest.libcxx
|
llvmPackages_latest.libcxx
|
||||||
|
|
||||||
# Nix Tools
|
# Debuggers, Tracing & Profiling
|
||||||
|
gdb
|
||||||
|
rr
|
||||||
|
strace
|
||||||
|
ltrace
|
||||||
|
lsof
|
||||||
|
valgrind
|
||||||
|
heaptrack
|
||||||
|
linuxPackages.perf
|
||||||
|
flamegraph
|
||||||
|
|
||||||
|
# Decompilers, Disassemblers & Binary Analysis
|
||||||
|
ghidra
|
||||||
|
cutter
|
||||||
|
binwalk
|
||||||
|
binutils
|
||||||
|
elfutils
|
||||||
|
pahole
|
||||||
|
hexyl
|
||||||
|
imhex
|
||||||
|
|
||||||
|
# Nix Tooling
|
||||||
nil
|
nil
|
||||||
nixfmt
|
nixfmt
|
||||||
statix
|
statix
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
ollama = {
|
ollama = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.ollama-cuda;
|
package = pkgs.unstable.ollama-cuda;
|
||||||
host = "0.0.0.0";
|
host = "0.0.0.0";
|
||||||
port = 11434;
|
port = 11434;
|
||||||
user = "ollama";
|
user = "ollama";
|
||||||
@@ -33,6 +33,6 @@
|
|||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
comfy-ui-cuda
|
comfy-ui-cuda
|
||||||
ollama-cuda
|
unstable.ollama-cuda
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
64
modules/apps/virt.nix
Normal file
64
modules/apps/virt.nix
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
virtualisation = {
|
||||||
|
containers.enable = true;
|
||||||
|
podman = {
|
||||||
|
enable = true;
|
||||||
|
dockerCompat = true;
|
||||||
|
defaultNetwork.settings.dns_enabled = true;
|
||||||
|
};
|
||||||
|
libvirtd = {
|
||||||
|
enable = true;
|
||||||
|
qemu = {
|
||||||
|
package = pkgs.qemu_kvm;
|
||||||
|
runAsRoot = true;
|
||||||
|
swtpm.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
incus = {
|
||||||
|
enable = true;
|
||||||
|
ui.enable = true;
|
||||||
|
};
|
||||||
|
spiceUSBRedirection.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.nftables.enable = true;
|
||||||
|
|
||||||
|
programs.virt-manager.enable = true;
|
||||||
|
|
||||||
|
users.users.anish.extraGroups = [
|
||||||
|
"libvirtd"
|
||||||
|
"kvm"
|
||||||
|
"incus-admin"
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# Container management & inspection
|
||||||
|
dive
|
||||||
|
podman-tui
|
||||||
|
docker-compose
|
||||||
|
podman-compose
|
||||||
|
lazydocker
|
||||||
|
ctop
|
||||||
|
skopeo
|
||||||
|
buildah
|
||||||
|
|
||||||
|
# Distro isolation & integration
|
||||||
|
distrobox
|
||||||
|
boxbuddy
|
||||||
|
|
||||||
|
# Virtual machines & tools
|
||||||
|
qemu_kvm
|
||||||
|
virt-manager
|
||||||
|
virt-viewer
|
||||||
|
spice
|
||||||
|
spice-gtk
|
||||||
|
spice-protocol
|
||||||
|
virtio-win
|
||||||
|
win-spice
|
||||||
|
quickemu
|
||||||
|
quickgui
|
||||||
|
vagrant
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ ... }:
|
{ inputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
nix = {
|
nix = {
|
||||||
@@ -20,4 +20,13 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(final: prev: {
|
||||||
|
unstable = import inputs.nixpkgs-unstable {
|
||||||
|
inherit (prev) system;
|
||||||
|
inherit (prev) config;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user