diff --git a/flake.lock b/flake.lock index 315a54d..97c6c0c 100644 --- a/flake.lock +++ b/flake.lock @@ -1,28 +1,5 @@ { "nodes": { - "anyrun": { - "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": [ - "nixpkgs" - ], - "systems": "systems" - }, - "locked": { - "lastModified": 1743762088, - "narHash": "sha256-f+oXT9b3xuBDmm4v4nDqJvlHabxxZRB6+pay4Ub/NvA=", - "owner": "anyrun-org", - "repo": "anyrun", - "rev": "786f539d69d5abcefa68978dbaa964ac14536a00", - "type": "github" - }, - "original": { - "owner": "anyrun-org", - "ref": "master", - "repo": "anyrun", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -39,30 +16,9 @@ "type": "github" } }, - "flake-parts": { - "inputs": { - "nixpkgs-lib": [ - "anyrun", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "flake-utils": { "inputs": { - "systems": "systems_2" + "systems": "systems" }, "locked": { "lastModified": 1731533236, @@ -85,16 +41,16 @@ ] }, "locked": { - "lastModified": 1745557122, - "narHash": "sha256-eqSo9ugzsqhFgaDFYUZj943nurlX4L6f+AW0skJ4W+M=", + "lastModified": 1747556831, + "narHash": "sha256-Qb84nbYFFk0DzFeqVoHltS2RodAYY5/HZQKE8WnBDsc=", "owner": "nix-community", "repo": "home-manager", - "rev": "dd26f75fb4ec1c731d4b1396eaf4439ce40a91c1", + "rev": "d0bbd221482c2713cccb80220f3c9d16a6e20a33", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-24.11", + "ref": "release-25.05", "repo": "home-manager", "type": "github" } @@ -167,11 +123,11 @@ ] }, "locked": { - "lastModified": 1745805739, - "narHash": "sha256-ryJ95o+w0hSVm5LkW5dxTbL2e1HCHCPcpNh627D3KHU=", + "lastModified": 1747706637, + "narHash": "sha256-NKQVKIVuF0PfI03ear6jW29KaM91IBR0eo8NxrOF+70=", "owner": "infinidoge", "repo": "nix-minecraft", - "rev": "ea8fa40a5fbf2762c41efc913c03aed3587ec7fa", + "rev": "5f921cf5b1230b392c69154152ff9198de9bb625", "type": "github" }, "original": { @@ -183,11 +139,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1745503349, - "narHash": "sha256-bUGjvaPVsOfQeTz9/rLTNLDyqbzhl0CQtJJlhFPhIYw=", + "lastModified": 1747723695, + "narHash": "sha256-lSXzv33yv1O9r9Ai1MtYFDX3OKhWsZMn/5FFb4Rni/k=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "f7bee55a5e551bd8e7b5b82c9bc559bc50d868d1", + "rev": "6ac6ec6fcb410e15a60ef5ec94b8a2b35b5dd282", "type": "github" }, "original": { @@ -199,26 +155,26 @@ }, "nixpkgs": { "locked": { - "lastModified": 1745742390, - "narHash": "sha256-1rqa/XPSJqJg21BKWjzJZC7yU0l/YTVtjRi0RJmipus=", + "lastModified": 1747610100, + "narHash": "sha256-rpR5ZPMkWzcnCcYYo3lScqfuzEw5Uyfh+R0EKZfroAc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "26245db0cb552047418cfcef9a25da91b222d6c7", + "rev": "ca49c4304acf0973078db0a9d200fd2bae75676d", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "type": "indirect" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1745377448, - "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", + "lastModified": 1747696584, + "narHash": "sha256-TvJjbLlQ5aAHS3ZdP8mztNs28cMGWdT3J9g/6li3/4I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", + "rev": "359c442b7d1f6229c1dc978116d32d6c07fe8440", "type": "github" }, "original": { @@ -229,11 +185,11 @@ }, "nixpkgs-yet-unstabler": { "locked": { - "lastModified": 1745831704, - "narHash": "sha256-HMoKsZr3POMhCCIN1sFbPmYZ5ZBT/pCeyZnUXnJchdc=", + "lastModified": 1747762468, + "narHash": "sha256-I8l6r639PrDpEpAFgY64GmuQ+4NK+nxqAoSUnAEKw9E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7aa91c307d9af07d6900b337cecd02da067e8433", + "rev": "6bd7ba77ef6015853d67a89bd59f01b2880e9050", "type": "github" }, "original": { @@ -265,7 +221,6 @@ }, "root": { "inputs": { - "anyrun": "anyrun", "home-manager": "home-manager", "matrix-synapse-next": "matrix-synapse-next", "maunium-stickerpicker": "maunium-stickerpicker", @@ -285,11 +240,11 @@ ] }, "locked": { - "lastModified": 1745310711, - "narHash": "sha256-ePyTpKEJTgX0gvgNQWd7tQYQ3glIkbqcW778RpHlqgA=", + "lastModified": 1747603214, + "narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=", "owner": "Mic92", "repo": "sops-nix", - "rev": "5e3e92b16d6fdf9923425a8d4df7496b2434f39c", + "rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd", "type": "github" }, "original": { @@ -299,21 +254,6 @@ } }, "systems": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, - "systems_2": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", diff --git a/flake.nix b/flake.nix index 89ac6a6..ae28a2b 100644 --- a/flake.nix +++ b/flake.nix @@ -1,11 +1,11 @@ { inputs = { - nixpkgs.url = "nixpkgs/nixos-24.11"; + nixpkgs.url = "nixpkgs/nixos-25.05"; nixpkgs-unstable.url = "nixpkgs/nixpkgs-unstable"; nixpkgs-yet-unstabler.url = "github:NixOS/nixpkgs/master"; home-manager = { - url = "github:nix-community/home-manager/release-24.11"; + url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -35,11 +35,6 @@ url = "github:dali99/nixos-matrix-modules/0.7.0"; inputs.nixpkgs.follows = "nixpkgs"; }; - - anyrun = { - url = "github:anyrun-org/anyrun/master"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; outputs = inputs@{ @@ -55,7 +50,7 @@ minecraft, osuchan, sops-nix, - anyrun, + # anyrun, }: let system = "x86_64-linux"; @@ -67,10 +62,7 @@ android_sdk.accept_license = true; segger-jlink.acceptLicense = true; permittedInsecurePackages = [ - "segger-jlink-qt4-796s" - "dotnet-core-combined" - "dotnet-sdk-6.0.428" - "dotnet-sdk-wrapped-6.0.428" + "segger-jlink-qt4-810" ]; }; @@ -228,7 +220,6 @@ sharedModules = [ inputs.sops-nix.homeManagerModules.sops - inputs.anyrun.homeManagerModules.default ] ++ (builtins.attrValues self.homeModules); users.h7x4.imports = [ diff --git a/home/packages.nix b/home/packages.nix index fa644bd..c97de54 100644 --- a/home/packages.nix +++ b/home/packages.nix @@ -7,7 +7,7 @@ cyme czkawka difftastic - diskonaut + # diskonaut duf duff fclones @@ -90,7 +90,7 @@ ahoviewer alsa-utils anki - ark + kdePackages.ark calibre cool-retro-term darktable @@ -110,7 +110,7 @@ kid3 koreader krita - ktouch + # kdePackages.ktouch libnotify libreoffice light @@ -158,8 +158,8 @@ touchegg ] ++ lib.optionals (machineVars.gaming) [ desmume - osu-lazer - retroarchFull + # osu-lazer + # retroarchFull steam steam-tui stepmania diff --git a/home/programs/anyrun/default.nix b/home/programs/anyrun/default.nix index f01dc6b..77ddaa7 100644 --- a/home/programs/anyrun/default.nix +++ b/home/programs/anyrun/default.nix @@ -7,7 +7,7 @@ y.fraction = 0.3; width.fraction = 0.25; plugins = [ - inputs.anyrun.packages.${pkgs.system}.applications + "${pkgs.anyrun}/lib/libapplications.so" ]; hidePluginInfo = true; closeOnClick = true; diff --git a/home/programs/browser/engines.nix b/home/programs/browser/engines.nix index b0999b6..191d5cf 100644 --- a/home/programs/browser/engines.nix +++ b/home/programs/browser/engines.nix @@ -1,10 +1,10 @@ { pkgs, lib, ... }: { - "Amazon.com".metaData.hidden = true; - "Bing".metaData.hidden = true; - "Wikipedia (en)".metaData.hidden = true; - "Google".metaData.alias = "gg"; - "DuckDuckGo".metaData.alias = "dd"; + "amazondotcom-us".metaData.hidden = true; + "bing".metaData.hidden = true; + "wikipedia".metaData.hidden = true; + "google".metaData.alias = "gg"; + "ddg".metaData.alias = "dd"; "Arch Package Repository" = { urls = [{ @@ -166,7 +166,7 @@ definedAliases = [ "ut" ]; }; - "YouTube" = { + "youtube" = { urls = [{ template = "https://www.youtube.com/results"; params = [{ name = "search_query"; value = "{searchTerms}"; }]; diff --git a/home/programs/firefox.nix b/home/programs/firefox.nix index 6e867cc..7d83a51 100644 --- a/home/programs/firefox.nix +++ b/home/programs/firefox.nix @@ -3,13 +3,16 @@ programs.firefox = { enable = true; profiles.h7x4 = { - bookmarks = [{ - toolbar = true; - bookmarks = import ./browser/bookmarks.nix; - }]; + bookmarks = { + force = true; + settings = [{ + toolbar = true; + bookmarks = import ./browser/bookmarks.nix; + }]; + }; search = { - default = "Google"; + default = "google"; engines = import ./browser/engines.nix { inherit pkgs lib; }; force = true; }; diff --git a/home/programs/gdb.nix b/home/programs/gdb.nix index 48c3cfa..debbf0c 100644 --- a/home/programs/gdb.nix +++ b/home/programs/gdb.nix @@ -21,5 +21,5 @@ set prompt \001\033[1;36m\002(gdb) \001\033[0m\002 ''; - local.shell.aliases."System Tool Replacements".gdb = "${pkgs.pwndbg}/bin/pwndbg"; + # local.shell.aliases."System Tool Replacements".gdb = "${pkgs.pwndbg}/bin/pwndbg"; } diff --git a/home/programs/gpg.nix b/home/programs/gpg.nix index cebcfb5..985269b 100644 --- a/home/programs/gpg.nix +++ b/home/programs/gpg.nix @@ -26,7 +26,7 @@ services.gpg-agent = { enable = true; - pinentryPackage = pkgs.pinentry-curses; + pinentry.package = pkgs.pinentry-curses; enableExtraSocket = true; enableSshSupport = true; enableScDaemon = true; diff --git a/home/programs/vscode/default.nix b/home/programs/vscode/default.nix index 49bd815..fef4c8a 100644 --- a/home/programs/vscode/default.nix +++ b/home/programs/vscode/default.nix @@ -37,332 +37,334 @@ in ''; }); - userSettings = let - editor = mapPrefixToSet "editor" { - fontFamily = "Fira Code"; - fontLigatures = true; - lineNumbers = "relative"; - mouseWheelZoom = false; - fontSize = 14; - "minimap.enabled" = false; - tabSize = 2; - insertSpaces = true; - "inlineSuggest.enabled" = true; - "inlayHints.enabled" = "offUnlessPressed"; - detectIndentation = false; - tabCompletion = "onlySnippets"; - snippetSuggestions = "top"; - cursorBlinking = "smooth"; - cursorSmoothCaretAnimation = "on"; - multiCursorModifier = "ctrlCmd"; - suggestSelection = "first"; - cursorStyle = "line"; - wordSeparators = "/\\()\"':,.;<>~!@#$%^&*|+=[]{}`?-"; - wordWrap = "off"; - # "bracketPairColorization.enabled" = true; - }; - - zen = mapPrefixToSet "zenMode" { - centerLayout = true; - hideStatusBar = false; - hideLineNumbers = false; - }; - - vim = mapPrefixToSet "vim" { - useSystemClipboard = true; - "statusBarColorControl" = true; - "statusBarColors.insert" = "#20ff00"; - "statusBarColors.normal" = "#1D1E20"; - "statusBarColors.visual" = "#00ffff"; - "statusBarColors.replace" = "#ff002b"; - handleKeys = { - "" = true; - "" = false; - "" = false; - "" = false; - "" = false; - "" = false; - "" = true; + profiles.default = { + userSettings = let + editor = mapPrefixToSet "editor" { + fontFamily = "Fira Code"; + fontLigatures = true; + lineNumbers = "relative"; + mouseWheelZoom = false; + fontSize = 14; + "minimap.enabled" = false; + tabSize = 2; + insertSpaces = true; + "inlineSuggest.enabled" = true; + "inlayHints.enabled" = "offUnlessPressed"; + detectIndentation = false; + tabCompletion = "onlySnippets"; + snippetSuggestions = "top"; + cursorBlinking = "smooth"; + cursorSmoothCaretAnimation = "on"; + multiCursorModifier = "ctrlCmd"; + suggestSelection = "first"; + cursorStyle = "line"; + wordSeparators = "/\\()\"':,.;<>~!@#$%^&*|+=[]{}`?-"; + wordWrap = "off"; + # "bracketPairColorization.enabled" = true; }; - }; - workbench = mapPrefixToSet "workbench" { - "settings.enableNaturalLanguageSearch" = false; - enableExperiments = false; - iconTheme = "material-icon-theme"; - colorTheme = "Monokai ST3"; - colorCustomizations = { - "statusBar.background" = "#1D1E20"; - "statusBar.noFolderBackground" = "#1D1E20"; - "statusBar.debuggingBackground" = "#1D1E20"; - "[Monokai ST3]" = { - "editor.foreground" = "#ffffff"; + zen = mapPrefixToSet "zenMode" { + centerLayout = true; + hideStatusBar = false; + hideLineNumbers = false; + }; + + vim = mapPrefixToSet "vim" { + useSystemClipboard = true; + "statusBarColorControl" = true; + "statusBarColors.insert" = "#20ff00"; + "statusBarColors.normal" = "#1D1E20"; + "statusBarColors.visual" = "#00ffff"; + "statusBarColors.replace" = "#ff002b"; + handleKeys = { + "" = true; + "" = false; + "" = false; + "" = false; + "" = false; + "" = false; + "" = true; }; }; - editorAssociations = { - "*.pdf" = "default"; - "*.ipynb" = "jupyter.notebook.ipynb"; + + workbench = mapPrefixToSet "workbench" { + "settings.enableNaturalLanguageSearch" = false; + enableExperiments = false; + iconTheme = "material-icon-theme"; + colorTheme = "Monokai ST3"; + colorCustomizations = { + "statusBar.background" = "#1D1E20"; + "statusBar.noFolderBackground" = "#1D1E20"; + "statusBar.debuggingBackground" = "#1D1E20"; + "[Monokai ST3]" = { + "editor.foreground" = "#ffffff"; + }; + }; + editorAssociations = { + "*.pdf" = "default"; + "*.ipynb" = "jupyter.notebook.ipynb"; + }; + }; + + python = mapPrefixToSet "python" { + "analysis.completeFunctionParens" = true; + "formatting.provider" = "yapf"; + "formatting.yapfArgs" = [ + "--style={based_on_style: pep8, indent_width: 2}" + ]; + "autoComplete.addBrackets" = true; + languageServer = "Pylance"; + }; + + svg = mapPrefixToSet "svgviewer" { + transparencygrid = true; + enableautopreview = true; + previewcolumn = "Beside"; + showzoominout = true; + }; + + indentRainbow = mapPrefixToSet "indentRainbow" { + errorColor= "rgb(255, 0, 0)"; + colors = [ # http://colrd.com/palette/38436/ + "rgba(26, 19, 52, 0.1)" + "rgba(1, 84, 90, 0.1)" + "rgba(3, 195, 131, 0.1)" + "rgba(251, 191, 69, 0.1)" + "rgba(237, 3, 69, 0.1)" + "rgba(113, 1, 98, 0.1)" + "rgba(2, 44, 125, 0.1)" + "rgba(38, 41, 74, 0.1)" + "rgba(1, 115, 81, 0.1)" + "rgba(170, 217, 98, 0.1)" + "rgba(239, 106, 50, 0.1)" + "rgba(161, 42, 94, 0.1)" + ]; + ignoreErrorLanguages = [ + "markdown" + "haskell" + "elm" + "fsharp" + "java" + ]; + }; + + in + editor // + indentRainbow // + python // + svg // + workbench // + vim // # This needs to come after workbench because of setting ordering + zen // + { + "extensions.autoCheckUpdates" = false; + "extensions.autoUpdate" = false; + "diffEditor.ignoreTrimWhitespace" = false; + "diffEditor.hideUnchangedRegions" = "enabled"; + "emmet.triggerExpansionOnTab" = true; + "explorer.confirmDragAndDrop" = false; + "git.allowForcePush" = true; + "git.autofetch" = true; + "telemetry.telemetryLevel" = "off"; + "terminal.integrated.fontSize" = 14; + "vsintellicode.modify.editor.suggestSelection" = "automaticallyOverrodeDefaultValue"; + "keyboard.dispatch" = "keyCode"; + "window.zoomLevel" = 1; + + "search.exclude" = { + "**/node_modules" = true; + "**/bower_components" = true; + "**/*.code-search" = true; + "**/.direnv/" = true; + }; + + # This setting does not support language overrides + "files.exclude" = { + # Java + "**/.classpath" = true; + "**/.project" = true; + "**/.settings" = true; + "**/.factorypath" = true; + }; + + # Extensions + + "bracket-pair-colorizer-2.colorMode" = "Consecutive"; + "bracket-pair-colorizer-2.forceIterationColorCycle" = true; + "bracket-pair-colorizer-2.colors" = [ + "#fff200" + "#3d33ff" + "#ff57d5" + "#00ff11" + "#ff8400" + "#ff0030" + ]; + + "errorLens.errorBackground" = "rgba(240,0,0,0.1)"; + "errorLens.warningBackground" = "rgba(180,180,0,0.1)"; + + "liveshare.presence" = true; + "liveshare.showInStatusBar" = "whileCollaborating"; + + "liveServer.settings.port" = 5500; + + "material-icon-theme.folders.associations" = { + ui = "layout"; + bloc = "controller"; + }; + + "redhat.telemetry.enabled" = false; + + "[html]" = { + "editor.formatOnSave" = false; + "editor.defaultFormatter" = "vscode.html-language-features"; + }; + + "[javascript]" = { + "editor.formatOnSave" = false; + "editor.defaultFormatter" = "vscode.typescript-language-features"; + }; + + "[json]" = { + "editor.formatOnSave" = true; + "editor.defaultFormatter" = "vscode.json-language-features"; + }; + + "[jsonc]" = { + "editor.defaultFormatter" = "vscode.json-language-features"; }; }; - python = mapPrefixToSet "python" { - "analysis.completeFunctionParens" = true; - "formatting.provider" = "yapf"; - "formatting.yapfArgs" = [ - "--style={based_on_style: pep8, indent_width: 2}" - ]; - "autoComplete.addBrackets" = true; - languageServer = "Pylance"; - }; + keybindings = [ + { + key = "alt+k"; + when = "codeActionMenuVisible"; + command = "selectPrevCodeAction"; + } - svg = mapPrefixToSet "svgviewer" { - transparencygrid = true; - enableautopreview = true; - previewcolumn = "Beside"; - showzoominout = true; - }; + { + key = "alt+j"; + when = "codeActionMenuVisible"; + command = "selectNextCodeAction"; + } - indentRainbow = mapPrefixToSet "indentRainbow" { - errorColor= "rgb(255, 0, 0)"; - colors = [ # http://colrd.com/palette/38436/ - "rgba(26, 19, 52, 0.1)" - "rgba(1, 84, 90, 0.1)" - "rgba(3, 195, 131, 0.1)" - "rgba(251, 191, 69, 0.1)" - "rgba(237, 3, 69, 0.1)" - "rgba(113, 1, 98, 0.1)" - "rgba(2, 44, 125, 0.1)" - "rgba(38, 41, 74, 0.1)" - "rgba(1, 115, 81, 0.1)" - "rgba(170, 217, 98, 0.1)" - "rgba(239, 106, 50, 0.1)" - "rgba(161, 42, 94, 0.1)" - ]; - ignoreErrorLanguages = [ - "markdown" - "haskell" - "elm" - "fsharp" - "java" - ]; - }; + { + key = "alt+k"; + command = "selectPrevSuggestion"; + when = "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"; + } - in - editor // - indentRainbow // - python // - svg // - workbench // - vim // # This needs to come after workbench because of setting ordering - zen // - { - "extensions.autoCheckUpdates" = false; - "extensions.autoUpdate" = false; - "diffEditor.ignoreTrimWhitespace" = false; - "diffEditor.hideUnchangedRegions" = "enabled"; - "emmet.triggerExpansionOnTab" = true; - "explorer.confirmDragAndDrop" = false; - "git.allowForcePush" = true; - "git.autofetch" = true; - "telemetry.telemetryLevel" = "off"; - "terminal.integrated.fontSize" = 14; - "vsintellicode.modify.editor.suggestSelection" = "automaticallyOverrodeDefaultValue"; - "keyboard.dispatch" = "keyCode"; - "window.zoomLevel" = 1; + { + key = "alt+j"; + command = "selectNextSuggestion"; + when = "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"; + } - "search.exclude" = { - "**/node_modules" = true; - "**/bower_components" = true; - "**/*.code-search" = true; - "**/.direnv/" = true; - }; + { + key = "alt+k"; + command = "editor.action.moveLinesUpAction"; + when = "editorTextFocus && !editorReadonly && !suggestWidgetVisible"; + } - # This setting does not support language overrides - "files.exclude" = { - # Java - "**/.classpath" = true; - "**/.project" = true; - "**/.settings" = true; - "**/.factorypath" = true; - }; + { + key = "alt+j"; + command = "editor.action.moveLinesDownAction"; + when = "editorTextFocus && !editorReadonly && !suggestWidgetVisible"; + } - # Extensions + { + key = "alt+j"; + command = "workbench.action.quickOpenNavigateNext"; + when = "inQuickOpen"; + } - "bracket-pair-colorizer-2.colorMode" = "Consecutive"; - "bracket-pair-colorizer-2.forceIterationColorCycle" = true; - "bracket-pair-colorizer-2.colors" = [ - "#fff200" - "#3d33ff" - "#ff57d5" - "#00ff11" - "#ff8400" - "#ff0030" + { + key = "alt+k"; + command = "workbench.action.quickOpenNavigatePrevious"; + when = "inQuickOpen"; + } + + { + key = "alt+f"; + command = "editor.action.formatDocument"; + when = "editorTextFocus && !editorReadonly"; + } + + { + key = "alt+o"; + command = "editor.action.insertLineAfter"; + when = "textInputFocus && !editorReadonly"; + } + + { + key = "alt+shift+o"; + command = "editor.action.insertLineBefore"; + when = "textInputFocus && !editorReadonly"; + } ]; - "errorLens.errorBackground" = "rgba(240,0,0,0.1)"; - "errorLens.warningBackground" = "rgba(180,180,0,0.1)"; - - "liveshare.presence" = true; - "liveshare.showInStatusBar" = "whileCollaborating"; - - "liveServer.settings.port" = 5500; - - "material-icon-theme.folders.associations" = { - ui = "layout"; - bloc = "controller"; - }; - - "redhat.telemetry.enabled" = false; - - "[html]" = { - "editor.formatOnSave" = false; - "editor.defaultFormatter" = "vscode.html-language-features"; - }; - - "[javascript]" = { - "editor.formatOnSave" = false; - "editor.defaultFormatter" = "vscode.typescript-language-features"; - }; - - "[json]" = { - "editor.formatOnSave" = true; - "editor.defaultFormatter" = "vscode.json-language-features"; - }; - - "[jsonc]" = { - "editor.defaultFormatter" = "vscode.json-language-features"; - }; + extensions = with pkgs.vscode-extensions; [ + # WakaTime.vscode-wakatime + # dotjoshjohnson.xml + # eamodio.gitlens + # jock.svg + # ms-azuretools.vscode-docker + # ms-toolsai.jupyter + # ms-vscode-remote.remote-ssh + # ms-vsliveshare.vsliveshare + bbenoist.nix + christian-kohler.path-intellisense + # coenraads.bracket-pair-colorizer-2 + haskell.haskell + justusadam.language-haskell + justusadam.language-haskell + mechatroner.rainbow-csv + mhutchie.git-graph + ms-python.python + ms-python.vscode-pylance + ms-vscode-remote.remote-ssh + naumovs.color-highlight + oderwat.indent-rainbow + pkief.material-icon-theme + redhat.vscode-yaml + shardulm94.trailing-spaces + usernamehw.errorlens + rust-lang.rust-analyzer + mkhl.direnv + waderyan.gitblame + vscodevim.vim + hbenl.vscode-test-explorer + # vitaliymaz.vscode-svg-previewer + ms-vscode.test-adapter-converter + visualstudioexptteam.vscodeintellicode + tamasfe.even-better-toml + maximedenes.vscoq + ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ + { + name = "monokai-st3"; + publisher = "AndreyVolosovich"; + version = "0.2.0"; + sha256 = "1rvz5hlrfshy9laybxzvrdklx328s13j0lb8ljbda9zkadi3wcad"; + } + { + name = "comment-anchors"; + publisher = "ExodiusStudios"; + version = "1.10.4"; + sha256 = "sha256-FvfjPpQsgCsnY1BylhLCM/qDQChf9/iTr3cKkCGfMVI="; + } + { + name = "vscode-gutter-preview"; + publisher = "kisstkondoros"; + version = "0.31.2"; + sha256 = "sha256-2/RvDSsVL06UmNG9HchXaJMJ4FYtnpuJ2Bn53JVv1t8="; + } + { + name = "keyboard-quickfix"; + publisher = "pascalsenn"; + version = "0.0.6"; + sha256 = "BK7ND6gtRVEitxaokJHmQ5rvSOgssVz+s9dktGQnY6M="; + } + ]; }; - - keybindings = [ - { - key = "alt+k"; - when = "codeActionMenuVisible"; - command = "selectPrevCodeAction"; - } - - { - key = "alt+j"; - when = "codeActionMenuVisible"; - command = "selectNextCodeAction"; - } - - { - key = "alt+k"; - command = "selectPrevSuggestion"; - when = "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"; - } - - { - key = "alt+j"; - command = "selectNextSuggestion"; - when = "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"; - } - - { - key = "alt+k"; - command = "editor.action.moveLinesUpAction"; - when = "editorTextFocus && !editorReadonly && !suggestWidgetVisible"; - } - - { - key = "alt+j"; - command = "editor.action.moveLinesDownAction"; - when = "editorTextFocus && !editorReadonly && !suggestWidgetVisible"; - } - - { - key = "alt+j"; - command = "workbench.action.quickOpenNavigateNext"; - when = "inQuickOpen"; - } - - { - key = "alt+k"; - command = "workbench.action.quickOpenNavigatePrevious"; - when = "inQuickOpen"; - } - - { - key = "alt+f"; - command = "editor.action.formatDocument"; - when = "editorTextFocus && !editorReadonly"; - } - - { - key = "alt+o"; - command = "editor.action.insertLineAfter"; - when = "textInputFocus && !editorReadonly"; - } - - { - key = "alt+shift+o"; - command = "editor.action.insertLineBefore"; - when = "textInputFocus && !editorReadonly"; - } - ]; - - extensions = with pkgs.vscode-extensions; [ - # WakaTime.vscode-wakatime - # dotjoshjohnson.xml - # eamodio.gitlens - # jock.svg - # ms-azuretools.vscode-docker - # ms-toolsai.jupyter - # ms-vscode-remote.remote-ssh - # ms-vsliveshare.vsliveshare - bbenoist.nix - christian-kohler.path-intellisense - # coenraads.bracket-pair-colorizer-2 - haskell.haskell - justusadam.language-haskell - justusadam.language-haskell - mechatroner.rainbow-csv - mhutchie.git-graph - ms-python.python - ms-python.vscode-pylance - ms-vscode-remote.remote-ssh - naumovs.color-highlight - oderwat.indent-rainbow - pkief.material-icon-theme - redhat.vscode-yaml - shardulm94.trailing-spaces - usernamehw.errorlens - rust-lang.rust-analyzer - mkhl.direnv - waderyan.gitblame - vscodevim.vim - hbenl.vscode-test-explorer - # vitaliymaz.vscode-svg-previewer - ms-vscode.test-adapter-converter - visualstudioexptteam.vscodeintellicode - tamasfe.even-better-toml - maximedenes.vscoq - ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ - { - name = "monokai-st3"; - publisher = "AndreyVolosovich"; - version = "0.2.0"; - sha256 = "1rvz5hlrfshy9laybxzvrdklx328s13j0lb8ljbda9zkadi3wcad"; - } - { - name = "comment-anchors"; - publisher = "ExodiusStudios"; - version = "1.10.4"; - sha256 = "sha256-FvfjPpQsgCsnY1BylhLCM/qDQChf9/iTr3cKkCGfMVI="; - } - { - name = "vscode-gutter-preview"; - publisher = "kisstkondoros"; - version = "0.31.2"; - sha256 = "sha256-2/RvDSsVL06UmNG9HchXaJMJ4FYtnpuJ2Bn53JVv1t8="; - } - { - name = "keyboard-quickfix"; - publisher = "pascalsenn"; - version = "0.0.6"; - sha256 = "BK7ND6gtRVEitxaokJHmQ5rvSOgssVz+s9dktGQnY6M="; - } - ]; }; } diff --git a/home/programs/zed/default.nix b/home/programs/zed/default.nix index 124193a..76135cf 100644 --- a/home/programs/zed/default.nix +++ b/home/programs/zed/default.nix @@ -160,7 +160,7 @@ }; in "${package}/themes/monokai.json"; - programs.zsh.initExtra = '' + programs.zsh.initContent = '' if [[ "$ZED_TERM" == "true" && -n "$TMUX_PANE" ]]; then unset TMUX_PANE fi diff --git a/home/programs/zsh/default.nix b/home/programs/zsh/default.nix index 82aedb5..39f4b84 100644 --- a/home/programs/zsh/default.nix +++ b/home/programs/zsh/default.nix @@ -24,10 +24,6 @@ in defaultKeymap = "viins"; enableCompletion = true; - initExtraBeforeCompInit = '' - fpath+=(${pkgs.zsh-completions}/share/zsh/site-functions) - ''; - completionInit = ""; history = { @@ -73,19 +69,24 @@ in } ]; - initExtra = '' - source ${./p10k.zsh} + initContent = lib.mkMerge [ + (lib.mkOrder 550 '' + fpath+=(${pkgs.zsh-completions}/share/zsh/site-functions) + '') + '' + source ${./p10k.zsh} - enable-fzf-tab + enable-fzf-tab - zstyle ':fzf-tab:complete:cd:*' fzf-preview '${lib.getExe pkgs.eza} -1 --color=always $realpath' + zstyle ':fzf-tab:complete:cd:*' fzf-preview '${lib.getExe pkgs.eza} -1 --color=always $realpath' - # Use tmux buffer if we are inside tmux - if ! { [ "$TERM" = "screen" ] && [ -n "$TMUX" ]; } then - zstyle ':fzf-tab:*' fzf-command ftb-tmux-popup - fi + # Use tmux buffer if we are inside tmux + if ! { [ "$TERM" = "screen" ] && [ -n "$TMUX" ]; } then + zstyle ':fzf-tab:*' fzf-command ftb-tmux-popup + fi - source "${config.xdg.configHome}/mutable_env.sh" - ''; + source "${config.xdg.configHome}/mutable_env.sh" + '' + ]; }; } diff --git a/home/services/fcitx5.nix b/home/services/fcitx5.nix index e0077c4..3f43945 100644 --- a/home/services/fcitx5.nix +++ b/home/services/fcitx5.nix @@ -6,12 +6,16 @@ let in { i18n.inputMethod = { - enabled = "fcitx5"; - fcitx5.addons = with pkgs; [ - fcitx5-mozc - fcitx5-gtk - # fcitx5-chinese-addons - ]; + enable = true; + type = "fcitx5"; + fcitx5 = { + waylandFrontend = true; + addons = with pkgs; [ + fcitx5-mozc + fcitx5-gtk + # fcitx5-chinese-addons + ]; + }; }; xdg.configFile = let @@ -128,12 +132,6 @@ in source = "${pkgs.fcitx5-material-color}/share/fcitx5/themes/Material-Color-orange"; }; - # TODO: set i18n.inputMethod.fcitx5.waylandFrontend on home-manager 25.05 - home.sessionVariables = { - GTK_IM_MODULE = lib.mkForce ""; - QT_IM_MODULE = lib.mkForce ""; - }; - systemd.user.services.fcitx5-daemon = { Service.Restart="on-failure"; Service.ExecStart = lib.mkForce "${fcitx5Package}/bin/fcitx5"; diff --git a/hosts/common/fonts.nix b/hosts/common/fonts.nix index 0232995..ba53cb3 100644 --- a/hosts/common/fonts.nix +++ b/hosts/common/fonts.nix @@ -16,6 +16,8 @@ ipafont liberation_ttf migmix + nerd-fonts._0xproto + nerd-fonts.droid-sans-mono noto-fonts noto-fonts-cjk-sans noto-fonts-cjk-serif @@ -30,7 +32,6 @@ ubuntu_font_family victor-mono yasashisa-gothic - (nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" ]; }) ]; fontconfig = { diff --git a/hosts/common/services/locate.nix b/hosts/common/services/locate.nix index 0def1b4..bfcce5c 100644 --- a/hosts/common/services/locate.nix +++ b/hosts/common/services/locate.nix @@ -3,7 +3,6 @@ services.locate = { enable = true; package = pkgs.plocate; - localuser = null; pruneNames = [ ".bzr" ".cache"