Compare commits
22 Commits
f443e79c17
...
uconsole-c
| Author | SHA1 | Date | |
|---|---|---|---|
| 01f8166529 | |||
| 84ce9de5ca | |||
| 14755f1ea6 | |||
| f51155823e | |||
| 73c12abec2 | |||
| a97c68fd81 | |||
| bf2500dce8 | |||
| f0fa8ac942 | |||
| 7899bf28f2 | |||
| 282b4bc229 | |||
| 905998466c | |||
| 6c34b92186 | |||
| 7b3a5802a5 | |||
| 1ab11b76d6 | |||
| 3ce550691c | |||
| 256979e6e5 | |||
| 095fa4c200 | |||
| c430427617 | |||
| eeb10db5ed | |||
| 60a0bcfdd6 | |||
| 7827638c5a | |||
| ceca908457 |
Submodule assets/dotfiles updated: f45387456b...504daea61e
@@ -26,18 +26,15 @@
|
|||||||
url = "github:gortium/nixos-raspberrypi/cm5-cross-v1";
|
url = "github:gortium/nixos-raspberrypi/cm5-cross-v1";
|
||||||
inputs.nixpkgs.follows = "nixpkgs-uconsole";
|
inputs.nixpkgs.follows = "nixpkgs-uconsole";
|
||||||
};
|
};
|
||||||
|
self.submodules = true;
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-25.11";
|
url = "github:nix-community/home-manager/release-25.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs-uconsole";
|
inputs.nixpkgs.follows = "nixpkgs-uconsole";
|
||||||
};
|
};
|
||||||
dotfiles = {
|
|
||||||
url = "git+https://code.lazyworkhorse.net/gortium/dotfiles.git";
|
|
||||||
flake = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, agenix, agenix-rekey, lix
|
outputs = { self, nixpkgs, agenix, agenix-rekey, lix
|
||||||
, nixpkgs-uconsole, nixos-uconsole, nixos-raspberrypi, dotfiles
|
, nixpkgs-uconsole, nixos-uconsole, nixos-raspberrypi
|
||||||
, home-manager
|
, home-manager
|
||||||
, ... }@inputs:
|
, ... }@inputs:
|
||||||
let
|
let
|
||||||
|
|||||||
@@ -569,3 +569,19 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Remote builder — uConsole for aarch64-linux native builds
|
||||||
|
nix.distributedBuilds = true;
|
||||||
|
nix.buildMachines = [{
|
||||||
|
hostName = "192.168.1.120";
|
||||||
|
systems = ["aarch64-linux"];
|
||||||
|
maxJobs = 4;
|
||||||
|
supportedFeatures = ["big-parallel" "nixos-test" "benchmark" "gccarch-armv8-a"];
|
||||||
|
sshUser = "builder";
|
||||||
|
sshKey = "/home/ai-worker/id_deploy";
|
||||||
|
}];
|
||||||
|
nix.extraOptions = '
|
||||||
|
builders-use-substitutes = true
|
||||||
|
fallback = true
|
||||||
|
';
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,14 @@
|
|||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
# Firmware
|
# Firmware
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
# RealtimeKit for PipeWire audio
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
# Hyprland Wayland compositor (manual start — no SDDM)
|
# Hyprland Wayland compositor (manual start — no SDDM)
|
||||||
programs.hyprland = {
|
programs.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -98,18 +106,18 @@
|
|||||||
htop
|
htop
|
||||||
tmux
|
tmux
|
||||||
# ===== HAM Radio =====
|
# ===== HAM Radio =====
|
||||||
# wsjtx — removed for aarch64 bootstrap (qtbase/Qt5 cross-compile linker fails)
|
wsjtx # removed for bootstrap - now native
|
||||||
# fldigi — removed for aarch64 bootstrap (qtbase/Qt5 cross-compile linker fails)
|
fldigi # removed for bootstrap - now native
|
||||||
pat # Winlink client
|
pat # Winlink client
|
||||||
direwolf # AX.25 packet modem
|
direwolf # AX.25 packet modem
|
||||||
# chirp # Radio programming tool
|
chirp # Radio programming tool - now native
|
||||||
hamlib # Ham radio control libraries
|
hamlib # Ham radio control libraries
|
||||||
# trustedqsl # Logbook of the World (LoTW)
|
trustedqsl # Logbook of the World (LoTW) - now native
|
||||||
# ===== SDR / RF =====
|
# ===== SDR / RF =====
|
||||||
# sdrpp — removed for aarch64 cross-compile bootstrap (glfw/wxPython fails)
|
sdrpp # removed for bootstrap - now native
|
||||||
# gqrx — removed for aarch64 cross-compile bootstrap (Qt5 cascade fails)
|
gqrx # removed for bootstrap - now native
|
||||||
rtl-sdr # RTL-SDR drivers & utilities
|
rtl-sdr # RTL-SDR drivers & utilities
|
||||||
# inspectrum # removed for aarch64 bootstrap (Qt5 cross-compile cascade fails)
|
inspectrum # removed for bootstrap - now native
|
||||||
soapysdr-with-plugins # SoapySDR + hardware support plugins
|
soapysdr-with-plugins # SoapySDR + hardware support plugins
|
||||||
# ===== Mesh / LoRa =====
|
# ===== Mesh / LoRa =====
|
||||||
reticulumStack # Reticulum Network Stack
|
reticulumStack # Reticulum Network Stack
|
||||||
@@ -121,12 +129,12 @@
|
|||||||
kismet # Wi-Fi monitor / IDS
|
kismet # Wi-Fi monitor / IDS
|
||||||
bettercap # MITM/network attack framework
|
bettercap # MITM/network attack framework
|
||||||
wireshark-cli # Packet analyzer
|
wireshark-cli # Packet analyzer
|
||||||
# john # John the Ripper
|
john # John the Ripper - now native
|
||||||
sqlmap # SQL injection tool
|
sqlmap # SQL injection tool
|
||||||
# ===== GPS / Maps =====
|
# ===== GPS / Maps =====
|
||||||
# foxtrotgps — removed for aarch64 cross-compile bootstrap (GTK2 fails)
|
foxtrotgps # removed for bootstrap - now native
|
||||||
# viking — removed for aarch64 cross-compile bootstrap (GTK3 fails)
|
viking # removed for bootstrap - now native
|
||||||
# gpsbabel # GPS data conversion
|
gpsbabel # GPS data conversion - now native
|
||||||
];
|
];
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# Reticulum Service (rnsd)
|
# Reticulum Service (rnsd)
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
{ pkgs, inputs, config, keys, ... }: {
|
{ pkgs, inputs, config, keys, ... }: {
|
||||||
home-manager.extraSpecialArgs = { inherit (config.networking) hostName; dotfiles = inputs.dotfiles.outPath # flake input (not submodule); };
|
home-manager.extraSpecialArgs = {
|
||||||
|
inherit (config.networking) hostName;
|
||||||
|
};
|
||||||
home-manager.users.gortium = import ./home.nix;
|
home-manager.users.gortium = import ./home.nix;
|
||||||
users.users.gortium = {
|
users.users.gortium = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
isUconsole = hostName == "uConsole";
|
isUconsole = hostName == "uConsole";
|
||||||
|
dotfiles = ../../assets/dotfiles;
|
||||||
in {
|
in {
|
||||||
home.username = "gortium";
|
home.username = "gortium";
|
||||||
home.homeDirectory = "/home/gortium";
|
home.homeDirectory = "/home/gortium";
|
||||||
@@ -33,6 +34,9 @@ in {
|
|||||||
".config/wofi/config".source = "${dotfiles}/wofi/.config/wofi/config";
|
".config/wofi/config".source = "${dotfiles}/wofi/.config/wofi/config";
|
||||||
|
|
||||||
# yazi
|
# yazi
|
||||||
|
|
||||||
|
# wallpapers
|
||||||
|
".config/wallpapers".source = "${dotfiles}/wallpapers/.config/wallpapers";
|
||||||
".config/yazi/yazi.toml".source = "${dotfiles}/yazi/.config/yazi/yazi.toml";
|
".config/yazi/yazi.toml".source = "${dotfiles}/yazi/.config/yazi/yazi.toml";
|
||||||
|
|
||||||
# hyprland — common config
|
# hyprland — common config
|
||||||
@@ -43,22 +47,45 @@ in {
|
|||||||
".config/hypr/mocha.conf".source = "${dotfiles}/hypr/.config/hypr/mocha.conf";
|
".config/hypr/mocha.conf".source = "${dotfiles}/hypr/.config/hypr/mocha.conf";
|
||||||
|
|
||||||
# hyprland — host-specific monitor config
|
# hyprland — host-specific monitor config
|
||||||
".config/hypr/host/monitors.conf".source =
|
".config/hypr/hosts/monitors.conf".source =
|
||||||
if isUconsole
|
if isUconsole
|
||||||
then "${dotfiles}/hypr/.config/hypr/hosts/uconsole.conf"
|
then "${dotfiles}/hypr/.config/hypr/hosts/uconsole.conf"
|
||||||
else "${dotfiles}/hypr/.config/hypr/hosts/laptop.conf";
|
else "${dotfiles}/hypr/.config/hypr/hosts/laptop.conf";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.bash.enable = true;
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
initExtra = builtins.readFile "${dotfiles}/zsh/.zshrc";
|
||||||
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
git zsh tmux starship
|
git zsh tmux starship
|
||||||
neovim kitty
|
neovim kitty
|
||||||
btop yazi ripgrep fd fzf
|
btop yazi ripgrep fd fzf
|
||||||
] ++ lib.optionals (!isUconsole) [
|
htop unzip wget jq
|
||||||
waybar wofi swww hyprshot
|
hyprland hyprlock hypridle hyprpaper
|
||||||
] ++ lib.optionals isUconsole [
|
waybar wofi dunst
|
||||||
brightnessctl
|
libnotify mako
|
||||||
|
swaynotificationcenter
|
||||||
|
swww
|
||||||
|
emacs
|
||||||
|
udiskie
|
||||||
|
hyprshade
|
||||||
|
networkmanagerapplet
|
||||||
|
pavucontrol
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
xdg.userDirs = {
|
||||||
programs.starship.enable = true;
|
enable = true;
|
||||||
|
createDirectories = true;
|
||||||
|
desktop = "$HOME/desktop";
|
||||||
|
documents = "$HOME/documents";
|
||||||
|
download = "$HOME/downloads";
|
||||||
|
music = "$HOME/music";
|
||||||
|
pictures = "$HOME/pictures";
|
||||||
|
publicShare = "$HOME/public";
|
||||||
|
templates = "$HOME/templates";
|
||||||
|
videos = "$HOME/videos";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user