diff options
| author | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2026-03-19 10:59:12 -0500 |
|---|---|---|
| committer | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2026-03-19 10:59:12 -0500 |
| commit | 2bc17b5cfd65a9537a9c56e74c9e7918156015e0 (patch) | |
| tree | a8a323c6571556d3f1b5e8f197e17ed447f8daa4 | |
| parent | a97c10944e382cc7c439339c88a007401b67beeb (diff) | |
changes (idk)
| -rw-r--r-- | flake.lock | 21 | ||||
| -rw-r--r-- | flake.nix | 5 | ||||
| -rw-r--r-- | hosts/ganymede/config.nix | 15 | ||||
| -rw-r--r-- | hosts/ganymede/nixos.nix | 3 | ||||
| -rw-r--r-- | hosts/gliese-key.age | 18 | ||||
| -rw-r--r-- | hosts/mercury/config.nix | 9 | ||||
| -rw-r--r-- | hosts/mercury/hjem.nix | 16 | ||||
| -rw-r--r-- | hosts/mercury/nixos.nix | 18 | ||||
| -rw-r--r-- | modules/desktop/hjem/default.nix | 6 | ||||
| -rw-r--r-- | modules/desktop/hjem/programs/foot.nix | 4 | ||||
| -rw-r--r-- | modules/desktop/hjem/wm/default.nix | 8 | ||||
| -rw-r--r-- | modules/desktop/hjem/wm/sway.nix | 5 | ||||
| -rw-r--r-- | modules/desktop/hjem/wm/tofi.nix | 42 | ||||
| -rw-r--r-- | modules/desktop/nixos/default.nix | 2 | ||||
| -rw-r--r-- | modules/desktop/nixos/portals.nix | 52 | ||||
| -rw-r--r-- | modules/desktop/nixos/qt.nix | 74 | ||||
| -rw-r--r-- | modules/desktop/options.nix | 1 | ||||
| -rw-r--r-- | modules/nix/nixos/default.nix | 22 | ||||
| -rw-r--r-- | modules/services/nixos/copyparty.nix | 2 | ||||
| -rw-r--r-- | modules/terminal/hjem/programs/helix.nix | 2 | ||||
| -rw-r--r-- | pkgs/yo/default.nix | 6 | ||||
| -rw-r--r-- | secrets.nix | 1 |
22 files changed, 292 insertions, 40 deletions
@@ -293,6 +293,26 @@ "type": "github" } }, + "nix-index-database": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1772945408, + "narHash": "sha256-PMt48sEQ8cgCeljQ9I/32uoBq/8t8y+7W/nAZhf72TQ=", + "owner": "nix-community", + "repo": "nix-index-database", + "rev": "1c1d8ea87b047788fd7567adf531418c5da321ec", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-index-database", + "type": "github" + } + }, "nix-std": { "locked": { "lastModified": 1710870712, @@ -388,6 +408,7 @@ "glide-browser": "glide-browser", "hjem": "hjem", "lanzaboote": "lanzaboote", + "nix-index-database": "nix-index-database", "nixos-facter-modules": "nixos-facter-modules", "nixpkgs": "nixpkgs", "tmux-tsunami": "tmux-tsunami", @@ -2,6 +2,11 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nix-index-database = { + url = "github:nix-community/nix-index-database"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/hosts/ganymede/config.nix b/hosts/ganymede/config.nix index b67d057..bd990e8 100644 --- a/hosts/ganymede/config.nix +++ b/hosts/ganymede/config.nix @@ -8,6 +8,11 @@ owner = "wpa_supplicant"; }; + "gliese-key" = { + file = ../gliese-key.age; + owner = "collin"; + }; + "caddy-env".file = ./secrets/caddy-env.age; "collin-copyparty-password" = { @@ -22,11 +27,6 @@ file = ./secrets/wireguard-pk.age; owner = "systemd-network"; }; - - "copilot-token" = { - file = ./secrets/copilot-token.age; - owner = "copilot-api"; - }; }; terminal = { @@ -118,11 +118,6 @@ enable = true; envFile = config.collinux.secrets."caddy-env".path; }; - - copilot-api = { - enable = true; - githubToken = config.collinux.secrets."copilot-token".path; - }; }; }; } diff --git a/hosts/ganymede/nixos.nix b/hosts/ganymede/nixos.nix index f4d8d1b..043f67a 100644 --- a/hosts/ganymede/nixos.nix +++ b/hosts/ganymede/nixos.nix @@ -60,6 +60,7 @@ }; # deploy user + nix.settings.trusted-users = ["deploy"]; users.groups."deploy" = {}; users.users."deploy" = { isSystemUser = true; @@ -90,7 +91,7 @@ Host gliese HostName 10.100.0.1 User green - IdentityFile ~/Gliese_key_2.pem + IdentityFile ${config.collinux.secrets."gliese-key".path} ''; # merge logs from subdomains diff --git a/hosts/gliese-key.age b/hosts/gliese-key.age new file mode 100644 index 0000000..6fc5ce5 --- /dev/null +++ b/hosts/gliese-key.age @@ -0,0 +1,18 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IGF6QmlsZyA0RCtu +NWFrbW0zTU53Rk05NzRUUG1oRG4rK05EM1pnYTYwaEpCYWZBbFFrCmM3TmtRandq +TnBVVk9ZRm1oMzlIajR1b1RJdHl4MERtbkw1MmQ3em55cncKLT4gc3NoLWVkMjU1 +MTkgSmc0eVdRIGJPcG56L3c0QUovSVJsVDlrTkJhNTBaSXlzQkkweU1mcTB5dEtK +SDhKekUKaWEzdTUvbU5seVkvZUJDQW9XTVQ1bEJzWU5XVU5VREhIMnFxd0FRWHhS +dwotPiAyQC1ncmVhc2UgLE85NyBOZ2ssbmIKMEN1MWNWL2dWZwotLS0gazN5U0xM +ZjhXV1B2MmlhUm5rQXJGcWJKcVRUdXZ5Z3cxWEN2a3FVdEJWMAqoHBpRSjJB1CKI +fWVLuRxB5c/gBXoiE8VfQ7O5v1JN6ZJ7C9m+d6PcgSKaCjEgPdnRxxe7JCDc3dUS +cnebY/h7q+vAkLTqvtuiBMw67c5p79/EW7FpN6Wzzmc9wIHvbPf0zsn4EOqfc24I +cuB55uviE0//E3Xh6iRvvx5XEgSBUGLeycZa5P0fmUJUOhG9CtJya4D2tB6huyNK +2+dJgQdFkXghinzPQimnDXYhoD7PTM6yGaJQdrB0GT6lXMCBlRB9p2uEArrVYhJu +/vAXFsGxENjI7XvH1RabM1gLN7Eytq/ptz+9/S/sMQ4D4FPp3L2gHklEqepOv3Df +z1b7PA5aOQj3+jlpcAUkfKtgA32vT7KddlRXQWHzC7VyuEpGjT+qydNet+tBW5Z6 +DDNc/LJ/sNvOsBQE2wqvi4/bLpAG2By6CKrZYZrE+l1zJMWkbT6QnOR9/aby15am +iSq4agnTdxsx3JrJ+V5thUyDNrAIY/DQg0rLfoGy37g877vENco+3USdoOeRJjHD +1yRjq39y8h4EQCyeaAx0h3MQEJMiReHxbQ== +-----END AGE ENCRYPTED FILE----- diff --git a/hosts/mercury/config.nix b/hosts/mercury/config.nix index e5d8720..418b9fe 100644 --- a/hosts/mercury/config.nix +++ b/hosts/mercury/config.nix @@ -2,11 +2,19 @@ collinux = { theme = "catppuccin"; + secrets = { + "gliese-key" = { + file = ../gliese-key.age; + owner = "collin"; + }; + }; + user.useRun0 = true; desktop = { wallpaper = ./wallpapers/abstract-swirls.jpg; gtk.enable = true; + greetd = { enable = true; autologin.enable = true; @@ -24,6 +32,7 @@ programs = { firefox.enable = true; foot.enable = true; + tofi.enable = true; research.enable = true; }; diff --git a/hosts/mercury/hjem.nix b/hosts/mercury/hjem.nix index 1839625..1e87ddd 100644 --- a/hosts/mercury/hjem.nix +++ b/hosts/mercury/hjem.nix @@ -8,9 +8,7 @@ prismlauncher mpv - claude-code - - lagrange + opencode musescore vital @@ -43,16 +41,4 @@ socks5-addr = "localhost:1666" ''; - - files.".claude/settings.json".text = builtins.toJSON { - env = { - ANTHROPIC_BASE_URL = "http://localhost:4141"; - ANTHROPIC_AUTH_TOKEN = "sk-dummy"; - ANTHROPIC_MODEL = "claude-sonnet-4.5"; - ANTHROPIC_DEFAULT_HAIKU_MODEL = "gpt-5-mini"; - DISABLE_NON_ESSENTIAL_MODEL_CALLS = "1"; - CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = "1"; - CLAUDE_CODE_ATTRIBUTION_HEADER = "0"; - }; - }; } diff --git a/hosts/mercury/nixos.nix b/hosts/mercury/nixos.nix index 5d8a63f..46153ae 100644 --- a/hosts/mercury/nixos.nix +++ b/hosts/mercury/nixos.nix @@ -1,6 +1,8 @@ { lib, + pkgs, inputs, + config, ... }: { imports = [ @@ -29,6 +31,8 @@ } ]; + services.dbus.implementation = "broker"; + environment.defaultPackages = lib.mkForce []; # im not a noob security.pki.certificates = [ @@ -55,8 +59,22 @@ Host ganymede HostName williamsfam.us.com Port 22 + + Host gliese + HostName 10.100.0.1 + User green + IdentityFile ${config.collinux.secrets."gliese-key".path} + ProxyJump collin@ganymede ''; + ## UUGGGG I DINT"W ATNT TO DO THIS + programs.nix-ld = { + enable = true; + libraries = with pkgs; [ + libGL + ]; + }; + programs.firefox.policies.ExtensionSettings = { "foxyproxy@eric.h.jung" = { installation_mode = "force_installed"; diff --git a/modules/desktop/hjem/default.nix b/modules/desktop/hjem/default.nix index 81014c2..f22fd78 100644 --- a/modules/desktop/hjem/default.nix +++ b/modules/desktop/hjem/default.nix @@ -2,11 +2,7 @@ imports = [ ./gtk.nix - ./wm/sway.nix - ./wm/niri.nix - ./wm/default.nix - ./wm/dunst.nix - ./wm/fuzzel.nix + ./wm ./programs/foot.nix ./programs/firefox.nix diff --git a/modules/desktop/hjem/programs/foot.nix b/modules/desktop/hjem/programs/foot.nix index c05e22c..f1bb0bb 100644 --- a/modules/desktop/hjem/programs/foot.nix +++ b/modules/desktop/hjem/programs/foot.nix @@ -12,6 +12,10 @@ shell = "${pkgs.fish}/bin/fish"; }; + key-bindings = { + spawn-terminal = "Control+Return"; + }; + colors = with config.collinux.palette; { alpha = "0.6"; diff --git a/modules/desktop/hjem/wm/default.nix b/modules/desktop/hjem/wm/default.nix index 6b8aeed..a940132 100644 --- a/modules/desktop/hjem/wm/default.nix +++ b/modules/desktop/hjem/wm/default.nix @@ -1,4 +1,12 @@ {pkgs, ...}: { + imports = [ + ./dunst.nix + ./fuzzel.nix + ./niri.nix + ./sway.nix + ./tofi.nix + ]; + packages = [ (pkgs.callPackage ../../../../pkgs/util {}) # util.lua ]; diff --git a/modules/desktop/hjem/wm/sway.nix b/modules/desktop/hjem/wm/sway.nix index 62e4203..0e5edb2 100644 --- a/modules/desktop/hjem/wm/sway.nix +++ b/modules/desktop/hjem/wm/sway.nix @@ -38,6 +38,7 @@ settings = '' exec ${config.collinux.desktop.wallpaper_cmd} exec ${pkgs.dunst}/bin/dunst + exec ${pkgs.dbus}/bin/dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP GTK_USE_PORTAL NIXOS_OZONE_WL MOZ_ENABLE_WAYLAND include catppuccin-mocha @@ -78,11 +79,13 @@ bindsym Mod4+Shift+9 move container to workspace number 9 bindsym Mod4+Return exec ${pkgs.foot}/bin/foot - bindsym Mod4+Space exec ${pkgs.fuzzel}/bin/fuzzel + bindsym Mod4+Space exec tofi-drun bindsym Mod4+b exec ${pkgs.firefox}/bin/firefox bindsym Mod4+Shift+b exec ${pkgs.qutebrowser}/bin/qutebrowser bindsym Mod4+q kill + bindsym Mod4+w exec '${pkgs.iwmenu}/bin/iwmenu -l fuzzel -i font -s 2' + bindsym Mod4+Shift+s exec '${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" ~/Pictures/$(date +"%s_grim.png")' bindsym Mod4+Alt+s exec '${pkgs.hyprpicker}/bin/hyprpicker' diff --git a/modules/desktop/hjem/wm/tofi.nix b/modules/desktop/hjem/wm/tofi.nix new file mode 100644 index 0000000..f6a0703 --- /dev/null +++ b/modules/desktop/hjem/wm/tofi.nix @@ -0,0 +1,42 @@ +{ + pkgs, + lib, + config, + ... +}: let + cfg = config.collinux.desktop.programs.tofi; + flags = { + drun-launch = "true"; + anchor = "bottom"; + horizontal = "true"; + width = "100%"; + height = 20; + font-size = 12; + prompt-text = ""; + font = "${pkgs.iosevka}/share/fonts/truetype/Iosevka-Regular.ttf"; + outline-width = 0; + border-width = 0; + num-results = 20; + min-input-width = 0; + result-spacing = 10; + padding-top = 0; + padding-bottom = 0; + padding-left = 0; + padding-right = 0; + background-color = "#11111b"; + text-color = "#585B70"; + selection-color = "#CDD6F4"; + selection-match-color = "#89B4FA"; + }; + flagsText = flags |> lib.mapAttrsToList (k: v: "--${k}=${toString v}") |> lib.concatStringsSep " "; +in + lib.mkIf cfg.enable { + packages = [ + (pkgs.writeShellScriptBin "tofi" '' + ${pkgs.tofi}/bin/tofi ${flagsText} + '') + (pkgs.writeShellScriptBin "tofi-drun" '' + ${pkgs.tofi}/bin/tofi-drun ${flagsText} + '') + ]; + } diff --git a/modules/desktop/nixos/default.nix b/modules/desktop/nixos/default.nix index 1301483..97038d0 100644 --- a/modules/desktop/nixos/default.nix +++ b/modules/desktop/nixos/default.nix @@ -2,6 +2,8 @@ imports = [ ./gnome.nix ./fonts.nix + ./portals.nix + ./qt.nix ./greeters/greetd.nix ./greeters/gdm.nix diff --git a/modules/desktop/nixos/portals.nix b/modules/desktop/nixos/portals.nix new file mode 100644 index 0000000..ff65868 --- /dev/null +++ b/modules/desktop/nixos/portals.nix @@ -0,0 +1,52 @@ +{ + pkgs, + lib, + config, + ... +}: let + useKdePortal = config.collinux.desktop.wm.sway.enable || config.collinux.desktop.wm.niri.enable; +in + lib.mkIf useKdePortal { + xdg.portal = { + enable = true; + xdgOpenUsePortal = true; + + config = { + common = { + default = [ + "kde" + "gtk" + ]; + "org.freedesktop.impl.portal.FileChooser" = ["kde"]; + }; + + sway = { + default = [ + "kde" + "gtk" + ]; + "org.freedesktop.impl.portal.FileChooser" = ["kde"]; + }; + + niri = { + default = [ + "kde" + "gtk" + ]; + "org.freedesktop.impl.portal.FileChooser" = ["kde"]; + }; + }; + + extraPortals = with pkgs; [ + kdePackages.xdg-desktop-portal-kde + xdg-desktop-portal-gtk + ]; + }; + + environment.sessionVariables = { + XDG_CURRENT_DESKTOP = "KDE"; + GTK_USE_PORTAL = "1"; + NIXOS_OZONE_WL = "1"; + MOZ_ENABLE_WAYLAND = "1"; + }; + } diff --git a/modules/desktop/nixos/qt.nix b/modules/desktop/nixos/qt.nix new file mode 100644 index 0000000..f65e361 --- /dev/null +++ b/modules/desktop/nixos/qt.nix @@ -0,0 +1,74 @@ +{ + pkgs, + lib, + config, + ... +}: let + isCatppuccin = config.collinux.theme == "catppuccin"; + useQtDesktop = config.collinux.desktop.wm.sway.enable || config.collinux.desktop.wm.niri.enable; +in + lib.mkIf useQtDesktop { + qt = { + enable = true; + platformTheme = "kde"; + style = "kvantum"; + }; + + environment.systemPackages = lib.optionals isCatppuccin [ + pkgs.papirus-icon-theme + (pkgs.catppuccin-kde.override { + flavour = ["mocha"]; + accents = ["blue"]; + winDecStyles = ["modern"]; + }) + (pkgs.catppuccin-kvantum.override { + variant = "mocha"; + accent = "blue"; + }) + ]; + + environment.pathsToLink = lib.optionals isCatppuccin [ + "/share/color-schemes" + "/share/Kvantum" + ]; + + environment.sessionVariables = lib.optionalAttrs isCatppuccin { + KVANTUM_THEME = "catppuccin-mocha-blue"; + }; + + systemd.user.extraConfig = lib.optionalString isCatppuccin '' + DefaultEnvironment=KVANTUM_THEME=catppuccin-mocha-blue + DefaultEnvironment=QT_STYLE_OVERRIDE=kvantum + DefaultEnvironment=QT_QPA_PLATFORMTHEME=kde + DefaultEnvironment=KDE_COLOR_SCHEME=CatppuccinMochaBlue + ''; + + systemd.user.services.plasma-xdg-desktop-portal-kde = lib.mkIf isCatppuccin { + overrideStrategy = "asDropin"; + serviceConfig.Environment = [ + "XDG_CURRENT_DESKTOP=KDE" + "QT_QPA_PLATFORMTHEME=kde" + "QT_STYLE_OVERRIDE=kvantum" + "KVANTUM_THEME=catppuccin-mocha-blue" + "KDE_COLOR_SCHEME=CatppuccinMochaBlue" + ]; + }; + + hjem.users."${config.collinux.user.name}".xdg.config.files = lib.optionalAttrs isCatppuccin { + "Kvantum/kvantum.kvconfig".text = '' + [General] + theme=catppuccin-mocha-blue + ''; + + "kdeglobals".text = '' + [General] + ColorScheme=CatppuccinMochaBlue + + [Icons] + Theme=Papirus + + [KDE] + widgetStyle=kvantum + ''; + }; + } diff --git a/modules/desktop/options.nix b/modules/desktop/options.nix index 9081ba9..3d6b9e3 100644 --- a/modules/desktop/options.nix +++ b/modules/desktop/options.nix @@ -132,6 +132,7 @@ in { }; foot = mkProgramOption "foot"; + tofi = mkProgramOption "tofi"; blackbox.enable = mkEnableOption "blackbox"; ghostty.enable = mkEnableOption "ghostty"; alacritty.enable = mkEnableOption "alacritty"; diff --git a/modules/nix/nixos/default.nix b/modules/nix/nixos/default.nix index 3aa8930..7441236 100644 --- a/modules/nix/nixos/default.nix +++ b/modules/nix/nixos/default.nix @@ -2,9 +2,16 @@ config, lib, pkgs, + inputs, ... }: { + imports = [ + inputs.nix-index-database.nixosModules.default + ]; + nix = { + # package = inputs.determinate.packages.${pkgs.system}.default; + gc.automatic = false; # use nh cleaner instead # Make builds run with low priority so my system stays responsive @@ -15,18 +22,23 @@ extra-experimental-features = ["nix-command" "flakes" "pipe-operators"]; auto-optimise-store = true; use-xdg-base-directories = true; + + # lazy-trees = true; + # eval-cores = 0; }; # Disable channels channel.enable = false; }; - nixpkgs.config.allowUnfree = true; - programs.nh = lib.mkIf config.collinux.terminal.programs.nh.enable { - enable = true; - flake = "/home/${config.collinux.user.name}/nixos"; - clean.enable = true; + programs = { + nh = lib.mkIf config.collinux.terminal.programs.nh.enable { + enable = true; + flake = "/home/${config.collinux.user.name}/nixos"; + clean.enable = true; + }; + nix-index-database.comma.enable = true; }; environment.systemPackages = [pkgs.cached-nix-shell]; diff --git a/modules/services/nixos/copyparty.nix b/modules/services/nixos/copyparty.nix index df7018e..cfc69bc 100644 --- a/modules/services/nixos/copyparty.nix +++ b/modules/services/nixos/copyparty.nix @@ -74,7 +74,7 @@ in { }; flags = { fk = 6; - dk = 6; + dks = 6; e2ts = true; # enable music indexing }; }; diff --git a/modules/terminal/hjem/programs/helix.nix b/modules/terminal/hjem/programs/helix.nix index ae8ad03..a544616 100644 --- a/modules/terminal/hjem/programs/helix.nix +++ b/modules/terminal/hjem/programs/helix.nix @@ -18,7 +18,7 @@ installPhase = '' mkdir -p $out/bin makeWrapper ${pkgs.rust-analyzer}/bin/rust-analyzer $out/bin/rust-analyzer \ - --prefix PATH : ${pkgs.lib.makeBinPath (with pkgs; [rustc cargo])} + --prefix PATH : ${lib.makeBinPath (with pkgs; [rustc cargo])} ''; }; in "${env}/bin/rust-analyzer"; diff --git a/pkgs/yo/default.nix b/pkgs/yo/default.nix index a29bb2e..30a90f0 100644 --- a/pkgs/yo/default.nix +++ b/pkgs/yo/default.nix @@ -14,7 +14,11 @@ hostname: hostname, use_nom: true ) - Nix.switch_to_configuration_remote(store_path: store_path, ssh_host: ssh_host, use_magic_rollback: true) + Nix.switch_to_configuration_remote( + store_path: store_path, + ssh_host: ssh_host, + use_magic_rollback: true + ) when "switch", "sw" store_path = Nix.build_configuration( flake_path: FLAKE_PATH, diff --git a/secrets.nix b/secrets.nix index 67ab5fd..75733c7 100644 --- a/secrets.nix +++ b/secrets.nix @@ -2,6 +2,7 @@ let inherit ((builtins.fromTOML (builtins.readFile ./hosts.toml)).hosts) mercury ganymede jupiter; in { "modules/terminal/nixos/github-ssh-key.age".publicKeys = [mercury.host_pubkey jupiter.host_pubkey ganymede.host_pubkey]; + "hosts/gliese-key.age".publicKeys = [mercury.host_pubkey ganymede.host_pubkey]; "hosts/ganymede/secrets/caddy-env.age".publicKeys = [ganymede.host_pubkey]; "hosts/ganymede/secrets/williams-psk.age".publicKeys = [ganymede.host_pubkey]; |
