diff --git a/flake.lock b/flake.lock index 7e6d90b..4ba5c81 100644 --- a/flake.lock +++ b/flake.lock @@ -208,6 +208,26 @@ "type": "github" } }, + "dms-plugin-registry": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1768784795, + "narHash": "sha256-mhltGI4CV6xZOC5FjkODPexuVqPb7nKMHN7qPnQdqVA=", + "owner": "AvengeMedia", + "repo": "dms-plugin-registry", + "rev": "f520ece83ea17eb842122c4b55683e5eab8c3100", + "type": "github" + }, + "original": { + "owner": "AvengeMedia", + "repo": "dms-plugin-registry", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -745,11 +765,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1768302833, - "narHash": "sha256-h5bRFy9bco+8QcK7rGoOiqMxMbmn21moTACofNLRMP4=", + "lastModified": 1768569498, + "narHash": "sha256-bB6Nt99Cj8Nu5nIUq0GLmpiErIT5KFshMQJGMZwgqUo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "61db79b0c6b838d9894923920b612048e1201926", + "rev": "be5afa0fcb31f0a96bf9ecba05a516c66fcd8114", "type": "github" }, "original": { @@ -761,15 +781,15 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1767364772, - "narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=", - "owner": "nixos", + "lastModified": 1768302833, + "narHash": "sha256-h5bRFy9bco+8QcK7rGoOiqMxMbmn21moTACofNLRMP4=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa", + "rev": "61db79b0c6b838d9894923920b612048e1201926", "type": "github" }, "original": { - "owner": "nixos", + "owner": "NixOS", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" @@ -801,11 +821,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1768818880, - "narHash": "sha256-ajLZVEsG/avT7pMLU4Hetm7qhuW/WlH0m1fpPeJqOu8=", + "lastModified": 1768839981, + "narHash": "sha256-uATK7ueuz0yllbt7AfmZnNRkOklf4EnmFUJgoX3x3Cs=", "owner": "anomalyco", "repo": "opencode", - "rev": "08005d755b240dac3ec208aee504a76af7052de7", + "rev": "4ee540309f41d6eaa65d0d4dd7c70fea71c973d1", "type": "github" }, "original": { @@ -867,6 +887,7 @@ "determinate": "determinate", "dgop": "dgop", "disko": "disko", + "dms-plugin-registry": "dms-plugin-registry", "flake-parts": "flake-parts_3", "home-manager": "home-manager_2", "niri": "niri", @@ -878,6 +899,7 @@ "nixpkgs": "nixpkgs_4", "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur", + "opencode": "opencode", "treefmt-nix": "treefmt-nix_2" } }, @@ -919,7 +941,7 @@ }, "treefmt-nix_2": { "inputs": { - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1768158989, diff --git a/flake.nix b/flake.nix index 7ccfeba..c0ded37 100644 --- a/flake.nix +++ b/flake.nix @@ -60,7 +60,8 @@ dank-material-shell.url = "github:AvengeMedia/DankMaterialShell"; dank-material-shell.inputs.nixpkgs.follows = "nixpkgs"; - dank-material-shell.inputs.dgop.follows = "dgop"; + dms-plugin-registry.url = "github:AvengeMedia/dms-plugin-registry"; + dms-plugin-registry.inputs.nixpkgs.follows = "nixpkgs"; opencode.url = "github:anomalyco/opencode"; }; diff --git a/hosts/desktop/monitors.nix b/hosts/desktop/monitors.nix index b18b2af..827b040 100644 --- a/hosts/desktop/monitors.nix +++ b/hosts/desktop/monitors.nix @@ -1,7 +1,7 @@ _: { monitors = [ { - name = "DP-3"; + name = "DP-2"; resolution = { width = 2560; height = 1440; @@ -14,7 +14,7 @@ _: { }; } { - name = "DP-2"; + name = "DP-3"; resolution = { width = 2560; height = 1440; diff --git a/justfile b/justfile index 868cfdc..f681c54 100644 --- a/justfile +++ b/justfile @@ -1,7 +1,6 @@ # export NIXPKGS_ALLOW_UNFREE := "1" nixcmd := "nix --experimental-features 'nix-command flakes'" -nix_output_monitor := "--log-format internal-json |& nix --experimental-features 'nix-command flakes' run nixpkgs#nix-output-monitor -- --json" @_default: just --list @@ -41,7 +40,7 @@ switch hostname=`hostname -s` target='': {{ nixcmd }} run nixpkgs#nixos-rebuild -- switch \ --flake .#{{ hostname }} \ --target-host {{ target }} \ - --sudo {{ nix_output_monitor }} + --sudo fi [doc('Use nixos-anywhere to deploy to a remote host')] @@ -72,7 +71,7 @@ deploy-remote hostname target: [doc('A wrapper disko-install')] [group('deploy')] disko-install hostname disk: - sudo {{ nixcmd }} run 'github:nix-community/disko/latest#disko-install' -- --flake .#{{ hostname }} --disk main {{ disk }} {{ nix_output_monitor }} + sudo {{ nixcmd }} run 'github:nix-community/disko/latest#disko-install' -- --flake .#{{ hostname }} --disk main {{ disk }} [doc('Build an install ISO for a host')] [group('deploy')] @@ -83,7 +82,7 @@ iso hostname: [group('deploy')] bootstrap-iso: @echo "Building bootstrap ISO..." - {{ nixcmd }} build .#nixosConfigurations.bootstrap.config.system.build.isoImage {{ nix_output_monitor }} + {{ nixcmd }} build .#nixosConfigurations.bootstrap.config.system.build.isoImage @echo "ISO built: $(ls -1 result/iso/*.iso)" [doc('Flash the bootstrap ISO to a USB drive')] diff --git a/modules/desktop/dms/background.nix b/modules/desktop/dms/background.nix index 69d9d92..e6717d9 100644 --- a/modules/desktop/dms/background.nix +++ b/modules/desktop/dms/background.nix @@ -46,12 +46,12 @@ in { }; }; - programs.dank-material-shell.default.settings = { + programs.dank-material-shell.settings = { # Disables wallpaper management in DMS to avoid conflicts with Hyprpaper screenPreferences.wallpaper = []; }; - programs.dank-material-shell.default.session = { + programs.dank-material-shell.session = { # Attempt to set a default wallpaper on first run wallpaperPath = unknownPng; }; diff --git a/modules/desktop/dms/bar.nix b/modules/desktop/dms/bar.nix index 05f1051..6b585e8 100644 --- a/modules/desktop/dms/bar.nix +++ b/modules/desktop/dms/bar.nix @@ -124,7 +124,7 @@ in { config = lib.mkIf config.fireproof.desktop.enable { fireproof.home-manager = { - programs.dank-material-shell.default.settings = { + programs.dank-material-shell.settings = { launcherLogoMode = "os"; launcherLogoContrast = 1; launcherLogoSizeOffset = 3; diff --git a/modules/desktop/dms/default.nix b/modules/desktop/dms/default.nix index b001638..4a8a1d7 100644 --- a/modules/desktop/dms/default.nix +++ b/modules/desktop/dms/default.nix @@ -2,13 +2,14 @@ config, lib, inputs, - pkgs, + pkgsUnstable, ... }: { imports = [ ./theme.nix ./background.nix ./bar.nix + ./plugins.nix ]; config = lib.mkIf config.fireproof.desktop.windowManager.enable { @@ -25,10 +26,11 @@ enableDynamicTheming = false; enableVPN = false; enableCalendarEvents = false; + dgop.package = pkgsUnstable.dgop; # not available in stable nixpkgs yet (25.11) systemd.enable = true; - default.settings = { + settings = { # General Settings weatherCoordinates = "56.1496278,10.2134046"; @@ -55,21 +57,6 @@ powerMenuDefaultAction = "lock"; }; }; - - systemd.user.services = { - # A hack to always serve fresh settings from default-settings.json - dms-clean-settings = { - Unit = { - Description = "Delete DankMaterialShell settings before dms starts"; - Before = ["dms.service"]; - }; - Service = { - Type = "oneshot"; - ExecStart = "${pkgs.coreutils}/bin/rm -f %h/.config/DankMaterialShell/settings.json"; - }; - Install.WantedBy = ["dms.service"]; - }; - }; }; }; } diff --git a/modules/desktop/dms/plugins.nix b/modules/desktop/dms/plugins.nix new file mode 100644 index 0000000..d8e0c56 --- /dev/null +++ b/modules/desktop/dms/plugins.nix @@ -0,0 +1,22 @@ +{ + config, + lib, + inputs, + ... +}: { + config = lib.mkIf config.fireproof.desktop.enable { + fireproof.home-manager = { + imports = [ + inputs.dms-plugin-registry.modules.default + ]; + programs.dank-material-shell.plugins = { + emojiLauncher = { + enable = true; + settings = { + enabled = true; + }; + }; + }; + }; + }; +} diff --git a/modules/desktop/dms/theme.nix b/modules/desktop/dms/theme.nix index bfd8960..b10882f 100644 --- a/modules/desktop/dms/theme.nix +++ b/modules/desktop/dms/theme.nix @@ -30,7 +30,7 @@ in { matugen_type = "scheme-expressive"; }; - programs.dank-material-shell.default.settings = { + programs.dank-material-shell.settings = { # Color theme currentThemeName = "custom"; customThemeFile = "/home/${username}/.config/DankMaterialShell/colors.json"; diff --git a/modules/desktop/niri.nix b/modules/desktop/niri.nix index 30e8418..1ecf98d 100644 --- a/modules/desktop/niri.nix +++ b/modules/desktop/niri.nix @@ -131,6 +131,10 @@ in { action.spawn = ["dms" "ipc" "spotlight" "toggle"]; hotkey-overlay.title = "Toggle Application Launcher"; }; + "Mod+Semicolon" = { + action.spawn = ["dms" "ipc" "spotlight" "toggleQuery" ":"]; + hotkey-overlay.title = "Toggle Emoji Picker"; + }; "Mod+P" = { action.spawn = ["dms" "ipc" "powermenu" "toggle"]; hotkey-overlay.title = "Toggle Power Menu"; diff --git a/modules/programs/fish/k8s.fish b/modules/programs/fish/k8s.fish index 6140450..dabe56e 100644 --- a/modules/programs/fish/k8s.fish +++ b/modules/programs/fish/k8s.fish @@ -56,7 +56,7 @@ if type -q kubectl alias kns "kubectl config view --minify --output 'jsonpath={..namespace}'" abbr ksns "kubectl config set-context --current --namespace" - abbr ksc "kubectl config set-context" + abbr ksc "kubectl config use-context" abbr kexec --function __echo_kubeexec abbr kmanage --function __echo_kubemanage diff --git a/modules/programs/vscode.nix b/modules/programs/vscode.nix index b4e2506..f8ef521 100644 --- a/modules/programs/vscode.nix +++ b/modules/programs/vscode.nix @@ -134,6 +134,7 @@ in { "chat.customAgentInSubagent.enabled" = true; "inlineChat.enableV2" = true; "chat.viewSessions.orientation" = "vertical"; + "chat.agent.maxRequests" = 100; "chat.tools.terminal.autoApprove" = { "nix" = true;