Rebase to flake parts #1

This commit is contained in:
2026-05-01 15:00:10 -03:00
commit 37a394265b
176 changed files with 30782 additions and 0 deletions
+139
View File
@@ -0,0 +1,139 @@
{ self, inputs, ... }: {
flake.nixosModules.uConsoleConfiguration =
{
self,
lib,
pkgs,
modulesPath,
config,
inputs,
...
}:
{
# Workaround for NixOS/nixpkgs#398456.
disabledModules = [ (modulesPath + "/rename.nix") ];
imports = [
# Workaround for NixOS/nixpkgs#398456.
(lib.mkAliasOptionModule
[ "environment" "checkConfigurationOptions" ]
[ "_module" "check" ])
self.nixosModules.uConsoleHardware
inputs.home-manager.nixosModules.home-manager
inputs.sops-nix.nixosModules.sops
self.nixosModules.system
self.nixosModules.desktop
self.nixosModules.users
self.nixosModules."client-services"
./_private/platform.nix
./_private/services.nix
./_private/activation.nix
./_private/4g/default.nix
];
nix.settings = {
experimental-features = [ "nix-command" "flakes" ];
require-sigs = false;
};
sops = {
defaultSopsFile = ../../../secrets/secrets.yaml;
defaultSopsFormat = "yaml";
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
};
sops.secrets."users/olivier/hashedPassword".neededForUsers = true;
sops.secrets."caching/attic/token" = {
owner = "olivier";
group = "users";
mode = "0400";
};
sops.secrets."swiftshare/API_KEY" = {
owner = "olivier";
group = "users";
mode = "0400";
};
chiasson.system.librepods.enable = true;
chiasson.system.palera1n.enable = true;
# ─────────────────────── Attic (pull + push + CLI token) ────────────────────
chiasson.system.caching.attic = {
enable = true;
cacheName = "nixos-new";
endpoint = "http://192.168.2.238:8080/";
publicKey = "nixos-new:8NySIcT0HP7KvGQKgBRWoWESxxRA8BVYo8S85UNpNX0=";
tokenFile = config.sops.secrets."caching/attic/token".path;
push.enable = true;
userCli.enable = true;
};
# ─────────────────────── Display Server & Desktop ──────────────────────────
chiasson.desktop = {
# Pi 5 + RP1 DSI: see `modules/desktop/niri/pi5-workarounds.nix` and `chiasson.desktop.niri.raspberryPi5DrmWorkaround`.
# After login, `niri msg outputs` — add `outputs."…"` under `extraSettings` only if you need mode/transform.
niri = {
enable = true;
raspberryPi5DrmWorkaround = true;
};
defaultSession = "niri";
shell = "dms";
shells.dms = {
enableWvkbdToggle = true;
};
};
chiasson.system = {
audio.enable = true;
networking = {
hostName = "uConsole";
networkManager = {
enable = true;
unmanaged = [ ];
};
wifi.tools.enabled = true;
};
extraPackages = with pkgs; [ gitMinimal ];
};
chiasson.users.enabled = [ "olivier" ];
chiasson.users.extraModules.olivier = [
self.homeManagerModules.wisdomFilebrowsersDolphin
self.homeManagerModules.wisdomTerminalsKitty
self.homeManagerModules.wisdomBrowsersZen
self.homeManagerModules.wisdomEditorsKate
self.homeManagerModules.wisdomShellFish
self.homeManagerModules.wisdomShellOhMyPosh
self.homeManagerModules.wisdomAppsSpotify
self.homeManagerModules.wisdomAppsLocalsend
self.homeManagerModules.wisdomDesktopScreenshot
self.homeManagerModules.wisdomHardwareUconsoleGamepad
{
chiasson.home = {
shell = {
fish.enable = true;
ohMyPosh.enable = true;
};
terminals.kitty.enable = true;
filebrowsers.dolphin.enable = true;
browsers.zen.enable = true;
editors.kate.enable = true;
apps.spotify.enable = true;
apps.localsend.enable = true;
desktop = {
screenshot = {
enable = true;
swiftshareApiKeyFile = "/run/secrets/swiftshare/API_KEY"; #TODO[epic=sops] redo this by passing sops file output directly
};
};
hardware.uconsoleGamepad.enable = true;
};
}
];
console.packages = with pkgs; [ terminus_font ];
};
}
+35
View File
@@ -0,0 +1,35 @@
{ self, ... }: {
flake.nixosModules.uConsoleHardware =
# Do not modify this file directly; it mirrors generated hardware config.
{
config,
lib,
modulesPath,
...
}:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
# Root and firmware on NVMe.
fileSystems."/" = {
device = "/dev/disk/by-label/nixos-root";
fsType = "ext4";
};
fileSystems."/boot/firmware" = {
device = "/dev/disk/by-label/FIRMWARE";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" "nofail" "noauto" ];
};
swapDevices = [ ];
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
};
}