From e6c6685d96fd697f8a73b97770cacad73b9fc9dc Mon Sep 17 00:00:00 2001 From: Erik Simon Date: Sat, 25 Jul 2026 01:29:25 +0200 Subject: [PATCH] terra: flatpak, unstable packages, GTK dark theme, comms workspace - nix-flatpak input; discord, telegram, qbz as Flathub flatpaks; removes qbz and proton-pass-cli flake inputs - proton-pass-cli and claude-code from nixpkgs-unstable via extraSpecialArgs - dconf color-scheme = prefer-dark replaces per-session gsettings call Co-Authored-By: Claude Sonnet 4.6 --- flake.lock | 106 +++++----------------------------- flake.nix | 5 -- hosts/terra/configuration.nix | 14 +++-- hosts/terra/home.nix | 12 +++- hosts/terra/home/hyprland.nix | 1 - 5 files changed, 36 insertions(+), 102 deletions(-) diff --git a/flake.lock b/flake.lock index dcc8497..bebacc3 100644 --- a/flake.lock +++ b/flake.lock @@ -118,24 +118,6 @@ "type": "github" } }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -197,6 +179,21 @@ "type": "github" } }, + "nix-flatpak": { + "locked": { + "lastModified": 1783368811, + "narHash": "sha256-0H8jDwR4Kegb3heaTrH1ftbgKfZVDT8JE+46uXxDy/Q=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "20d42f0ee98c9fe9f85e8d1de474f1409ed10d05", + "type": "github" + }, + "original": { + "owner": "gmodena", + "repo": "nix-flatpak", + "type": "github" + } + }, "nix-vm-test": { "inputs": { "nixpkgs": [ @@ -350,42 +347,6 @@ "type": "github" } }, - "nixpkgs_3": { - "locked": { - "lastModified": 1775888245, - "narHash": "sha256-nwASzrRDD1JBEu/o8ekKYEXm/oJW6EMCzCRdrwcLe90=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "13043924aaa7375ce482ebe2494338e058282925", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "proton-pass-cli": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1783676260, - "narHash": "sha256-J7yTLWLkhOOGT/YLyfgC3lEOCRTOXVK3h0UoKzhRels=", - "owner": "tomsch", - "repo": "proton-pass-cli-nix", - "rev": "1cad55698affce949d4cebacae31db448c17d9f1", - "type": "github" - }, - "original": { - "owner": "tomsch", - "repo": "proton-pass-cli-nix", - "type": "github" - } - }, "pyproject-build-systems": { "inputs": { "nixpkgs": [ @@ -486,37 +447,17 @@ "type": "github" } }, - "qbz": { - "inputs": { - "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_3" - }, - "locked": { - "lastModified": 1784877312, - "narHash": "sha256-eQ4xvBKnQp4C5lEVukx/75umFFmWyCjbuO82qyFDw14=", - "owner": "vicrodh", - "repo": "qbz", - "rev": "c4cc755fd02d999084883e864c0697139a8b8648", - "type": "github" - }, - "original": { - "owner": "vicrodh", - "repo": "qbz", - "type": "github" - } - }, "root": { "inputs": { "authentik-nix": "authentik-nix", "disko": "disko", "home-manager": "home-manager", "mediamanager-nix": "mediamanager-nix", + "nix-flatpak": "nix-flatpak", "nixos-anywhere": "nixos-anywhere", "nixos-images": "nixos-images", "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable", - "proton-pass-cli": "proton-pass-cli", - "qbz": "qbz", "sops-nix": "sops-nix" } }, @@ -555,21 +496,6 @@ "type": "github" } }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "treefmt-nix": { "inputs": { "nixpkgs": [ diff --git a/flake.nix b/flake.nix index e0ce239..081de45 100644 --- a/flake.nix +++ b/flake.nix @@ -32,12 +32,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; authentik-nix.url = "github:nix-community/authentik-nix"; - proton-pass-cli = { - url = "github:tomsch/proton-pass-cli-nix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; nix-flatpak.url = "github:gmodena/nix-flatpak"; - qbz.url = "github:vicrodh/qbz"; # NOTE: the `tome` input (private repo git+ssh://gitea@git.mgaction.town) was # removed temporarily — the credential-less installer-iso can't fetch it, so # `install terra localhost` failed at nixos-install (post-disko). Re-add it diff --git a/hosts/terra/configuration.nix b/hosts/terra/configuration.nix index db2e225..624ff62 100644 --- a/hosts/terra/configuration.nix +++ b/hosts/terra/configuration.nix @@ -5,6 +5,12 @@ # /mnt/hdd_01, LVM vg_ssd /mnt/ssd_01) are kept out of disko and mounted here # as plain filesystems so they're never wiped. The leftover ntfs disks # (sda, sdf, nvme0n1) are ignored entirely — not referenced anywhere. +let + unstable = import inputs.nixpkgs-unstable { + inherit (pkgs.stdenv.hostPlatform) system; + config = pkgs.config; + }; +in { imports = [ ./hardware-configuration.nix @@ -28,15 +34,15 @@ ]; }; - # Proton Pass CLI — not in nixpkgs; ./scripts/deploy uses it to autofill - # sudo/ssh passwords from the "HomeLab" vault. Packaged by the - # proton-pass-cli flake input (github:tomsch/proton-pass-cli-nix). - environment.systemPackages = [ inputs.proton-pass-cli.packages.${pkgs.system}.default ]; + # Proton Pass CLI — in nixpkgs-unstable (2.2.3+); scripts/deploy uses it to + # autofill sudo/ssh passwords from the "HomeLab" vault. + environment.systemPackages = [ unstable.proton-pass-cli ]; # ---- home-manager (user-level config for darman) ---- home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.backupFileExtension = "hm-bak"; + home-manager.extraSpecialArgs = { inherit unstable; }; home-manager.users.darman = import ./home.nix; # ---- Boot (UEFI) ---- diff --git a/hosts/terra/home.nix b/hosts/terra/home.nix index d7f8803..cf31665 100644 --- a/hosts/terra/home.nix +++ b/hosts/terra/home.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, unstable, ... }: # home-manager profile for darman on terra. The Hyprland config lives in its # own module (./hyprland.nix); this handles the rest of the user session @@ -27,6 +27,14 @@ }; }; + # GTK4 / libadwaita apps ignore gtk-theme-name; they only read the dconf + # color-scheme key via the portal. Writing it here persists it across reboots + # (the gsettings call in the Hyprland autostart only lasts the session). + dconf.settings."org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + gtk-theme = "Dracula"; + }; + # dracula-qt5-theme ships only a qt5ct color scheme (no style plugin), so # Qt has to go through qt(5|6)ct rather than a direct style/platformTheme # name. "qtct" pulls in both qt5ct and qt6ct; qt6ct reads its own config @@ -57,7 +65,7 @@ home.packages = [ (pkgs.writeTextDir "share/mime/packages/application-x-ms-sln.xml" (builtins.readFile ../../dotfiles/mime/application-x-ms-sln.xml)) - pkgs.claude-code + unstable.claude-code pkgs.quickshell pkgs.opencode pkgs.hyprcursor diff --git a/hosts/terra/home/hyprland.nix b/hosts/terra/home/hyprland.nix index d4c94b5..b64aa2b 100644 --- a/hosts/terra/home/hyprland.nix +++ b/hosts/terra/home/hyprland.nix @@ -257,7 +257,6 @@ in (lua '' function() hl.exec_cmd("systemctl --user start hyprpolkitagent") - hl.exec_cmd("gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'") hl.exec_cmd("vicinae server") hl.exec_cmd("quickshell") hl.exec_cmd("alacritty", { workspace = "special:terminal silent" })