diff --git a/common/_containers/forgejo.nix b/common/_containers/forgejo.nix index 40e0bbe..0cb91a5 100644 --- a/common/_containers/forgejo.nix +++ b/common/_containers/forgejo.nix @@ -138,7 +138,7 @@ in services.forgejo = { enable = true; dump = { - enable = true; + enable = false; type = "tar.gz"; }; database = { diff --git a/common/_containers/librechat.nix b/common/_containers/librechat.nix index e33cd35..ca3d470 100644 --- a/common/_containers/librechat.nix +++ b/common/_containers/librechat.nix @@ -61,6 +61,8 @@ in MONGO_URI = "mongodb://librechat_mongodb:27017/LibreChat"; SEARCH = "true"; MEILI_HOST = "http://librechat_meilisearch:7700"; + MEILI_NO_ANALYTICS = "true"; + MEILI_MASTER_KEY = "ringofstormsLibreChat"; RAG_PORT = toString cfg.ragPort; RAG_API_URL = "http://librechat_rag_api:${toString cfg.ragPort}"; # DEBUG_CONSOLE = "true"; @@ -95,13 +97,14 @@ in librechat_meilisearch = { user = "root"; - image = "getmeili/meilisearch:v1.13"; + image = "getmeili/meilisearch:v1.12.3"; environment = { MEILI_HOST = "http://librechat_meilisearch:7700"; MEILI_NO_ANALYTICS = "true"; + MEILI_MASTER_KEY = "ringofstormsLibreChat"; }; volumes = [ - "${cfg.dataDir}/meili_data_v1.13:/meili_data" + "${cfg.dataDir}/meili_data_v1.12:/meili_data" ]; extraOptions = [ "--network=librechat-network" ]; }; diff --git a/common/_containers/obsidian_sync.md b/common/_containers/obsidian_sync.md new file mode 100644 index 0000000..98f7e11 --- /dev/null +++ b/common/_containers/obsidian_sync.md @@ -0,0 +1,7 @@ +docker run \ + -e hostname=https://obsidiansync.joshuabell.xyz \ + -e database=obsidian_sync \ + -e username=obsidian_admin \ + -e password=$REPLACE \ + docker.io/oleduc/docker-obsidian-livesync-couchdb:master \ + deno -A /scripts/generate_setupuri.ts diff --git a/common/_containers/obsidian_sync.nix b/common/_containers/obsidian_sync.nix new file mode 100644 index 0000000..42f8b52 --- /dev/null +++ b/common/_containers/obsidian_sync.nix @@ -0,0 +1,61 @@ +{ + config, + pkgs, + ... +}: +let + cfg = config.services.obsidian_sync; +in +{ + options.services.obsidian_sync = + let + lib = pkgs.lib; + in + { + port = lib.mkOption { + type = lib.types.port; + default = 5984; + description = "Port number for Obsidian Sync CouchDB server"; + }; + dataDir = lib.mkOption { + type = lib.types.path; + default = "/var/lib/obsidian_sync"; + description = "Directory to store Obsidian Sync data"; + }; + serverUrl = lib.mkOption { + type = lib.types.str; + description = "URL of the Obsidian Sync server"; + }; + dockerEnvFiles = lib.mkOption { + type = lib.types.listOf lib.types.path; + default = [ ]; + description = "List of environment files to be used by the Obsidian Sync container. When provided you must supply chouchdb user/password env files they will not be supplied by default."; + }; + }; + + config = { + virtualisation.oci-containers.containers = { + ############# + # obsidian_sync # + ############# + obsidian_sync = { + user = "root"; + image = "docker.io/oleduc/docker-obsidian-livesync-couchdb:master"; + ports = [ + "${toString cfg.port}:${toString cfg.port}" + ]; + environment = { + SERVER_URL = cfg.serverUrl; + COUCHDB_DATABASE = "obsidian_sync"; + COUCHDB_USER = pkgs.lib.mkIf (cfg.dockerEnvFiles == [ ]) "adminu"; + COUCHDB_PASSWORD = pkgs.lib.mkIf (cfg.dockerEnvFiles == [ ]) "Password123"; + }; + environmentFiles = cfg.dockerEnvFiles; + volumes = [ + "${cfg.dataDir}/data:/opt/couchdb/data" + "${cfg.dataDir}/config:/opt/couchdb/etc/local.d" + ]; + }; + }; + }; +} diff --git a/common/_home_manager/default.nix b/common/_home_manager/default.nix index d93e235..5b76221 100644 --- a/common/_home_manager/default.nix +++ b/common/_home_manager/default.nix @@ -22,7 +22,7 @@ in }; stateVersion = lib.mkOption { type = lib.types.str; - default = "23.11"; + default = "25.05"; description = "Home manager state version"; }; }; diff --git a/common/_home_manager/mods/zsh.nix b/common/_home_manager/mods/zsh.nix index 1fdc3bb..41a32a9 100644 --- a/common/_home_manager/mods/zsh.nix +++ b/common/_home_manager/mods/zsh.nix @@ -8,7 +8,7 @@ defaultKeymap = "emacs"; - initExtra = '' + initContent = '' # Set editor to neovim, TODO only do this if mod.neovim is enabled export EDITOR=nvim export VISUAL=nvim diff --git a/common/desktop_environment/gnome/dconf.nix b/common/desktop_environment/gnome/dconf.nix index dec16ef..141baa7 100644 --- a/common/desktop_environment/gnome/dconf.nix +++ b/common/desktop_environment/gnome/dconf.nix @@ -25,6 +25,8 @@ compact-top-bar.extensionUuid tray-icons-reloaded.extensionUuid vitals.extensionUuid + ] ++ lib.optionals cfg.enableRotate [ + screen-rotate.extensionUuid ]; }; diff --git a/common/desktop_environment/gnome/default.nix b/common/desktop_environment/gnome/default.nix index a520e49..c963672 100644 --- a/common/desktop_environment/gnome/default.nix +++ b/common/desktop_environment/gnome/default.nix @@ -24,6 +24,7 @@ with lib; default = "kitty"; description = "The terminal command to use."; }; + enableRotate = lib.mkEnableOption "enable screen rotation"; }; imports = [ @@ -65,6 +66,8 @@ with lib; gnomeExtensions.compact-top-bar gnomeExtensions.tray-icons-reloaded gnomeExtensions.vitals + ] ++ lib.optionals cfg.enableRotate [ + gnomeExtensions.screen-rotate ]; environment.sessionVariables = { NIXOS_OZONE_WL = "1"; diff --git a/common/flake.lock b/common/flake.lock new file mode 100644 index 0000000..f079961 --- /dev/null +++ b/common/flake.lock @@ -0,0 +1,255 @@ +{ + "nodes": { + "agenix": { + "inputs": { + "darwin": "darwin", + "home-manager": "home-manager_2", + "nixpkgs": [ + "ragenix", + "nixpkgs" + ], + "systems": "systems" + }, + "locked": { + "lastModified": 1736955230, + "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=", + "owner": "ryantm", + "repo": "agenix", + "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c", + "type": "github" + }, + "original": { + "owner": "ryantm", + "repo": "agenix", + "type": "github" + } + }, + "crane": { + "locked": { + "lastModified": 1741481578, + "narHash": "sha256-JBTSyJFQdO3V8cgcL08VaBUByEU6P5kXbTJN6R0PFQo=", + "owner": "ipetkov", + "repo": "crane", + "rev": "bb1c9567c43e4434f54e9481eb4b8e8e0d50f0b5", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "darwin": { + "inputs": { + "nixpkgs": [ + "ragenix", + "agenix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1700795494, + "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d", + "type": "github" + }, + "original": { + "owner": "lnl7", + "ref": "master", + "repo": "nix-darwin", + "type": "github" + } + }, + "flake-utils": { + "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": "nixpkgs" + }, + "locked": { + "lastModified": 1749154018, + "narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=", + "owner": "rycee", + "repo": "home-manager", + "rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111", + "type": "github" + }, + "original": { + "owner": "rycee", + "ref": "release-25.05", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "ragenix", + "agenix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1703113217, + "narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "nix-flatpak": { + "locked": { + "lastModified": 1739444422, + "narHash": "sha256-iAVVHi7X3kWORftY+LVbRiStRnQEob2TULWyjMS6dWg=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "5e54c3ca05a7c7d968ae1ddeabe01d2a9bc1e177", + "type": "github" + }, + "original": { + "owner": "gmodena", + "ref": "latest", + "repo": "nix-flatpak", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1749024892, + "narHash": "sha256-OGcDEz60TXQC+gVz5sdtgGJdKVYr6rwdzQKuZAJQpCA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "8f1b52b04f2cb6e5ead50bd28d76528a2f0380ef", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1741379970, + "narHash": "sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "36fd87baa9083f34f7f5027900b62ee6d09b1f2f", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "ragenix": { + "inputs": { + "agenix": "agenix", + "crane": "crane", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_2", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1744897914, + "narHash": "sha256-GIVU92o2TZBnKQXTb76zpQbWR4zjU2rFqWKNIIpXnqA=", + "owner": "yaxitech", + "repo": "ragenix", + "rev": "40f2e17ecaeab4d78ec323e96a04548c0aaa5223", + "type": "github" + }, + "original": { + "owner": "yaxitech", + "repo": "ragenix", + "type": "github" + } + }, + "root": { + "inputs": { + "home-manager": "home-manager", + "nix-flatpak": "nix-flatpak", + "ragenix": "ragenix" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "ragenix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1741400194, + "narHash": "sha256-tEpgT+q5KlGjHSm8MnINgTPErEl8YDzX3Eps8PVc09g=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "16b6045a232fea0e9e4c69e55a6e269607dd8e3f", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "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" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/common/flake.nix b/common/flake.nix index 49a182c..f95574c 100644 --- a/common/flake.nix +++ b/common/flake.nix @@ -1,16 +1,16 @@ { inputs = { - home-manager.url = "github:rycee/home-manager/release-24.11"; + # NOTE if you add/change any inputs here also add them in the TOP level repo's flake.nix + home-manager.url = "github:rycee/home-manager/release-25.05"; ragenix.url = "github:yaxitech/ragenix"; - - # hyprland.url = "github:hyprwm/Hyprland"; - # cosmic.url = "github:lilyinstarlight/nixos-cosmic"; + nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest"; }; outputs = { home-manager, ragenix, + nix-flatpak, ... }: { @@ -25,6 +25,7 @@ imports = [ home-manager.nixosModules.home-manager ragenix.nixosModules.age + nix-flatpak.nixosModules.nix-flatpak ./_home_manager ./options.nix ./general @@ -43,6 +44,7 @@ containers = { librechat = import ./_containers/librechat.nix; forgejo = import ./_containers/forgejo.nix; + obsidian_sync = import ./_containers/obsidian_sync.nix; }; }; homeManagerModules = { diff --git a/common/general/default.nix b/common/general/default.nix index 0e882e8..c172e28 100644 --- a/common/general/default.nix +++ b/common/general/default.nix @@ -57,6 +57,7 @@ in ./shell/common.nix ./fonts.nix ./tty_caps_esc.nix + ./reporting.nix ]; config = { # name this computer diff --git a/common/general/fonts.nix b/common/general/fonts.nix index 1f7a238..3b58b08 100644 --- a/common/general/fonts.nix +++ b/common/general/fonts.nix @@ -33,7 +33,6 @@ in default = true; description = "Enable jetbrains mono font"; }; - }; config = lib.mkIf cfg.jetbrainsMonoFont { diff --git a/common/general/reporting.nix b/common/general/reporting.nix new file mode 100644 index 0000000..f769402 --- /dev/null +++ b/common/general/reporting.nix @@ -0,0 +1,80 @@ +{ + lib, + config, + ... +}: +let + ccfg = import ../config.nix; + cfg_path = [ + ccfg.custom_config_key + "general" + "reporting" + ]; + cfg = lib.attrsets.getAttrFromPath cfg_path config; +in +{ + options = + { } + // lib.attrsets.setAttrByPath cfg_path { + enable = lib.mkEnableOption "Reporting node info and logs to grafana"; + lokiUrl = lib.mkOption { + type = lib.types.str; + default = "http://h001.net.joshuabell.xyz:3100/loki/api/v1/push"; + description = "URL of the Loki instance to send logs to"; + }; + }; + + config = lib.mkIf cfg.enable { + services.prometheus.exporters.node = { + enable = true; + port = 9100; + }; + + # Create necessary directories with appropriate permissions + systemd.tmpfiles.rules = [ + "d /tmp/positions 1777 - - -" # World-writable directory for positions file + "f /tmp/positions.yaml 0666 - - -" # World-writable positions file + ]; + users.groups.systemd-journal.members = [ "promtail" ]; + services.promtail = { + enable = true; + extraFlags = [ + "-config.expand-env=true" + ]; + configuration = { + server = { + http_listen_port = 9080; + grpc_listen_port = 0; + }; + positions = { + filename = "/tmp/positions.yaml"; # Changed from /var/lib/promtail/positions.yaml + }; + clients = [ + { + url = cfg.lokiUrl; + } + ]; + scrape_configs = [ + { + job_name = "journal"; + journal = { + json = false; + max_age = "12h"; + path = "/var/log/journal"; + labels = { + job = "systemd-journal"; + host = config.networking.hostName; + }; + }; + relabel_configs = [ + { + source_labels = [ "__journal__systemd_unit" ]; + target_label = "unit"; + } + ]; + } + ]; + }; + }; + }; +} diff --git a/common/general/shell/common.sh b/common/general/shell/common.sh index 8b8d9c7..9b94acf 100644 --- a/common/general/shell/common.sh +++ b/common/general/shell/common.sh @@ -184,5 +184,5 @@ alias gintentnix_undo="gintent_undo .envrc flake.lock flake.nix" # Aider aider () { - http_proxy="" all_proxy="" https_proxy="" AZURE_API_BASE=http://100.64.0.8 AZURE_API_VERSION=2024-02-15-preview AZURE_API_KEY=1 nix run "nixpkgs#aider-chat" -- aider --dark-mode --no-gitignore --no-check-update --no-auto-commits --model azure/gpt-4o-2024-05-13 $@ + http_proxy="" all_proxy="" https_proxy="" AZURE_API_BASE=http://100.64.0.8 AZURE_API_VERSION=2025-01-01-preview AZURE_API_KEY=1 nix run "nixpkgs#aider-chat-full" -- aider --dark-mode --no-gitignore --no-check-update --no-auto-commits --model azure/gpt-4.1-2025-04-14 $@ } diff --git a/common/programs/default.nix b/common/programs/default.nix index 9dcd9d3..ff08a58 100644 --- a/common/programs/default.nix +++ b/common/programs/default.nix @@ -1,4 +1,8 @@ -{ ... }: +{ config, lib, ... }: +let + ccfg = import ../config.nix; + cfg = config.${ccfg.custom_config_key}.programs; +in { imports = [ ./qFlipper.nix @@ -7,6 +11,32 @@ ./tailnet.nix ./ssh.nix ./docker.nix + ./podman.nix ./incus.nix + ./flatpaks.nix ]; + config = { + assertions = [ + ( + let + enabledVirtualizers = lib.filter (x: x.enabled) [ + { + name = "docker"; + enabled = cfg.docker.enable; + } + { + name = "podman"; + enabled = cfg.podman.enable; + } + ]; + in + { + assertion = lib.length enabledVirtualizers <= 1; + message = + "Only one virtualizer can be enabled at a time. Enabled: " + + lib.concatStringsSep ", " (map (x: x.name) enabledVirtualizers); + } + ) + ]; + }; } diff --git a/common/programs/flatpaks.nix b/common/programs/flatpaks.nix new file mode 100644 index 0000000..bc3beb6 --- /dev/null +++ b/common/programs/flatpaks.nix @@ -0,0 +1,58 @@ +{ + config, + lib, + ... +}: +let + ccfg = import ../config.nix; + cfg_path = [ + ccfg.custom_config_key + "programs" + "flatpaks" + ]; + cfg = lib.attrsets.getAttrFromPath cfg_path config; +in +{ + options = + { } + // lib.attrsets.setAttrByPath cfg_path { + enable = lib.mkEnableOption "flatpaks"; + packages = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + description = "List of Flatpak package names to install."; + }; + }; + + config = lib.mkIf cfg.enable { + services.flatpak = { + enable = true; + packages = cfg.packages; + overrides = { + global = { + Context.sockets = [ + "wayland" + "x11" + ]; + + Environment = { + XCURSOR_PATH = "/run/host/user-share/icons:/run/host/share/icons"; + GTK_THEME = "Adwaita:dark"; + # Force wayland as much as possible. + ELECTRON_OZONE_PLATFORM_HINT = "wayland"; # or 'auto' + }; + }; + "org.signal.Signal" = { + Environment = { + SIGNAL_PASSWORD_STORE = "gnome-libsecret"; + }; + Context = { + sockets = [ + "xfg-settings" + ]; + }; + }; + }; + }; + }; +} diff --git a/common/programs/podman.nix b/common/programs/podman.nix new file mode 100644 index 0000000..8be88f9 --- /dev/null +++ b/common/programs/podman.nix @@ -0,0 +1,32 @@ +{ + config, + lib, + ... +}: +let + ccfg = import ../config.nix; + cfg_path = [ + ccfg.custom_config_key + "programs" + "podman" + ]; + cfg = lib.attrsets.getAttrFromPath cfg_path config; + users_cfg = config.${ccfg.custom_config_key}.users; +in +{ + options = + { } + // lib.attrsets.setAttrByPath cfg_path { + enable = lib.mkEnableOption "podman"; + }; + + config = lib.mkIf cfg.enable { + virtualisation.podman = { + enable = true; + dockerSocket.enable = true; + autoPrune.enable = true; + }; + # TODO add admins? + users.extraGroups.podman.members = lib.mkIf (users_cfg.primary != null) [ users_cfg.primary ]; + }; +} diff --git a/common/programs/tailnet.nix b/common/programs/tailnet.nix index 98944ab..df25e37 100644 --- a/common/programs/tailnet.nix +++ b/common/programs/tailnet.nix @@ -35,7 +35,7 @@ in services.tailscale = { enable = true; openFirewall = true; - useRoutingFeatures = "client"; + useRoutingFeatures = if cfg.enableExitNode then "both" else "client"; authKeyFile = lib.mkIf ( config ? age && config.age ? secrets && config.age.secrets ? headscale_auth ) config.age.secrets.headscale_auth.path; diff --git a/common/secrets/default.nix b/common/secrets/default.nix index dad0858..f26b811 100644 --- a/common/secrets/default.nix +++ b/common/secrets/default.nix @@ -102,6 +102,10 @@ in file = ./secrets/headscale_auth.age; owner = users_cfg.primary; }; + obsidian_sync_env = { + file = ./secrets/obsidian_sync_env.age; + owner = users_cfg.primary; + }; }; }; }; diff --git a/common/secrets/secrets/obsidian_sync_env.age b/common/secrets/secrets/obsidian_sync_env.age new file mode 100644 index 0000000..50b1152 --- /dev/null +++ b/common/secrets/secrets/obsidian_sync_env.age @@ -0,0 +1,38 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IDd6MzN5USBFSG9R +akdvQzNiRjgzc1pIZ09zdGIvUld1RmdHRUxnT3o3L3F2UlVxZlZNCmhpZUhWUHFO +cXFhcjgzb3VJM24ySDNQNkZLOEFWTkMrK0QyYkV0YlZDY3MKLT4gc3NoLWVkMjU1 +MTkgSmh2TCtRIG5CMlNyTjhCZDI5cHBYOE1nNGtMc3g1bzlJT0JNc0l1TVNzK0p2 +ZHhJVDAKRUFieUlUdmhTVWtaUGpJa0cxamorMmZDRDV3ZGtRU0pvVzJxL29oRzJK +NAotPiBzc2gtZWQyNTUxOSBTcENqQlEgc1JLOTF6ZFUxaXpmWGlLYWFEdzAydDYv +aW9NZjZEVENnVzYzUU14UHhSYwpQQ055RkVUTThWekwvMFlSWjhjUWx4Qmlrdm9M +M0RibjZTVnFlN1doN0RnCi0+IHNzaC1lZDI1NTE5IEJZS0crdyB5cTI4UnRVK01M +TU80WC80TFNGTW10TmdVbXJGeVAyS25oL0pkWVNGRkZjCjUrcUc2bjkxY3lXd2Ix +YUhFSk4raXcvcFBnT0dKeVVaK1E2MTBFd3dxbGMKLT4gc3NoLWVkMjU1MTkgWHpm +bWFRIHRsWEZBVE5TUkYwNHZFOStPNVFac0pCWnN2aDJPMVI1bVFXMW9JbjFzR0UK +djFneHk0OS9rYVlpd1FDNWFUakViOVhsQjhoZTdoTXI1RXUxRVQ1OTBxYwotPiBz +c2gtZWQyNTUxOSBSNSt4ZncgcU5mUTYyUG1Ob0dkN1FkRDZBMFI2QXRoZlNhbXc5 +N01TL3hSbFY5b1MzbwpBN3R5NG9LM0ZOS0hHZkppbXRyam5zYnRUMXB3YjduOU5p +ZmMxOUxXMnBnCi0+IHNzaC1lZDI1NTE5IFJvWDVQUSBKMHNyeHI3ODhOQzNPQ2xG +QnQwUFM1cGt4QjdPTkF5TSsvajNqRkx1VmhJCngxWFk4S1R0OXFYV1loU2kyRWVa +UjBrN05McmhtcW9wOU4wY3pxcmlKZVkKLT4gc3NoLWVkMjU1MTkgRjRiYjhnIFFT +YkRlM0EvYVhWbmVqQjFhQU5Zak42MjI1cTU1dE8zR1p2bmFkRmYzRFkKSGc3elpl +NVBKMlZYalF4VTYwV3VLaGxramJ3ZlVwOXdud3hCd1BTS2JPUQotPiBzc2gtZWQy +NTUxOSB3ZHJaSkEgSFg1Q2xJR1dNY0xmYUhaY3psUkE5TG4vOXU3Znhac1ZmVFdn +L0JQdUtSdwptMDd1TmpPSnB0TENqOHBVM0p6a2l6NlBQRFRtZ3V5YnY2eVhsNlBu +c0ljCi0+IHNzaC1lZDI1NTE5IDVhZHFNZyA4WWNXT1VPZy9leFVrK0o2ZThHZTEr +bUNwKytnc3ZiM0t2NGJPNFdRZWowCk81QzN5ODYyT3hNVkVWMEtYbTlQclpwMkl3 +SjBZZ09FYVMvNG0rV1BKamMKLT4gc3NoLWVkMjU1MTkgWmUxTXdRIGw4UitKVU44 +S1BjSzFYUlNPMDEraFM4cGxhTk9KYlZJVnIxdmJZSlluQTQKR21yN2hyVlM1L3hB +V012dUUrQjVIeXBWbUZ1QzZNYVFYSm5PeGs5dVR3WQotPiBzc2gtZWQyNTUxOSBw +ZUZCUWcgeEhjL2F5RllRVlZ1UElxL0w3MmlmQXc3TlBaUEt0cTU4VThUbHVWVlhD +SQpncStaK2lDeE9FMVpYVmZzVmlkOWdxQUs0MVA3YU5ZSEorVXFwMndwdkpvCi0+ +IHNzaC1lZDI1NTE5IDl2LzJIQSBwUHhzTUE2WFo5anYzTlFuM1FkdHh3T2ZOT2V5 +V3lxZDhMMEVWVkwxN0hVClNxa3hEczJmSUJpYS94bzg5Nnk3NUtWSXQ3SEdLQkJG +b3hFbmN1VjhWUG8KLT4gUUktZ3JlYXNlIF0gbkpjKWlEIDRmTEBrIkg8CmxURW80 +dmRhZ1UvSkhzd1lqOVZTTlpxYnNQbDllUFUKLS0tIGN5SzhpY3VFM3NBUzlFK3gx +dFhmN0dscWE5REVQMTVZa3NzRXFrZVhOU0kKUdr7OyUzs5iQwWX7rDucmC1sbRfe +AulfGi+K/ajK0R39JnJVE/WERNANzanPLOwk/7pI69HPQm/irA5HaX/JK6q5bxP5 +mgdhR+5KF6uk7QXjU+w5uKN+ypVzZX29kO6p3cw8hOODtebUvP10QK7jYURxlo6g +o4Q= +-----END AGE ENCRYPTED FILE----- diff --git a/common/secrets/secrets/secrets.nix b/common/secrets/secrets/secrets.nix index 6d32978..c2c73f2 100644 --- a/common/secrets/secrets/secrets.nix +++ b/common/secrets/secrets/secrets.nix @@ -84,4 +84,7 @@ in "headscale_auth.age" = { inherit publicKeys; }; + "obsidian_sync_env.age" = { + inherit publicKeys; + }; } diff --git a/flake.lock b/flake.lock index d061bf2..c00d3af 100644 --- a/flake.lock +++ b/flake.lock @@ -85,16 +85,16 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1744743431, - "narHash": "sha256-iyn/WBYDc7OtjSawbegINDe/gIkok888kQxk3aVnkgg=", + "lastModified": 1749154018, + "narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=", "owner": "rycee", "repo": "home-manager", - "rev": "c61bfe3ae692f42ce688b5865fac9e0de58e1387", + "rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111", "type": "github" }, "original": { "owner": "rycee", - "ref": "release-24.11", + "ref": "release-25.05", "repo": "home-manager", "type": "github" } @@ -121,29 +121,45 @@ "type": "github" } }, + "nix-flatpak": { + "locked": { + "lastModified": 1739444422, + "narHash": "sha256-iAVVHi7X3kWORftY+LVbRiStRnQEob2TULWyjMS6dWg=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "5e54c3ca05a7c7d968ae1ddeabe01d2a9bc1e177", + "type": "github" + }, + "original": { + "owner": "gmodena", + "ref": "latest", + "repo": "nix-flatpak", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1731755305, - "narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=", + "lastModified": 1749024892, + "narHash": "sha256-OGcDEz60TXQC+gVz5sdtgGJdKVYr6rwdzQKuZAJQpCA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4", + "rev": "8f1b52b04f2cb6e5ead50bd28d76528a2f0380ef", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_2": { "locked": { - "lastModified": 1744463964, - "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "type": "github" }, "original": { @@ -178,11 +194,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1741508717, - "narHash": "sha256-iQf1WdNxaApOFHIx4RLMRZ4f8g+8Xp0Z1/E/Mz2rLxY=", + "lastModified": 1744897914, + "narHash": "sha256-GIVU92o2TZBnKQXTb76zpQbWR4zjU2rFqWKNIIpXnqA=", "owner": "yaxitech", "repo": "ragenix", - "rev": "2a2bea99d74927e54adf53cbf113219def67d5c9", + "rev": "40f2e17ecaeab4d78ec323e96a04548c0aaa5223", "type": "github" }, "original": { @@ -194,6 +210,7 @@ "root": { "inputs": { "home-manager": "home-manager", + "nix-flatpak": "nix-flatpak", "nixpkgs": "nixpkgs_2", "ragenix": "ragenix" } diff --git a/flake.nix b/flake.nix index 9f4d0e7..8dab2ba 100644 --- a/flake.nix +++ b/flake.nix @@ -4,11 +4,9 @@ # Manually synced with common/flake.nix inputs # ===== - home-manager.url = "github:rycee/home-manager/release-24.11"; + home-manager.url = "github:rycee/home-manager/release-25.05"; ragenix.url = "github:yaxitech/ragenix"; - - # hyprland.url = "github:hyprwm/Hyprland"; - # cosmic.url = "github:lilyinstarlight/nixos-cosmic"; + nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest"; # ====== }; @@ -17,6 +15,7 @@ nixpkgs, home-manager, ragenix, + nix-flatpak, ... }@inputs: let diff --git a/hosts/gpdPocket3/configuration.nix b/hosts/gpdPocket3/configuration.nix index 0217349..c501ab9 100644 --- a/hosts/gpdPocket3/configuration.nix +++ b/hosts/gpdPocket3/configuration.nix @@ -42,6 +42,9 @@ # }; # }; + # accelerometer + hardware.sensor.iio.enable = true; + # TODO evaluate if any of this kernal/hardware stuff is actually needed for our pocket. This is a hodge podge of shit from online # The GPD Pocket3 uses a tablet OLED display, that is mounted rotated 90° counter-clockwise. # This requires cusotm kernal params. diff --git a/hosts/gpdPocket3/flake.lock b/hosts/gpdPocket3/flake.lock index d98b754..70016b0 100644 --- a/hosts/gpdPocket3/flake.lock +++ b/hosts/gpdPocket3/flake.lock @@ -28,15 +28,16 @@ "common": { "inputs": { "home-manager": "home-manager", + "nix-flatpak": "nix-flatpak", "nixpkgs": "nixpkgs_2", "ragenix": "ragenix" }, "locked": { - "lastModified": 1745956280, - "narHash": "sha256-HK9LEPCJAKbD3NK8FJGBgjoTDxA7/6GIkSomvPGFzgo=", + "lastModified": 1750257405, + "narHash": "sha256-Ztt+5z2BmPqxvpQT4yLV/8gaWD5Txedr3Gd38gTXOGU=", "ref": "refs/heads/master", - "rev": "78fc771750b08f24eddfda25cf4f24a6daa7ddf0", - "revCount": 424, + "rev": "b715d8b5335b2302fefde329723bd3b4a0986c70", + "revCount": 483, "type": "git", "url": "https://git.joshuabell.xyz/ringofstorms/dotfiles" }, @@ -107,16 +108,16 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1744743431, - "narHash": "sha256-iyn/WBYDc7OtjSawbegINDe/gIkok888kQxk3aVnkgg=", + "lastModified": 1749154018, + "narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=", "owner": "rycee", "repo": "home-manager", - "rev": "c61bfe3ae692f42ce688b5865fac9e0de58e1387", + "rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111", "type": "github" }, "original": { "owner": "rycee", - "ref": "release-24.11", + "ref": "release-25.05", "repo": "home-manager", "type": "github" } @@ -144,29 +145,45 @@ "type": "github" } }, + "nix-flatpak": { + "locked": { + "lastModified": 1739444422, + "narHash": "sha256-iAVVHi7X3kWORftY+LVbRiStRnQEob2TULWyjMS6dWg=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "5e54c3ca05a7c7d968ae1ddeabe01d2a9bc1e177", + "type": "github" + }, + "original": { + "owner": "gmodena", + "ref": "latest", + "repo": "nix-flatpak", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1731755305, - "narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=", + "lastModified": 1749024892, + "narHash": "sha256-OGcDEz60TXQC+gVz5sdtgGJdKVYr6rwdzQKuZAJQpCA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4", + "rev": "8f1b52b04f2cb6e5ead50bd28d76528a2f0380ef", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_2": { "locked": { - "lastModified": 1744463964, - "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "type": "github" }, "original": { @@ -194,27 +211,27 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1745868005, - "narHash": "sha256-hZScOyQphT4RUmSEJX+2OxjIlGgLwSd8iW1LNtAWIOs=", + "lastModified": 1750133334, + "narHash": "sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "330d0a4167924b43f31cc9406df363f71b768a02", + "rev": "36ab78dab7da2e4e27911007033713bab534187b", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_5": { "locked": { - "lastModified": 1745250177, - "narHash": "sha256-NPkMDgRHLVuNHs7y/MK3qYbE/5uo42mskUIygSHEOLM=", + "lastModified": 1750188666, + "narHash": "sha256-yAfLvtbCzSigTfbsJeOrvljS7VYLAwi2RZ6F+qd+A5E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d1e61a9c582ec2f701b36d4600ae19b8099c5211", + "rev": "aa36c6c05d04f90cf890f87845be9380cf7b83c2", "type": "github" }, "original": { @@ -226,11 +243,11 @@ "nvim_plugin-Almo7aya/openingh.nvim": { "flake": false, "locked": { - "lastModified": 1744327913, - "narHash": "sha256-WQ7GbrjtikpMnzzME59QSibZI0hjzt/KAGDmXa677Rw=", + "lastModified": 1746139196, + "narHash": "sha256-/FlNLWOSIrOYiWzAcgOdu9//QTorCDV1KWb+h6eqLwk=", "owner": "Almo7aya", "repo": "openingh.nvim", - "rev": "ce19b5ffe09e35cec600ba794df280cbb72c015f", + "rev": "7cc8c897cb6b34d8ed28e99d95baccef609ed251", "type": "github" }, "original": { @@ -242,11 +259,11 @@ "nvim_plugin-CopilotC-Nvim/CopilotChat.nvim": { "flake": false, "locked": { - "lastModified": 1745008876, - "narHash": "sha256-/GdJNqoDpdsPCOjcESbtEEDCz5TYkvbPRY1/T0gF7IY=", + "lastModified": 1750069301, + "narHash": "sha256-lIAsudDunKOY69r00czO+rmMbM+woIdIGroT4dUZAFc=", "owner": "CopilotC-Nvim", "repo": "CopilotChat.nvim", - "rev": "634aa58117a9b70b3f08a0b150f11afd64f1c0eb", + "rev": "5df0b668d23c05c173f6bc79bb19642215b8b66a", "type": "github" }, "original": { @@ -274,11 +291,11 @@ "nvim_plugin-L3MON4D3/LuaSnip": { "flake": false, "locked": { - "lastModified": 1736009707, - "narHash": "sha256-3ecm5SDTcSOh256xSQPHhddQfMpepiEIpv58fHXrVg0=", + "lastModified": 1749564222, + "narHash": "sha256-StttV19d5gWbFPxerCOX3dXIaRwg1oeUANIbNztALps=", "owner": "L3MON4D3", "repo": "LuaSnip", - "rev": "c9b9a22904c97d0eb69ccb9bab76037838326817", + "rev": "fb525166ccc30296fb3457441eb979113de46b00", "type": "github" }, "original": { @@ -290,11 +307,11 @@ "nvim_plugin-MeanderingProgrammer/render-markdown.nvim": { "flake": false, "locked": { - "lastModified": 1744934679, - "narHash": "sha256-rTX+CCVOOU6ZzM5NvymJvOfJF10BRMfl8hdSJz0zw+Q=", + "lastModified": 1749846779, + "narHash": "sha256-j1aslQ3SPD9ZuhQDEt9e5GD+VZ6N6Re7IjVFXycaxWI=", "owner": "MeanderingProgrammer", "repo": "render-markdown.nvim", - "rev": "dfc1299d9f32b53b34b7ac6c3a7553b5fd29977f", + "rev": "76f7ce56ccb913632745714f160faa53164c5574", "type": "github" }, "original": { @@ -306,11 +323,11 @@ "nvim_plugin-MunifTanjim/nui.nvim": { "flake": false, "locked": { - "lastModified": 1741233810, - "narHash": "sha256-BYTY2ezYuxsneAl/yQbwL1aQvVWKSsN3IVqzTlrBSEU=", + "lastModified": 1749392788, + "narHash": "sha256-41slmnvt1z7sCxvpiVuFmQ9g7eCaxQi1dDCL3AxSL1A=", "owner": "MunifTanjim", "repo": "nui.nvim", - "rev": "8d3bce9764e627b62b07424e0df77f680d47ffdb", + "rev": "de740991c12411b663994b2860f1a4fd0937c130", "type": "github" }, "original": { @@ -322,11 +339,11 @@ "nvim_plugin-RRethy/vim-illuminate": { "flake": false, "locked": { - "lastModified": 1744859423, - "narHash": "sha256-zqXKkrUNTH/EIx3PBRN8+mQcbWa6fO9i/UoSeav5R/w=", + "lastModified": 1748105647, + "narHash": "sha256-KqAJRCtDBG5xsvNsqkxoBdDckg02u4NBBreYQw7BphA=", "owner": "RRethy", "repo": "vim-illuminate", - "rev": "1fa4b23409e22a03823648e344c77f260e2572cb", + "rev": "0d1e93684da00ab7c057410fecfc24f434698898", "type": "github" }, "original": { @@ -338,11 +355,11 @@ "nvim_plugin-Saecki/crates.nvim": { "flake": false, "locked": { - "lastModified": 1744379189, - "narHash": "sha256-HsdDeV3mMQwrzlP23bJnNkiSL5OELgn0WBTERxehviE=", + "lastModified": 1748637634, + "narHash": "sha256-sDjG6fjnQsyYtdf7xpmOW193e7USh6ghrFzo6NoLyP8=", "owner": "Saecki", "repo": "crates.nvim", - "rev": "73d2c590c74a0c582144987a4decb4a642755859", + "rev": "5d8b1bef686db0fabe5f1bb593744b617e8f1405", "type": "github" }, "original": { @@ -354,11 +371,11 @@ "nvim_plugin-aznhe21/actions-preview.nvim": { "flake": false, "locked": { - "lastModified": 1740589350, - "narHash": "sha256-MP1hohDL2JFembwW+cb2S+v2Y7j0iZw1jPPKTZiNCWI=", + "lastModified": 1745779150, + "narHash": "sha256-rQjwlu5gQcOvxF72lr9ugPRl0W78wCWGWPhpN1oOMbs=", "owner": "aznhe21", "repo": "actions-preview.nvim", - "rev": "4ab7842eb6a5b6d2b004f8234dcf33382a0fdde2", + "rev": "36513ad213855d497b7dd3391a24d1d75d58e36f", "type": "github" }, "original": { @@ -370,11 +387,11 @@ "nvim_plugin-b0o/schemastore.nvim": { "flake": false, "locked": { - "lastModified": 1745020938, - "narHash": "sha256-qDcVJ2RovKSIcUdVnXNcQZHoAf75IqsTMlsclDFrT2U=", + "lastModified": 1750179699, + "narHash": "sha256-EGt75z/NbjzDXxsyXT9Qj2wWOf06ijUr1If5ljmfLqo=", "owner": "b0o", "repo": "schemastore.nvim", - "rev": "e623e30df4053cacc67fb7eb04e1bd0fadba52b4", + "rev": "45fd6c22f30487586c771072dc8c5230931e4c7b", "type": "github" }, "original": { @@ -386,11 +403,11 @@ "nvim_plugin-catppuccin/nvim": { "flake": false, "locked": { - "lastModified": 1740764472, - "narHash": "sha256-4h/fzFY8JR9r+QnoiWEqgQKPMuu8i9HTC4v0Jp7iuUo=", + "lastModified": 1749271780, + "narHash": "sha256-wt/Ybjgr4N80B+QsyANs1QezM7PpFceUWSweRFgkhl0=", "owner": "catppuccin", "repo": "nvim", - "rev": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429", + "rev": "fa42eb5e26819ef58884257d5ae95dd0552b9a66", "type": "github" }, "original": { @@ -402,11 +419,11 @@ "nvim_plugin-chrisgrieser/nvim-early-retirement": { "flake": false, "locked": { - "lastModified": 1744450582, - "narHash": "sha256-ybs65ObtjcUBaGglxP3SIpYjlGSEk/MQI9nSN8S3Q1w=", + "lastModified": 1750108178, + "narHash": "sha256-3I7Xup+v9Yq9/nJQ1F5CDW99oFQcxbinv7VQcKeA16Y=", "owner": "chrisgrieser", "repo": "nvim-early-retirement", - "rev": "3b14762a0186b1922cb5ddf3a760d8521c7b3d7e", + "rev": "d9ffd8f70ed6d466cecd3e7e2dd1425b0010932f", "type": "github" }, "original": { @@ -578,11 +595,11 @@ "nvim_plugin-lewis6991/gitsigns.nvim": { "flake": false, "locked": { - "lastModified": 1745219545, - "narHash": "sha256-7WQ428oPr43z01HvNpArZJcUov61/pDtLqJtkEKnBAY=", + "lastModified": 1750058704, + "narHash": "sha256-V9aXXR9ZP2G/XInHt07RylC4rS+AyMXAAfODvC6pVxw=", "owner": "lewis6991", "repo": "gitsigns.nvim", - "rev": "2149fc2009d1117d58e86e56836f70c969f60a82", + "rev": "88205953bd748322b49b26e1dfb0389932520dc9", "type": "github" }, "original": { @@ -626,11 +643,11 @@ "nvim_plugin-m4xshen/hardtime.nvim": { "flake": false, "locked": { - "lastModified": 1744007533, - "narHash": "sha256-KCz8UNL7SkI4cP7wKmQPJgkI4TsQftnHjaMSBYCgrOY=", + "lastModified": 1750160168, + "narHash": "sha256-hzFX5mZRxTDDIp/iBVl4lqEaQryLQOe7jFJmXDwq4J8=", "owner": "m4xshen", "repo": "hardtime.nvim", - "rev": "9aaec65de041bddfc4c0af66919030d2950bcea8", + "rev": "b9a989191b3a97c9316a0efea02341c4cdab845a", "type": "github" }, "original": { @@ -658,11 +675,11 @@ "nvim_plugin-mfussenegger/nvim-lint": { "flake": false, "locked": { - "lastModified": 1745090089, - "narHash": "sha256-Pwxk2C5WaaaW7Ookbq2edvLSJh6ZQc3iWMxowHyQkFQ=", + "lastModified": 1749731021, + "narHash": "sha256-V4JJ1VQXoIsUBTxe6ykbkyo6LxEAr+QEIqIV3mA9phs=", "owner": "mfussenegger", "repo": "nvim-lint", - "rev": "d698d3b6fd7b1b85657d05a2a31d843ddb682c63", + "rev": "2b0039b8be9583704591a13129c600891ac2c596", "type": "github" }, "original": { @@ -674,11 +691,11 @@ "nvim_plugin-mrcjkb/rustaceanvim": { "flake": false, "locked": { - "lastModified": 1745050087, - "narHash": "sha256-nkCVQ+TXiaKm17HXaAMVuRMV3Jbxv8aRIO6re4zEgDw=", + "lastModified": 1750024924, + "narHash": "sha256-gmOqCnSLGDNerXyuuNhkyL/pSJitnyqBdWC3LejZoS4=", "owner": "mrcjkb", "repo": "rustaceanvim", - "rev": "69636cedf0d6aabf0eac3dfbce24883fe1051a3d", + "rev": "2fdf224107e5bc29fb5c3a175f5f2c9161b34741", "type": "github" }, "original": { @@ -690,11 +707,11 @@ "nvim_plugin-neovim/nvim-lspconfig": { "flake": false, "locked": { - "lastModified": 1745247686, - "narHash": "sha256-rnm/BJNMVxcYH/ZXf1HciXgG0UWhAeQQniOaSvi0E40=", + "lastModified": 1750169575, + "narHash": "sha256-lJWMFgQLQhKUuv50WrYXlJ3TFqT04nVbmcBGVDaSz0k=", "owner": "neovim", "repo": "nvim-lspconfig", - "rev": "b335f1c72877f101248d3b085d4b7da7576361d7", + "rev": "99d3a0f26bfe402f45257c1398287aef252cbe2d", "type": "github" }, "original": { @@ -706,11 +723,11 @@ "nvim_plugin-nosduco/remote-sshfs.nvim": { "flake": false, "locked": { - "lastModified": 1743352525, - "narHash": "sha256-YNqj1vPc2oyVrSgp+huoMkrUAp2Lx3G4W52liOujP6A=", + "lastModified": 1748880705, + "narHash": "sha256-eTnVFOR7FHlkU9kwrk3q3pNo/U8OR2gJrnrMUQKGi2A=", "owner": "nosduco", "repo": "remote-sshfs.nvim", - "rev": "1ae5784bf0729c8b03cb7fe6561508a673c9adc8", + "rev": "6e893c32ff7c5b8d0d501b748c525fa53963fb35", "type": "github" }, "original": { @@ -754,11 +771,11 @@ "nvim_plugin-nvim-lualine/lualine.nvim": { "flake": false, "locked": { - "lastModified": 1744482854, - "narHash": "sha256-XeAFXg6GWzMJV/HzfdCXtv/effAHVU7mioFKTf1kDc8=", + "lastModified": 1749383457, + "narHash": "sha256-2aPgA7riA/FubQpTkqsxLKl7OZ8L6FkucNHc2QEx2HQ=", "owner": "nvim-lualine", "repo": "lualine.nvim", - "rev": "86fe39534b7da729a1ac56c0466e76f2c663dc42", + "rev": "a94fc68960665e54408fe37dcf573193c4ce82c9", "type": "github" }, "original": { @@ -770,11 +787,11 @@ "nvim_plugin-nvim-telescope/telescope-file-browser.nvim": { "flake": false, "locked": { - "lastModified": 1729728595, - "narHash": "sha256-VJbRi91TTOwUkQYyTM6Njl7MtX8/mOjINiqWYWEtyxg=", + "lastModified": 1750040034, + "narHash": "sha256-NHcU3c+1pLeypHr9xXKmqvdwB1QM/vj5axzjpFEQCLQ=", "owner": "nvim-telescope", "repo": "telescope-file-browser.nvim", - "rev": "626998e5c1b71c130d8bc6cf7abb6709b98287bb", + "rev": "7bf55ed0ff5be182ad3301cff266581fc1c56cce", "type": "github" }, "original": { @@ -818,11 +835,11 @@ "nvim_plugin-nvim-telescope/telescope.nvim": { "flake": false, "locked": { - "lastModified": 1742346322, - "narHash": "sha256-GF1zOHZItVZm3bx2wqI4hPj7EXQJ2F9KS4MtaEt2gm0=", + "lastModified": 1747012888, + "narHash": "sha256-JpW0ehsX81yVbKNzrYOe1hdgVMs6oaaxMLH6lECnOJg=", "owner": "nvim-telescope", "repo": "telescope.nvim", - "rev": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5", + "rev": "b4da76be54691e854d3e0e02c36b0245f945c2c7", "type": "github" }, "original": { @@ -834,11 +851,11 @@ "nvim_plugin-nvim-tree/nvim-tree.lua": { "flake": false, "locked": { - "lastModified": 1745201081, - "narHash": "sha256-zQsqyJgqlvxniKOtwPSzArUaOwvIgo6Xm+oAjAbPda4=", + "lastModified": 1750143568, + "narHash": "sha256-E2YdGlvvpnT/PiayfQldwpbCnjsyNDcoTzxgMf2ajV8=", "owner": "nvim-tree", "repo": "nvim-tree.lua", - "rev": "be5b788f2dc1522c73fb7afad9092331c8aebe80", + "rev": "d54a1875a91e1a705795ea26074795210b92ce7f", "type": "github" }, "original": { @@ -850,11 +867,11 @@ "nvim_plugin-nvim-tree/nvim-web-devicons": { "flake": false, "locked": { - "lastModified": 1745131674, - "narHash": "sha256-uoT45oaeY5c1+A7pVQIS+Bj9JnrSy9rQAecvaWZht+c=", + "lastModified": 1747360641, + "narHash": "sha256-+RHeFaeCF/iwAf8qAOjbEIl3YcnrBMVfkQnnzDNhyTA=", "owner": "nvim-tree", "repo": "nvim-web-devicons", - "rev": "855c97005c8eebcdd19846f2e54706bffd40ee96", + "rev": "1fb58cca9aebbc4fd32b086cb413548ce132c127", "type": "github" }, "original": { @@ -866,11 +883,11 @@ "nvim_plugin-nvim-treesitter/nvim-treesitter-context": { "flake": false, "locked": { - "lastModified": 1744921782, - "narHash": "sha256-w3I3w1SGqtpUnu4KQyaLue+k96XmkgA3+DpxSEjj+WI=", + "lastModified": 1749893617, + "narHash": "sha256-QJAfpVdTHTxjUgggQekRLvNYuvG12gjtfTGybfcFdyo=", "owner": "nvim-treesitter", "repo": "nvim-treesitter-context", - "rev": "6daca3ad780f045550b820f262002f35175a6c04", + "rev": "1a1a7c5d6d75cb49bf64049dafab15ebe294a79f", "type": "github" }, "original": { @@ -882,11 +899,11 @@ "nvim_plugin-rafamadriz/friendly-snippets": { "flake": false, "locked": { - "lastModified": 1745202387, - "narHash": "sha256-R6xE5vwgFtyEYpET0E4ecZejuV/lNHFkumk+wGf3lbI=", + "lastModified": 1745949052, + "narHash": "sha256-FzApcTbWfFkBD9WsYMhaCyn6ky8UmpUC2io/co/eByM=", "owner": "rafamadriz", "repo": "friendly-snippets", - "rev": "fc8f183479a472df60aa86f00e295462f2308178", + "rev": "572f5660cf05f8cd8834e096d7b4c921ba18e175", "type": "github" }, "original": { @@ -914,11 +931,11 @@ "nvim_plugin-rmagatti/auto-session": { "flake": false, "locked": { - "lastModified": 1745009508, - "narHash": "sha256-NCytp+DiOo3obZeQ9bpaEaNMfstf1Ytn0OR5mAWodLw=", + "lastModified": 1749967462, + "narHash": "sha256-1pIGu/GJ4FiMH/yHhoo6Gu0HLC3rFQiesJBuv8uE7Vw=", "owner": "rmagatti", "repo": "auto-session", - "rev": "71c8af9a99e96b9d2533cf4bac4dfed1eafab923", + "rev": "fffb13dcbe8731b8650e5bf1caa749a485d20556", "type": "github" }, "original": { @@ -978,11 +995,11 @@ "nvim_plugin-stevearc/conform.nvim": { "flake": false, "locked": { - "lastModified": 1745180802, - "narHash": "sha256-J/GKqn2VHv/ydaFXWCFduV2B7iwZzHtUvFArszxf2Cw=", + "lastModified": 1749498876, + "narHash": "sha256-n1IPUNwD14WlDU4zbgfJuhXQcVMt8oc4wCuUJBPJ+y4=", "owner": "stevearc", "repo": "conform.nvim", - "rev": "372fc521f8421b7830ea6db4d6ea3bae1c77548c", + "rev": "8132ec733eed3bf415b97b76797ca41b59f51d7d", "type": "github" }, "original": { @@ -1007,6 +1024,22 @@ "type": "github" } }, + "nvim_plugin-supermaven-inc/supermaven-nvim": { + "flake": false, + "locked": { + "lastModified": 1728314930, + "narHash": "sha256-1z3WKIiikQqoweReUyK5O8MWSRN5y95qcxM6qzlKMME=", + "owner": "supermaven-inc", + "repo": "supermaven-nvim", + "rev": "07d20fce48a5629686aefb0a7cd4b25e33947d50", + "type": "github" + }, + "original": { + "owner": "supermaven-inc", + "repo": "supermaven-nvim", + "type": "github" + } + }, "nvim_plugin-tpope/vim-sleuth": { "flake": false, "locked": { @@ -1042,11 +1075,11 @@ "nvim_plugin-uga-rosa/ccc.nvim": { "flake": false, "locked": { - "lastModified": 1744103477, - "narHash": "sha256-MSh9tJv9UNfceO1yQIvID36x/fLGmgFcnIzJ9LOog0A=", + "lastModified": 1746537659, + "narHash": "sha256-3TZ8VmvdgQ9n63m78C3r4OIUkVQHTHBvC24ixBdhTig=", "owner": "uga-rosa", "repo": "ccc.nvim", - "rev": "af2cf5a963f401aad868c065222ee13d4bbc9050", + "rev": "9d1a256e006decc574789dfc7d628ca11644d4c2", "type": "github" }, "original": { @@ -1071,22 +1104,6 @@ "type": "github" } }, - "nvim_plugin-yetone/avante.nvim": { - "flake": false, - "locked": { - "lastModified": 1744881650, - "narHash": "sha256-BzRFgcBG4vn7mamwLvviMl4erTPwg+1AkAb3Ss4Kq8E=", - "owner": "yetone", - "repo": "avante.nvim", - "rev": "eb1cd44731783024621beafe4e46204cbc9a4320", - "type": "github" - }, - "original": { - "owner": "yetone", - "repo": "avante.nvim", - "type": "github" - } - }, "nvim_plugin-zbirenbaum/copilot-cmp": { "flake": false, "locked": { @@ -1106,11 +1123,11 @@ "nvim_plugin-zbirenbaum/copilot.lua": { "flake": false, "locked": { - "lastModified": 1745111203, - "narHash": "sha256-PaWWT0mSsTfnBMrmHagHgemGN5Be6rbikVVW4ZBK/Zs=", + "lastModified": 1749137204, + "narHash": "sha256-qxHpIsFFLDG/jtk6e1hkOZgDSRA5Q0+DMxxAxckNhIc=", "owner": "zbirenbaum", "repo": "copilot.lua", - "rev": "dc579f98536029610cfa32c6bad86c0d24363679", + "rev": "c1bb86abbed1a52a11ab3944ef00c8410520543d", "type": "github" }, "original": { @@ -1128,11 +1145,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1741508717, - "narHash": "sha256-iQf1WdNxaApOFHIx4RLMRZ4f8g+8Xp0Z1/E/Mz2rLxY=", + "lastModified": 1744897914, + "narHash": "sha256-GIVU92o2TZBnKQXTb76zpQbWR4zjU2rFqWKNIIpXnqA=", "owner": "yaxitech", "repo": "ragenix", - "rev": "2a2bea99d74927e54adf53cbf113219def67d5c9", + "rev": "40f2e17ecaeab4d78ec323e96a04548c0aaa5223", "type": "github" }, "original": { @@ -1200,21 +1217,21 @@ "nvim_plugin-sindrets/diffview.nvim": "nvim_plugin-sindrets/diffview.nvim", "nvim_plugin-stevearc/conform.nvim": "nvim_plugin-stevearc/conform.nvim", "nvim_plugin-stevearc/dressing.nvim": "nvim_plugin-stevearc/dressing.nvim", + "nvim_plugin-supermaven-inc/supermaven-nvim": "nvim_plugin-supermaven-inc/supermaven-nvim", "nvim_plugin-tpope/vim-sleuth": "nvim_plugin-tpope/vim-sleuth", "nvim_plugin-tpope/vim-surround": "nvim_plugin-tpope/vim-surround", "nvim_plugin-uga-rosa/ccc.nvim": "nvim_plugin-uga-rosa/ccc.nvim", "nvim_plugin-windwp/nvim-ts-autotag": "nvim_plugin-windwp/nvim-ts-autotag", - "nvim_plugin-yetone/avante.nvim": "nvim_plugin-yetone/avante.nvim", "nvim_plugin-zbirenbaum/copilot-cmp": "nvim_plugin-zbirenbaum/copilot-cmp", "nvim_plugin-zbirenbaum/copilot.lua": "nvim_plugin-zbirenbaum/copilot.lua", "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1745585761, - "narHash": "sha256-xS3068xhndFrZh9GcTTNTmeebGq1A3uVykRRdzJOj3Y=", + "lastModified": 1750190298, + "narHash": "sha256-ero30lVvCzmdKkY0lZR/RO+oTNTY1WXQh6vhfbcbTIk=", "ref": "refs/heads/master", - "rev": "e5523910a0c07c88d026d006f5962434bfa53548", - "revCount": 277, + "rev": "1ed03dac446683ef42035b53a410d857855d82d9", + "revCount": 291, "type": "git", "url": "https://git.joshuabell.xyz/ringofstorms/nvim" }, @@ -1253,11 +1270,11 @@ ] }, "locked": { - "lastModified": 1745207416, - "narHash": "sha256-2g2TnXgJEvSvpk7ujY69pSplmM3oShhoOidZf1iHTHU=", + "lastModified": 1750127910, + "narHash": "sha256-FIgEIS0RAlOyXGqoj/OufTfcKItYq668yPYL4SXdU0M=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "68a0ff1a43d08aa1ec3730e7e7d06f6da0ba630a", + "rev": "45418795a73b77b7726c62ce265d68cf541ffb49", "type": "github" }, "original": { diff --git a/hosts/gpdPocket3/flake.nix b/hosts/gpdPocket3/flake.nix index bbf4d86..866957a 100644 --- a/hosts/gpdPocket3/flake.nix +++ b/hosts/gpdPocket3/flake.nix @@ -1,9 +1,9 @@ { inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; # for local testing. - # common.url = "path:../../common + # common.url = "path:../../common"; common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles"; ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim"; @@ -35,13 +35,15 @@ environment.systemPackages = with pkgs; [ lua qdirstat - rustdesk-flutter ]; ringofstorms_common = { systemName = configuration_name; boot.systemd.enable = true; - desktopEnvironment.gnome.enable = true; + desktopEnvironment.gnome = { + enable = true; + enableRotate = true; + }; secrets.enable = true; general.enableSleep = true; programs = { @@ -50,6 +52,22 @@ tailnet.enable = true; ssh.enable = true; docker.enable = true; + flatpaks = { + enable = true; + packages = [ + "org.signal.Signal" + "com.discordapp.Discord" + "md.obsidian.Obsidian" + "com.spotify.Client" + "org.videolan.VLC" + "com.bitwarden.desktop" + "org.openscad.OpenSCAD" + "org.blender.Blender" + "im.riot.Riot" + "com.rustdesk.RustDesk" + "com.google.Chrome" + ]; + }; }; users = { # Users are all normal users and default password is password1 @@ -65,15 +83,6 @@ "input" ]; shell = pkgs.zsh; - packages = with pkgs; [ - google-chrome - discordo - discord - vlc - spotify - bitwarden - vaultwarden - ]; }; }; }; diff --git a/hosts/h001/containers/default.nix b/hosts/h001/containers/default.nix new file mode 100644 index 0000000..fcef362 --- /dev/null +++ b/hosts/h001/containers/default.nix @@ -0,0 +1,104 @@ +{ inputs }: +let + common = inputs.common; +in +{ + ... +}: +{ + imports = [ + # common.nixosModules.containers.librechat + common.nixosModules.containers.forgejo + ./opengist.nix + ./homarr.nix + ]; + + config = { + ## Give internet access + networking = { + nat = { + enable = true; + internalInterfaces = [ "ve-*" ]; + externalInterface = "enp0s31f6"; + enableIPv6 = true; + }; + firewall.trustedInterfaces = [ "ve-*" ]; + }; + + containers.wasabi = { + ephemeral = true; + autoStart = true; + privateNetwork = true; + hostAddress = "10.0.0.1"; + localAddress = "10.0.0.111"; + config = + { config, pkgs, ... }: + { + system.stateVersion = "24.11"; + services.httpd.enable = true; + services.httpd.adminAddr = "foo@example.org"; + networking.firewall = { + enable = true; + allowedTCPPorts = [ 80 ]; + }; + }; + }; + + virtualisation.oci-containers.containers = { + ntest = { + image = "nginx:alpine"; + ports = [ + "127.0.0.1:8085:80" + ]; + }; + }; + + virtualisation.oci-containers.backend = "podman"; + + security.acme.acceptTerms = true; + security.acme.defaults.email = "admin@joshuabell.xyz"; + services.nginx = { + enable = true; + recommendedGzipSettings = true; + recommendedOptimisation = true; + recommendedProxySettings = true; + recommendedTlsSettings = true; + virtualHosts = { + "localhost" = { + locations."/" = { + proxyPass = "http://10.0.0.111"; + }; + }; + + # forgejo http traffic + "git.joshuabell.xyz" = { + locations."/" = { + proxyPass = "http://10.0.0.2:3000"; + }; + }; + + "_" = { + default = true; + locations."/" = { + return = "404"; # or 444 for drop + }; + }; + }; + + # STREAMS + # Forgejo ssh + streamConfig = '' + server { + listen 3032; + proxy_pass 10.0.0.2:3032; + } + ''; + + }; + + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; + }; +} diff --git a/hosts/h001/containers/homarr.nix b/hosts/h001/containers/homarr.nix new file mode 100644 index 0000000..9ebed37 --- /dev/null +++ b/hosts/h001/containers/homarr.nix @@ -0,0 +1,32 @@ +{ + ... +}: +let + name = "homarr"; + hostDataDir = "/var/lib/${name}"; + + v_port = 7575; +in +{ + virtualisation.oci-containers.containers = { + "${name}" = { + image = "ghcr.io/homarr-labs/homarr:latest"; + ports = [ + "127.0.0.1:${toString v_port}:${toString v_port}" + ]; + volumes = [ + "${hostDataDir}:/appdata" + "/var/run/docker.sock:/var/run/docker.sock" + ]; + environment = { + SECRET_ENCRYPTION_KEY = "0b7e80116a742d16a8f07452a2d9b206b1997d32a6dd2c29cfe4df676e281295"; + }; + }; + }; + + system.activationScripts."${name}_directories" = '' + mkdir -p ${hostDataDir} + chown -R root:root ${hostDataDir} + chmod -R 777 ${hostDataDir} + ''; +} diff --git a/hosts/oracle/o001/containers/opengist.nix b/hosts/h001/containers/opengist.nix similarity index 77% rename from hosts/oracle/o001/containers/opengist.nix rename to hosts/h001/containers/opengist.nix index 444e443..e529b94 100644 --- a/hosts/oracle/o001/containers/opengist.nix +++ b/hosts/h001/containers/opengist.nix @@ -8,10 +8,8 @@ let v_port = 6157; in { - virtualisation.oci-containers.backend = "docker"; virtualisation.oci-containers.containers = { - opengist = { - user = "root"; + "${name}" = { image = "ghcr.io/thomiceli/opengist:1"; ports = [ "127.0.0.1:${toString v_port}:${toString v_port}" @@ -24,10 +22,13 @@ in }; }; }; + system.activationScripts."${name}_directories" = '' + mkdir -p ${hostDataDir} + chown -R root:root ${hostDataDir} + chmod -R 777 ${hostDataDir} + ''; services.nginx.virtualHosts."gist.joshuabell.xyz" = { - enableACME = true; - forceSSL = true; locations = { "/" = { proxyWebsockets = true; diff --git a/hosts/h001/flake.lock b/hosts/h001/flake.lock index 04a823c..987af3b 100644 --- a/hosts/h001/flake.lock +++ b/hosts/h001/flake.lock @@ -28,15 +28,16 @@ "common": { "inputs": { "home-manager": "home-manager", + "nix-flatpak": "nix-flatpak", "nixpkgs": "nixpkgs_2", "ragenix": "ragenix" }, "locked": { - "lastModified": 1745956269, - "narHash": "sha256-rD++3De0ixxLWQcCVJIQzNam5TKXfP5BOX/wZbjlshY=", + "lastModified": 1750780721, + "narHash": "sha256-EgWdBolm8wPXY9iuTHPXykJiQRzSnfXzkCXpNooxEB8=", "ref": "refs/heads/master", - "rev": "45834a4caf0c72e965fce9e5aa394db35f7a76fe", - "revCount": 423, + "rev": "2004734c7b7d77638874b63e147970199830c3fd", + "revCount": 500, "type": "git", "url": "https://git.joshuabell.xyz/ringofstorms/dotfiles" }, @@ -107,16 +108,16 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1744743431, - "narHash": "sha256-iyn/WBYDc7OtjSawbegINDe/gIkok888kQxk3aVnkgg=", + "lastModified": 1749154018, + "narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=", "owner": "rycee", "repo": "home-manager", - "rev": "c61bfe3ae692f42ce688b5865fac9e0de58e1387", + "rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111", "type": "github" }, "original": { "owner": "rycee", - "ref": "release-24.11", + "ref": "release-25.05", "repo": "home-manager", "type": "github" } @@ -144,29 +145,65 @@ "type": "github" } }, + "nix-flatpak": { + "locked": { + "lastModified": 1739444422, + "narHash": "sha256-iAVVHi7X3kWORftY+LVbRiStRnQEob2TULWyjMS6dWg=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "5e54c3ca05a7c7d968ae1ddeabe01d2a9bc1e177", + "type": "github" + }, + "original": { + "owner": "gmodena", + "ref": "latest", + "repo": "nix-flatpak", + "type": "github" + } + }, + "nixarr": { + "inputs": { + "nixpkgs": "nixpkgs_4", + "vpnconfinement": "vpnconfinement", + "website-builder": "website-builder" + }, + "locked": { + "lastModified": 1750367617, + "narHash": "sha256-1kz35TbeqhJMdo1s/WHidoUT64IuoKCGlngv5/JCHiw=", + "owner": "rasmus-kirk", + "repo": "nixarr", + "rev": "450d76583ae6ec025577bde7da2a38cfc7fb0510", + "type": "github" + }, + "original": { + "owner": "rasmus-kirk", + "repo": "nixarr", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1731755305, - "narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=", + "lastModified": 1749024892, + "narHash": "sha256-OGcDEz60TXQC+gVz5sdtgGJdKVYr6rwdzQKuZAJQpCA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4", + "rev": "8f1b52b04f2cb6e5ead50bd28d76528a2f0380ef", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_2": { "locked": { - "lastModified": 1744463964, - "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "type": "github" }, "original": { @@ -194,27 +231,43 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1745868005, - "narHash": "sha256-hZScOyQphT4RUmSEJX+2OxjIlGgLwSd8iW1LNtAWIOs=", + "lastModified": 1748662220, + "narHash": "sha256-7gGa49iB9nCnFk4h/g9zwjlQAyjtpgcFkODjcOQS0Es=", "owner": "nixos", "repo": "nixpkgs", - "rev": "330d0a4167924b43f31cc9406df363f71b768a02", + "rev": "59138c7667b7970d205d6a05a8bfa2d78caa3643", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.11", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_5": { "locked": { - "lastModified": 1745250177, - "narHash": "sha256-NPkMDgRHLVuNHs7y/MK3qYbE/5uo42mskUIygSHEOLM=", + "lastModified": 1750400657, + "narHash": "sha256-3vkjFnxCOP6vm5Pm13wC/Zy6/VYgei/I/2DWgW4RFeA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d1e61a9c582ec2f701b36d4600ae19b8099c5211", + "rev": "b2485d56967598da068b5a6946dadda8bfcbcd37", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-25.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1750188666, + "narHash": "sha256-yAfLvtbCzSigTfbsJeOrvljS7VYLAwi2RZ6F+qd+A5E=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "aa36c6c05d04f90cf890f87845be9380cf7b83c2", "type": "github" }, "original": { @@ -226,11 +279,11 @@ "nvim_plugin-Almo7aya/openingh.nvim": { "flake": false, "locked": { - "lastModified": 1744327913, - "narHash": "sha256-WQ7GbrjtikpMnzzME59QSibZI0hjzt/KAGDmXa677Rw=", + "lastModified": 1746139196, + "narHash": "sha256-/FlNLWOSIrOYiWzAcgOdu9//QTorCDV1KWb+h6eqLwk=", "owner": "Almo7aya", "repo": "openingh.nvim", - "rev": "ce19b5ffe09e35cec600ba794df280cbb72c015f", + "rev": "7cc8c897cb6b34d8ed28e99d95baccef609ed251", "type": "github" }, "original": { @@ -242,11 +295,11 @@ "nvim_plugin-CopilotC-Nvim/CopilotChat.nvim": { "flake": false, "locked": { - "lastModified": 1745008876, - "narHash": "sha256-/GdJNqoDpdsPCOjcESbtEEDCz5TYkvbPRY1/T0gF7IY=", + "lastModified": 1750069301, + "narHash": "sha256-lIAsudDunKOY69r00czO+rmMbM+woIdIGroT4dUZAFc=", "owner": "CopilotC-Nvim", "repo": "CopilotChat.nvim", - "rev": "634aa58117a9b70b3f08a0b150f11afd64f1c0eb", + "rev": "5df0b668d23c05c173f6bc79bb19642215b8b66a", "type": "github" }, "original": { @@ -274,11 +327,11 @@ "nvim_plugin-L3MON4D3/LuaSnip": { "flake": false, "locked": { - "lastModified": 1736009707, - "narHash": "sha256-3ecm5SDTcSOh256xSQPHhddQfMpepiEIpv58fHXrVg0=", + "lastModified": 1749564222, + "narHash": "sha256-StttV19d5gWbFPxerCOX3dXIaRwg1oeUANIbNztALps=", "owner": "L3MON4D3", "repo": "LuaSnip", - "rev": "c9b9a22904c97d0eb69ccb9bab76037838326817", + "rev": "fb525166ccc30296fb3457441eb979113de46b00", "type": "github" }, "original": { @@ -290,11 +343,11 @@ "nvim_plugin-MeanderingProgrammer/render-markdown.nvim": { "flake": false, "locked": { - "lastModified": 1744934679, - "narHash": "sha256-rTX+CCVOOU6ZzM5NvymJvOfJF10BRMfl8hdSJz0zw+Q=", + "lastModified": 1749846779, + "narHash": "sha256-j1aslQ3SPD9ZuhQDEt9e5GD+VZ6N6Re7IjVFXycaxWI=", "owner": "MeanderingProgrammer", "repo": "render-markdown.nvim", - "rev": "dfc1299d9f32b53b34b7ac6c3a7553b5fd29977f", + "rev": "76f7ce56ccb913632745714f160faa53164c5574", "type": "github" }, "original": { @@ -306,11 +359,11 @@ "nvim_plugin-MunifTanjim/nui.nvim": { "flake": false, "locked": { - "lastModified": 1741233810, - "narHash": "sha256-BYTY2ezYuxsneAl/yQbwL1aQvVWKSsN3IVqzTlrBSEU=", + "lastModified": 1749392788, + "narHash": "sha256-41slmnvt1z7sCxvpiVuFmQ9g7eCaxQi1dDCL3AxSL1A=", "owner": "MunifTanjim", "repo": "nui.nvim", - "rev": "8d3bce9764e627b62b07424e0df77f680d47ffdb", + "rev": "de740991c12411b663994b2860f1a4fd0937c130", "type": "github" }, "original": { @@ -322,11 +375,11 @@ "nvim_plugin-RRethy/vim-illuminate": { "flake": false, "locked": { - "lastModified": 1744859423, - "narHash": "sha256-zqXKkrUNTH/EIx3PBRN8+mQcbWa6fO9i/UoSeav5R/w=", + "lastModified": 1748105647, + "narHash": "sha256-KqAJRCtDBG5xsvNsqkxoBdDckg02u4NBBreYQw7BphA=", "owner": "RRethy", "repo": "vim-illuminate", - "rev": "1fa4b23409e22a03823648e344c77f260e2572cb", + "rev": "0d1e93684da00ab7c057410fecfc24f434698898", "type": "github" }, "original": { @@ -338,11 +391,11 @@ "nvim_plugin-Saecki/crates.nvim": { "flake": false, "locked": { - "lastModified": 1744379189, - "narHash": "sha256-HsdDeV3mMQwrzlP23bJnNkiSL5OELgn0WBTERxehviE=", + "lastModified": 1748637634, + "narHash": "sha256-sDjG6fjnQsyYtdf7xpmOW193e7USh6ghrFzo6NoLyP8=", "owner": "Saecki", "repo": "crates.nvim", - "rev": "73d2c590c74a0c582144987a4decb4a642755859", + "rev": "5d8b1bef686db0fabe5f1bb593744b617e8f1405", "type": "github" }, "original": { @@ -354,11 +407,11 @@ "nvim_plugin-aznhe21/actions-preview.nvim": { "flake": false, "locked": { - "lastModified": 1740589350, - "narHash": "sha256-MP1hohDL2JFembwW+cb2S+v2Y7j0iZw1jPPKTZiNCWI=", + "lastModified": 1745779150, + "narHash": "sha256-rQjwlu5gQcOvxF72lr9ugPRl0W78wCWGWPhpN1oOMbs=", "owner": "aznhe21", "repo": "actions-preview.nvim", - "rev": "4ab7842eb6a5b6d2b004f8234dcf33382a0fdde2", + "rev": "36513ad213855d497b7dd3391a24d1d75d58e36f", "type": "github" }, "original": { @@ -370,11 +423,11 @@ "nvim_plugin-b0o/schemastore.nvim": { "flake": false, "locked": { - "lastModified": 1745020938, - "narHash": "sha256-qDcVJ2RovKSIcUdVnXNcQZHoAf75IqsTMlsclDFrT2U=", + "lastModified": 1750179699, + "narHash": "sha256-EGt75z/NbjzDXxsyXT9Qj2wWOf06ijUr1If5ljmfLqo=", "owner": "b0o", "repo": "schemastore.nvim", - "rev": "e623e30df4053cacc67fb7eb04e1bd0fadba52b4", + "rev": "45fd6c22f30487586c771072dc8c5230931e4c7b", "type": "github" }, "original": { @@ -386,11 +439,11 @@ "nvim_plugin-catppuccin/nvim": { "flake": false, "locked": { - "lastModified": 1740764472, - "narHash": "sha256-4h/fzFY8JR9r+QnoiWEqgQKPMuu8i9HTC4v0Jp7iuUo=", + "lastModified": 1749271780, + "narHash": "sha256-wt/Ybjgr4N80B+QsyANs1QezM7PpFceUWSweRFgkhl0=", "owner": "catppuccin", "repo": "nvim", - "rev": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429", + "rev": "fa42eb5e26819ef58884257d5ae95dd0552b9a66", "type": "github" }, "original": { @@ -402,11 +455,11 @@ "nvim_plugin-chrisgrieser/nvim-early-retirement": { "flake": false, "locked": { - "lastModified": 1744450582, - "narHash": "sha256-ybs65ObtjcUBaGglxP3SIpYjlGSEk/MQI9nSN8S3Q1w=", + "lastModified": 1750108178, + "narHash": "sha256-3I7Xup+v9Yq9/nJQ1F5CDW99oFQcxbinv7VQcKeA16Y=", "owner": "chrisgrieser", "repo": "nvim-early-retirement", - "rev": "3b14762a0186b1922cb5ddf3a760d8521c7b3d7e", + "rev": "d9ffd8f70ed6d466cecd3e7e2dd1425b0010932f", "type": "github" }, "original": { @@ -578,11 +631,11 @@ "nvim_plugin-lewis6991/gitsigns.nvim": { "flake": false, "locked": { - "lastModified": 1745219545, - "narHash": "sha256-7WQ428oPr43z01HvNpArZJcUov61/pDtLqJtkEKnBAY=", + "lastModified": 1750058704, + "narHash": "sha256-V9aXXR9ZP2G/XInHt07RylC4rS+AyMXAAfODvC6pVxw=", "owner": "lewis6991", "repo": "gitsigns.nvim", - "rev": "2149fc2009d1117d58e86e56836f70c969f60a82", + "rev": "88205953bd748322b49b26e1dfb0389932520dc9", "type": "github" }, "original": { @@ -626,11 +679,11 @@ "nvim_plugin-m4xshen/hardtime.nvim": { "flake": false, "locked": { - "lastModified": 1744007533, - "narHash": "sha256-KCz8UNL7SkI4cP7wKmQPJgkI4TsQftnHjaMSBYCgrOY=", + "lastModified": 1750160168, + "narHash": "sha256-hzFX5mZRxTDDIp/iBVl4lqEaQryLQOe7jFJmXDwq4J8=", "owner": "m4xshen", "repo": "hardtime.nvim", - "rev": "9aaec65de041bddfc4c0af66919030d2950bcea8", + "rev": "b9a989191b3a97c9316a0efea02341c4cdab845a", "type": "github" }, "original": { @@ -658,11 +711,11 @@ "nvim_plugin-mfussenegger/nvim-lint": { "flake": false, "locked": { - "lastModified": 1745090089, - "narHash": "sha256-Pwxk2C5WaaaW7Ookbq2edvLSJh6ZQc3iWMxowHyQkFQ=", + "lastModified": 1749731021, + "narHash": "sha256-V4JJ1VQXoIsUBTxe6ykbkyo6LxEAr+QEIqIV3mA9phs=", "owner": "mfussenegger", "repo": "nvim-lint", - "rev": "d698d3b6fd7b1b85657d05a2a31d843ddb682c63", + "rev": "2b0039b8be9583704591a13129c600891ac2c596", "type": "github" }, "original": { @@ -674,11 +727,11 @@ "nvim_plugin-mrcjkb/rustaceanvim": { "flake": false, "locked": { - "lastModified": 1745050087, - "narHash": "sha256-nkCVQ+TXiaKm17HXaAMVuRMV3Jbxv8aRIO6re4zEgDw=", + "lastModified": 1750024924, + "narHash": "sha256-gmOqCnSLGDNerXyuuNhkyL/pSJitnyqBdWC3LejZoS4=", "owner": "mrcjkb", "repo": "rustaceanvim", - "rev": "69636cedf0d6aabf0eac3dfbce24883fe1051a3d", + "rev": "2fdf224107e5bc29fb5c3a175f5f2c9161b34741", "type": "github" }, "original": { @@ -690,11 +743,11 @@ "nvim_plugin-neovim/nvim-lspconfig": { "flake": false, "locked": { - "lastModified": 1745247686, - "narHash": "sha256-rnm/BJNMVxcYH/ZXf1HciXgG0UWhAeQQniOaSvi0E40=", + "lastModified": 1750169575, + "narHash": "sha256-lJWMFgQLQhKUuv50WrYXlJ3TFqT04nVbmcBGVDaSz0k=", "owner": "neovim", "repo": "nvim-lspconfig", - "rev": "b335f1c72877f101248d3b085d4b7da7576361d7", + "rev": "99d3a0f26bfe402f45257c1398287aef252cbe2d", "type": "github" }, "original": { @@ -706,11 +759,11 @@ "nvim_plugin-nosduco/remote-sshfs.nvim": { "flake": false, "locked": { - "lastModified": 1743352525, - "narHash": "sha256-YNqj1vPc2oyVrSgp+huoMkrUAp2Lx3G4W52liOujP6A=", + "lastModified": 1748880705, + "narHash": "sha256-eTnVFOR7FHlkU9kwrk3q3pNo/U8OR2gJrnrMUQKGi2A=", "owner": "nosduco", "repo": "remote-sshfs.nvim", - "rev": "1ae5784bf0729c8b03cb7fe6561508a673c9adc8", + "rev": "6e893c32ff7c5b8d0d501b748c525fa53963fb35", "type": "github" }, "original": { @@ -754,11 +807,11 @@ "nvim_plugin-nvim-lualine/lualine.nvim": { "flake": false, "locked": { - "lastModified": 1744482854, - "narHash": "sha256-XeAFXg6GWzMJV/HzfdCXtv/effAHVU7mioFKTf1kDc8=", + "lastModified": 1749383457, + "narHash": "sha256-2aPgA7riA/FubQpTkqsxLKl7OZ8L6FkucNHc2QEx2HQ=", "owner": "nvim-lualine", "repo": "lualine.nvim", - "rev": "86fe39534b7da729a1ac56c0466e76f2c663dc42", + "rev": "a94fc68960665e54408fe37dcf573193c4ce82c9", "type": "github" }, "original": { @@ -770,11 +823,11 @@ "nvim_plugin-nvim-telescope/telescope-file-browser.nvim": { "flake": false, "locked": { - "lastModified": 1729728595, - "narHash": "sha256-VJbRi91TTOwUkQYyTM6Njl7MtX8/mOjINiqWYWEtyxg=", + "lastModified": 1750040034, + "narHash": "sha256-NHcU3c+1pLeypHr9xXKmqvdwB1QM/vj5axzjpFEQCLQ=", "owner": "nvim-telescope", "repo": "telescope-file-browser.nvim", - "rev": "626998e5c1b71c130d8bc6cf7abb6709b98287bb", + "rev": "7bf55ed0ff5be182ad3301cff266581fc1c56cce", "type": "github" }, "original": { @@ -818,11 +871,11 @@ "nvim_plugin-nvim-telescope/telescope.nvim": { "flake": false, "locked": { - "lastModified": 1742346322, - "narHash": "sha256-GF1zOHZItVZm3bx2wqI4hPj7EXQJ2F9KS4MtaEt2gm0=", + "lastModified": 1747012888, + "narHash": "sha256-JpW0ehsX81yVbKNzrYOe1hdgVMs6oaaxMLH6lECnOJg=", "owner": "nvim-telescope", "repo": "telescope.nvim", - "rev": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5", + "rev": "b4da76be54691e854d3e0e02c36b0245f945c2c7", "type": "github" }, "original": { @@ -834,11 +887,11 @@ "nvim_plugin-nvim-tree/nvim-tree.lua": { "flake": false, "locked": { - "lastModified": 1745201081, - "narHash": "sha256-zQsqyJgqlvxniKOtwPSzArUaOwvIgo6Xm+oAjAbPda4=", + "lastModified": 1750143568, + "narHash": "sha256-E2YdGlvvpnT/PiayfQldwpbCnjsyNDcoTzxgMf2ajV8=", "owner": "nvim-tree", "repo": "nvim-tree.lua", - "rev": "be5b788f2dc1522c73fb7afad9092331c8aebe80", + "rev": "d54a1875a91e1a705795ea26074795210b92ce7f", "type": "github" }, "original": { @@ -850,11 +903,11 @@ "nvim_plugin-nvim-tree/nvim-web-devicons": { "flake": false, "locked": { - "lastModified": 1745131674, - "narHash": "sha256-uoT45oaeY5c1+A7pVQIS+Bj9JnrSy9rQAecvaWZht+c=", + "lastModified": 1747360641, + "narHash": "sha256-+RHeFaeCF/iwAf8qAOjbEIl3YcnrBMVfkQnnzDNhyTA=", "owner": "nvim-tree", "repo": "nvim-web-devicons", - "rev": "855c97005c8eebcdd19846f2e54706bffd40ee96", + "rev": "1fb58cca9aebbc4fd32b086cb413548ce132c127", "type": "github" }, "original": { @@ -866,11 +919,11 @@ "nvim_plugin-nvim-treesitter/nvim-treesitter-context": { "flake": false, "locked": { - "lastModified": 1744921782, - "narHash": "sha256-w3I3w1SGqtpUnu4KQyaLue+k96XmkgA3+DpxSEjj+WI=", + "lastModified": 1749893617, + "narHash": "sha256-QJAfpVdTHTxjUgggQekRLvNYuvG12gjtfTGybfcFdyo=", "owner": "nvim-treesitter", "repo": "nvim-treesitter-context", - "rev": "6daca3ad780f045550b820f262002f35175a6c04", + "rev": "1a1a7c5d6d75cb49bf64049dafab15ebe294a79f", "type": "github" }, "original": { @@ -882,11 +935,11 @@ "nvim_plugin-rafamadriz/friendly-snippets": { "flake": false, "locked": { - "lastModified": 1745202387, - "narHash": "sha256-R6xE5vwgFtyEYpET0E4ecZejuV/lNHFkumk+wGf3lbI=", + "lastModified": 1745949052, + "narHash": "sha256-FzApcTbWfFkBD9WsYMhaCyn6ky8UmpUC2io/co/eByM=", "owner": "rafamadriz", "repo": "friendly-snippets", - "rev": "fc8f183479a472df60aa86f00e295462f2308178", + "rev": "572f5660cf05f8cd8834e096d7b4c921ba18e175", "type": "github" }, "original": { @@ -914,11 +967,11 @@ "nvim_plugin-rmagatti/auto-session": { "flake": false, "locked": { - "lastModified": 1745009508, - "narHash": "sha256-NCytp+DiOo3obZeQ9bpaEaNMfstf1Ytn0OR5mAWodLw=", + "lastModified": 1749967462, + "narHash": "sha256-1pIGu/GJ4FiMH/yHhoo6Gu0HLC3rFQiesJBuv8uE7Vw=", "owner": "rmagatti", "repo": "auto-session", - "rev": "71c8af9a99e96b9d2533cf4bac4dfed1eafab923", + "rev": "fffb13dcbe8731b8650e5bf1caa749a485d20556", "type": "github" }, "original": { @@ -978,11 +1031,11 @@ "nvim_plugin-stevearc/conform.nvim": { "flake": false, "locked": { - "lastModified": 1745180802, - "narHash": "sha256-J/GKqn2VHv/ydaFXWCFduV2B7iwZzHtUvFArszxf2Cw=", + "lastModified": 1749498876, + "narHash": "sha256-n1IPUNwD14WlDU4zbgfJuhXQcVMt8oc4wCuUJBPJ+y4=", "owner": "stevearc", "repo": "conform.nvim", - "rev": "372fc521f8421b7830ea6db4d6ea3bae1c77548c", + "rev": "8132ec733eed3bf415b97b76797ca41b59f51d7d", "type": "github" }, "original": { @@ -1007,6 +1060,22 @@ "type": "github" } }, + "nvim_plugin-supermaven-inc/supermaven-nvim": { + "flake": false, + "locked": { + "lastModified": 1728314930, + "narHash": "sha256-1z3WKIiikQqoweReUyK5O8MWSRN5y95qcxM6qzlKMME=", + "owner": "supermaven-inc", + "repo": "supermaven-nvim", + "rev": "07d20fce48a5629686aefb0a7cd4b25e33947d50", + "type": "github" + }, + "original": { + "owner": "supermaven-inc", + "repo": "supermaven-nvim", + "type": "github" + } + }, "nvim_plugin-tpope/vim-sleuth": { "flake": false, "locked": { @@ -1042,11 +1111,11 @@ "nvim_plugin-uga-rosa/ccc.nvim": { "flake": false, "locked": { - "lastModified": 1744103477, - "narHash": "sha256-MSh9tJv9UNfceO1yQIvID36x/fLGmgFcnIzJ9LOog0A=", + "lastModified": 1746537659, + "narHash": "sha256-3TZ8VmvdgQ9n63m78C3r4OIUkVQHTHBvC24ixBdhTig=", "owner": "uga-rosa", "repo": "ccc.nvim", - "rev": "af2cf5a963f401aad868c065222ee13d4bbc9050", + "rev": "9d1a256e006decc574789dfc7d628ca11644d4c2", "type": "github" }, "original": { @@ -1071,22 +1140,6 @@ "type": "github" } }, - "nvim_plugin-yetone/avante.nvim": { - "flake": false, - "locked": { - "lastModified": 1744881650, - "narHash": "sha256-BzRFgcBG4vn7mamwLvviMl4erTPwg+1AkAb3Ss4Kq8E=", - "owner": "yetone", - "repo": "avante.nvim", - "rev": "eb1cd44731783024621beafe4e46204cbc9a4320", - "type": "github" - }, - "original": { - "owner": "yetone", - "repo": "avante.nvim", - "type": "github" - } - }, "nvim_plugin-zbirenbaum/copilot-cmp": { "flake": false, "locked": { @@ -1106,11 +1159,11 @@ "nvim_plugin-zbirenbaum/copilot.lua": { "flake": false, "locked": { - "lastModified": 1745111203, - "narHash": "sha256-PaWWT0mSsTfnBMrmHagHgemGN5Be6rbikVVW4ZBK/Zs=", + "lastModified": 1749137204, + "narHash": "sha256-qxHpIsFFLDG/jtk6e1hkOZgDSRA5Q0+DMxxAxckNhIc=", "owner": "zbirenbaum", "repo": "copilot.lua", - "rev": "dc579f98536029610cfa32c6bad86c0d24363679", + "rev": "c1bb86abbed1a52a11ab3944ef00c8410520543d", "type": "github" }, "original": { @@ -1128,11 +1181,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1741508717, - "narHash": "sha256-iQf1WdNxaApOFHIx4RLMRZ4f8g+8Xp0Z1/E/Mz2rLxY=", + "lastModified": 1744897914, + "narHash": "sha256-GIVU92o2TZBnKQXTb76zpQbWR4zjU2rFqWKNIIpXnqA=", "owner": "yaxitech", "repo": "ragenix", - "rev": "2a2bea99d74927e54adf53cbf113219def67d5c9", + "rev": "40f2e17ecaeab4d78ec323e96a04548c0aaa5223", "type": "github" }, "original": { @@ -1144,13 +1197,14 @@ "root": { "inputs": { "common": "common", - "nixpkgs": "nixpkgs_4", + "nixarr": "nixarr", + "nixpkgs": "nixpkgs_5", "ros_neovim": "ros_neovim" } }, "ros_neovim": { "inputs": { - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_6", "nvim_plugin-Almo7aya/openingh.nvim": "nvim_plugin-Almo7aya/openingh.nvim", "nvim_plugin-CopilotC-Nvim/CopilotChat.nvim": "nvim_plugin-CopilotC-Nvim/CopilotChat.nvim", "nvim_plugin-JoosepAlviste/nvim-ts-context-commentstring": "nvim_plugin-JoosepAlviste/nvim-ts-context-commentstring", @@ -1200,21 +1254,21 @@ "nvim_plugin-sindrets/diffview.nvim": "nvim_plugin-sindrets/diffview.nvim", "nvim_plugin-stevearc/conform.nvim": "nvim_plugin-stevearc/conform.nvim", "nvim_plugin-stevearc/dressing.nvim": "nvim_plugin-stevearc/dressing.nvim", + "nvim_plugin-supermaven-inc/supermaven-nvim": "nvim_plugin-supermaven-inc/supermaven-nvim", "nvim_plugin-tpope/vim-sleuth": "nvim_plugin-tpope/vim-sleuth", "nvim_plugin-tpope/vim-surround": "nvim_plugin-tpope/vim-surround", "nvim_plugin-uga-rosa/ccc.nvim": "nvim_plugin-uga-rosa/ccc.nvim", "nvim_plugin-windwp/nvim-ts-autotag": "nvim_plugin-windwp/nvim-ts-autotag", - "nvim_plugin-yetone/avante.nvim": "nvim_plugin-yetone/avante.nvim", "nvim_plugin-zbirenbaum/copilot-cmp": "nvim_plugin-zbirenbaum/copilot-cmp", "nvim_plugin-zbirenbaum/copilot.lua": "nvim_plugin-zbirenbaum/copilot.lua", "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1745585761, - "narHash": "sha256-xS3068xhndFrZh9GcTTNTmeebGq1A3uVykRRdzJOj3Y=", + "lastModified": 1750190298, + "narHash": "sha256-ero30lVvCzmdKkY0lZR/RO+oTNTY1WXQh6vhfbcbTIk=", "ref": "refs/heads/master", - "rev": "e5523910a0c07c88d026d006f5962434bfa53548", - "revCount": 277, + "rev": "1ed03dac446683ef42035b53a410d857855d82d9", + "revCount": 291, "type": "git", "url": "https://git.joshuabell.xyz/ringofstorms/nvim" }, @@ -1253,11 +1307,11 @@ ] }, "locked": { - "lastModified": 1745207416, - "narHash": "sha256-2g2TnXgJEvSvpk7ujY69pSplmM3oShhoOidZf1iHTHU=", + "lastModified": 1750127910, + "narHash": "sha256-FIgEIS0RAlOyXGqoj/OufTfcKItYq668yPYL4SXdU0M=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "68a0ff1a43d08aa1ec3730e7e7d06f6da0ba630a", + "rev": "45418795a73b77b7726c62ce265d68cf541ffb49", "type": "github" }, "original": { @@ -1295,6 +1349,42 @@ "repo": "default", "type": "github" } + }, + "vpnconfinement": { + "locked": { + "lastModified": 1743810720, + "narHash": "sha256-kbv/W4gizUSa6qH2rUQdgPj9AJaeN9k2XSWUYqj7IMU=", + "owner": "Maroka-chan", + "repo": "VPN-Confinement", + "rev": "74ae51e6d18b972ecc918ab43e8bde60c21a65d8", + "type": "github" + }, + "original": { + "owner": "Maroka-chan", + "repo": "VPN-Confinement", + "type": "github" + } + }, + "website-builder": { + "inputs": { + "nixpkgs": [ + "nixarr", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1750317638, + "narHash": "sha256-B4RWcXXOLO6gMeYyV+K4olu+kGGsYamKH+JAm0cIXqI=", + "owner": "rasmus-kirk", + "repo": "website-builder", + "rev": "b54192000a00e865947f45bacf3184d56363ee38", + "type": "github" + }, + "original": { + "owner": "rasmus-kirk", + "repo": "website-builder", + "type": "github" + } } }, "root": "root", diff --git a/hosts/h001/flake.nix b/hosts/h001/flake.nix index ef45406..3f5c1ff 100644 --- a/hosts/h001/flake.nix +++ b/hosts/h001/flake.nix @@ -1,6 +1,6 @@ { inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; # nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; # Use relative to get current version for testing @@ -8,6 +8,8 @@ common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles"; ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim"; + + nixarr.url = "github:rasmus-kirk/nixarr"; }; outputs = @@ -15,8 +17,9 @@ nixpkgs, common, ros_neovim, + nixarr, ... - }: + }@inputs: let configuration_name = "h001"; lib = nixpkgs.lib; @@ -28,23 +31,31 @@ modules = [ common.nixosModules.default ros_neovim.nixosModules.default + nixarr.nixosModules.default ./configuration.nix ./hardware-configuration.nix + ./mods + ./nginx.nix + (import ./containers { inherit inputs; }) ( { config, pkgs, ... }: { environment.systemPackages = with pkgs; [ lua + sqlite ]; ringofstorms_common = { systemName = configuration_name; boot.systemd.enable = true; secrets.enable = true; + general = { + reporting.enable = true; + }; programs = { tailnet.enable = true; ssh.enable = true; - docker.enable = true; + podman.enable = true; }; users = { admins = [ "luser" ]; # First admin is also the primary user owning nix config diff --git a/hosts/h001/hardware-configuration.nix b/hosts/h001/hardware-configuration.nix index 9a0573e..a3b417a 100644 --- a/hosts/h001/hardware-configuration.nix +++ b/hosts/h001/hardware-configuration.nix @@ -36,10 +36,15 @@ ]; }; + fileSystems."/drives/wd10" = { + device = "/dev/sda"; + fsType = "ext4"; + }; + swapDevices = [ { device = "/.swapfile"; - size = 64 * 1024; # 64GB + size = 4 * 1024; # 4GB } ]; networking.useDHCP = lib.mkDefault true; diff --git a/hosts/h001/mods/adguardhome.nix b/hosts/h001/mods/adguardhome.nix new file mode 100644 index 0000000..314e469 --- /dev/null +++ b/hosts/h001/mods/adguardhome.nix @@ -0,0 +1,29 @@ +{ + ... +}: +{ + config = { + services.adguardhome = { + enable = true; + allowDHCP = true; + openFirewall = false; + }; + + networking.firewall.allowedTCPPorts = [ + 53 + 67 + 68 + 5543 + 3000 + ]; + networking.firewall.allowedUDPPorts = [ + 53 + 67 + 68 + 784 + 853 + 8853 + 5443 + ]; + }; +} diff --git a/hosts/h001/mods/default.nix b/hosts/h001/mods/default.nix new file mode 100644 index 0000000..dbd2ac6 --- /dev/null +++ b/hosts/h001/mods/default.nix @@ -0,0 +1,10 @@ +{ + ... +}: +{ + imports = [ + ./adguardhome.nix + ./nixarr.nix + ./monitoring.nix + ]; +} diff --git a/hosts/h001/mods/monitoring.nix b/hosts/h001/mods/monitoring.nix new file mode 100644 index 0000000..cf4431a --- /dev/null +++ b/hosts/h001/mods/monitoring.nix @@ -0,0 +1,140 @@ +{ + config, + ... +}: +{ + config = { + services.prometheus = { + enable = true; + scrapeConfigs = [ + { + job_name = "node"; + static_configs = [ + { + targets = [ "localhost:9100" ]; + labels.instance = config.networking.hostName; # h001 + } + { + targets = [ "lio.net.joshuabell.xyz:9100" ]; + labels.instance = "lio"; + } + ]; + } + ]; + }; + + services.grafana = { + enable = true; + dataDir = "/var/lib/grafana"; + settings = { + server = { + http_port = 3001; + http_addr = "127.0.0.1"; + serve_from_sub_path = true; + domain = "h001.net.joshuabell.xyz"; + root_url = "http://h001.net.joshuabell.xyz/grafana/"; + enforce_domain = true; + enable_gzip = true; + }; + }; + provision = { + datasources.settings.datasources = [ + { + name = "Prometheus"; + type = "prometheus"; + url = "http://localhost:9090"; + access = "proxy"; + isDefault = true; # Set as default, if you want + } + { + name = "Loki"; + type = "loki"; + url = "http://localhost:3100"; + access = "proxy"; + isDefault = false; + } + ]; + }; + }; + + # Loki for log aggregation + systemd.tmpfiles.rules = [ + "d /var/lib/loki 0755 loki loki -" + "d /var/lib/loki/chunks 0755 loki loki -" + "d /var/lib/loki/rules 0755 loki loki -" + "d /var/lib/loki/compactor 0755 loki loki -" + ]; + services.loki = { + enable = true; + configuration = { + auth_enabled = false; + + server = { + http_listen_port = 3100; + }; + + common = { + path_prefix = "/var/lib/loki"; + storage = { + filesystem = { + chunks_directory = "/var/lib/loki/chunks"; + rules_directory = "/var/lib/loki/rules"; + }; + }; + replication_factor = 1; + ring = { + kvstore = { + store = "inmemory"; + }; + }; + }; + + schema_config = { + configs = [ + { + from = "2023-01-01"; + store = "boltdb-shipper"; + object_store = "filesystem"; + schema = "v12"; # Updated schema version + index = { + prefix = "index_"; + period = "24h"; # Set to 24h period as recommended + }; + } + ]; + }; + + limits_config = { + allow_structured_metadata = false; # Disable structured metadata until we upgrade to v13 + }; + + ruler = { + storage = { + type = "local"; + local = { + directory = "/var/lib/loki/rules"; + }; + }; + rule_path = "/var/lib/loki/rules"; + ring = { + kvstore = { + store = "inmemory"; + }; + }; + }; + + compactor = { + working_directory = "/var/lib/loki/compactor"; # Set working directory + retention_enabled = true; + compaction_interval = "5m"; + delete_request_store = "filesystem"; # Add this line for retention configuration + delete_request_cancel_period = "24h"; + }; + + analytics = { + reporting_enabled = false; + }; + }; + }; + }; +} diff --git a/hosts/h001/mods/nixarr.nix b/hosts/h001/mods/nixarr.nix new file mode 100644 index 0000000..92dd4c0 --- /dev/null +++ b/hosts/h001/mods/nixarr.nix @@ -0,0 +1,51 @@ +{ + ... +}: +{ + config = { + nixarr = { + enable = true; + mediaDir = "/drives/wd10/nixarr/media"; + stateDir = "/var/lib/nixarr/state"; + + jellyfin.enable = true; # jellyfinnnnnn! + jellyseerr.enable = true; # request manager for media + sabnzbd.enable = true; # Usenet downloader + prowlarr.enable = true; # Index manager + sonarr.enable = true; # TV + radarr.enable = true; # Movies + bazarr.enable = true; # subtitles for sonarr and radarr + lidarr.enable = true; # music + readarr.enable = true; # books + }; + + services.nginx = { + virtualHosts = { + "jellyfin.joshuabell.xyz" = { + locations."/" = { + proxyWebsockets = true; + proxyPass = "http://localhost:8096"; + }; + }; + "media.joshuabell.xyz" = { + locations."/" = { + proxyWebsockets = true; + proxyPass = "http://localhost:5055"; + }; + }; + "jellyfin.h001.local.joshuabell.xyz" = { + locations."/" = { + proxyWebsockets = true; + proxyPass = "http://localhost:8096"; + }; + }; + "media.h001.local.joshuabell.xyz" = { + locations."/" = { + proxyWebsockets = true; + proxyPass = "http://localhost:5055"; + }; + }; + }; + }; + }; +} diff --git a/hosts/h001/nginx.nix b/hosts/h001/nginx.nix new file mode 100644 index 0000000..fa0373b --- /dev/null +++ b/hosts/h001/nginx.nix @@ -0,0 +1,40 @@ +{ + ... +}: +let + homarr = { + proxyWebsockets = true; + proxyPass = "http://localhost:7575"; + }; +in +{ + services.nginx.virtualHosts = { + "10.12.14.2" = { + locations = { + "/" = { + return = "301 http://h001.local.joshuabell.xyz"; + }; + }; + }; + "h001.local.joshuabell.xyz" = { + locations = { + "/" = homarr; + }; + }; + "100.64.0.13" = { + locations."/" = { + return = "301 http://h001.net.joshuabell.xyz"; + }; + }; + "h001.net.joshuabell.xyz" = { + locations = { + "/grafana/" = { + proxyPass = "http://localhost:3001"; + proxyWebsockets = true; + recommendedProxySettings = true; + }; + "/" = homarr; + }; + }; + }; +} diff --git a/hosts/h002/flake.lock b/hosts/h002/flake.lock index d98b754..36b5615 100644 --- a/hosts/h002/flake.lock +++ b/hosts/h002/flake.lock @@ -32,11 +32,19 @@ "ragenix": "ragenix" }, "locked": { +<<<<<<< HEAD "lastModified": 1745956280, "narHash": "sha256-HK9LEPCJAKbD3NK8FJGBgjoTDxA7/6GIkSomvPGFzgo=", "ref": "refs/heads/master", "rev": "78fc771750b08f24eddfda25cf4f24a6daa7ddf0", "revCount": 424, +======= + "lastModified": 1745957989, + "narHash": "sha256-mLYJXPri4DVRa6exEPtzlkje5FZVSYAteObHOxcAvfA=", + "ref": "refs/heads/master", + "rev": "6277d06b4dcaa6665e92aaf5f20eee49a8362556", + "revCount": 426, +>>>>>>> a3be6f71fb0570f8e2ac60fd3f3ad436b8a6bf90 "type": "git", "url": "https://git.joshuabell.xyz/ringofstorms/dotfiles" }, @@ -210,11 +218,19 @@ }, "nixpkgs_5": { "locked": { +<<<<<<< HEAD "lastModified": 1745250177, "narHash": "sha256-NPkMDgRHLVuNHs7y/MK3qYbE/5uo42mskUIygSHEOLM=", "owner": "nixos", "repo": "nixpkgs", "rev": "d1e61a9c582ec2f701b36d4600ae19b8099c5211", +======= + "lastModified": 1745961410, + "narHash": "sha256-RU4c9JVZp/CdWyPUUZGsZvTWvjrFtXLUnlMs38IeHD0=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "a2001229477b3a343b13e6e7870fa37fedd8e09d", +>>>>>>> a3be6f71fb0570f8e2ac60fd3f3ad436b8a6bf90 "type": "github" }, "original": { diff --git a/hosts/h002/flake.nix b/hosts/h002/flake.nix index a3ce5aa..3e62499 100644 --- a/hosts/h002/flake.nix +++ b/hosts/h002/flake.nix @@ -35,6 +35,7 @@ { environment.systemPackages = with pkgs; [ lua + qdirstat ]; ringofstorms_common = { @@ -43,10 +44,12 @@ secrets.enable = true; desktopEnvironment.gnome.enable = true; programs = { + qFlipper.enable = true; rustDev.enable = true; tailnet.enable = true; ssh.enable = true; docker.enable = true; + uhkAgent.enable = true; }; users = { admins = [ "luser" ]; # First admin is also the primary user owning nix config @@ -69,6 +72,10 @@ packages = with pkgs; [ bitwarden vaultwarden + google-chrome + firefox-esr + openscad + vlc ]; }; }; diff --git a/hosts/linode/l002/configuration.nix b/hosts/linode/l002/configuration.nix deleted file mode 100644 index 016d4ad..0000000 --- a/hosts/linode/l002/configuration.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - ... -}: -{ - boot.loader.grub.enable = true; - system.stateVersion = "24.11"; -} diff --git a/hosts/linode/l002/flake.lock b/hosts/linode/l002/flake.lock deleted file mode 100644 index ea531e7..0000000 --- a/hosts/linode/l002/flake.lock +++ /dev/null @@ -1,1405 +0,0 @@ -{ - "nodes": { - "agenix": { - "inputs": { - "darwin": "darwin", - "home-manager": "home-manager_2", - "nixpkgs": [ - "common", - "ragenix", - "nixpkgs" - ], - "systems": "systems" - }, - "locked": { - "lastModified": 1736955230, - "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=", - "owner": "ryantm", - "repo": "agenix", - "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c", - "type": "github" - }, - "original": { - "owner": "ryantm", - "repo": "agenix", - "type": "github" - } - }, - "common": { - "inputs": { - "home-manager": "home-manager", - "nixpkgs": "nixpkgs_2", - "ragenix": "ragenix" - }, - "locked": { - "lastModified": 1742406125, - "narHash": "sha256-+NQNj2IMJuEiymB+YrcZkxeZt7QlC+Bwe5rWgRRHKrU=", - "ref": "refs/heads/master", - "rev": "138565efadeed6baf2a632c5dcc95a2031c77f86", - "revCount": 371, - "type": "git", - "url": "https://git.joshuabell.xyz/dotfiles" - }, - "original": { - "type": "git", - "url": "https://git.joshuabell.xyz/dotfiles" - } - }, - "crane": { - "locked": { - "lastModified": 1741481578, - "narHash": "sha256-JBTSyJFQdO3V8cgcL08VaBUByEU6P5kXbTJN6R0PFQo=", - "owner": "ipetkov", - "repo": "crane", - "rev": "bb1c9567c43e4434f54e9481eb4b8e8e0d50f0b5", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, - "darwin": { - "inputs": { - "nixpkgs": [ - "common", - "ragenix", - "agenix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1700795494, - "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=", - "owner": "lnl7", - "repo": "nix-darwin", - "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d", - "type": "github" - }, - "original": { - "owner": "lnl7", - "ref": "master", - "repo": "nix-darwin", - "type": "github" - } - }, - "deploy-rs": { - "inputs": { - "flake-compat": "flake-compat", - "nixpkgs": "nixpkgs_4", - "utils": "utils" - }, - "locked": { - "lastModified": 1727447169, - "narHash": "sha256-3KyjMPUKHkiWhwR91J1YchF6zb6gvckCAY1jOE+ne0U=", - "owner": "serokell", - "repo": "deploy-rs", - "rev": "aa07eb05537d4cd025e2310397a6adcedfe72c76", - "type": "github" - }, - "original": { - "owner": "serokell", - "repo": "deploy-rs", - "type": "github" - } - }, - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-utils": { - "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": "nixpkgs" - }, - "locked": { - "lastModified": 1742234739, - "narHash": "sha256-zFL6zsf/5OztR1NSNQF33dvS1fL/BzVUjabZq4qrtY4=", - "owner": "rycee", - "repo": "home-manager", - "rev": "f6af7280a3390e65c2ad8fd059cdc303426cbd59", - "type": "github" - }, - "original": { - "owner": "rycee", - "ref": "release-24.11", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager_2": { - "inputs": { - "nixpkgs": [ - "common", - "ragenix", - "agenix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1703113217, - "narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1731755305, - "narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1742069588, - "narHash": "sha256-C7jVfohcGzdZRF6DO+ybyG/sqpo1h6bZi9T56sxLy+k=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "c80f6a7e10b39afcc1894e02ef785b1ad0b0d7e5", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1741379970, - "narHash": "sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "36fd87baa9083f34f7f5027900b62ee6d09b1f2f", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { - "locked": { - "lastModified": 1702272962, - "narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { - "locked": { - "lastModified": 1742268799, - "narHash": "sha256-IhnK4LhkBlf14/F8THvUy3xi/TxSQkp9hikfDZRD4Ic=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "da044451c6a70518db5b730fe277b70f494188f1", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_6": { - "locked": { - "lastModified": 1742225912, - "narHash": "sha256-HCD3GrAAJb1jYTEc221DPlBk2VDkBt43hww7DXC1tyc=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "9df17ad16500057b7b081137ff7af1a8a6a32f6e", - "type": "github" - }, - "original": { - "owner": "nixos", - "repo": "nixpkgs", - "type": "github" - } - }, - "nvim_plugin-Almo7aya/openingh.nvim": { - "flake": false, - "locked": { - "lastModified": 1733158448, - "narHash": "sha256-JP3+goMgs3SiMHS9IVE7NAV/iKxyXi0fZgJb8hojtNQ=", - "owner": "Almo7aya", - "repo": "openingh.nvim", - "rev": "9131016c1167e23522a8e874b62217829fd327b8", - "type": "github" - }, - "original": { - "owner": "Almo7aya", - "repo": "openingh.nvim", - "type": "github" - } - }, - "nvim_plugin-CopilotC-Nvim/CopilotChat.nvim": { - "flake": false, - "locked": { - "lastModified": 1742210958, - "narHash": "sha256-+1dSGYeUpW/EUbP0scgGz48UB5RAPZYIWCglTFyntaU=", - "owner": "CopilotC-Nvim", - "repo": "CopilotChat.nvim", - "rev": "62b1249aa4a4fc7afe11c7e647cba0cef743826f", - "type": "github" - }, - "original": { - "owner": "CopilotC-Nvim", - "repo": "CopilotChat.nvim", - "type": "github" - } - }, - "nvim_plugin-JoosepAlviste/nvim-ts-context-commentstring": { - "flake": false, - "locked": { - "lastModified": 1733574156, - "narHash": "sha256-AjDM3+n4+lNBQi8P2Yrh0Ab06uYCndBQT9TX36rDbOM=", - "owner": "JoosepAlviste", - "repo": "nvim-ts-context-commentstring", - "rev": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f", - "type": "github" - }, - "original": { - "owner": "JoosepAlviste", - "repo": "nvim-ts-context-commentstring", - "type": "github" - } - }, - "nvim_plugin-L3MON4D3/LuaSnip": { - "flake": false, - "locked": { - "lastModified": 1736009707, - "narHash": "sha256-3ecm5SDTcSOh256xSQPHhddQfMpepiEIpv58fHXrVg0=", - "owner": "L3MON4D3", - "repo": "LuaSnip", - "rev": "c9b9a22904c97d0eb69ccb9bab76037838326817", - "type": "github" - }, - "original": { - "owner": "L3MON4D3", - "repo": "LuaSnip", - "type": "github" - } - }, - "nvim_plugin-MeanderingProgrammer/render-markdown.nvim": { - "flake": false, - "locked": { - "lastModified": 1742156824, - "narHash": "sha256-n+pT7FiQONHhiZQH4BGjERrikGNSFTNciMx92oQGA1c=", - "owner": "MeanderingProgrammer", - "repo": "render-markdown.nvim", - "rev": "9721ffe230ec90e49c49ee33b5ca44c3fc689214", - "type": "github" - }, - "original": { - "owner": "MeanderingProgrammer", - "repo": "render-markdown.nvim", - "type": "github" - } - }, - "nvim_plugin-MunifTanjim/nui.nvim": { - "flake": false, - "locked": { - "lastModified": 1741233810, - "narHash": "sha256-BYTY2ezYuxsneAl/yQbwL1aQvVWKSsN3IVqzTlrBSEU=", - "owner": "MunifTanjim", - "repo": "nui.nvim", - "rev": "8d3bce9764e627b62b07424e0df77f680d47ffdb", - "type": "github" - }, - "original": { - "owner": "MunifTanjim", - "repo": "nui.nvim", - "type": "github" - } - }, - "nvim_plugin-RRethy/vim-illuminate": { - "flake": false, - "locked": { - "lastModified": 1740540215, - "narHash": "sha256-jSny+5RHgxcsoxWwIaFUZ022dk3mDRKZ7dibvE6I2fE=", - "owner": "RRethy", - "repo": "vim-illuminate", - "rev": "19cb21f513fc2b02f0c66be70107741e837516a1", - "type": "github" - }, - "original": { - "owner": "RRethy", - "repo": "vim-illuminate", - "type": "github" - } - }, - "nvim_plugin-Saecki/crates.nvim": { - "flake": false, - "locked": { - "lastModified": 1741644182, - "narHash": "sha256-hmUqhAVLBiCUl16+S/hvRxqA/pTXcWejpLtwvqxBPaY=", - "owner": "Saecki", - "repo": "crates.nvim", - "rev": "403a0abef0e2aec12749a534dc468d6fd50c6741", - "type": "github" - }, - "original": { - "owner": "Saecki", - "repo": "crates.nvim", - "type": "github" - } - }, - "nvim_plugin-aznhe21/actions-preview.nvim": { - "flake": false, - "locked": { - "lastModified": 1740589350, - "narHash": "sha256-MP1hohDL2JFembwW+cb2S+v2Y7j0iZw1jPPKTZiNCWI=", - "owner": "aznhe21", - "repo": "actions-preview.nvim", - "rev": "4ab7842eb6a5b6d2b004f8234dcf33382a0fdde2", - "type": "github" - }, - "original": { - "owner": "aznhe21", - "repo": "actions-preview.nvim", - "type": "github" - } - }, - "nvim_plugin-b0o/schemastore.nvim": { - "flake": false, - "locked": { - "lastModified": 1741996938, - "narHash": "sha256-eAqM/n0DDwl3WUO987c2mk3z7uJ4gAE0hkPg4Twyr4w=", - "owner": "b0o", - "repo": "schemastore.nvim", - "rev": "56d8ed0fa1516242085ba5e95d7f49fad50d5754", - "type": "github" - }, - "original": { - "owner": "b0o", - "repo": "schemastore.nvim", - "type": "github" - } - }, - "nvim_plugin-catppuccin/nvim": { - "flake": false, - "locked": { - "lastModified": 1740764472, - "narHash": "sha256-4h/fzFY8JR9r+QnoiWEqgQKPMuu8i9HTC4v0Jp7iuUo=", - "owner": "catppuccin", - "repo": "nvim", - "rev": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429", - "type": "github" - }, - "original": { - "owner": "catppuccin", - "repo": "nvim", - "type": "github" - } - }, - "nvim_plugin-chrisgrieser/nvim-early-retirement": { - "flake": false, - "locked": { - "lastModified": 1735588187, - "narHash": "sha256-ZjXG+POJFRsc79i1BuAJB9K6UBUfHT05oYvZaUr+RqA=", - "owner": "chrisgrieser", - "repo": "nvim-early-retirement", - "rev": "9ae6fcc933fc865ddf2728460194b67985e06e27", - "type": "github" - }, - "original": { - "owner": "chrisgrieser", - "repo": "nvim-early-retirement", - "type": "github" - } - }, - "nvim_plugin-declancm/cinnamon.nvim": { - "flake": false, - "locked": { - "lastModified": 1722992123, - "narHash": "sha256-kccQ4iFMSQ8kvE7hYz90hBrsDLo7VohFj/6lEZZiAO8=", - "owner": "declancm", - "repo": "cinnamon.nvim", - "rev": "450cb3247765fed7871b41ef4ce5fa492d834215", - "type": "github" - }, - "original": { - "owner": "declancm", - "repo": "cinnamon.nvim", - "type": "github" - } - }, - "nvim_plugin-folke/lazy.nvim": { - "flake": false, - "locked": { - "lastModified": 1740511197, - "narHash": "sha256-nQ8PR9DTdzg6Z2rViuVD6Pswc2VvDQwS3uMNgyDh5ls=", - "owner": "folke", - "repo": "lazy.nvim", - "rev": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a", - "type": "github" - }, - "original": { - "owner": "folke", - "repo": "lazy.nvim", - "type": "github" - } - }, - "nvim_plugin-folke/neodev.nvim": { - "flake": false, - "locked": { - "lastModified": 1720260306, - "narHash": "sha256-hOjzlo/IqmV8tYjGwfmcCPEmHYsWnEIwtHZdhpwA1kM=", - "owner": "folke", - "repo": "neodev.nvim", - "rev": "46aa467dca16cf3dfe27098042402066d2ae242d", - "type": "github" - }, - "original": { - "owner": "folke", - "repo": "neodev.nvim", - "type": "github" - } - }, - "nvim_plugin-folke/which-key.nvim": { - "flake": false, - "locked": { - "lastModified": 1740233407, - "narHash": "sha256-uvMcSduMr7Kd2oUmIOYzvWF4FIl6bZxIYm9FSw/3pCo=", - "owner": "folke", - "repo": "which-key.nvim", - "rev": "370ec46f710e058c9c1646273e6b225acf47cbed", - "type": "github" - }, - "original": { - "owner": "folke", - "repo": "which-key.nvim", - "type": "github" - } - }, - "nvim_plugin-hrsh7th/cmp-buffer": { - "flake": false, - "locked": { - "lastModified": 1660101488, - "narHash": "sha256-dG4U7MtnXThoa/PD+qFtCt76MQ14V1wX8GMYcvxEnbM=", - "owner": "hrsh7th", - "repo": "cmp-buffer", - "rev": "3022dbc9166796b644a841a02de8dd1cc1d311fa", - "type": "github" - }, - "original": { - "owner": "hrsh7th", - "repo": "cmp-buffer", - "type": "github" - } - }, - "nvim_plugin-hrsh7th/cmp-nvim-lsp": { - "flake": false, - "locked": { - "lastModified": 1733823748, - "narHash": "sha256-iaihXNCF5bB5MdeoosD/kc3QtpA/QaIDZVLiLIurBSM=", - "owner": "hrsh7th", - "repo": "cmp-nvim-lsp", - "rev": "99290b3ec1322070bcfb9e846450a46f6efa50f0", - "type": "github" - }, - "original": { - "owner": "hrsh7th", - "repo": "cmp-nvim-lsp", - "type": "github" - } - }, - "nvim_plugin-hrsh7th/cmp-path": { - "flake": false, - "locked": { - "lastModified": 1664784283, - "narHash": "sha256-thppiiV3wjIaZnAXmsh7j3DUc6ceSCvGzviwFUnoPaI=", - "owner": "hrsh7th", - "repo": "cmp-path", - "rev": "91ff86cd9c29299a64f968ebb45846c485725f23", - "type": "github" - }, - "original": { - "owner": "hrsh7th", - "repo": "cmp-path", - "type": "github" - } - }, - "nvim_plugin-hrsh7th/nvim-cmp": { - "flake": false, - "locked": { - "lastModified": 1741936119, - "narHash": "sha256-zl/rgbZF3+nsLI7Sd6xzQFlcpa5n/8pyganS+u0jD/s=", - "owner": "hrsh7th", - "repo": "nvim-cmp", - "rev": "1e1900b0769324a9675ef85b38f99cca29e203b3", - "type": "github" - }, - "original": { - "owner": "hrsh7th", - "repo": "nvim-cmp", - "type": "github" - } - }, - "nvim_plugin-j-hui/fidget.nvim": { - "flake": false, - "locked": { - "lastModified": 1738817426, - "narHash": "sha256-AFUx/ZQVWV7s5Wlppjk6N9QXoJKNKqxtf990FFlTEhw=", - "owner": "j-hui", - "repo": "fidget.nvim", - "rev": "d9ba6b7bfe29b3119a610892af67602641da778e", - "type": "github" - }, - "original": { - "owner": "j-hui", - "repo": "fidget.nvim", - "type": "github" - } - }, - "nvim_plugin-johmsalas/text-case.nvim": { - "flake": false, - "locked": { - "lastModified": 1722628320, - "narHash": "sha256-2IMufSMy9JW50VzZ3SgOtp8kYs81ANwV0eP0ZH3rTFo=", - "owner": "johmsalas", - "repo": "text-case.nvim", - "rev": "e898cfd46fa6cde0e83abb624a16e67d2ffc6457", - "type": "github" - }, - "original": { - "owner": "johmsalas", - "repo": "text-case.nvim", - "type": "github" - } - }, - "nvim_plugin-lewis6991/gitsigns.nvim": { - "flake": false, - "locked": { - "lastModified": 1742140868, - "narHash": "sha256-qWusbKY+3d1dkW5oLYDyfSLdt1qFlJdDeXgFWqQ4hUI=", - "owner": "lewis6991", - "repo": "gitsigns.nvim", - "rev": "7010000889bfb6c26065e0b0f7f1e6aa9163edd9", - "type": "github" - }, - "original": { - "owner": "lewis6991", - "repo": "gitsigns.nvim", - "type": "github" - } - }, - "nvim_plugin-lnc3l0t/glow.nvim": { - "flake": false, - "locked": { - "lastModified": 1693233815, - "narHash": "sha256-vdlwkIK2EkFviJmSiOqPWvc15xqJ9F2gHCC4ObJ5Qjk=", - "owner": "lnc3l0t", - "repo": "glow.nvim", - "rev": "5b38fb7b6e806cac62707a4aba8c10c5f14d5bb5", - "type": "github" - }, - "original": { - "owner": "lnc3l0t", - "repo": "glow.nvim", - "type": "github" - } - }, - "nvim_plugin-lukas-reineke/indent-blankline.nvim": { - "flake": false, - "locked": { - "lastModified": 1742224677, - "narHash": "sha256-0q/V+b4UrDRnaC/eRWOi9HU9a61vQSAM9/C8ZQyKt+Y=", - "owner": "lukas-reineke", - "repo": "indent-blankline.nvim", - "rev": "005b56001b2cb30bfa61b7986bc50657816ba4ba", - "type": "github" - }, - "original": { - "owner": "lukas-reineke", - "repo": "indent-blankline.nvim", - "type": "github" - } - }, - "nvim_plugin-lvimuser/lsp-inlayhints.nvim": { - "flake": false, - "locked": { - "lastModified": 1686236485, - "narHash": "sha256-06CiJ+xeMO4+OJkckcslqwloJyt2gwg514JuxV6KOfQ=", - "owner": "lvimuser", - "repo": "lsp-inlayhints.nvim", - "rev": "d981f65c9ae0b6062176f0accb9c151daeda6f16", - "type": "github" - }, - "original": { - "owner": "lvimuser", - "repo": "lsp-inlayhints.nvim", - "type": "github" - } - }, - "nvim_plugin-m4xshen/hardtime.nvim": { - "flake": false, - "locked": { - "lastModified": 1741414159, - "narHash": "sha256-tigKgK1yGc5JEHd4RLXCd6Hq7ia3en3Xtk8X6L5+ef4=", - "owner": "m4xshen", - "repo": "hardtime.nvim", - "rev": "f87c86d1aa1e05dcf3c6ecd97fbfd237e2de0bf5", - "type": "github" - }, - "original": { - "owner": "m4xshen", - "repo": "hardtime.nvim", - "type": "github" - } - }, - "nvim_plugin-mbbill/undotree": { - "flake": false, - "locked": { - "lastModified": 1741878850, - "narHash": "sha256-HGf4Toe+12YZtIalvANDXAtksCsnxQkZbcevOAnl5G4=", - "owner": "mbbill", - "repo": "undotree", - "rev": "b951b87b46c34356d44aa71886aecf9dd7f5788a", - "type": "github" - }, - "original": { - "owner": "mbbill", - "repo": "undotree", - "type": "github" - } - }, - "nvim_plugin-mfussenegger/nvim-lint": { - "flake": false, - "locked": { - "lastModified": 1738838825, - "narHash": "sha256-E/KcQr4RM4gz+ItENI9e7hMicyBKyzoIaDO5D1VDYSw=", - "owner": "mfussenegger", - "repo": "nvim-lint", - "rev": "6e9dd545a1af204c4022a8fcd99727ea41ffdcc8", - "type": "github" - }, - "original": { - "owner": "mfussenegger", - "repo": "nvim-lint", - "type": "github" - } - }, - "nvim_plugin-mrcjkb/rustaceanvim": { - "flake": false, - "locked": { - "lastModified": 1742147378, - "narHash": "sha256-I2H/0VNKWKK49EReXT81SVTHHHW9hT1+6n7h1cbLD0A=", - "owner": "mrcjkb", - "repo": "rustaceanvim", - "rev": "448c76451ecf3c0edabcde427b7f1c8c219be2dd", - "type": "github" - }, - "original": { - "owner": "mrcjkb", - "repo": "rustaceanvim", - "type": "github" - } - }, - "nvim_plugin-neovim/nvim-lspconfig": { - "flake": false, - "locked": { - "lastModified": 1742142850, - "narHash": "sha256-CppHawmKEopPbK6HO4RFd7Kc1iMoCVwpIyN2Z6wiMfo=", - "owner": "neovim", - "repo": "nvim-lspconfig", - "rev": "2574ad38c6ee4f0bef3a1ca305cd5df627a52bb3", - "type": "github" - }, - "original": { - "owner": "neovim", - "repo": "nvim-lspconfig", - "type": "github" - } - }, - "nvim_plugin-nosduco/remote-sshfs.nvim": { - "flake": false, - "locked": { - "lastModified": 1724901856, - "narHash": "sha256-vFEIISxhTIGSl9LzDYHuEIkjLGkU0y5XhfWI/i5DgN4=", - "owner": "nosduco", - "repo": "remote-sshfs.nvim", - "rev": "03f6c40c4032eeb1ab91368e06db9c3f3a97a75d", - "type": "github" - }, - "original": { - "owner": "nosduco", - "repo": "remote-sshfs.nvim", - "type": "github" - } - }, - "nvim_plugin-numToStr/Comment.nvim": { - "flake": false, - "locked": { - "lastModified": 1717957420, - "narHash": "sha256-h0kPue5Eqd5aeu4VoLH45pF0DmWWo1d8SnLICSQ63zc=", - "owner": "numToStr", - "repo": "Comment.nvim", - "rev": "e30b7f2008e52442154b66f7c519bfd2f1e32acb", - "type": "github" - }, - "original": { - "owner": "numToStr", - "repo": "Comment.nvim", - "type": "github" - } - }, - "nvim_plugin-nvim-lua/plenary.nvim": { - "flake": false, - "locked": { - "lastModified": 1739311008, - "narHash": "sha256-8FV5RjF7QbDmQOQynpK7uRKONKbPRYbOPugf9ZxNvUs=", - "owner": "nvim-lua", - "repo": "plenary.nvim", - "rev": "857c5ac632080dba10aae49dba902ce3abf91b35", - "type": "github" - }, - "original": { - "owner": "nvim-lua", - "repo": "plenary.nvim", - "type": "github" - } - }, - "nvim_plugin-nvim-lualine/lualine.nvim": { - "flake": false, - "locked": { - "lastModified": 1742039150, - "narHash": "sha256-qYKykdCcXd+OHmK3WvsUCbn0zDKTQDj49VYsQ8iVvgs=", - "owner": "nvim-lualine", - "repo": "lualine.nvim", - "rev": "b8b60c7f1d0d95ad74ee215b2291280b30482476", - "type": "github" - }, - "original": { - "owner": "nvim-lualine", - "repo": "lualine.nvim", - "type": "github" - } - }, - "nvim_plugin-nvim-telescope/telescope-file-browser.nvim": { - "flake": false, - "locked": { - "lastModified": 1729728595, - "narHash": "sha256-VJbRi91TTOwUkQYyTM6Njl7MtX8/mOjINiqWYWEtyxg=", - "owner": "nvim-telescope", - "repo": "telescope-file-browser.nvim", - "rev": "626998e5c1b71c130d8bc6cf7abb6709b98287bb", - "type": "github" - }, - "original": { - "owner": "nvim-telescope", - "repo": "telescope-file-browser.nvim", - "type": "github" - } - }, - "nvim_plugin-nvim-telescope/telescope-fzf-native.nvim": { - "flake": false, - "locked": { - "lastModified": 1741765009, - "narHash": "sha256-Zyv8ikxdwoUiDD0zsqLzfhBVOm/nKyJdZpndxXEB6ow=", - "owner": "nvim-telescope", - "repo": "telescope-fzf-native.nvim", - "rev": "1f08ed60cafc8f6168b72b80be2b2ea149813e55", - "type": "github" - }, - "original": { - "owner": "nvim-telescope", - "repo": "telescope-fzf-native.nvim", - "type": "github" - } - }, - "nvim_plugin-nvim-telescope/telescope-ui-select.nvim": { - "flake": false, - "locked": { - "lastModified": 1701723223, - "narHash": "sha256-YRhNmmG4gx9Ht8JwjQfbTjJyTHEuZmtP6lqnhOsk8bE=", - "owner": "nvim-telescope", - "repo": "telescope-ui-select.nvim", - "rev": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2", - "type": "github" - }, - "original": { - "owner": "nvim-telescope", - "repo": "telescope-ui-select.nvim", - "type": "github" - } - }, - "nvim_plugin-nvim-telescope/telescope.nvim": { - "flake": false, - "locked": { - "lastModified": 1742171408, - "narHash": "sha256-mHucOyrgQc3wVdK7lUQANW8Jka+m5gQ2z8JWtwo99bU=", - "owner": "nvim-telescope", - "repo": "telescope.nvim", - "rev": "a17d611a0e111836a1db5295f04945df407c5135", - "type": "github" - }, - "original": { - "owner": "nvim-telescope", - "repo": "telescope.nvim", - "type": "github" - } - }, - "nvim_plugin-nvim-tree/nvim-tree.lua": { - "flake": false, - "locked": { - "lastModified": 1740787655, - "narHash": "sha256-KSrY1K64yC6dPDd3DF15bVWs2N7B0BPS9enfmJgTzC4=", - "owner": "nvim-tree", - "repo": "nvim-tree.lua", - "rev": "c09ff35de503a41fa62465c6b4ae72d96e7a7ce4", - "type": "github" - }, - "original": { - "owner": "nvim-tree", - "repo": "nvim-tree.lua", - "type": "github" - } - }, - "nvim_plugin-nvim-tree/nvim-web-devicons": { - "flake": false, - "locked": { - "lastModified": 1742215722, - "narHash": "sha256-JKOvXJr1s2lpP5aeRE7OC3IeOrF5uJxg/Tal3eScd6g=", - "owner": "nvim-tree", - "repo": "nvim-web-devicons", - "rev": "4c3a5848ee0b09ecdea73adcd2a689190aeb728c", - "type": "github" - }, - "original": { - "owner": "nvim-tree", - "repo": "nvim-web-devicons", - "type": "github" - } - }, - "nvim_plugin-nvim-treesitter/nvim-treesitter-context": { - "flake": false, - "locked": { - "lastModified": 1742201688, - "narHash": "sha256-rpmHIOXiD/mh0PHBdo1k1Wdb213KtBevmyCFrP89tME=", - "owner": "nvim-treesitter", - "repo": "nvim-treesitter-context", - "rev": "83ded3bbff8bc13abc9704bf1c5e426f3ba343c4", - "type": "github" - }, - "original": { - "owner": "nvim-treesitter", - "repo": "nvim-treesitter-context", - "type": "github" - } - }, - "nvim_plugin-rafamadriz/friendly-snippets": { - "flake": false, - "locked": { - "lastModified": 1733106470, - "narHash": "sha256-I8SRZxnoNC6SOWW+scoA77Jwyxcb4eUczppLdyOiZe0=", - "owner": "rafamadriz", - "repo": "friendly-snippets", - "rev": "efff286dd74c22f731cdec26a70b46e5b203c619", - "type": "github" - }, - "original": { - "owner": "rafamadriz", - "repo": "friendly-snippets", - "type": "github" - } - }, - "nvim_plugin-rcarriga/nvim-notify": { - "flake": false, - "locked": { - "lastModified": 1737405174, - "narHash": "sha256-6vNfc7E9DMXF0IBXJCLA8Rp+uOgbDch/Q7beW0ys3Vo=", - "owner": "rcarriga", - "repo": "nvim-notify", - "rev": "22f29093eae7785773ee9d543f8750348b1a195c", - "type": "github" - }, - "original": { - "owner": "rcarriga", - "repo": "nvim-notify", - "type": "github" - } - }, - "nvim_plugin-rmagatti/auto-session": { - "flake": false, - "locked": { - "lastModified": 1742136796, - "narHash": "sha256-Tc4EfcucGAR+5qURjoYqG5gW24PCYJLVd47OrFhyfRo=", - "owner": "rmagatti", - "repo": "auto-session", - "rev": "317412742990371f8e4709074da5c378456a27ff", - "type": "github" - }, - "original": { - "owner": "rmagatti", - "repo": "auto-session", - "type": "github" - } - }, - "nvim_plugin-ron/ron.vim": { - "flake": false, - "locked": { - "lastModified": 1660904719, - "narHash": "sha256-8/xJmymtVGVz2avzlamgK1cNflZ3NRL+B3c7xxbI964=", - "owner": "ron-rs", - "repo": "ron.vim", - "rev": "f749e543975a82e8dd9a6e7df9600a1c098ae800", - "type": "github" - }, - "original": { - "owner": "ron-rs", - "repo": "ron.vim", - "type": "github" - } - }, - "nvim_plugin-saadparwaiz1/cmp_luasnip": { - "flake": false, - "locked": { - "lastModified": 1730707109, - "narHash": "sha256-86lKQPPyqFz8jzuLajjHMKHrYnwW6+QOcPyQEx6B+gw=", - "owner": "saadparwaiz1", - "repo": "cmp_luasnip", - "rev": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90", - "type": "github" - }, - "original": { - "owner": "saadparwaiz1", - "repo": "cmp_luasnip", - "type": "github" - } - }, - "nvim_plugin-sindrets/diffview.nvim": { - "flake": false, - "locked": { - "lastModified": 1718279802, - "narHash": "sha256-SX+ybIzL/w6uyCy4iZKnWnzTFwqB1oXSgyYVAdpdKi8=", - "owner": "sindrets", - "repo": "diffview.nvim", - "rev": "4516612fe98ff56ae0415a259ff6361a89419b0a", - "type": "github" - }, - "original": { - "owner": "sindrets", - "repo": "diffview.nvim", - "type": "github" - } - }, - "nvim_plugin-stevearc/conform.nvim": { - "flake": false, - "locked": { - "lastModified": 1741136809, - "narHash": "sha256-8uC+6rQdLqpfF/lf25mppqK/xgM1+6RGIyZaheaPd48=", - "owner": "stevearc", - "repo": "conform.nvim", - "rev": "db8a4a9edb217067b1d7a2e0362c74bfe9cc944d", - "type": "github" - }, - "original": { - "owner": "stevearc", - "repo": "conform.nvim", - "type": "github" - } - }, - "nvim_plugin-stevearc/dressing.nvim": { - "flake": false, - "locked": { - "lastModified": 1739381641, - "narHash": "sha256-dBz+/gZA6O6fJy/GSgM6ZHGAR3MTGt/W1olzzTYRlgM=", - "owner": "stevearc", - "repo": "dressing.nvim", - "rev": "2d7c2db2507fa3c4956142ee607431ddb2828639", - "type": "github" - }, - "original": { - "owner": "stevearc", - "repo": "dressing.nvim", - "type": "github" - } - }, - "nvim_plugin-tpope/vim-sleuth": { - "flake": false, - "locked": { - "lastModified": 1726718493, - "narHash": "sha256-2Cr3h3uJvUL3CSoJs3aBFrkBeOBURSQItgQ4ep9sHXM=", - "owner": "tpope", - "repo": "vim-sleuth", - "rev": "be69bff86754b1aa5adcbb527d7fcd1635a84080", - "type": "github" - }, - "original": { - "owner": "tpope", - "repo": "vim-sleuth", - "type": "github" - } - }, - "nvim_plugin-tpope/vim-surround": { - "flake": false, - "locked": { - "lastModified": 1666730476, - "narHash": "sha256-DZE5tkmnT+lAvx/RQHaDEgEJXRKsy56KJY919xiH1lE=", - "owner": "tpope", - "repo": "vim-surround", - "rev": "3d188ed2113431cf8dac77be61b842acb64433d9", - "type": "github" - }, - "original": { - "owner": "tpope", - "repo": "vim-surround", - "type": "github" - } - }, - "nvim_plugin-uga-rosa/ccc.nvim": { - "flake": false, - "locked": { - "lastModified": 1735970087, - "narHash": "sha256-53WsxOfWULlO4VbSXA4DW6wjkbCzpQjkzv4O8pReuEc=", - "owner": "uga-rosa", - "repo": "ccc.nvim", - "rev": "b57cbaf8db3ac43c56c9e2c7f3812944638260ed", - "type": "github" - }, - "original": { - "owner": "uga-rosa", - "repo": "ccc.nvim", - "type": "github" - } - }, - "nvim_plugin-windwp/nvim-ts-autotag": { - "flake": false, - "locked": { - "lastModified": 1739910276, - "narHash": "sha256-a3Bcql68mp3y5bH9XMiDTQB0e75T+qFB593objIGg/I=", - "owner": "windwp", - "repo": "nvim-ts-autotag", - "rev": "a1d526af391f6aebb25a8795cbc05351ed3620b5", - "type": "github" - }, - "original": { - "owner": "windwp", - "repo": "nvim-ts-autotag", - "type": "github" - } - }, - "nvim_plugin-yetone/avante.nvim": { - "flake": false, - "locked": { - "lastModified": 1742209600, - "narHash": "sha256-XmyRo20+VhyjP5CLgSy0Tr/7R031EJSmMEN/wK9JNk8=", - "owner": "yetone", - "repo": "avante.nvim", - "rev": "540cc53f0c30214e3e4b5688f030bb2d8277b8ce", - "type": "github" - }, - "original": { - "owner": "yetone", - "repo": "avante.nvim", - "type": "github" - } - }, - "nvim_plugin-zbirenbaum/copilot-cmp": { - "flake": false, - "locked": { - "lastModified": 1733947099, - "narHash": "sha256-erRL8bY/zuwuCZfttw+avTrFV7pjv2H6v73NzY2bymM=", - "owner": "zbirenbaum", - "repo": "copilot-cmp", - "rev": "15fc12af3d0109fa76b60b5cffa1373697e261d1", - "type": "github" - }, - "original": { - "owner": "zbirenbaum", - "repo": "copilot-cmp", - "type": "github" - } - }, - "nvim_plugin-zbirenbaum/copilot.lua": { - "flake": false, - "locked": { - "lastModified": 1739230958, - "narHash": "sha256-632UIbG1jwam+tug5+jODkT509+uBfJgUN21C3ppnEo=", - "owner": "zbirenbaum", - "repo": "copilot.lua", - "rev": "30321e33b03cb924fdcd6a806a0dc6fa0b0eafb9", - "type": "github" - }, - "original": { - "owner": "zbirenbaum", - "repo": "copilot.lua", - "type": "github" - } - }, - "ragenix": { - "inputs": { - "agenix": "agenix", - "crane": "crane", - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_3", - "rust-overlay": "rust-overlay" - }, - "locked": { - "lastModified": 1741508717, - "narHash": "sha256-iQf1WdNxaApOFHIx4RLMRZ4f8g+8Xp0Z1/E/Mz2rLxY=", - "owner": "yaxitech", - "repo": "ragenix", - "rev": "2a2bea99d74927e54adf53cbf113219def67d5c9", - "type": "github" - }, - "original": { - "owner": "yaxitech", - "repo": "ragenix", - "type": "github" - } - }, - "root": { - "inputs": { - "common": "common", - "deploy-rs": "deploy-rs", - "nixpkgs": "nixpkgs_5", - "ros_neovim": "ros_neovim" - } - }, - "ros_neovim": { - "inputs": { - "nixpkgs": "nixpkgs_6", - "nvim_plugin-Almo7aya/openingh.nvim": "nvim_plugin-Almo7aya/openingh.nvim", - "nvim_plugin-CopilotC-Nvim/CopilotChat.nvim": "nvim_plugin-CopilotC-Nvim/CopilotChat.nvim", - "nvim_plugin-JoosepAlviste/nvim-ts-context-commentstring": "nvim_plugin-JoosepAlviste/nvim-ts-context-commentstring", - "nvim_plugin-L3MON4D3/LuaSnip": "nvim_plugin-L3MON4D3/LuaSnip", - "nvim_plugin-MeanderingProgrammer/render-markdown.nvim": "nvim_plugin-MeanderingProgrammer/render-markdown.nvim", - "nvim_plugin-MunifTanjim/nui.nvim": "nvim_plugin-MunifTanjim/nui.nvim", - "nvim_plugin-RRethy/vim-illuminate": "nvim_plugin-RRethy/vim-illuminate", - "nvim_plugin-Saecki/crates.nvim": "nvim_plugin-Saecki/crates.nvim", - "nvim_plugin-aznhe21/actions-preview.nvim": "nvim_plugin-aznhe21/actions-preview.nvim", - "nvim_plugin-b0o/schemastore.nvim": "nvim_plugin-b0o/schemastore.nvim", - "nvim_plugin-catppuccin/nvim": "nvim_plugin-catppuccin/nvim", - "nvim_plugin-chrisgrieser/nvim-early-retirement": "nvim_plugin-chrisgrieser/nvim-early-retirement", - "nvim_plugin-declancm/cinnamon.nvim": "nvim_plugin-declancm/cinnamon.nvim", - "nvim_plugin-folke/lazy.nvim": "nvim_plugin-folke/lazy.nvim", - "nvim_plugin-folke/neodev.nvim": "nvim_plugin-folke/neodev.nvim", - "nvim_plugin-folke/which-key.nvim": "nvim_plugin-folke/which-key.nvim", - "nvim_plugin-hrsh7th/cmp-buffer": "nvim_plugin-hrsh7th/cmp-buffer", - "nvim_plugin-hrsh7th/cmp-nvim-lsp": "nvim_plugin-hrsh7th/cmp-nvim-lsp", - "nvim_plugin-hrsh7th/cmp-path": "nvim_plugin-hrsh7th/cmp-path", - "nvim_plugin-hrsh7th/nvim-cmp": "nvim_plugin-hrsh7th/nvim-cmp", - "nvim_plugin-j-hui/fidget.nvim": "nvim_plugin-j-hui/fidget.nvim", - "nvim_plugin-johmsalas/text-case.nvim": "nvim_plugin-johmsalas/text-case.nvim", - "nvim_plugin-lewis6991/gitsigns.nvim": "nvim_plugin-lewis6991/gitsigns.nvim", - "nvim_plugin-lnc3l0t/glow.nvim": "nvim_plugin-lnc3l0t/glow.nvim", - "nvim_plugin-lukas-reineke/indent-blankline.nvim": "nvim_plugin-lukas-reineke/indent-blankline.nvim", - "nvim_plugin-lvimuser/lsp-inlayhints.nvim": "nvim_plugin-lvimuser/lsp-inlayhints.nvim", - "nvim_plugin-m4xshen/hardtime.nvim": "nvim_plugin-m4xshen/hardtime.nvim", - "nvim_plugin-mbbill/undotree": "nvim_plugin-mbbill/undotree", - "nvim_plugin-mfussenegger/nvim-lint": "nvim_plugin-mfussenegger/nvim-lint", - "nvim_plugin-mrcjkb/rustaceanvim": "nvim_plugin-mrcjkb/rustaceanvim", - "nvim_plugin-neovim/nvim-lspconfig": "nvim_plugin-neovim/nvim-lspconfig", - "nvim_plugin-nosduco/remote-sshfs.nvim": "nvim_plugin-nosduco/remote-sshfs.nvim", - "nvim_plugin-numToStr/Comment.nvim": "nvim_plugin-numToStr/Comment.nvim", - "nvim_plugin-nvim-lua/plenary.nvim": "nvim_plugin-nvim-lua/plenary.nvim", - "nvim_plugin-nvim-lualine/lualine.nvim": "nvim_plugin-nvim-lualine/lualine.nvim", - "nvim_plugin-nvim-telescope/telescope-file-browser.nvim": "nvim_plugin-nvim-telescope/telescope-file-browser.nvim", - "nvim_plugin-nvim-telescope/telescope-fzf-native.nvim": "nvim_plugin-nvim-telescope/telescope-fzf-native.nvim", - "nvim_plugin-nvim-telescope/telescope-ui-select.nvim": "nvim_plugin-nvim-telescope/telescope-ui-select.nvim", - "nvim_plugin-nvim-telescope/telescope.nvim": "nvim_plugin-nvim-telescope/telescope.nvim", - "nvim_plugin-nvim-tree/nvim-tree.lua": "nvim_plugin-nvim-tree/nvim-tree.lua", - "nvim_plugin-nvim-tree/nvim-web-devicons": "nvim_plugin-nvim-tree/nvim-web-devicons", - "nvim_plugin-nvim-treesitter/nvim-treesitter-context": "nvim_plugin-nvim-treesitter/nvim-treesitter-context", - "nvim_plugin-rafamadriz/friendly-snippets": "nvim_plugin-rafamadriz/friendly-snippets", - "nvim_plugin-rcarriga/nvim-notify": "nvim_plugin-rcarriga/nvim-notify", - "nvim_plugin-rmagatti/auto-session": "nvim_plugin-rmagatti/auto-session", - "nvim_plugin-ron/ron.vim": "nvim_plugin-ron/ron.vim", - "nvim_plugin-saadparwaiz1/cmp_luasnip": "nvim_plugin-saadparwaiz1/cmp_luasnip", - "nvim_plugin-sindrets/diffview.nvim": "nvim_plugin-sindrets/diffview.nvim", - "nvim_plugin-stevearc/conform.nvim": "nvim_plugin-stevearc/conform.nvim", - "nvim_plugin-stevearc/dressing.nvim": "nvim_plugin-stevearc/dressing.nvim", - "nvim_plugin-tpope/vim-sleuth": "nvim_plugin-tpope/vim-sleuth", - "nvim_plugin-tpope/vim-surround": "nvim_plugin-tpope/vim-surround", - "nvim_plugin-uga-rosa/ccc.nvim": "nvim_plugin-uga-rosa/ccc.nvim", - "nvim_plugin-windwp/nvim-ts-autotag": "nvim_plugin-windwp/nvim-ts-autotag", - "nvim_plugin-yetone/avante.nvim": "nvim_plugin-yetone/avante.nvim", - "nvim_plugin-zbirenbaum/copilot-cmp": "nvim_plugin-zbirenbaum/copilot-cmp", - "nvim_plugin-zbirenbaum/copilot.lua": "nvim_plugin-zbirenbaum/copilot.lua", - "rust-overlay": "rust-overlay_2" - }, - "locked": { - "lastModified": 1742226527, - "narHash": "sha256-CT9227XXn1t8H1ivNBBkBcf+npB7tWk5yzEQoJvbGVU=", - "ref": "refs/heads/master", - "rev": "e8bafafc36fb2227dab8f0ddb67a2439d9077091", - "revCount": 268, - "type": "git", - "url": "https://git.joshuabell.xyz/nvim" - }, - "original": { - "type": "git", - "url": "https://git.joshuabell.xyz/nvim" - } - }, - "rust-overlay": { - "inputs": { - "nixpkgs": [ - "common", - "ragenix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1741400194, - "narHash": "sha256-tEpgT+q5KlGjHSm8MnINgTPErEl8YDzX3Eps8PVc09g=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "16b6045a232fea0e9e4c69e55a6e269607dd8e3f", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-overlay_2": { - "inputs": { - "nixpkgs": [ - "ros_neovim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1742178793, - "narHash": "sha256-S2onMdoDS4tIYd3/Jc5oFEZBr2dJOgPrh9KzSO/bfDw=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "954582a766a50ebef5695a9616c93b5386418c08", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "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" - } - }, - "systems_3": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "utils": { - "inputs": { - "systems": "systems_3" - }, - "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/hosts/linode/l002/flake.nix b/hosts/linode/l002/flake.nix deleted file mode 100644 index 55bba4b..0000000 --- a/hosts/linode/l002/flake.nix +++ /dev/null @@ -1,101 +0,0 @@ -{ - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; - deploy-rs.url = "github:serokell/deploy-rs"; - common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles"; - ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim"; - }; - - outputs = - { - self, - nixpkgs, - common, - ros_neovim, - deploy-rs, - ... - }: - let - configuration_name = "l002"; - lib = nixpkgs.lib; - in - { - deploy = { - sshUser = "root"; - sshOpts = [ - "-i" - "/run/agenix/nix2linode" - ]; - nodes.${configuration_name} = { - hostname = "172.234.26.141"; - profiles.system = { - user = "root"; - path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.${configuration_name}; - }; - }; - }; - - nixosConfigurations = { - nixos = self.nixosConfigurations.${configuration_name}; - "${configuration_name}" = lib.nixosSystem { - modules = [ - common.nixosModules.default - ros_neovim.nixosModules.default - ./configuration.nix - ./hardware-configuration.nix - ./linode.nix - ./nginx.nix - ( - { pkgs, ... }: - { - environment.systemPackages = with pkgs; [ - bitwarden - vaultwarden - ]; - - ringofstorms_common = { - systemName = configuration_name; - general = { - disableRemoteBuildsOnLio = true; - readWindowsDrives = false; - jetbrainsMonoFont = false; - ttyCapsEscape = false; - }; - programs = { - tailnet.enable = true; - tailnet.useSecretsAuth = false; - ssh.enable = true; - }; - users = { - users = { - root = { - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJuo6L6V52AzdQIK6fWW9s0aX1yKUUTXbPd8v8IU9p2o nix2linode" - ]; - shell = pkgs.zsh; - }; - }; - }; - homeManager = { - users = { - root = { - imports = with common.homeManagerModules; [ - tmux - atuin - git - postgres - starship - zoxide - zsh - ]; - }; - }; - }; - }; - } - ) - ]; - }; - }; - }; -} diff --git a/hosts/linode/l002/hardware-configuration.nix b/hosts/linode/l002/hardware-configuration.nix deleted file mode 100644 index 6507949..0000000 --- a/hosts/linode/l002/hardware-configuration.nix +++ /dev/null @@ -1,34 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/profiles/qemu-guest.nix") - ]; - - boot.initrd.availableKernelModules = [ "virtio_pci" "virtio_scsi" "ahci" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/3612d65e-719c-4b33-af08-561b790d6d33"; - fsType = "ext4"; - }; - - swapDevices = - [ { device = "/dev/disk/by-uuid/f1408ea6-59a0-11ed-bc9d-525400000001"; } - ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp0s5.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; -} - diff --git a/hosts/linode/l002/linode.nix b/hosts/linode/l002/linode.nix deleted file mode 100644 index b0f8894..0000000 --- a/hosts/linode/l002/linode.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ config, pkgs, ... }: -{ - # https://www.linode.com/docs/guides/install-nixos-on-linode/#configure-nixos - boot.kernelParams = [ "console=ttyS0,19200n8" ]; - boot.loader.grub.enable = true; - boot.loader.grub.extraConfig = '' - serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1; - terminal_input serial; - terminal_output serial - ''; - - boot.loader.grub.forceInstall = true; - boot.loader.grub.device = "nodev"; - boot.loader.timeout = 10; - - services.openssh = { - enable = true; - settings.PermitRootLogin = "yes"; - settings.PasswordAuthentication = false; - }; - - networking.usePredictableInterfaceNames = false; - networking.useDHCP = false; # Disable DHCP globally as we will not need it. - # required for ssh? - networking.interfaces.eth0.useDHCP = true; - - environment.systemPackages = with pkgs; [ - inetutils - mtr - sysstat - ]; -} diff --git a/hosts/linode/l002/nginx.nix b/hosts/linode/l002/nginx.nix deleted file mode 100644 index 4b61a1c..0000000 --- a/hosts/linode/l002/nginx.nix +++ /dev/null @@ -1,158 +0,0 @@ -{ - ... -}: -{ - - # JUST A TEST TODO remove - containers.wasabi = { - ephemeral = true; - autoStart = true; - privateNetwork = true; - hostAddress = "192.168.100.2"; - localAddress = "192.168.100.11"; - config = - { config, pkgs, ... }: - { - system.stateVersion = "24.11"; - services.httpd.enable = true; - services.httpd.adminAddr = "foo@example.org"; - networking.firewall = { - enable = true; - allowedTCPPorts = [ 80 ]; - }; - }; - }; - - security.acme.acceptTerms = true; - security.acme.defaults.email = "admin@joshuabell.xyz"; - services.nginx = { - enable = true; - recommendedGzipSettings = true; - recommendedOptimisation = true; - recommendedProxySettings = true; - recommendedTlsSettings = true; - virtualHosts = { - # default that is put first for fallbacks - # Note that order here doesn't matter it orders alphabetically so `0` puts it first - # I had an issue tha the first SSL port 443 site would catch any https traffic instead - # of hitting my default fallback and this fixes that issue and ensure this is hit instead - "002.linodes.joshuabell.xyz" = { - default = true; - enableACME = true; - forceSSL = true; - locations."/" = { - return = "444"; # 404 for not found or 444 for drop - }; - }; - # PROXY HOSTS - "chat.joshuabell.xyz" = { - enableACME = true; - forceSSL = true; - locations."/" = { - proxyWebsockets = true; - proxyPass = "http://100.64.0.1:3080"; - }; - }; - "db.joshuabell.xyz" = { - enableACME = true; - forceSSL = true; - locations."/" = { - proxyWebsockets = true; - proxyPass = "http://100.64.0.1:3085"; - }; - }; - "gist.joshuabell.xyz" = { - enableACME = true; - forceSSL = true; - locations."/" = { - proxyPass = "http://100.64.0.2:6157"; - }; - }; - "git.joshuabell.xyz" = { - enableACME = true; - forceSSL = true; - locations."/" = { - proxyPass = "http://100.64.0.1"; - }; - }; - - # Redirect self IP to domain - "172.234.26.141" = { - locations."/" = { - return = "301 https://joshuabell.xyz"; - }; - }; - "2600:3c06::f03c:95ff:fe2c:2806" = { - locations."/" = { - return = "301 https://joshuabell.xyz"; - }; - }; - - "www.joshuabell.xyz" = { - enableACME = true; - forceSSL = true; - locations."/" = { - return = "301 https://joshuabell.xyz"; - }; - }; - "joshuabell.xyz" = { - enableACME = true; - forceSSL = true; - locations = { - "/wasabi" = { - proxyPass = "http://192.168.100.11/"; - extraConfig = '' - rewrite ^/wasabi/(.*) /$1 break; - ''; - }; - "/" = { - # return = "200 'Hello World'"; - extraConfig = '' - default_type text/html; - return 200 ' - - -
- In the void you roam,
- A page that cannot be found-
- Turn back, seek anew. -
- - - '; - ''; - }; - }; - }; - - "www.ellalala.com" = { - enableACME = true; - forceSSL = true; - locations."/" = { - return = "301 https://ellalala.com"; - }; - }; - "ellalala.com" = { - enableACME = true; - forceSSL = true; - locations."/" = { - return = "444"; - }; - }; - }; - - # STREAMS - streamConfig = '' - server { - listen 3032; - proxy_pass 100.64.0.1:3032; - } - ''; - }; - - networking.firewall.allowedTCPPorts = [ - 80 # web http - 443 # web https - 3032 # git ssh stream - ]; -} diff --git a/hosts/lio/containers.nix b/hosts/lio/containers.nix index c7ccf60..5c3961d 100644 --- a/hosts/lio/containers.nix +++ b/hosts/lio/containers.nix @@ -1,9 +1,12 @@ -{ common }: +{ inputs }: +let + common = inputs.common; +in { + config, ... }: { - # NOTE some useful links # nixos containers: https://blog.beardhatcode.be/2020/12/Declarative-Nixos-Containers.html # https://nixos.wiki/wiki/NixOS_Containers @@ -11,10 +14,16 @@ imports = [ common.nixosModules.containers.librechat - common.nixosModules.containers.forgejo + common.nixosModules.containers.obsidian_sync ]; config = { + # Obsidian Sync settings + services.obsidian_sync = { + serverUrl = "https://obsidiansync.joshuabell.xyz"; + dockerEnvFiles = [ config.age.secrets.obsidian_sync_env.path ]; + }; + ## Give internet access networking = { nat = { @@ -26,32 +35,36 @@ firewall.trustedInterfaces = [ "ve-*" ]; }; - # mathesar - # services.mathesar.secretKey = "mImvhwyu0cFmtUNOAyOjm6qozWjEmHyrGIpOTZXWW7lnkj5RP3"; + # containers.wasabi = { + # ephemeral = true; + # autoStart = true; + # privateNetwork = true; + # hostAddress = "10.0.0.1"; + # localAddress = "10.0.0.111"; + # config = + # { config, pkgs, ... }: + # { + # system.stateVersion = "24.11"; + # services.httpd.enable = true; + # services.httpd.adminAddr = "foo@example.org"; + # networking.firewall = { + # enable = true; + # allowedTCPPorts = [ 80 ]; + # }; + # }; + # }; - containers.wasabi = { - ephemeral = true; - autoStart = true; - privateNetwork = true; - hostAddress = "192.168.100.2"; - localAddress = "192.168.100.11"; - config = - { config, pkgs, ... }: - { - system.stateVersion = "24.11"; - services.httpd.enable = true; - services.httpd.adminAddr = "foo@example.org"; - networking.firewall = { - enable = true; - allowedTCPPorts = [ 80 ]; - }; - }; - }; + # virtualisation.oci-containers.containers = { + # ntest = { + # image = "nginx:alpine"; + # ports = [ + # "127.0.0.1:8085:80" + # ]; + # }; + # }; virtualisation.oci-containers.backend = "docker"; - security.acme.acceptTerms = true; - security.acme.defaults.email = "admin@joshuabell.xyz"; services.nginx = { enable = true; recommendedGzipSettings = true; @@ -59,45 +72,13 @@ recommendedProxySettings = true; recommendedTlsSettings = true; virtualHosts = { - # "local.belljm.com" = { - # # enableACME = true; - # # forceSSL = true; - # locations."/".proxyPass = "http://${config.containers.wasabi.localAddress}:80"; - # }; - # "127.0.0.1" = { - # locations."/wasabi/" = { - # extraConfig = '' - # rewrite ^/wasabi/(.*) /$1 break; - # ''; - # proxyPass = "http://${config.containers.wasabi.localAddress}:80/"; - # }; - # locations."/" = { - # return = "404"; # or 444 for drop - # }; - # }; - "git.joshuabell.xyz" = { - # GIT passthrough - locations."/" = { - proxyPass = "http://10.0.0.2:3000"; - }; - }; - "_" = { default = true; locations."/" = { - return = "404"; # or 444 for drop + return = "444"; # or 444 for drop }; }; }; - - # STREAMS - streamConfig = '' - server { - listen 3032; - proxy_pass 10.0.0.2:3032; - } - ''; - }; networking.firewall.allowedTCPPorts = [ diff --git a/hosts/lio/flake.lock b/hosts/lio/flake.lock index 602500b..6a5181b 100644 --- a/hosts/lio/flake.lock +++ b/hosts/lio/flake.lock @@ -28,15 +28,16 @@ "common": { "inputs": { "home-manager": "home-manager", + "nix-flatpak": "nix-flatpak", "nixpkgs": "nixpkgs_2", "ragenix": "ragenix" }, "locked": { - "lastModified": 1745953495, - "narHash": "sha256-8FzNmiQ4FuAk3Lz1vP3Up2npluYPXe5eos05h3npvrA=", + "lastModified": 1750780721, + "narHash": "sha256-EgWdBolm8wPXY9iuTHPXykJiQRzSnfXzkCXpNooxEB8=", "ref": "refs/heads/master", - "rev": "37d4ac85b2450a407d8528aef1f5de38fbabb72d", - "revCount": 413, + "rev": "2004734c7b7d77638874b63e147970199830c3fd", + "revCount": 500, "type": "git", "url": "https://git.joshuabell.xyz/ringofstorms/dotfiles" }, @@ -107,16 +108,16 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1744743431, - "narHash": "sha256-iyn/WBYDc7OtjSawbegINDe/gIkok888kQxk3aVnkgg=", + "lastModified": 1749154018, + "narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=", "owner": "rycee", "repo": "home-manager", - "rev": "c61bfe3ae692f42ce688b5865fac9e0de58e1387", + "rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111", "type": "github" }, "original": { "owner": "rycee", - "ref": "release-24.11", + "ref": "release-25.05", "repo": "home-manager", "type": "github" } @@ -144,29 +145,45 @@ "type": "github" } }, + "nix-flatpak": { + "locked": { + "lastModified": 1739444422, + "narHash": "sha256-iAVVHi7X3kWORftY+LVbRiStRnQEob2TULWyjMS6dWg=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "5e54c3ca05a7c7d968ae1ddeabe01d2a9bc1e177", + "type": "github" + }, + "original": { + "owner": "gmodena", + "ref": "latest", + "repo": "nix-flatpak", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1731755305, - "narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=", + "lastModified": 1749024892, + "narHash": "sha256-OGcDEz60TXQC+gVz5sdtgGJdKVYr6rwdzQKuZAJQpCA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4", + "rev": "8f1b52b04f2cb6e5ead50bd28d76528a2f0380ef", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_2": { "locked": { - "lastModified": 1744463964, - "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "type": "github" }, "original": { @@ -194,27 +211,27 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1745868005, - "narHash": "sha256-hZScOyQphT4RUmSEJX+2OxjIlGgLwSd8iW1LNtAWIOs=", + "lastModified": 1750622754, + "narHash": "sha256-kMhs+YzV4vPGfuTpD3mwzibWUE6jotw5Al2wczI0Pv8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "330d0a4167924b43f31cc9406df363f71b768a02", + "rev": "c7ab75210cb8cb16ddd8f290755d9558edde7ee1", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_5": { "locked": { - "lastModified": 1745250177, - "narHash": "sha256-NPkMDgRHLVuNHs7y/MK3qYbE/5uo42mskUIygSHEOLM=", + "lastModified": 1750188666, + "narHash": "sha256-yAfLvtbCzSigTfbsJeOrvljS7VYLAwi2RZ6F+qd+A5E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d1e61a9c582ec2f701b36d4600ae19b8099c5211", + "rev": "aa36c6c05d04f90cf890f87845be9380cf7b83c2", "type": "github" }, "original": { @@ -226,11 +243,11 @@ "nvim_plugin-Almo7aya/openingh.nvim": { "flake": false, "locked": { - "lastModified": 1744327913, - "narHash": "sha256-WQ7GbrjtikpMnzzME59QSibZI0hjzt/KAGDmXa677Rw=", + "lastModified": 1746139196, + "narHash": "sha256-/FlNLWOSIrOYiWzAcgOdu9//QTorCDV1KWb+h6eqLwk=", "owner": "Almo7aya", "repo": "openingh.nvim", - "rev": "ce19b5ffe09e35cec600ba794df280cbb72c015f", + "rev": "7cc8c897cb6b34d8ed28e99d95baccef609ed251", "type": "github" }, "original": { @@ -242,11 +259,11 @@ "nvim_plugin-CopilotC-Nvim/CopilotChat.nvim": { "flake": false, "locked": { - "lastModified": 1745008876, - "narHash": "sha256-/GdJNqoDpdsPCOjcESbtEEDCz5TYkvbPRY1/T0gF7IY=", + "lastModified": 1750069301, + "narHash": "sha256-lIAsudDunKOY69r00czO+rmMbM+woIdIGroT4dUZAFc=", "owner": "CopilotC-Nvim", "repo": "CopilotChat.nvim", - "rev": "634aa58117a9b70b3f08a0b150f11afd64f1c0eb", + "rev": "5df0b668d23c05c173f6bc79bb19642215b8b66a", "type": "github" }, "original": { @@ -274,11 +291,11 @@ "nvim_plugin-L3MON4D3/LuaSnip": { "flake": false, "locked": { - "lastModified": 1736009707, - "narHash": "sha256-3ecm5SDTcSOh256xSQPHhddQfMpepiEIpv58fHXrVg0=", + "lastModified": 1749564222, + "narHash": "sha256-StttV19d5gWbFPxerCOX3dXIaRwg1oeUANIbNztALps=", "owner": "L3MON4D3", "repo": "LuaSnip", - "rev": "c9b9a22904c97d0eb69ccb9bab76037838326817", + "rev": "fb525166ccc30296fb3457441eb979113de46b00", "type": "github" }, "original": { @@ -290,11 +307,11 @@ "nvim_plugin-MeanderingProgrammer/render-markdown.nvim": { "flake": false, "locked": { - "lastModified": 1744934679, - "narHash": "sha256-rTX+CCVOOU6ZzM5NvymJvOfJF10BRMfl8hdSJz0zw+Q=", + "lastModified": 1749846779, + "narHash": "sha256-j1aslQ3SPD9ZuhQDEt9e5GD+VZ6N6Re7IjVFXycaxWI=", "owner": "MeanderingProgrammer", "repo": "render-markdown.nvim", - "rev": "dfc1299d9f32b53b34b7ac6c3a7553b5fd29977f", + "rev": "76f7ce56ccb913632745714f160faa53164c5574", "type": "github" }, "original": { @@ -306,11 +323,11 @@ "nvim_plugin-MunifTanjim/nui.nvim": { "flake": false, "locked": { - "lastModified": 1741233810, - "narHash": "sha256-BYTY2ezYuxsneAl/yQbwL1aQvVWKSsN3IVqzTlrBSEU=", + "lastModified": 1749392788, + "narHash": "sha256-41slmnvt1z7sCxvpiVuFmQ9g7eCaxQi1dDCL3AxSL1A=", "owner": "MunifTanjim", "repo": "nui.nvim", - "rev": "8d3bce9764e627b62b07424e0df77f680d47ffdb", + "rev": "de740991c12411b663994b2860f1a4fd0937c130", "type": "github" }, "original": { @@ -322,11 +339,11 @@ "nvim_plugin-RRethy/vim-illuminate": { "flake": false, "locked": { - "lastModified": 1744859423, - "narHash": "sha256-zqXKkrUNTH/EIx3PBRN8+mQcbWa6fO9i/UoSeav5R/w=", + "lastModified": 1748105647, + "narHash": "sha256-KqAJRCtDBG5xsvNsqkxoBdDckg02u4NBBreYQw7BphA=", "owner": "RRethy", "repo": "vim-illuminate", - "rev": "1fa4b23409e22a03823648e344c77f260e2572cb", + "rev": "0d1e93684da00ab7c057410fecfc24f434698898", "type": "github" }, "original": { @@ -338,11 +355,11 @@ "nvim_plugin-Saecki/crates.nvim": { "flake": false, "locked": { - "lastModified": 1744379189, - "narHash": "sha256-HsdDeV3mMQwrzlP23bJnNkiSL5OELgn0WBTERxehviE=", + "lastModified": 1748637634, + "narHash": "sha256-sDjG6fjnQsyYtdf7xpmOW193e7USh6ghrFzo6NoLyP8=", "owner": "Saecki", "repo": "crates.nvim", - "rev": "73d2c590c74a0c582144987a4decb4a642755859", + "rev": "5d8b1bef686db0fabe5f1bb593744b617e8f1405", "type": "github" }, "original": { @@ -354,11 +371,11 @@ "nvim_plugin-aznhe21/actions-preview.nvim": { "flake": false, "locked": { - "lastModified": 1740589350, - "narHash": "sha256-MP1hohDL2JFembwW+cb2S+v2Y7j0iZw1jPPKTZiNCWI=", + "lastModified": 1745779150, + "narHash": "sha256-rQjwlu5gQcOvxF72lr9ugPRl0W78wCWGWPhpN1oOMbs=", "owner": "aznhe21", "repo": "actions-preview.nvim", - "rev": "4ab7842eb6a5b6d2b004f8234dcf33382a0fdde2", + "rev": "36513ad213855d497b7dd3391a24d1d75d58e36f", "type": "github" }, "original": { @@ -370,11 +387,11 @@ "nvim_plugin-b0o/schemastore.nvim": { "flake": false, "locked": { - "lastModified": 1745020938, - "narHash": "sha256-qDcVJ2RovKSIcUdVnXNcQZHoAf75IqsTMlsclDFrT2U=", + "lastModified": 1750179699, + "narHash": "sha256-EGt75z/NbjzDXxsyXT9Qj2wWOf06ijUr1If5ljmfLqo=", "owner": "b0o", "repo": "schemastore.nvim", - "rev": "e623e30df4053cacc67fb7eb04e1bd0fadba52b4", + "rev": "45fd6c22f30487586c771072dc8c5230931e4c7b", "type": "github" }, "original": { @@ -386,11 +403,11 @@ "nvim_plugin-catppuccin/nvim": { "flake": false, "locked": { - "lastModified": 1740764472, - "narHash": "sha256-4h/fzFY8JR9r+QnoiWEqgQKPMuu8i9HTC4v0Jp7iuUo=", + "lastModified": 1749271780, + "narHash": "sha256-wt/Ybjgr4N80B+QsyANs1QezM7PpFceUWSweRFgkhl0=", "owner": "catppuccin", "repo": "nvim", - "rev": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429", + "rev": "fa42eb5e26819ef58884257d5ae95dd0552b9a66", "type": "github" }, "original": { @@ -402,11 +419,11 @@ "nvim_plugin-chrisgrieser/nvim-early-retirement": { "flake": false, "locked": { - "lastModified": 1744450582, - "narHash": "sha256-ybs65ObtjcUBaGglxP3SIpYjlGSEk/MQI9nSN8S3Q1w=", + "lastModified": 1750108178, + "narHash": "sha256-3I7Xup+v9Yq9/nJQ1F5CDW99oFQcxbinv7VQcKeA16Y=", "owner": "chrisgrieser", "repo": "nvim-early-retirement", - "rev": "3b14762a0186b1922cb5ddf3a760d8521c7b3d7e", + "rev": "d9ffd8f70ed6d466cecd3e7e2dd1425b0010932f", "type": "github" }, "original": { @@ -578,11 +595,11 @@ "nvim_plugin-lewis6991/gitsigns.nvim": { "flake": false, "locked": { - "lastModified": 1745219545, - "narHash": "sha256-7WQ428oPr43z01HvNpArZJcUov61/pDtLqJtkEKnBAY=", + "lastModified": 1750058704, + "narHash": "sha256-V9aXXR9ZP2G/XInHt07RylC4rS+AyMXAAfODvC6pVxw=", "owner": "lewis6991", "repo": "gitsigns.nvim", - "rev": "2149fc2009d1117d58e86e56836f70c969f60a82", + "rev": "88205953bd748322b49b26e1dfb0389932520dc9", "type": "github" }, "original": { @@ -626,11 +643,11 @@ "nvim_plugin-m4xshen/hardtime.nvim": { "flake": false, "locked": { - "lastModified": 1744007533, - "narHash": "sha256-KCz8UNL7SkI4cP7wKmQPJgkI4TsQftnHjaMSBYCgrOY=", + "lastModified": 1750160168, + "narHash": "sha256-hzFX5mZRxTDDIp/iBVl4lqEaQryLQOe7jFJmXDwq4J8=", "owner": "m4xshen", "repo": "hardtime.nvim", - "rev": "9aaec65de041bddfc4c0af66919030d2950bcea8", + "rev": "b9a989191b3a97c9316a0efea02341c4cdab845a", "type": "github" }, "original": { @@ -658,11 +675,11 @@ "nvim_plugin-mfussenegger/nvim-lint": { "flake": false, "locked": { - "lastModified": 1745090089, - "narHash": "sha256-Pwxk2C5WaaaW7Ookbq2edvLSJh6ZQc3iWMxowHyQkFQ=", + "lastModified": 1749731021, + "narHash": "sha256-V4JJ1VQXoIsUBTxe6ykbkyo6LxEAr+QEIqIV3mA9phs=", "owner": "mfussenegger", "repo": "nvim-lint", - "rev": "d698d3b6fd7b1b85657d05a2a31d843ddb682c63", + "rev": "2b0039b8be9583704591a13129c600891ac2c596", "type": "github" }, "original": { @@ -674,11 +691,11 @@ "nvim_plugin-mrcjkb/rustaceanvim": { "flake": false, "locked": { - "lastModified": 1745050087, - "narHash": "sha256-nkCVQ+TXiaKm17HXaAMVuRMV3Jbxv8aRIO6re4zEgDw=", + "lastModified": 1750024924, + "narHash": "sha256-gmOqCnSLGDNerXyuuNhkyL/pSJitnyqBdWC3LejZoS4=", "owner": "mrcjkb", "repo": "rustaceanvim", - "rev": "69636cedf0d6aabf0eac3dfbce24883fe1051a3d", + "rev": "2fdf224107e5bc29fb5c3a175f5f2c9161b34741", "type": "github" }, "original": { @@ -690,11 +707,11 @@ "nvim_plugin-neovim/nvim-lspconfig": { "flake": false, "locked": { - "lastModified": 1745247686, - "narHash": "sha256-rnm/BJNMVxcYH/ZXf1HciXgG0UWhAeQQniOaSvi0E40=", + "lastModified": 1750169575, + "narHash": "sha256-lJWMFgQLQhKUuv50WrYXlJ3TFqT04nVbmcBGVDaSz0k=", "owner": "neovim", "repo": "nvim-lspconfig", - "rev": "b335f1c72877f101248d3b085d4b7da7576361d7", + "rev": "99d3a0f26bfe402f45257c1398287aef252cbe2d", "type": "github" }, "original": { @@ -706,11 +723,11 @@ "nvim_plugin-nosduco/remote-sshfs.nvim": { "flake": false, "locked": { - "lastModified": 1743352525, - "narHash": "sha256-YNqj1vPc2oyVrSgp+huoMkrUAp2Lx3G4W52liOujP6A=", + "lastModified": 1748880705, + "narHash": "sha256-eTnVFOR7FHlkU9kwrk3q3pNo/U8OR2gJrnrMUQKGi2A=", "owner": "nosduco", "repo": "remote-sshfs.nvim", - "rev": "1ae5784bf0729c8b03cb7fe6561508a673c9adc8", + "rev": "6e893c32ff7c5b8d0d501b748c525fa53963fb35", "type": "github" }, "original": { @@ -754,11 +771,11 @@ "nvim_plugin-nvim-lualine/lualine.nvim": { "flake": false, "locked": { - "lastModified": 1744482854, - "narHash": "sha256-XeAFXg6GWzMJV/HzfdCXtv/effAHVU7mioFKTf1kDc8=", + "lastModified": 1749383457, + "narHash": "sha256-2aPgA7riA/FubQpTkqsxLKl7OZ8L6FkucNHc2QEx2HQ=", "owner": "nvim-lualine", "repo": "lualine.nvim", - "rev": "86fe39534b7da729a1ac56c0466e76f2c663dc42", + "rev": "a94fc68960665e54408fe37dcf573193c4ce82c9", "type": "github" }, "original": { @@ -770,11 +787,11 @@ "nvim_plugin-nvim-telescope/telescope-file-browser.nvim": { "flake": false, "locked": { - "lastModified": 1729728595, - "narHash": "sha256-VJbRi91TTOwUkQYyTM6Njl7MtX8/mOjINiqWYWEtyxg=", + "lastModified": 1750040034, + "narHash": "sha256-NHcU3c+1pLeypHr9xXKmqvdwB1QM/vj5axzjpFEQCLQ=", "owner": "nvim-telescope", "repo": "telescope-file-browser.nvim", - "rev": "626998e5c1b71c130d8bc6cf7abb6709b98287bb", + "rev": "7bf55ed0ff5be182ad3301cff266581fc1c56cce", "type": "github" }, "original": { @@ -818,11 +835,11 @@ "nvim_plugin-nvim-telescope/telescope.nvim": { "flake": false, "locked": { - "lastModified": 1742346322, - "narHash": "sha256-GF1zOHZItVZm3bx2wqI4hPj7EXQJ2F9KS4MtaEt2gm0=", + "lastModified": 1747012888, + "narHash": "sha256-JpW0ehsX81yVbKNzrYOe1hdgVMs6oaaxMLH6lECnOJg=", "owner": "nvim-telescope", "repo": "telescope.nvim", - "rev": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5", + "rev": "b4da76be54691e854d3e0e02c36b0245f945c2c7", "type": "github" }, "original": { @@ -834,11 +851,11 @@ "nvim_plugin-nvim-tree/nvim-tree.lua": { "flake": false, "locked": { - "lastModified": 1745201081, - "narHash": "sha256-zQsqyJgqlvxniKOtwPSzArUaOwvIgo6Xm+oAjAbPda4=", + "lastModified": 1750143568, + "narHash": "sha256-E2YdGlvvpnT/PiayfQldwpbCnjsyNDcoTzxgMf2ajV8=", "owner": "nvim-tree", "repo": "nvim-tree.lua", - "rev": "be5b788f2dc1522c73fb7afad9092331c8aebe80", + "rev": "d54a1875a91e1a705795ea26074795210b92ce7f", "type": "github" }, "original": { @@ -850,11 +867,11 @@ "nvim_plugin-nvim-tree/nvim-web-devicons": { "flake": false, "locked": { - "lastModified": 1745131674, - "narHash": "sha256-uoT45oaeY5c1+A7pVQIS+Bj9JnrSy9rQAecvaWZht+c=", + "lastModified": 1747360641, + "narHash": "sha256-+RHeFaeCF/iwAf8qAOjbEIl3YcnrBMVfkQnnzDNhyTA=", "owner": "nvim-tree", "repo": "nvim-web-devicons", - "rev": "855c97005c8eebcdd19846f2e54706bffd40ee96", + "rev": "1fb58cca9aebbc4fd32b086cb413548ce132c127", "type": "github" }, "original": { @@ -866,11 +883,11 @@ "nvim_plugin-nvim-treesitter/nvim-treesitter-context": { "flake": false, "locked": { - "lastModified": 1744921782, - "narHash": "sha256-w3I3w1SGqtpUnu4KQyaLue+k96XmkgA3+DpxSEjj+WI=", + "lastModified": 1749893617, + "narHash": "sha256-QJAfpVdTHTxjUgggQekRLvNYuvG12gjtfTGybfcFdyo=", "owner": "nvim-treesitter", "repo": "nvim-treesitter-context", - "rev": "6daca3ad780f045550b820f262002f35175a6c04", + "rev": "1a1a7c5d6d75cb49bf64049dafab15ebe294a79f", "type": "github" }, "original": { @@ -882,11 +899,11 @@ "nvim_plugin-rafamadriz/friendly-snippets": { "flake": false, "locked": { - "lastModified": 1745202387, - "narHash": "sha256-R6xE5vwgFtyEYpET0E4ecZejuV/lNHFkumk+wGf3lbI=", + "lastModified": 1745949052, + "narHash": "sha256-FzApcTbWfFkBD9WsYMhaCyn6ky8UmpUC2io/co/eByM=", "owner": "rafamadriz", "repo": "friendly-snippets", - "rev": "fc8f183479a472df60aa86f00e295462f2308178", + "rev": "572f5660cf05f8cd8834e096d7b4c921ba18e175", "type": "github" }, "original": { @@ -914,11 +931,11 @@ "nvim_plugin-rmagatti/auto-session": { "flake": false, "locked": { - "lastModified": 1745009508, - "narHash": "sha256-NCytp+DiOo3obZeQ9bpaEaNMfstf1Ytn0OR5mAWodLw=", + "lastModified": 1749967462, + "narHash": "sha256-1pIGu/GJ4FiMH/yHhoo6Gu0HLC3rFQiesJBuv8uE7Vw=", "owner": "rmagatti", "repo": "auto-session", - "rev": "71c8af9a99e96b9d2533cf4bac4dfed1eafab923", + "rev": "fffb13dcbe8731b8650e5bf1caa749a485d20556", "type": "github" }, "original": { @@ -978,11 +995,11 @@ "nvim_plugin-stevearc/conform.nvim": { "flake": false, "locked": { - "lastModified": 1745180802, - "narHash": "sha256-J/GKqn2VHv/ydaFXWCFduV2B7iwZzHtUvFArszxf2Cw=", + "lastModified": 1749498876, + "narHash": "sha256-n1IPUNwD14WlDU4zbgfJuhXQcVMt8oc4wCuUJBPJ+y4=", "owner": "stevearc", "repo": "conform.nvim", - "rev": "372fc521f8421b7830ea6db4d6ea3bae1c77548c", + "rev": "8132ec733eed3bf415b97b76797ca41b59f51d7d", "type": "github" }, "original": { @@ -1007,6 +1024,22 @@ "type": "github" } }, + "nvim_plugin-supermaven-inc/supermaven-nvim": { + "flake": false, + "locked": { + "lastModified": 1728314930, + "narHash": "sha256-1z3WKIiikQqoweReUyK5O8MWSRN5y95qcxM6qzlKMME=", + "owner": "supermaven-inc", + "repo": "supermaven-nvim", + "rev": "07d20fce48a5629686aefb0a7cd4b25e33947d50", + "type": "github" + }, + "original": { + "owner": "supermaven-inc", + "repo": "supermaven-nvim", + "type": "github" + } + }, "nvim_plugin-tpope/vim-sleuth": { "flake": false, "locked": { @@ -1042,11 +1075,11 @@ "nvim_plugin-uga-rosa/ccc.nvim": { "flake": false, "locked": { - "lastModified": 1744103477, - "narHash": "sha256-MSh9tJv9UNfceO1yQIvID36x/fLGmgFcnIzJ9LOog0A=", + "lastModified": 1746537659, + "narHash": "sha256-3TZ8VmvdgQ9n63m78C3r4OIUkVQHTHBvC24ixBdhTig=", "owner": "uga-rosa", "repo": "ccc.nvim", - "rev": "af2cf5a963f401aad868c065222ee13d4bbc9050", + "rev": "9d1a256e006decc574789dfc7d628ca11644d4c2", "type": "github" }, "original": { @@ -1071,22 +1104,6 @@ "type": "github" } }, - "nvim_plugin-yetone/avante.nvim": { - "flake": false, - "locked": { - "lastModified": 1744881650, - "narHash": "sha256-BzRFgcBG4vn7mamwLvviMl4erTPwg+1AkAb3Ss4Kq8E=", - "owner": "yetone", - "repo": "avante.nvim", - "rev": "eb1cd44731783024621beafe4e46204cbc9a4320", - "type": "github" - }, - "original": { - "owner": "yetone", - "repo": "avante.nvim", - "type": "github" - } - }, "nvim_plugin-zbirenbaum/copilot-cmp": { "flake": false, "locked": { @@ -1106,11 +1123,11 @@ "nvim_plugin-zbirenbaum/copilot.lua": { "flake": false, "locked": { - "lastModified": 1745111203, - "narHash": "sha256-PaWWT0mSsTfnBMrmHagHgemGN5Be6rbikVVW4ZBK/Zs=", + "lastModified": 1749137204, + "narHash": "sha256-qxHpIsFFLDG/jtk6e1hkOZgDSRA5Q0+DMxxAxckNhIc=", "owner": "zbirenbaum", "repo": "copilot.lua", - "rev": "dc579f98536029610cfa32c6bad86c0d24363679", + "rev": "c1bb86abbed1a52a11ab3944ef00c8410520543d", "type": "github" }, "original": { @@ -1128,11 +1145,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1741508717, - "narHash": "sha256-iQf1WdNxaApOFHIx4RLMRZ4f8g+8Xp0Z1/E/Mz2rLxY=", + "lastModified": 1744897914, + "narHash": "sha256-GIVU92o2TZBnKQXTb76zpQbWR4zjU2rFqWKNIIpXnqA=", "owner": "yaxitech", "repo": "ragenix", - "rev": "2a2bea99d74927e54adf53cbf113219def67d5c9", + "rev": "40f2e17ecaeab4d78ec323e96a04548c0aaa5223", "type": "github" }, "original": { @@ -1200,21 +1217,21 @@ "nvim_plugin-sindrets/diffview.nvim": "nvim_plugin-sindrets/diffview.nvim", "nvim_plugin-stevearc/conform.nvim": "nvim_plugin-stevearc/conform.nvim", "nvim_plugin-stevearc/dressing.nvim": "nvim_plugin-stevearc/dressing.nvim", + "nvim_plugin-supermaven-inc/supermaven-nvim": "nvim_plugin-supermaven-inc/supermaven-nvim", "nvim_plugin-tpope/vim-sleuth": "nvim_plugin-tpope/vim-sleuth", "nvim_plugin-tpope/vim-surround": "nvim_plugin-tpope/vim-surround", "nvim_plugin-uga-rosa/ccc.nvim": "nvim_plugin-uga-rosa/ccc.nvim", "nvim_plugin-windwp/nvim-ts-autotag": "nvim_plugin-windwp/nvim-ts-autotag", - "nvim_plugin-yetone/avante.nvim": "nvim_plugin-yetone/avante.nvim", "nvim_plugin-zbirenbaum/copilot-cmp": "nvim_plugin-zbirenbaum/copilot-cmp", "nvim_plugin-zbirenbaum/copilot.lua": "nvim_plugin-zbirenbaum/copilot.lua", "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1745585761, - "narHash": "sha256-xS3068xhndFrZh9GcTTNTmeebGq1A3uVykRRdzJOj3Y=", + "lastModified": 1750190298, + "narHash": "sha256-ero30lVvCzmdKkY0lZR/RO+oTNTY1WXQh6vhfbcbTIk=", "ref": "refs/heads/master", - "rev": "e5523910a0c07c88d026d006f5962434bfa53548", - "revCount": 277, + "rev": "1ed03dac446683ef42035b53a410d857855d82d9", + "revCount": 291, "type": "git", "url": "https://git.joshuabell.xyz/ringofstorms/nvim" }, @@ -1253,11 +1270,11 @@ ] }, "locked": { - "lastModified": 1745207416, - "narHash": "sha256-2g2TnXgJEvSvpk7ujY69pSplmM3oShhoOidZf1iHTHU=", + "lastModified": 1750127910, + "narHash": "sha256-FIgEIS0RAlOyXGqoj/OufTfcKItYq668yPYL4SXdU0M=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "68a0ff1a43d08aa1ec3730e7e7d06f6da0ba630a", + "rev": "45418795a73b77b7726c62ce265d68cf541ffb49", "type": "github" }, "original": { diff --git a/hosts/lio/flake.nix b/hosts/lio/flake.nix index 627e69d..bd71054 100644 --- a/hosts/lio/flake.nix +++ b/hosts/lio/flake.nix @@ -1,7 +1,6 @@ { inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; - # nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; # Use relative to get current version for testing # common.url = "path:../../common"; @@ -16,7 +15,7 @@ common, ros_neovim, ... - }: + }@inputs: let configuration_name = "lio"; lib = nixpkgs.lib; @@ -25,12 +24,13 @@ nixosConfigurations = { "${configuration_name}" = ( lib.nixosSystem { + specialArgs = { inherit inputs; }; modules = [ common.nixosModules.default ros_neovim.nixosModules.default ./configuration.nix ./hardware-configuration.nix - (import ./containers.nix { inherit common; }) + (import ./containers.nix { inherit inputs; }) ( { config, pkgs, ... }: { @@ -44,7 +44,6 @@ steam ffmpeg-full appimage-run - rustdesk-flutter ]; # Also allow this key to work for root user, this will let us use this as a remote builder easier @@ -59,6 +58,7 @@ boot.systemd.enable = true; secrets.enable = true; general = { + reporting.enable = true; disableRemoteBuildsOnLio = true; }; desktopEnvironment.gnome.enable = true; @@ -70,6 +70,22 @@ tailnet.enableExitNode = true; ssh.enable = true; docker.enable = true; + flatpaks = { + enable = true; + packages = [ + "org.signal.Signal" + "com.discordapp.Discord" + "md.obsidian.Obsidian" + "com.spotify.Client" + "org.videolan.VLC" + "com.bitwarden.desktop" + "org.openscad.OpenSCAD" + "org.blender.Blender" + "im.riot.Riot" + "com.rustdesk.RustDesk" + "com.google.Chrome" + ]; + }; }; users = { # Users are all normal users and default password is password1 @@ -86,17 +102,7 @@ ]; shell = pkgs.zsh; packages = with pkgs; [ - signal-desktop - spotify - blender - google-chrome - discordo - discord - firefox-esr - openscad - vlc - bitwarden - vaultwarden + sabnzbd ]; }; }; diff --git a/hosts/oracle/o001/flake.lock b/hosts/oracle/o001/flake.lock index a025c25..9ed0a31 100644 --- a/hosts/oracle/o001/flake.lock +++ b/hosts/oracle/o001/flake.lock @@ -32,17 +32,17 @@ "ragenix": "ragenix" }, "locked": { - "lastModified": 1745444238, - "narHash": "sha256-zT1T9zC7dr+HApuC390eQHPpCJq4vYvOwYSq507DtFA=", + "lastModified": 1746052265, + "narHash": "sha256-/cb1BPEUb1O/clHP101M52hvUZ2zo8FAyJS7BF/M3Mg=", "ref": "refs/heads/master", - "rev": "214e6f289da1e888ff547aff173aaffc8517092b", - "revCount": 399, + "rev": "7ae93579413e6bfcc6a55d1fae05ef77dc224676", + "revCount": 436, "type": "git", - "url": "https://git.joshuabell.xyz/dotfiles" + "url": "https://git.joshuabell.xyz/ringofstorms/dotfiles" }, "original": { "type": "git", - "url": "https://git.joshuabell.xyz/dotfiles" + "url": "https://git.joshuabell.xyz/ringofstorms/dotfiles" } }, "crane": { @@ -1263,17 +1263,17 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1744648171, - "narHash": "sha256-DodI1yschNbktPZiGKM6Gke2pgEM0J4wkVaM+Ygk0Cs=", + "lastModified": 1745585761, + "narHash": "sha256-xS3068xhndFrZh9GcTTNTmeebGq1A3uVykRRdzJOj3Y=", "ref": "refs/heads/master", - "rev": "0a14d0e7451d17a2f368749cf269c6a59aa35059", - "revCount": 274, + "rev": "e5523910a0c07c88d026d006f5962434bfa53548", + "revCount": 277, "type": "git", - "url": "https://git.joshuabell.xyz/nvim" + "url": "https://git.joshuabell.xyz/ringofstorms/nvim" }, "original": { "type": "git", - "url": "https://git.joshuabell.xyz/nvim" + "url": "https://git.joshuabell.xyz/ringofstorms/nvim" } }, "rust-overlay": { diff --git a/hosts/oracle/o001/flake.nix b/hosts/oracle/o001/flake.nix index f18005e..f18dbfc 100644 --- a/hosts/oracle/o001/flake.nix +++ b/hosts/oracle/o001/flake.nix @@ -47,7 +47,6 @@ ./hardware-configuration.nix ./nginx.nix ./containers/vaultwarden.nix - ./containers/opengist.nix ./mods/postgresql.nix ./mods/atuin.nix ./mods/rustdesk-server.nix diff --git a/hosts/oracle/o001/nginx.nix b/hosts/oracle/o001/nginx.nix index e9901d3..dbde258 100644 --- a/hosts/oracle/o001/nginx.nix +++ b/hosts/oracle/o001/nginx.nix @@ -45,18 +45,27 @@ ''; }; }; - }; in { # Redirect self IP to domain "64.181.210.7" = { locations."/" = { - return = "301 https://o001.joshuabell.xyz"; + return = "301 https://joshuabell.xyz"; }; }; - "o001.joshuabell.xyz" = { + "100.64.0.11" = tailnetConfig; + "o001.net.joshuabell.xyz" = tailnetConfig; + + "www.joshuabell.xyz" = { + enableACME = true; + forceSSL = true; + locations."/" = { + return = "301 https://joshuabell.xyz"; + }; + }; + "joshuabell.xyz" = { enableACME = true; forceSSL = true; locations = { @@ -74,7 +83,6 @@
- In the void you roam,
A page that cannot be found-
Turn back, seek anew. @@ -87,20 +95,96 @@ }; }; - "100.64.0.11" = tailnetConfig; - "o001.net.joshuabell.xyz" = tailnetConfig; + "www.ellalala.com" = { + enableACME = true; + forceSSL = true; + locations."/" = { + return = "301 https://ellalala.com"; + }; + }; + "ellalala.com" = { + enableACME = true; + forceSSL = true; + locations."/" = { + return = "444"; + }; + }; + + # PROXY HOSTS + "chat.joshuabell.xyz" = { + enableACME = true; + forceSSL = true; + locations."/" = { + proxyWebsockets = true; + proxyPass = "http://100.64.0.1:3080"; + }; + }; + "gist.joshuabell.xyz" = { + enableACME = true; + forceSSL = true; + locations."/" = { + proxyPass = "http://100.64.0.13"; + }; + }; + "git.joshuabell.xyz" = { + enableACME = true; + forceSSL = true; + locations."/" = { + proxyPass = "http://100.64.0.13"; + }; + }; + "obsidiansync.joshuabell.xyz" = { + enableACME = true; + forceSSL = true; + locations."/" = { + proxyPass = "http://100.64.0.1:5984"; + }; + extraConfig = '' + client_max_body_size 100M; + proxy_redirect off; + proxy_buffering off; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + ''; + }; + "jellyfin.joshuabell.xyz" = { + enableACME = true; + forceSSL = true; + locations."/" = { + proxyPass = "http://100.64.0.13"; + }; + }; + "media.joshuabell.xyz" = { + enableACME = true; + forceSSL = true; + locations."/" = { + proxyPass = "http://100.64.0.13"; + }; + }; + "_" = { default = true; locations."/" = { - return = "404"; # 404 for not found or 444 for drop + return = "444"; # 404 for not found or 444 for drop }; }; }; + + # STREAMS + streamConfig = '' + server { + listen 3032; + proxy_pass 100.64.0.13:3032; + } + ''; }; + # NOTE Oracle also has security rules that must expose these ports so this alone will not work! See readme networking.firewall.allowedTCPPorts = [ 80 # web http 443 # web https + + 3032 # ssh for git server ]; } diff --git a/hosts/oren/flake.lock b/hosts/oren/flake.lock index e7044e3..f62f595 100644 --- a/hosts/oren/flake.lock +++ b/hosts/oren/flake.lock @@ -28,15 +28,16 @@ "common": { "inputs": { "home-manager": "home-manager", + "nix-flatpak": "nix-flatpak", "nixpkgs": "nixpkgs_2", "ragenix": "ragenix" }, "locked": { - "lastModified": 1745957654, - "narHash": "sha256-7srBa6eMbDzR5zD1TFmSOw5gBy+vRsoEC3DrlQD8Vig=", + "lastModified": 1750257405, + "narHash": "sha256-Ztt+5z2BmPqxvpQT4yLV/8gaWD5Txedr3Gd38gTXOGU=", "ref": "refs/heads/master", - "rev": "46d5748992a9cbbf42f3c6e501288d5cf97de706", - "revCount": 425, + "rev": "b715d8b5335b2302fefde329723bd3b4a0986c70", + "revCount": 483, "type": "git", "url": "https://git.joshuabell.xyz/ringofstorms/dotfiles" }, @@ -107,16 +108,16 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1744743431, - "narHash": "sha256-iyn/WBYDc7OtjSawbegINDe/gIkok888kQxk3aVnkgg=", + "lastModified": 1749154018, + "narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=", "owner": "rycee", "repo": "home-manager", - "rev": "c61bfe3ae692f42ce688b5865fac9e0de58e1387", + "rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111", "type": "github" }, "original": { "owner": "rycee", - "ref": "release-24.11", + "ref": "release-25.05", "repo": "home-manager", "type": "github" } @@ -144,29 +145,45 @@ "type": "github" } }, + "nix-flatpak": { + "locked": { + "lastModified": 1739444422, + "narHash": "sha256-iAVVHi7X3kWORftY+LVbRiStRnQEob2TULWyjMS6dWg=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "5e54c3ca05a7c7d968ae1ddeabe01d2a9bc1e177", + "type": "github" + }, + "original": { + "owner": "gmodena", + "ref": "latest", + "repo": "nix-flatpak", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1731755305, - "narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=", + "lastModified": 1749024892, + "narHash": "sha256-OGcDEz60TXQC+gVz5sdtgGJdKVYr6rwdzQKuZAJQpCA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4", + "rev": "8f1b52b04f2cb6e5ead50bd28d76528a2f0380ef", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1745794561, - "narHash": "sha256-T36rUZHUART00h3dW4sV5tv4MrXKT7aWjNfHiZz7OHg=", + "lastModified": 1750134718, + "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5461b7fa65f3ca74cef60be837fd559a8918eaa0", + "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c", "type": "github" }, "original": { @@ -178,11 +195,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1744463964, - "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "type": "github" }, "original": { @@ -210,27 +227,27 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1745868005, - "narHash": "sha256-hZScOyQphT4RUmSEJX+2OxjIlGgLwSd8iW1LNtAWIOs=", + "lastModified": 1750133334, + "narHash": "sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "330d0a4167924b43f31cc9406df363f71b768a02", + "rev": "36ab78dab7da2e4e27911007033713bab534187b", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_5": { "locked": { - "lastModified": 1745250177, - "narHash": "sha256-NPkMDgRHLVuNHs7y/MK3qYbE/5uo42mskUIygSHEOLM=", + "lastModified": 1750188666, + "narHash": "sha256-yAfLvtbCzSigTfbsJeOrvljS7VYLAwi2RZ6F+qd+A5E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d1e61a9c582ec2f701b36d4600ae19b8099c5211", + "rev": "aa36c6c05d04f90cf890f87845be9380cf7b83c2", "type": "github" }, "original": { @@ -242,11 +259,11 @@ "nvim_plugin-Almo7aya/openingh.nvim": { "flake": false, "locked": { - "lastModified": 1744327913, - "narHash": "sha256-WQ7GbrjtikpMnzzME59QSibZI0hjzt/KAGDmXa677Rw=", + "lastModified": 1746139196, + "narHash": "sha256-/FlNLWOSIrOYiWzAcgOdu9//QTorCDV1KWb+h6eqLwk=", "owner": "Almo7aya", "repo": "openingh.nvim", - "rev": "ce19b5ffe09e35cec600ba794df280cbb72c015f", + "rev": "7cc8c897cb6b34d8ed28e99d95baccef609ed251", "type": "github" }, "original": { @@ -258,11 +275,11 @@ "nvim_plugin-CopilotC-Nvim/CopilotChat.nvim": { "flake": false, "locked": { - "lastModified": 1745008876, - "narHash": "sha256-/GdJNqoDpdsPCOjcESbtEEDCz5TYkvbPRY1/T0gF7IY=", + "lastModified": 1750069301, + "narHash": "sha256-lIAsudDunKOY69r00czO+rmMbM+woIdIGroT4dUZAFc=", "owner": "CopilotC-Nvim", "repo": "CopilotChat.nvim", - "rev": "634aa58117a9b70b3f08a0b150f11afd64f1c0eb", + "rev": "5df0b668d23c05c173f6bc79bb19642215b8b66a", "type": "github" }, "original": { @@ -290,11 +307,11 @@ "nvim_plugin-L3MON4D3/LuaSnip": { "flake": false, "locked": { - "lastModified": 1736009707, - "narHash": "sha256-3ecm5SDTcSOh256xSQPHhddQfMpepiEIpv58fHXrVg0=", + "lastModified": 1749564222, + "narHash": "sha256-StttV19d5gWbFPxerCOX3dXIaRwg1oeUANIbNztALps=", "owner": "L3MON4D3", "repo": "LuaSnip", - "rev": "c9b9a22904c97d0eb69ccb9bab76037838326817", + "rev": "fb525166ccc30296fb3457441eb979113de46b00", "type": "github" }, "original": { @@ -306,11 +323,11 @@ "nvim_plugin-MeanderingProgrammer/render-markdown.nvim": { "flake": false, "locked": { - "lastModified": 1744934679, - "narHash": "sha256-rTX+CCVOOU6ZzM5NvymJvOfJF10BRMfl8hdSJz0zw+Q=", + "lastModified": 1749846779, + "narHash": "sha256-j1aslQ3SPD9ZuhQDEt9e5GD+VZ6N6Re7IjVFXycaxWI=", "owner": "MeanderingProgrammer", "repo": "render-markdown.nvim", - "rev": "dfc1299d9f32b53b34b7ac6c3a7553b5fd29977f", + "rev": "76f7ce56ccb913632745714f160faa53164c5574", "type": "github" }, "original": { @@ -322,11 +339,11 @@ "nvim_plugin-MunifTanjim/nui.nvim": { "flake": false, "locked": { - "lastModified": 1741233810, - "narHash": "sha256-BYTY2ezYuxsneAl/yQbwL1aQvVWKSsN3IVqzTlrBSEU=", + "lastModified": 1749392788, + "narHash": "sha256-41slmnvt1z7sCxvpiVuFmQ9g7eCaxQi1dDCL3AxSL1A=", "owner": "MunifTanjim", "repo": "nui.nvim", - "rev": "8d3bce9764e627b62b07424e0df77f680d47ffdb", + "rev": "de740991c12411b663994b2860f1a4fd0937c130", "type": "github" }, "original": { @@ -338,11 +355,11 @@ "nvim_plugin-RRethy/vim-illuminate": { "flake": false, "locked": { - "lastModified": 1744859423, - "narHash": "sha256-zqXKkrUNTH/EIx3PBRN8+mQcbWa6fO9i/UoSeav5R/w=", + "lastModified": 1748105647, + "narHash": "sha256-KqAJRCtDBG5xsvNsqkxoBdDckg02u4NBBreYQw7BphA=", "owner": "RRethy", "repo": "vim-illuminate", - "rev": "1fa4b23409e22a03823648e344c77f260e2572cb", + "rev": "0d1e93684da00ab7c057410fecfc24f434698898", "type": "github" }, "original": { @@ -354,11 +371,11 @@ "nvim_plugin-Saecki/crates.nvim": { "flake": false, "locked": { - "lastModified": 1744379189, - "narHash": "sha256-HsdDeV3mMQwrzlP23bJnNkiSL5OELgn0WBTERxehviE=", + "lastModified": 1748637634, + "narHash": "sha256-sDjG6fjnQsyYtdf7xpmOW193e7USh6ghrFzo6NoLyP8=", "owner": "Saecki", "repo": "crates.nvim", - "rev": "73d2c590c74a0c582144987a4decb4a642755859", + "rev": "5d8b1bef686db0fabe5f1bb593744b617e8f1405", "type": "github" }, "original": { @@ -370,11 +387,11 @@ "nvim_plugin-aznhe21/actions-preview.nvim": { "flake": false, "locked": { - "lastModified": 1740589350, - "narHash": "sha256-MP1hohDL2JFembwW+cb2S+v2Y7j0iZw1jPPKTZiNCWI=", + "lastModified": 1745779150, + "narHash": "sha256-rQjwlu5gQcOvxF72lr9ugPRl0W78wCWGWPhpN1oOMbs=", "owner": "aznhe21", "repo": "actions-preview.nvim", - "rev": "4ab7842eb6a5b6d2b004f8234dcf33382a0fdde2", + "rev": "36513ad213855d497b7dd3391a24d1d75d58e36f", "type": "github" }, "original": { @@ -386,11 +403,11 @@ "nvim_plugin-b0o/schemastore.nvim": { "flake": false, "locked": { - "lastModified": 1745020938, - "narHash": "sha256-qDcVJ2RovKSIcUdVnXNcQZHoAf75IqsTMlsclDFrT2U=", + "lastModified": 1750179699, + "narHash": "sha256-EGt75z/NbjzDXxsyXT9Qj2wWOf06ijUr1If5ljmfLqo=", "owner": "b0o", "repo": "schemastore.nvim", - "rev": "e623e30df4053cacc67fb7eb04e1bd0fadba52b4", + "rev": "45fd6c22f30487586c771072dc8c5230931e4c7b", "type": "github" }, "original": { @@ -402,11 +419,11 @@ "nvim_plugin-catppuccin/nvim": { "flake": false, "locked": { - "lastModified": 1740764472, - "narHash": "sha256-4h/fzFY8JR9r+QnoiWEqgQKPMuu8i9HTC4v0Jp7iuUo=", + "lastModified": 1749271780, + "narHash": "sha256-wt/Ybjgr4N80B+QsyANs1QezM7PpFceUWSweRFgkhl0=", "owner": "catppuccin", "repo": "nvim", - "rev": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429", + "rev": "fa42eb5e26819ef58884257d5ae95dd0552b9a66", "type": "github" }, "original": { @@ -418,11 +435,11 @@ "nvim_plugin-chrisgrieser/nvim-early-retirement": { "flake": false, "locked": { - "lastModified": 1744450582, - "narHash": "sha256-ybs65ObtjcUBaGglxP3SIpYjlGSEk/MQI9nSN8S3Q1w=", + "lastModified": 1750108178, + "narHash": "sha256-3I7Xup+v9Yq9/nJQ1F5CDW99oFQcxbinv7VQcKeA16Y=", "owner": "chrisgrieser", "repo": "nvim-early-retirement", - "rev": "3b14762a0186b1922cb5ddf3a760d8521c7b3d7e", + "rev": "d9ffd8f70ed6d466cecd3e7e2dd1425b0010932f", "type": "github" }, "original": { @@ -594,11 +611,11 @@ "nvim_plugin-lewis6991/gitsigns.nvim": { "flake": false, "locked": { - "lastModified": 1745219545, - "narHash": "sha256-7WQ428oPr43z01HvNpArZJcUov61/pDtLqJtkEKnBAY=", + "lastModified": 1750058704, + "narHash": "sha256-V9aXXR9ZP2G/XInHt07RylC4rS+AyMXAAfODvC6pVxw=", "owner": "lewis6991", "repo": "gitsigns.nvim", - "rev": "2149fc2009d1117d58e86e56836f70c969f60a82", + "rev": "88205953bd748322b49b26e1dfb0389932520dc9", "type": "github" }, "original": { @@ -642,11 +659,11 @@ "nvim_plugin-m4xshen/hardtime.nvim": { "flake": false, "locked": { - "lastModified": 1744007533, - "narHash": "sha256-KCz8UNL7SkI4cP7wKmQPJgkI4TsQftnHjaMSBYCgrOY=", + "lastModified": 1750160168, + "narHash": "sha256-hzFX5mZRxTDDIp/iBVl4lqEaQryLQOe7jFJmXDwq4J8=", "owner": "m4xshen", "repo": "hardtime.nvim", - "rev": "9aaec65de041bddfc4c0af66919030d2950bcea8", + "rev": "b9a989191b3a97c9316a0efea02341c4cdab845a", "type": "github" }, "original": { @@ -674,11 +691,11 @@ "nvim_plugin-mfussenegger/nvim-lint": { "flake": false, "locked": { - "lastModified": 1745090089, - "narHash": "sha256-Pwxk2C5WaaaW7Ookbq2edvLSJh6ZQc3iWMxowHyQkFQ=", + "lastModified": 1749731021, + "narHash": "sha256-V4JJ1VQXoIsUBTxe6ykbkyo6LxEAr+QEIqIV3mA9phs=", "owner": "mfussenegger", "repo": "nvim-lint", - "rev": "d698d3b6fd7b1b85657d05a2a31d843ddb682c63", + "rev": "2b0039b8be9583704591a13129c600891ac2c596", "type": "github" }, "original": { @@ -690,11 +707,11 @@ "nvim_plugin-mrcjkb/rustaceanvim": { "flake": false, "locked": { - "lastModified": 1745050087, - "narHash": "sha256-nkCVQ+TXiaKm17HXaAMVuRMV3Jbxv8aRIO6re4zEgDw=", + "lastModified": 1750024924, + "narHash": "sha256-gmOqCnSLGDNerXyuuNhkyL/pSJitnyqBdWC3LejZoS4=", "owner": "mrcjkb", "repo": "rustaceanvim", - "rev": "69636cedf0d6aabf0eac3dfbce24883fe1051a3d", + "rev": "2fdf224107e5bc29fb5c3a175f5f2c9161b34741", "type": "github" }, "original": { @@ -706,11 +723,11 @@ "nvim_plugin-neovim/nvim-lspconfig": { "flake": false, "locked": { - "lastModified": 1745247686, - "narHash": "sha256-rnm/BJNMVxcYH/ZXf1HciXgG0UWhAeQQniOaSvi0E40=", + "lastModified": 1750169575, + "narHash": "sha256-lJWMFgQLQhKUuv50WrYXlJ3TFqT04nVbmcBGVDaSz0k=", "owner": "neovim", "repo": "nvim-lspconfig", - "rev": "b335f1c72877f101248d3b085d4b7da7576361d7", + "rev": "99d3a0f26bfe402f45257c1398287aef252cbe2d", "type": "github" }, "original": { @@ -722,11 +739,11 @@ "nvim_plugin-nosduco/remote-sshfs.nvim": { "flake": false, "locked": { - "lastModified": 1743352525, - "narHash": "sha256-YNqj1vPc2oyVrSgp+huoMkrUAp2Lx3G4W52liOujP6A=", + "lastModified": 1748880705, + "narHash": "sha256-eTnVFOR7FHlkU9kwrk3q3pNo/U8OR2gJrnrMUQKGi2A=", "owner": "nosduco", "repo": "remote-sshfs.nvim", - "rev": "1ae5784bf0729c8b03cb7fe6561508a673c9adc8", + "rev": "6e893c32ff7c5b8d0d501b748c525fa53963fb35", "type": "github" }, "original": { @@ -770,11 +787,11 @@ "nvim_plugin-nvim-lualine/lualine.nvim": { "flake": false, "locked": { - "lastModified": 1744482854, - "narHash": "sha256-XeAFXg6GWzMJV/HzfdCXtv/effAHVU7mioFKTf1kDc8=", + "lastModified": 1749383457, + "narHash": "sha256-2aPgA7riA/FubQpTkqsxLKl7OZ8L6FkucNHc2QEx2HQ=", "owner": "nvim-lualine", "repo": "lualine.nvim", - "rev": "86fe39534b7da729a1ac56c0466e76f2c663dc42", + "rev": "a94fc68960665e54408fe37dcf573193c4ce82c9", "type": "github" }, "original": { @@ -786,11 +803,11 @@ "nvim_plugin-nvim-telescope/telescope-file-browser.nvim": { "flake": false, "locked": { - "lastModified": 1729728595, - "narHash": "sha256-VJbRi91TTOwUkQYyTM6Njl7MtX8/mOjINiqWYWEtyxg=", + "lastModified": 1750040034, + "narHash": "sha256-NHcU3c+1pLeypHr9xXKmqvdwB1QM/vj5axzjpFEQCLQ=", "owner": "nvim-telescope", "repo": "telescope-file-browser.nvim", - "rev": "626998e5c1b71c130d8bc6cf7abb6709b98287bb", + "rev": "7bf55ed0ff5be182ad3301cff266581fc1c56cce", "type": "github" }, "original": { @@ -834,11 +851,11 @@ "nvim_plugin-nvim-telescope/telescope.nvim": { "flake": false, "locked": { - "lastModified": 1742346322, - "narHash": "sha256-GF1zOHZItVZm3bx2wqI4hPj7EXQJ2F9KS4MtaEt2gm0=", + "lastModified": 1747012888, + "narHash": "sha256-JpW0ehsX81yVbKNzrYOe1hdgVMs6oaaxMLH6lECnOJg=", "owner": "nvim-telescope", "repo": "telescope.nvim", - "rev": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5", + "rev": "b4da76be54691e854d3e0e02c36b0245f945c2c7", "type": "github" }, "original": { @@ -850,11 +867,11 @@ "nvim_plugin-nvim-tree/nvim-tree.lua": { "flake": false, "locked": { - "lastModified": 1745201081, - "narHash": "sha256-zQsqyJgqlvxniKOtwPSzArUaOwvIgo6Xm+oAjAbPda4=", + "lastModified": 1750143568, + "narHash": "sha256-E2YdGlvvpnT/PiayfQldwpbCnjsyNDcoTzxgMf2ajV8=", "owner": "nvim-tree", "repo": "nvim-tree.lua", - "rev": "be5b788f2dc1522c73fb7afad9092331c8aebe80", + "rev": "d54a1875a91e1a705795ea26074795210b92ce7f", "type": "github" }, "original": { @@ -866,11 +883,11 @@ "nvim_plugin-nvim-tree/nvim-web-devicons": { "flake": false, "locked": { - "lastModified": 1745131674, - "narHash": "sha256-uoT45oaeY5c1+A7pVQIS+Bj9JnrSy9rQAecvaWZht+c=", + "lastModified": 1747360641, + "narHash": "sha256-+RHeFaeCF/iwAf8qAOjbEIl3YcnrBMVfkQnnzDNhyTA=", "owner": "nvim-tree", "repo": "nvim-web-devicons", - "rev": "855c97005c8eebcdd19846f2e54706bffd40ee96", + "rev": "1fb58cca9aebbc4fd32b086cb413548ce132c127", "type": "github" }, "original": { @@ -882,11 +899,11 @@ "nvim_plugin-nvim-treesitter/nvim-treesitter-context": { "flake": false, "locked": { - "lastModified": 1744921782, - "narHash": "sha256-w3I3w1SGqtpUnu4KQyaLue+k96XmkgA3+DpxSEjj+WI=", + "lastModified": 1749893617, + "narHash": "sha256-QJAfpVdTHTxjUgggQekRLvNYuvG12gjtfTGybfcFdyo=", "owner": "nvim-treesitter", "repo": "nvim-treesitter-context", - "rev": "6daca3ad780f045550b820f262002f35175a6c04", + "rev": "1a1a7c5d6d75cb49bf64049dafab15ebe294a79f", "type": "github" }, "original": { @@ -898,11 +915,11 @@ "nvim_plugin-rafamadriz/friendly-snippets": { "flake": false, "locked": { - "lastModified": 1745202387, - "narHash": "sha256-R6xE5vwgFtyEYpET0E4ecZejuV/lNHFkumk+wGf3lbI=", + "lastModified": 1745949052, + "narHash": "sha256-FzApcTbWfFkBD9WsYMhaCyn6ky8UmpUC2io/co/eByM=", "owner": "rafamadriz", "repo": "friendly-snippets", - "rev": "fc8f183479a472df60aa86f00e295462f2308178", + "rev": "572f5660cf05f8cd8834e096d7b4c921ba18e175", "type": "github" }, "original": { @@ -930,11 +947,11 @@ "nvim_plugin-rmagatti/auto-session": { "flake": false, "locked": { - "lastModified": 1745009508, - "narHash": "sha256-NCytp+DiOo3obZeQ9bpaEaNMfstf1Ytn0OR5mAWodLw=", + "lastModified": 1749967462, + "narHash": "sha256-1pIGu/GJ4FiMH/yHhoo6Gu0HLC3rFQiesJBuv8uE7Vw=", "owner": "rmagatti", "repo": "auto-session", - "rev": "71c8af9a99e96b9d2533cf4bac4dfed1eafab923", + "rev": "fffb13dcbe8731b8650e5bf1caa749a485d20556", "type": "github" }, "original": { @@ -994,11 +1011,11 @@ "nvim_plugin-stevearc/conform.nvim": { "flake": false, "locked": { - "lastModified": 1745180802, - "narHash": "sha256-J/GKqn2VHv/ydaFXWCFduV2B7iwZzHtUvFArszxf2Cw=", + "lastModified": 1749498876, + "narHash": "sha256-n1IPUNwD14WlDU4zbgfJuhXQcVMt8oc4wCuUJBPJ+y4=", "owner": "stevearc", "repo": "conform.nvim", - "rev": "372fc521f8421b7830ea6db4d6ea3bae1c77548c", + "rev": "8132ec733eed3bf415b97b76797ca41b59f51d7d", "type": "github" }, "original": { @@ -1023,6 +1040,22 @@ "type": "github" } }, + "nvim_plugin-supermaven-inc/supermaven-nvim": { + "flake": false, + "locked": { + "lastModified": 1728314930, + "narHash": "sha256-1z3WKIiikQqoweReUyK5O8MWSRN5y95qcxM6qzlKMME=", + "owner": "supermaven-inc", + "repo": "supermaven-nvim", + "rev": "07d20fce48a5629686aefb0a7cd4b25e33947d50", + "type": "github" + }, + "original": { + "owner": "supermaven-inc", + "repo": "supermaven-nvim", + "type": "github" + } + }, "nvim_plugin-tpope/vim-sleuth": { "flake": false, "locked": { @@ -1058,11 +1091,11 @@ "nvim_plugin-uga-rosa/ccc.nvim": { "flake": false, "locked": { - "lastModified": 1744103477, - "narHash": "sha256-MSh9tJv9UNfceO1yQIvID36x/fLGmgFcnIzJ9LOog0A=", + "lastModified": 1746537659, + "narHash": "sha256-3TZ8VmvdgQ9n63m78C3r4OIUkVQHTHBvC24ixBdhTig=", "owner": "uga-rosa", "repo": "ccc.nvim", - "rev": "af2cf5a963f401aad868c065222ee13d4bbc9050", + "rev": "9d1a256e006decc574789dfc7d628ca11644d4c2", "type": "github" }, "original": { @@ -1087,22 +1120,6 @@ "type": "github" } }, - "nvim_plugin-yetone/avante.nvim": { - "flake": false, - "locked": { - "lastModified": 1744881650, - "narHash": "sha256-BzRFgcBG4vn7mamwLvviMl4erTPwg+1AkAb3Ss4Kq8E=", - "owner": "yetone", - "repo": "avante.nvim", - "rev": "eb1cd44731783024621beafe4e46204cbc9a4320", - "type": "github" - }, - "original": { - "owner": "yetone", - "repo": "avante.nvim", - "type": "github" - } - }, "nvim_plugin-zbirenbaum/copilot-cmp": { "flake": false, "locked": { @@ -1122,11 +1139,11 @@ "nvim_plugin-zbirenbaum/copilot.lua": { "flake": false, "locked": { - "lastModified": 1745111203, - "narHash": "sha256-PaWWT0mSsTfnBMrmHagHgemGN5Be6rbikVVW4ZBK/Zs=", + "lastModified": 1749137204, + "narHash": "sha256-qxHpIsFFLDG/jtk6e1hkOZgDSRA5Q0+DMxxAxckNhIc=", "owner": "zbirenbaum", "repo": "copilot.lua", - "rev": "dc579f98536029610cfa32c6bad86c0d24363679", + "rev": "c1bb86abbed1a52a11ab3944ef00c8410520543d", "type": "github" }, "original": { @@ -1144,11 +1161,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1741508717, - "narHash": "sha256-iQf1WdNxaApOFHIx4RLMRZ4f8g+8Xp0Z1/E/Mz2rLxY=", + "lastModified": 1744897914, + "narHash": "sha256-GIVU92o2TZBnKQXTb76zpQbWR4zjU2rFqWKNIIpXnqA=", "owner": "yaxitech", "repo": "ragenix", - "rev": "2a2bea99d74927e54adf53cbf113219def67d5c9", + "rev": "40f2e17ecaeab4d78ec323e96a04548c0aaa5223", "type": "github" }, "original": { @@ -1217,21 +1234,21 @@ "nvim_plugin-sindrets/diffview.nvim": "nvim_plugin-sindrets/diffview.nvim", "nvim_plugin-stevearc/conform.nvim": "nvim_plugin-stevearc/conform.nvim", "nvim_plugin-stevearc/dressing.nvim": "nvim_plugin-stevearc/dressing.nvim", + "nvim_plugin-supermaven-inc/supermaven-nvim": "nvim_plugin-supermaven-inc/supermaven-nvim", "nvim_plugin-tpope/vim-sleuth": "nvim_plugin-tpope/vim-sleuth", "nvim_plugin-tpope/vim-surround": "nvim_plugin-tpope/vim-surround", "nvim_plugin-uga-rosa/ccc.nvim": "nvim_plugin-uga-rosa/ccc.nvim", "nvim_plugin-windwp/nvim-ts-autotag": "nvim_plugin-windwp/nvim-ts-autotag", - "nvim_plugin-yetone/avante.nvim": "nvim_plugin-yetone/avante.nvim", "nvim_plugin-zbirenbaum/copilot-cmp": "nvim_plugin-zbirenbaum/copilot-cmp", "nvim_plugin-zbirenbaum/copilot.lua": "nvim_plugin-zbirenbaum/copilot.lua", "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1745585761, - "narHash": "sha256-xS3068xhndFrZh9GcTTNTmeebGq1A3uVykRRdzJOj3Y=", + "lastModified": 1750190298, + "narHash": "sha256-ero30lVvCzmdKkY0lZR/RO+oTNTY1WXQh6vhfbcbTIk=", "ref": "refs/heads/master", - "rev": "e5523910a0c07c88d026d006f5962434bfa53548", - "revCount": 277, + "rev": "1ed03dac446683ef42035b53a410d857855d82d9", + "revCount": 291, "type": "git", "url": "https://git.joshuabell.xyz/ringofstorms/nvim" }, @@ -1270,11 +1287,11 @@ ] }, "locked": { - "lastModified": 1745207416, - "narHash": "sha256-2g2TnXgJEvSvpk7ujY69pSplmM3oShhoOidZf1iHTHU=", + "lastModified": 1750127910, + "narHash": "sha256-FIgEIS0RAlOyXGqoj/OufTfcKItYq668yPYL4SXdU0M=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "68a0ff1a43d08aa1ec3730e7e7d06f6da0ba630a", + "rev": "45418795a73b77b7726c62ce265d68cf541ffb49", "type": "github" }, "original": { diff --git a/hosts/oren/flake.nix b/hosts/oren/flake.nix index 9701075..b29042f 100644 --- a/hosts/oren/flake.nix +++ b/hosts/oren/flake.nix @@ -1,6 +1,6 @@ { inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; # Use relative to get current version for testing @@ -53,7 +53,6 @@ systemName = configuration_name; boot.systemd.enable = true; general = { - # disableRemoteBuildsOnLio = true; enableSleep = true; }; secrets.enable = true; @@ -65,6 +64,22 @@ tailnet.enable = true; ssh.enable = true; docker.enable = true; + flatpaks = { + enable = true; + packages = [ + "org.signal.Signal" + "com.discordapp.Discord" + "md.obsidian.Obsidian" + "com.spotify.Client" + "org.videolan.VLC" + "com.bitwarden.desktop" + "org.openscad.OpenSCAD" + "org.blender.Blender" + "im.riot.Riot" + "com.rustdesk.RustDesk" + "com.google.Chrome" + ]; + }; }; users = { # Users are all normal users and default password is password1 @@ -80,16 +95,6 @@ "input" ]; shell = pkgs.zsh; - packages = with pkgs; [ - signal-desktop - google-chrome - discordo - discord - spotify - vlc - vaultwarden - bitwarden - ]; }; }; }; diff --git a/readme.md b/readme.md index 066ded1..7b2acce 100644 --- a/readme.md +++ b/readme.md @@ -68,9 +68,7 @@ - atuin setup - if atuin is on enable that mod in configuration.nix, make sure to `atuin login` get key from existing device - TODO move key into secrets and mount it to atuin local share -- stormd onboard to network - ssh key access, ssh iden in config in nix config -- ### Notes