From 0986fee7518e7fbafead3abd6c307d57f8a9c830 Mon Sep 17 00:00:00 2001 From: Dmitriy Kholkin Date: Thu, 18 Aug 2022 18:00:14 +0300 Subject: [PATCH] huge update with fixes --- flake.lock | 102 +-- modules/secrets.nix | 1 + profiles/applications/firefox.nix | 4 - profiles/applications/himalaya.nix | 2 +- profiles/applications/packages.nix | 4 + profiles/applications/vscode/default.nix | 43 +- profiles/applications/vscode/extensions.nix | 31 +- profiles/applications/vscode/theme.nix | 939 ++++++++++++++++++++ profiles/nix/default.nix | 7 - profiles/overlay.nix | 30 +- profiles/workspace/git.nix | 5 +- profiles/workspace/hyprland/default.nix | 160 ++-- profiles/workspace/sway/default.nix | 2 +- profiles/workspace/waybar/default.nix | 128 +++ profiles/workspace/zsh.nix | 27 +- roles/desktop.nix | 6 +- scripts/vscode_update_extensions.sh | 8 +- 17 files changed, 1317 insertions(+), 182 deletions(-) create mode 100644 profiles/applications/vscode/theme.nix create mode 100644 profiles/workspace/waybar/default.nix diff --git a/flake.lock b/flake.lock index d7966a0..49604ce 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "arkenfox-userjs": { "flake": false, "locked": { - "lastModified": 1659264624, - "narHash": "sha256-iONF1YbWlW99k71lIUA/hw5+Rv1kf5M3mCItW6JmjbI=", + "lastModified": 1660764278, + "narHash": "sha256-MhlZav86gz8bH1aEWyNFNLnc6T7MBU1d3dGHtG2lEnA=", "owner": "arkenfox", "repo": "user.js", - "rev": "6e53e841f78c512f4d1eedb6a2409df746eea979", + "rev": "0dba33688fe468aca9b58c60910201afb3b89f60", "type": "github" }, "original": { @@ -84,11 +84,11 @@ }, "cachix": { "locked": { - "lastModified": 1659375853, - "narHash": "sha256-aiMfO6U1w1u93vB+5qCHCQDZKgpJ7qs4GJOQvI3CN/4=", + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "511f6a5c3248f9019a41e70c1891484de2bc906c", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", "type": "github" }, "original": { @@ -186,11 +186,11 @@ }, "flake-utils_2": { "locked": { - "lastModified": 1656928814, - "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { @@ -207,11 +207,11 @@ "utils": "utils_2" }, "locked": { - "lastModified": 1659484873, - "narHash": "sha256-6VoPiGyDdjBHOJ3IpS24lY1lrDiOHeuEefOFI0qz3WE=", + "lastModified": 1660574517, + "narHash": "sha256-Lp5D2pAPrM3iAc1eeR0iGwz5rM+SYOWzVxI3p17nlrU=", "owner": "nix-community", "repo": "home-manager", - "rev": "d8d9ff0b2df77defa10375c6665b51f0251c34d6", + "rev": "688e5c85b7537f308b82167c8eb4ecfb70a49861", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "wlroots": "wlroots" }, "locked": { - "lastModified": 1659554352, - "narHash": "sha256-TkTYgohLTQIW3JRWqNH3N7TbT55ujYS3S7dfZgK7vXU=", + "lastModified": 1660800487, + "narHash": "sha256-vQ3fGe72+NrxGWaLJHwkPqSqUgcoVREJJkuU5yNc2X8=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "5dcbce550f0247583789ced52c5ea0bcbde3fc35", + "rev": "f3c597bfb7f288ff1cfd43b307ab6c209ccdc255", "type": "github" }, "original": { @@ -263,11 +263,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1659269454, - "narHash": "sha256-TefLZJkb5I3okEPr5CEx8ok5YMMIKKRIr0qgLsV0wEo=", + "lastModified": 1660478979, + "narHash": "sha256-aQadm1JUR/1PpBETyuvEl3tycZU+sDZULfMPg/SPzUc=", "owner": "nix-community", "repo": "lib-aggregate", - "rev": "05a490aa2cc58c324089be2a46630f79cfd291dc", + "rev": "fb6e102dcf215dcf6879e7be4a5a3942207512aa", "type": "github" }, "original": { @@ -357,11 +357,11 @@ "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "lastModified": 1659543961, - "narHash": "sha256-4/gM8/rL8ms6Q+KcJo5nWTXVjBLkd0ESLvY8DemjNOA=", + "lastModified": 1660751023, + "narHash": "sha256-p8HaSYd1NzFNZGZm8tG3fJZ+ztuCgVEqAGN+BMNKwrk=", "owner": "nixos", "repo": "nix", - "rev": "075bf6e5565aff9fba0ea02f3333c82adf4dccee", + "rev": "7aa36ae79673d89e120a97a3c6fd9fbb46ea9da1", "type": "github" }, "original": { @@ -440,11 +440,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1659228903, - "narHash": "sha256-if+c7F8t/Yufix9LeWmWp4p3+VmGQAUSr7TCCrlQTJQ=", + "lastModified": 1660438583, + "narHash": "sha256-rJUTYxFKlWUJI3njAwEc1pKAVooAViZGJvsgqfh/q/E=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "a351c69544a1b38dcfae88b57512de36931a0b7c", + "rev": "bbd8f7cd87d0b29294ef3072ffdbd61d60f05da4", "type": "github" }, "original": { @@ -455,11 +455,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1659561516, - "narHash": "sha256-1R0Y6bXq5fMrFxkEawUWvltA8Oiwyz3UOJhfrWiWTJo=", + "lastModified": 1660819205, + "narHash": "sha256-mqZ+yD1PDZrNjow8mBZPddezg5p38e+udbY3EXBoFgg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "42a4a464414cef2f3ecf9cba7ba93c6981626882", + "rev": "38890391bcee0efbdb2c8e7de3099906ae0546ae", "type": "github" }, "original": { @@ -503,11 +503,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1659445012, - "narHash": "sha256-n8/7npmp3hLbPSTRHPW8EPO8qh9vJ10RgkRM3Ve4vfc=", + "lastModified": 1660661643, + "narHash": "sha256-WlgPb7KLTZUeY31o9HWhu37pvgA76MKwakaXefkaIB4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a9f66ae640146ac16b6e33d2359e9171b27b0993", + "rev": "a82127cea64fd801c5e138ae23dfd444ec1e06d1", "type": "github" }, "original": { @@ -527,11 +527,11 @@ ] }, "locked": { - "lastModified": 1659557886, - "narHash": "sha256-vwIdUmsmxeW6QsATG4VVtY25enBQII9R5tNSL9f1o68=", + "lastModified": 1660810803, + "narHash": "sha256-1hOHPmqvmopBIc0AbI9JvEIdDnrtHlwlZnBOXoxTjfo=", "owner": "nix-community", "repo": "nixpkgs-wayland", - "rev": "32c10417a93107e6840dd91d6270dd8bc772d58f", + "rev": "c8d6759190060810c5ea93d2326dd292944d28ba", "type": "github" }, "original": { @@ -558,11 +558,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1659487974, - "narHash": "sha256-CVGOtR/Wyq3TVCjf8/kdnYD5G2JwUKUQVtd+5WIDTuY=", + "lastModified": 1660646295, + "narHash": "sha256-V4G+egGRc3elXPTr7QLJ7r7yrYed0areIKDiIAlMLC8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "12363fb6d89859a37cd7e27f85288599f13e49d9", + "rev": "762b003329510ea855b4097a37511eb19c7077f0", "type": "github" }, "original": { @@ -574,11 +574,11 @@ }, "nur": { "locked": { - "lastModified": 1659556157, - "narHash": "sha256-u8HQc5m0W5XJBN8otFjpVdkF1ZxZgN9ypxausw5kDPA=", + "lastModified": 1660816367, + "narHash": "sha256-H1yRfPbGGlJ/uNr9Uh+LaBSQgCKLx8prc/w8BvASjrg=", "owner": "nix-community", "repo": "NUR", - "rev": "97fdb83a2e4db43fd6a41a61e84c8d97e737b6d4", + "rev": "c61f77b983457249d4359e8e53441595e7da2f5f", "type": "github" }, "original": { @@ -638,11 +638,11 @@ "qbittorrent-ee": { "flake": false, "locked": { - "lastModified": 1655159598, - "narHash": "sha256-HQMlqyfP60DwN3dtQ1lWtKJeR7LiPh+reVKbwrMTL1w=", + "lastModified": 1660416398, + "narHash": "sha256-89TQdrabKLYFlqtR2HdY+no4uaAHXigyFn/QSkC2mYg=", "owner": "c0re100", "repo": "qBittorrent-Enhanced-Edition", - "rev": "4ffc2ccce818b133e6355514234282e66c0ad5e9", + "rev": "c765e0ec5332426634b65d92d90d9fcf6a8429e3", "type": "github" }, "original": { @@ -701,11 +701,11 @@ "rycee": { "flake": false, "locked": { - "lastModified": 1659499355, - "narHash": "sha256-v534Oh9EQ/aOHpsoGGTf62Hcw80c9Qv2qW+L+FJNVCY=", + "lastModified": 1660795362, + "narHash": "sha256-0tm0abrLWkwyupYzJ+sIZO0y4e1T+b4yPSvl2gSajsE=", "owner": "rycee", "repo": "nur-expressions", - "rev": "549af64db84b6f6530c6a459d7f6c849f2c65553", + "rev": "70048f252c62521dff732928dfeac4c8b7f03547", "type": "gitlab" }, "original": { @@ -724,11 +724,11 @@ "utils": "utils_3" }, "locked": { - "lastModified": 1655930346, - "narHash": "sha256-ht56HHOzEhjeIgAv5ZNFjSVX/in1YlUs0HG9c1EUXTM=", + "lastModified": 1658267644, + "narHash": "sha256-NJRe1rnlF112eZwxNASlRL8/ghwD8g+lpHIYRkWQxC8=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "f535d8123c4761b2ed8138f3d202ea710a334a1d", + "rev": "004c229ca44c069d93c92abf67ff1619fb508c6a", "type": "gitlab" }, "original": { @@ -806,11 +806,11 @@ "flake": false, "locked": { "host": "gitlab.freedesktop.org", - "lastModified": 1658770113, - "narHash": "sha256-VBq9vw0hvQPKGKLNKLJS8xsUHvrX0o2LUDBVolixenE=", + "lastModified": 1659738224, + "narHash": "sha256-bV3TLiCgptpKoUKLiH/5RMtiIsfn0hawdaCEHQFB6WY=", "owner": "wlroots", "repo": "wlroots", - "rev": "7b5e890e61a27375725068a7d1884b26851b3102", + "rev": "3baf2a6bcfc4cb86c364f5724aaec80f28715a01", "type": "gitlab" }, "original": { diff --git a/modules/secrets.nix b/modules/secrets.nix index 69e538f..172766e 100644 --- a/modules/secrets.nix +++ b/modules/secrets.nix @@ -66,6 +66,7 @@ let with cfg; { "${name}-secrets" = rec { + wantedBy = [ "multi-user.target" ]; requires = [ "user@1000.service" ]; after = requires; diff --git a/profiles/applications/firefox.nix b/profiles/applications/firefox.nix index 31feb82..80d03a3 100755 --- a/profiles/applications/firefox.nix +++ b/profiles/applications/firefox.nix @@ -108,8 +108,6 @@ in { "experiments.enabled" = false; "experiments.supported" = false; "network.allow-experiments" = false; - - "widget.use-xdg-desktop-portal.file-picker" = 1; }; extraPrefs = "${fileContents "${pkgs.arkenfox-userjs}/share/user-js/profiles/user.js"}"; }; @@ -155,8 +153,6 @@ in { "experiments.enabled" = false; "experiments.supported" = false; "network.allow-experiments" = false; - - "widget.use-xdg-desktop-portal.file-picker" = 1; }; extraPrefs = "${fileContents "${pkgs.arkenfox-userjs}/share/user-js/profiles/user.js"}"; }; diff --git a/profiles/applications/himalaya.nix b/profiles/applications/himalaya.nix index 09988f3..81868d0 100644 --- a/profiles/applications/himalaya.nix +++ b/profiles/applications/himalaya.nix @@ -17,7 +17,7 @@ smtp-host="mail.ataraxiadev.com" smtp-login="ataraxiadev@ataraxiadev.com" smtp-passwd-cmd="pass show email/ataraxiadev@ataraxiadev.com" - smtp-port=465 + smtp-port=995 ''; }; } \ No newline at end of file diff --git a/profiles/applications/packages.nix b/profiles/applications/packages.nix index e6dba8f..c8d0133 100644 --- a/profiles/applications/packages.nix +++ b/profiles/applications/packages.nix @@ -18,6 +18,8 @@ with config.deviceSpecific; { lm_sensors lnav nix-alien + nixfmt + nixpkgs-fmt nix-prefetch-git nix-index-update p7zip @@ -92,6 +94,8 @@ with config.deviceSpecific; { (retroarch.override { cores = [ libretro.genesis-plus-gx libretro.dosbox ]; }) protontricks vkBasalt + wine + winetricks ] ++ lib.optionals isLaptop [ acpi seadrive-fuse diff --git a/profiles/applications/vscode/default.nix b/profiles/applications/vscode/default.nix index 5a7f4cc..3016cc4 100644 --- a/profiles/applications/vscode/default.nix +++ b/profiles/applications/vscode/default.nix @@ -2,13 +2,35 @@ let thmFile = config.lib.base16.templateFile; thm = config.lib.base16.theme; + EDITOR = pkgs.writeShellScript "code-editor" '' + source "/etc/profiles/per-user/alukard/etc/profile.d/hm-session-vars.sh" + NIX_OZONE_WL=1 \ + exec \ + ${config.home-manager.users.alukard.programs.vscode.package}/bin/code \ + -w -n \ + "$@" + ''; in { home-manager.users.alukard = { programs.vscode = { enable = true; package = pkgs.vscode; - extensions = pkgs.vscode-utils.extensionsFromVscodeMarketplace (import ./extensions.nix); + extensions = with pkgs.vscode-extensions; + (map + (extension: pkgs.vscode-utils.buildVscodeMarketplaceExtension { + mktplcRef = { + inherit (extension) name publisher version sha256; + }; + }) + (import ./extensions.nix).extensions + ); + # ++ [ + # arrterian.nix-env-selector + + # (pkgs.callPackage ./theme.nix { } config.lib.base16.theme) + # ]; + # mutableExtensionsDir = false; userSettings = { "update.mode" = "none"; "telemetry.telemetryLevel" = "off"; @@ -16,7 +38,7 @@ in "editor.fontLigatures" = true; "editor.fontWeight" = "600"; "editor.fontSize" = 16; - "workbench.iconTheme" = "material-icon-theme"; + "workbench.iconTheme" = "eq-material-theme-icons-palenight"; "workbench.colorTheme" = "Tokyo Night"; "files.autoSave" = "afterDelay"; "cSpell.language" = "en,ru"; @@ -43,6 +65,7 @@ in "editor.tabSize" = 2; "editor.detectIndentation" = true; }; + "nix.formatterPath" = "nixfmt"; "dart.allowAnalytics" = false; "dart.flutterCreateOrganization" = "com.ataraxiadev"; "files.exclude" = { @@ -64,17 +87,15 @@ in "search.exclude" = { "**/.direnv" = true; }; + "git.autofetch" = true; "git.enableCommitSigning" = true; "git-graph.repository.sign.commits" = true; "git-graph.repository.sign.tags" = true; - "editor.bracketPairColorization.enabled" = true; + # "editor.bracketPairColorization.enabled" = true; "editor.guides.bracketPairs" = "active"; - "terminal.integrated.defaultProfile.linux" = "linux-zsh"; - "terminal.integrated.profiles.linux" = { - "linux-zsh" = { - "path" = "${pkgs.zsh}/bin/zsh"; - }; - }; + "terminal.integrated.defaultProfile.linux" = "zsh"; + "terminal.integrated.profiles.linux".zsh.path = "/run/current-system/sw/bin/zsh"; + "security.workspace.trust.untrustedFiles" = "open"; }; }; @@ -99,7 +120,7 @@ in }; defaultApplications.editor = { - cmd = "${pkgs.vscode}/bin/code"; - desktop = "code"; + cmd = "${EDITOR}"; + desktop = "cod-wayland"; }; } diff --git a/profiles/applications/vscode/extensions.nix b/profiles/applications/vscode/extensions.nix index 870f37f..fc5e963 100644 --- a/profiles/applications/vscode/extensions.nix +++ b/profiles/applications/vscode/extensions.nix @@ -1,4 +1,4 @@ -[ +{ extensions = [ { name = "better-comments"; publisher = "aaron-bond"; @@ -38,8 +38,8 @@ { name = "catppuccin-vsc"; publisher = "Catppuccin"; - version = "1.0.6"; - sha256 = "14kbaglln2qq7kpkjqmacw6nwgqd0ydn16qnrbsr21iwszqk5kz0"; + version = "2.0.0"; + sha256 = "05pflagkis09g3ai9x2miwbn3wwsxi895gibr2bd1ki62a2qy625"; } { name = "path-intellisense"; @@ -56,8 +56,8 @@ { name = "dart-code"; publisher = "Dart-Code"; - version = "3.46.1"; - sha256 = "0z76qqkdp5siw4cb0vd1xm1vzrr02r2c9gsa5l365w9rn8fnagl0"; + version = "3.47.20220808"; + sha256 = "1g1nmmfkk4wfvrjbw45lrbrw1kvdazwpzw89cx74gy485x6qk98a"; } { name = "flutter"; @@ -80,8 +80,14 @@ { name = "tokyo-night"; publisher = "enkia"; - version = "0.9.2"; - sha256 = "0abry6ipz7rn6zbn6wf3gmb31dyp7ah1jv73aspmhdj582imax4l"; + version = "0.9.4"; + sha256 = "0v1hkv8smwp64c0danrln39h0lgqa2dwiiy45rx29s9qmq3j9am4"; + } + { + name = "vsc-material-theme-icons"; + publisher = "equinusocio"; + version = "2.3.1"; + sha256 = "1djm4k3hcn4aq63d4mxs2n4ffq5x1qr82q6gxwi5pmabrb0hrb30"; } { name = "bloc"; @@ -92,8 +98,8 @@ { name = "vscode-pull-request-github"; publisher = "GitHub"; - version = "0.47.2022080211"; - sha256 = "14ick67g0l2sclbi0hn91mqi7xncaif9shddwf7swb7lrj6p64kv"; + version = "0.49.2022081809"; + sha256 = "00w0z0spffk5p8da4vh4v7mmng4wznyxr87ki6mvp0k28bxjyw9c"; } { name = "vscode-env"; @@ -128,8 +134,8 @@ { name = "remote-ssh"; publisher = "ms-vscode-remote"; - version = "0.85.2022071315"; - sha256 = "195c22wvvw727li8wf0nhfpccgynx9sd48gzz39j8wxmi7qqvjli"; + version = "0.85.2022081715"; + sha256 = "0ck0awb815aqz5r5cpnzwsl0cp6ajwzhi5n36c4lrpb6sjhdcn0d"; } { name = "remote-ssh-edit"; @@ -137,4 +143,5 @@ version = "0.80.0"; sha256 = "0zgrd2909xpr3416cji0ha3yl6gl2ry2f38bvx4lsjfmgik0ic6s"; } -] +]; +} \ No newline at end of file diff --git a/profiles/applications/vscode/theme.nix b/profiles/applications/vscode/theme.nix new file mode 100644 index 0000000..a1c56c5 --- /dev/null +++ b/profiles/applications/vscode/theme.nix @@ -0,0 +1,939 @@ +{ linkFarm }: +{ base00-hex, base01-hex, base02-hex, base03-hex, base04-hex, base05-hex, base06-hex, base07-hex, base08-hex, base09-hex +, base0A-hex, base0B-hex, base0C-hex, base0D-hex, base0E-hex, base0F-hex, ... }: +let + theme = { + "theme/generated.json" = __toJSON { + "$schema" = "vscode://schemas/color-theme"; + colors = { + "activityBar.activeBackground" = "#${base00-hex}"; + "activityBar.background" = "#${base00-hex}"; + "activityBar.dropBackground" = "#${base07-hex}"; + "activityBar.foreground" = "#${base05-hex}"; + "activityBar.inactiveForeground" = "#${base03-hex}"; + "activityBarBadge.background" = "#${base0D-hex}"; + "activityBarBadge.foreground" = "#${base07-hex}"; + "badge.background" = "#${base00-hex}"; + "badge.foreground" = "#${base05-hex}"; + "breadcrumb.activeSelectionForeground" = "#${base07-hex}"; + "breadcrumb.background" = "#${base00-hex}"; + "breadcrumb.focusForeground" = "#${base06-hex}"; + "breadcrumb.foreground" = "#${base05-hex}"; + "breadcrumbPicker.background" = "#${base00-hex}"; + "button.background" = "#${base00-hex}"; + "button.foreground" = "#${base07-hex}"; + "button.hoverBackground" = "#${base04-hex}"; + "button.secondaryBackground" = "#${base0E-hex}"; + "button.secondaryForeground" = "#${base07-hex}"; + "button.secondaryHoverBackground" = "#${base04-hex}"; + "charts.blue" = "#${base0D-hex}"; + "charts.foreground" = "#${base05-hex}"; + "charts.green" = "#${base0B-hex}"; + "charts.lines" = "#${base05-hex}"; + "charts.orange" = "#${base09-hex}"; + "charts.purple" = "#${base0E-hex}"; + "charts.red" = "#${base08-hex}"; + "charts.yellow" = "#${base0A-hex}"; + "checkbox.background" = "#${base01-hex}"; + "checkbox.foreground" = "#${base05-hex}"; + "debugConsole.errorForeground" = "#${base08-hex}"; + "debugConsole.infoForeground" = "#${base05-hex}"; + "debugConsole.sourceForeground" = "#${base05-hex}"; + "debugConsole.warningForeground" = "#${base0A-hex}"; + "debugConsoleInputIcon.foreground" = "#${base05-hex}"; + "debugExceptionWidget.background" = "#${base00-hex}"; + "debugIcon.breakpointCurrentStackframeForeground" = "#${base0A-hex}"; + "debugIcon.breakpointDisabledForeground" = "#${base04-hex}"; + "debugIcon.breakpointForeground" = "#${base08-hex}"; + "debugIcon.breakpointStackframeForeground" = "#${base0F-hex}"; + "debugIcon.breakpointUnverifiedForeground" = "#${base02-hex}"; + "debugIcon.continueForeground" = "#${base0B-hex}"; + "debugIcon.disconnectForeground" = "#${base08-hex}"; + "debugIcon.pauseForeground" = "#${base0D-hex}"; + "debugIcon.restartForeground" = "#${base0B-hex}"; + "debugIcon.startForeground" = "#${base0B-hex}"; + "debugIcon.stepBackForeground" = "#${base0F-hex}"; + "debugIcon.stepIntoForeground" = "#${base0C-hex}"; + "debugIcon.stepOutForeground" = "#${base0E-hex}"; + "debugIcon.stepOverForeground" = "#${base0D-hex}"; + "debugIcon.stopForeground" = "#${base08-hex}"; + "debugTokenExpression.boolean" = "#${base09-hex}"; + "debugTokenExpression.error" = "#${base08-hex}"; + "debugTokenExpression.name" = "#${base0E-hex}"; + "debugTokenExpression.number" = "#${base09-hex}"; + "debugTokenExpression.string" = "#${base0B-hex}"; + "debugTokenExpression.value" = "#${base05-hex}"; + "debugToolBar.background" = "#${base00-hex}"; + "debugView.stateLabelBackground" = "#${base0D-hex}"; + "debugView.stateLabelForeground" = "#${base07-hex}"; + "debugView.valueChangedHighlight" = "#${base0D-hex}"; + descriptionForeground = "#${base03-hex}"; + "diffEditor.diagonalFill" = "#${base02-hex}"; + "diffEditor.insertedTextBackground" = "#${base0B-hex}20"; + "diffEditor.removedTextBackground" = "#${base08-hex}20"; + "dropdown.background" = "#${base00-hex}"; + "dropdown.foreground" = "#${base05-hex}"; + "dropdown.listBackground" = "#${base00-hex}"; + "editor.background" = "#${base00-hex}"; + "editor.findMatchBackground" = "#${base0A-hex}6f"; + "editor.findMatchHighlightBackground" = "#${base09-hex}6f"; + "editor.findRangeHighlightBackground" = "#${base00-hex}6f"; + "editor.foreground" = "#${base05-hex}"; + "editor.hoverHighlightBackground" = "#${base02-hex}6f"; + "editor.inactiveSelectionBackground" = "#${base02-hex}"; + "editor.lineHighlightBackground" = "#${base00-hex}"; + "editor.rangeHighlightBackground" = "#${base00-hex}6f"; + "editor.selectionBackground" = "#${base01-hex}"; + "editor.selectionHighlightBackground" = "#${base00-hex}"; + "editor.snippetFinalTabstopHighlightBackground" = "#${base03-hex}"; + "editor.snippetTabstopHighlightBackground" = "#${base02-hex}"; + "editor.wordHighlightBackground" = "#${base02-hex}6f"; + "editor.wordHighlightStrongBackground" = "#${base03-hex}6f"; + "editorBracketMatch.background" = "#${base02-hex}"; + "editorCodeLens.foreground" = "#${base02-hex}"; + "editorCursor.foreground" = "#${base05-hex}"; + "editorError.foreground" = "#${base08-hex}"; + "editorGroup.background" = "#${base00-hex}"; + "editorGroup.dropBackground" = "#${base02-hex}6f"; + "editorGroup.emptyBackground" = "#${base00-hex}"; + "editorGroupHeader.noTabsBackground" = "#${base00-hex}"; + "editorGroupHeader.tabsBackground" = "#${base00-hex}"; + "editorGutter.addedBackground" = "#${base0B-hex}"; + "editorGutter.background" = "#${base00-hex}"; + "editorGutter.commentRangeForeground" = "#${base04-hex}"; + "editorGutter.deletedBackground" = "#${base08-hex}"; + "editorGutter.foldingControlForeground" = "#${base05-hex}"; + "editorGutter.modifiedBackground" = "#${base0E-hex}"; + "editorHint.foreground" = "#${base0D-hex}"; + "editorHoverWidget.background" = "#${base00-hex}"; + "editorHoverWidget.foreground" = "#${base05-hex}"; + "editorIndentGuide.activeBackground" = "#${base04-hex}"; + "editorIndentGuide.background" = "#${base03-hex}"; + "editorInfo.foreground" = "#${base0C-hex}"; + "editorLightBulb.foreground" = "#${base0A-hex}"; + "editorLightBulbAutoFix.foreground" = "#${base0D-hex}"; + "editorLineNumber.activeForeground" = "#${base04-hex}"; + "editorLineNumber.foreground" = "#${base03-hex}"; + "editorLink.activeForeground" = "#${base0D-hex}"; + "editorMarkerNavigation.background" = "#${base00-hex}"; + "editorMarkerNavigationError.background" = "#${base08-hex}"; + "editorMarkerNavigationInfo.background" = "#${base0D-hex}"; + "editorMarkerNavigationWarning.background" = "#${base0A-hex}"; + "editorOverviewRuler.addedForeground" = "#${base0B-hex}"; + "editorOverviewRuler.bracketMatchForeground" = "#${base06-hex}"; + "editorOverviewRuler.commonContentForeground" = "#${base0F-hex}"; + "editorOverviewRuler.currentContentForeground" = "#${base0D-hex}"; + "editorOverviewRuler.deletedForeground" = "#${base08-hex}"; + "editorOverviewRuler.errorForeground" = "#${base08-hex}"; + "editorOverviewRuler.findMatchForeground" = "#${base0A-hex}6f"; + "editorOverviewRuler.incomingContentForeground" = "#${base0B-hex}"; + "editorOverviewRuler.infoForeground" = "#${base0C-hex}"; + "editorOverviewRuler.modifiedForeground" = "#${base0E-hex}"; + "editorOverviewRuler.rangeHighlightForeground" = "#${base03-hex}6f"; + "editorOverviewRuler.selectionHighlightForeground" = "#${base02-hex}6f"; + "editorOverviewRuler.warningForeground" = "#${base0A-hex}"; + "editorOverviewRuler.wordHighlightForeground" = "#${base07-hex}6f"; + "editorOverviewRuler.wordHighlightStrongForeground" = "#${base0D-hex}6f"; + "editorPane.background" = "#${base00-hex}"; + "editorRuler.foreground" = "#${base03-hex}"; + "editorSuggestWidget.background" = "#${base00-hex}"; + "editorSuggestWidget.foreground" = "#${base05-hex}"; + "editorSuggestWidget.highlightForeground" = "#${base0D-hex}"; + "editorSuggestWidget.selectedBackground" = "#${base02-hex}"; + "editorWarning.foreground" = "#${base0A-hex}"; + "editorWhitespace.foreground" = "#${base03-hex}"; + "editorWidget.background" = "#${base00-hex}"; + "editorWidget.foreground" = "#${base05-hex}"; + errorForeground = "#${base08-hex}"; + "extensionBadge.remoteBackground" = "#${base09-hex}"; + "extensionBadge.remoteForeground" = "#${base07-hex}"; + "extensionButton.prominentBackground" = "#${base0B-hex}"; + "extensionButton.prominentForeground" = "#${base07-hex}"; + "extensionButton.prominentHoverBackground" = "#${base02-hex}"; + foreground = "#${base05-hex}"; + "gitDecoration.addedResourceForeground" = "#${base0B-hex}"; + "gitDecoration.conflictingResourceForeground" = "#${base09-hex}"; + "gitDecoration.deletedResourceForeground" = "#${base08-hex}"; + "gitDecoration.ignoredResourceForeground" = "#${base03-hex}"; + "gitDecoration.modifiedResourceForeground" = "#${base0A-hex}"; + "gitDecoration.stageDeletedResourceForeground" = "#${base0C-hex}"; + "gitDecoration.stageModifiedResourceForeground" = "#${base0C-hex}"; + "gitDecoration.submoduleResourceForeground" = "#${base0F-hex}"; + "gitDecoration.untrackedResourceForeground" = "#${base0E-hex}"; + "icon.foreground" = "#${base04-hex}"; + "input.background" = "#${base00-hex}"; + "input.foreground" = "#${base05-hex}"; + "input.placeholderForeground" = "#${base03-hex}"; + "inputOption.activeBackground" = "#${base02-hex}"; + "inputOption.activeBorder" = "#${base09-hex}"; + "inputOption.activeForeground" = "#${base05-hex}"; + "inputValidation.errorBackground" = "#${base08-hex}"; + "inputValidation.errorBorder" = "#${base08-hex}"; + "inputValidation.errorForeground" = "#${base05-hex}"; + "inputValidation.infoBackground" = "#${base0D-hex}"; + "inputValidation.infoBorder" = "#${base0D-hex}"; + "inputValidation.infoForeground" = "#${base05-hex}"; + "inputValidation.warningBackground" = "#${base0A-hex}"; + "inputValidation.warningBorder" = "#${base0A-hex}"; + "inputValidation.warningForeground" = "#${base05-hex}"; + "list.activeSelectionBackground" = "#${base01-hex}"; + "list.activeSelectionForeground" = "#${base05-hex}"; + "list.dropBackground" = "#${base07-hex}"; + "list.errorForeground" = "#${base08-hex}"; + "list.filterMatchBackground" = "#${base02-hex}"; + "list.focusBackground" = "#${base02-hex}"; + "list.focusForeground" = "#${base05-hex}"; + "list.highlightForeground" = "#${base07-hex}"; + "list.hoverBackground" = "#${base03-hex}"; + "list.hoverForeground" = "#${base05-hex}"; + "list.inactiveFocusBackground" = "#${base02-hex}"; + "list.inactiveSelectionBackground" = "#${base02-hex}"; + "list.inactiveSelectionForeground" = "#${base05-hex}"; + "list.invalidItemForeground" = "#${base08-hex}"; + "list.warningForeground" = "#${base0A-hex}"; + "listFilterWidget.background" = "#${base00-hex}"; + "listFilterWidget.noMatchesOutline" = "#${base08-hex}"; + "menu.background" = "#${base00-hex}"; + "menu.foreground" = "#${base05-hex}"; + "menu.selectionBackground" = "#${base02-hex}"; + "menu.selectionForeground" = "#${base05-hex}"; + "menu.separatorBackground" = "#${base07-hex}"; + "menubar.selectionBackground" = "#${base00-hex}"; + "menubar.selectionForeground" = "#${base05-hex}"; + "merge.currentContentBackground" = "#${base0D-hex}40"; + "merge.currentHeaderBackground" = "#${base0D-hex}40"; + "merge.incomingContentBackground" = "#${base0B-hex}60"; + "merge.incomingHeaderBackground" = "#${base0B-hex}60"; + "minimap.background" = "#${base00-hex}"; + "minimap.errorHighlight" = "#${base08-hex}"; + "minimap.findMatchHighlight" = "#${base0A-hex}6f"; + "minimap.selectionHighlight" = "#${base02-hex}6f"; + "minimap.warningHighlight" = "#${base0A-hex}"; + "minimapGutter.addedBackground" = "#${base0B-hex}"; + "minimapGutter.deletedBackground" = "#${base08-hex}"; + "minimapGutter.modifiedBackground" = "#${base0E-hex}"; + "notebook.rowHoverBackground" = "#${base00-hex}"; + "notification.background" = "#${base02-hex}"; + "notification.buttonBackground" = "#${base0D-hex}"; + "notification.buttonForeground" = "#${base07-hex}"; + "notification.buttonHoverBackground" = "#${base02-hex}"; + "notification.errorBackground" = "#${base08-hex}"; + "notification.errorForeground" = "#${base07-hex}"; + "notification.foreground" = "#${base05-hex}"; + "notification.infoBackground" = "#${base0C-hex}"; + "notification.infoForeground" = "#${base07-hex}"; + "notification.warningBackground" = "#${base0A-hex}"; + "notification.warningForeground" = "#${base07-hex}"; + "notificationCenterHeader.background" = "#${base00-hex}"; + "notificationCenterHeader.foreground" = "#${base05-hex}"; + "notificationLink.foreground" = "#${base0D-hex}"; + "notifications.background" = "#${base02-hex}"; + "notifications.foreground" = "#${base05-hex}"; + "notificationsErrorIcon.foreground" = "#${base08-hex}"; + "notificationsInfoIcon.foreground" = "#${base0D-hex}"; + "notificationsWarningIcon.foreground" = "#${base0A-hex}"; + "panel.background" = "#${base00-hex}"; + "panel.dropBackground" = "#${base00-hex}6f"; + "panelTitle.activeForeground" = "#${base05-hex}"; + "panelTitle.inactiveForeground" = "#${base03-hex}"; + "peekViewEditor.background" = "#${base00-hex}"; + "peekViewEditor.matchHighlightBackground" = "#${base09-hex}6f"; + "peekViewEditorGutter.background" = "#${base00-hex}"; + "peekViewResult.background" = "#${base00-hex}"; + "peekViewResult.fileForeground" = "#${base05-hex}"; + "peekViewResult.lineForeground" = "#${base03-hex}"; + "peekViewResult.matchHighlightBackground" = "#${base09-hex}6f"; + "peekViewResult.selectionBackground" = "#${base02-hex}"; + "peekViewResult.selectionForeground" = "#${base05-hex}"; + "peekViewTitle.background" = "#${base02-hex}"; + "peekViewTitleDescription.foreground" = "#${base03-hex}"; + "peekViewTitleLabel.foreground" = "#${base05-hex}"; + "pickerGroup.foreground" = "#${base03-hex}"; + "problemsErrorIcon.foreground" = "#${base08-hex}"; + "problemsInfoIcon.foreground" = "#${base0C-hex}"; + "problemsWarningIcon.foreground" = "#${base0A-hex}"; + "progressBar.background" = "#${base03-hex}"; + "quickInput.background" = "#${base00-hex}"; + "quickInput.foreground" = "#${base05-hex}"; + "scrollbar.shadow" = "#${base00-hex}"; + "scrollbarSlider.activeBackground" = "#${base04-hex}6f"; + "scrollbarSlider.background" = "#${base02-hex}6f"; + "scrollbarSlider.hoverBackground" = "#${base03-hex}6f"; + "selection.background" = "#${base01-hex}"; + "settings.checkboxBackground" = "#${base01-hex}"; + "settings.checkboxForeground" = "#${base05-hex}"; + "settings.dropdownBackground" = "#${base01-hex}"; + "settings.dropdownForeground" = "#${base05-hex}"; + "settings.focusedRowBackground" = "#${base02-hex}"; + "settings.headerForeground" = "#${base05-hex}"; + "settings.modifiedItemForeground" = "#${base0D-hex}"; + "settings.modifiedItemIndicator" = "#${base0D-hex}"; + "settings.numberInputBackground" = "#${base00-hex}"; + "settings.numberInputForeground" = "#${base05-hex}"; + "settings.textInputBackground" = "#${base01-hex}"; + "settings.textInputForeground" = "#${base05-hex}"; + "sideBar.background" = "#${base00-hex}"; + "sideBar.dropBackground" = "#${base01-hex}6f"; + "sideBar.foreground" = "#${base05-hex}"; + "sideBarSectionHeader.background" = "#${base00-hex}"; + "sideBarSectionHeader.foreground" = "#${base05-hex}"; + "sideBarTitle.foreground" = "#${base05-hex}"; + "statusBar.background" = "#${base0D-hex}"; + "statusBar.debuggingBackground" = "#${base09-hex}"; + "statusBar.debuggingForeground" = "#${base07-hex}"; + "statusBar.foreground" = "#${base07-hex}"; + "statusBar.noFolderBackground" = "#${base0E-hex}"; + "statusBar.noFolderForeground" = "#${base07-hex}"; + "statusBarItem.activeBackground" = "#${base03-hex}"; + "statusBarItem.errorBackground" = "#${base08-hex}"; + "statusBarItem.errorForeground" = "#${base07-hex}"; + "statusBarItem.hoverBackground" = "#${base02-hex}"; + "statusBarItem.prominentBackground" = "#${base0E-hex}"; + "statusBarItem.prominentForeground" = "#${base07-hex}"; + "statusBarItem.prominentHoverBackground" = "#${base08-hex}"; + "statusBarItem.remoteBackground" = "#${base0B-hex}"; + "statusBarItem.remoteForeground" = "#${base07-hex}"; + "symbolIcon.arrayForeground" = "#${base05-hex}"; + "symbolIcon.booleanForeground" = "#${base09-hex}"; + "symbolIcon.classForeground" = "#${base0A-hex}"; + "symbolIcon.colorForeground" = "#f0f"; + "symbolIcon.constantForeground" = "#${base09-hex}"; + "symbolIcon.constructorForeground" = "#${base0D-hex}"; + "symbolIcon.enumeratorForeground" = "#${base09-hex}"; + "symbolIcon.enumeratorMemberForeground" = "#${base0D-hex}"; + "symbolIcon.eventForeground" = "#${base0A-hex}"; + "symbolIcon.fieldForeground" = "#${base08-hex}"; + "symbolIcon.fileForeground" = "#${base05-hex}"; + "symbolIcon.folderForeground" = "#${base05-hex}"; + "symbolIcon.functionForeground" = "#${base0D-hex}"; + "symbolIcon.interfaceForeground" = "#${base0D-hex}"; + "symbolIcon.keyForeground" = "#f0f"; + "symbolIcon.keywordForeground" = "#${base0E-hex}"; + "symbolIcon.methodForeground" = "#${base0D-hex}"; + "symbolIcon.moduleForeground" = "#${base05-hex}"; + "symbolIcon.namespaceForeground" = "#${base05-hex}"; + "symbolIcon.nullForeground" = "#${base0F-hex}"; + "symbolIcon.numberForeground" = "#${base09-hex}"; + "symbolIcon.objectForeground" = "#f0f"; + "symbolIcon.operatorForeground" = "#f0f"; + "symbolIcon.packageForeground" = "#f0f"; + "symbolIcon.propertyForeground" = "#${base05-hex}"; + "symbolIcon.referenceForeground" = "#f0f"; + "symbolIcon.snippetForeground" = "#${base05-hex}"; + "symbolIcon.stringForeground" = "#${base0B-hex}"; + "symbolIcon.structForeground" = "#${base0A-hex}"; + "symbolIcon.textForeground" = "#${base05-hex}"; + "symbolIcon.typeParameterForeground" = "#f0f"; + "symbolIcon.unitForeground" = "#f0f"; + "symbolIcon.variableForeground" = "#${base08-hex}"; + "tab.activeBackground" = "#${base01-hex}"; + "tab.activeForeground" = "#${base05-hex}"; + "tab.activeModifiedBorder" = "#${base0D-hex}"; + "tab.hoverBackground" = "#${base02-hex}"; + "tab.inactiveBackground" = "#${base00-hex}"; + "tab.inactiveForeground" = "#${base03-hex}"; + "tab.inactiveModifiedBorder" = "#${base0D-hex}"; + "tab.unfocusedActiveBackground" = "#${base00-hex}"; + "tab.unfocusedActiveForeground" = "#${base04-hex}"; + "tab.unfocusedActiveModifiedBorder" = "#${base0D-hex}"; + "tab.unfocusedHoverBackground" = "#${base02-hex}"; + "tab.unfocusedInactiveForeground" = "#${base03-hex}"; + "tab.unfocusedInactiveModifiedBorder" = "#${base0D-hex}"; + "terminal.ansiBlack" = "#${base00-hex}"; + "terminal.ansiBlue" = "#${base0D-hex}"; + "terminal.ansiBrightBlack" = "#${base03-hex}"; + "terminal.ansiBrightBlue" = "#${base0D-hex}"; + "terminal.ansiBrightCyan" = "#${base0C-hex}"; + "terminal.ansiBrightGreen" = "#${base0B-hex}"; + "terminal.ansiBrightMagenta" = "#${base0E-hex}"; + "terminal.ansiBrightRed" = "#${base08-hex}"; + "terminal.ansiBrightWhite" = "#${base07-hex}"; + "terminal.ansiBrightYellow" = "#${base0A-hex}"; + "terminal.ansiCyan" = "#${base0C-hex}"; + "terminal.ansiGreen" = "#${base0B-hex}"; + "terminal.ansiMagenta" = "#${base0E-hex}"; + "terminal.ansiRed" = "#${base08-hex}"; + "terminal.ansiWhite" = "#${base05-hex}"; + "terminal.ansiYellow" = "#${base0A-hex}"; + "terminal.background" = "#${base00-hex}"; + "terminal.foreground" = "#${base05-hex}"; + "terminalCursor.foreground" = "#${base05-hex}"; + "textBlockQuote.background" = "#${base00-hex}"; + "textBlockQuote.border" = "#${base0D-hex}"; + "textCodeBlock.background" = "#${base00-hex}"; + "textLink.activeForeground" = "#${base0C-hex}"; + "textLink.foreground" = "#${base0D-hex}"; + "textPreformat.foreground" = "#${base0D-hex}"; + "textSeparator.foreground" = "#f0f"; + "titleBar.activeBackground" = "#${base01-hex}"; + "titleBar.activeForeground" = "#${base05-hex}"; + "titleBar.inactiveBackground" = "#${base00-hex}"; + "titleBar.inactiveForeground" = "#${base03-hex}"; + "tree.indentGuidesStroke" = "#${base05-hex}"; + "walkThrough.embeddedEditorBackground" = "#${base00-hex}"; + "welcomePage.background" = "#${base00-hex}"; + "welcomePage.buttonBackground" = "#${base00-hex}"; + "welcomePage.buttonHoverBackground" = "#${base02-hex}"; + "widget.shadow" = "#${base00-hex}"; + }; + name = "Generated theme"; + tokenColors = [ + { + name = "Comment"; + scope = [ "comment" "punctuation.definition.comment" ]; + settings = { + fontStyle = "italic"; + foreground = "#${base03-hex}"; + }; + } + { + name = "Variables, Parameters"; + scope = [ + "variable" + "string constant.other.placeholder" + "entity.name.variable.parameter" + "entity.name.variable.local" + "variable.parameter" + ]; + settings = { foreground = "#${base05-hex}"; }; + } + { + name = "Properties"; + scope = [ "variable.other.object.property" ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "Colors"; + scope = [ "constant.other.color" ]; + settings = { foreground = "#${base0B-hex}"; }; + } + { + name = "Invalid"; + scope = [ "invalid" "invalid.illegal" ]; + settings = { foreground = "#${base08-hex}"; }; + } + { + name = "Invalid - Deprecated"; + scope = [ "invalid.deprecated" ]; + settings = { foreground = "#${base0F-hex}"; }; + } + { + name = "Keyword, Storage"; + scope = [ "keyword" "storage.modifier" ]; + settings = { foreground = "#${base0E-hex}"; }; + } + { + name = "Keyword Control"; + scope = [ + "keyword.control" + "keyword.control.flow" + "keyword.control.from" + "keyword.control.import" + "keyword.control.as" + ]; + settings = { foreground = "#${base0E-hex}"; }; + } + { + name = "Keyword"; + scope = [ + "keyword.other.using" + "keyword.other.namespace" + "keyword.other.class" + "keyword.other.new" + "keyword.other.event" + "keyword.other.this" + "keyword.other.await" + "keyword.other.var" + "keyword.other.package" + "keyword.other.import" + "variable.language.this" + "storage.type.ts" + ]; + settings = { foreground = "#${base0E-hex}"; }; + } + { + name = "Types, Primitives"; + scope = [ "keyword.type" "storage.type.primitive" ]; + settings = { foreground = "#${base0C-hex}"; }; + } + { + name = "Function"; + scope = [ "storage.type.function" ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "Operator, Misc"; + scope = [ + "constant.other.color" + "punctuation" + "punctuation.section.class.end" + "meta.tag" + "punctuation.definition.tag" + "punctuation.separator.inheritance.php" + "punctuation.definition.tag.html" + "punctuation.definition.tag.begin.html" + "punctuation.definition.tag.end.html" + "keyword.other.template" + "keyword.other.substitution" + ]; + settings = { foreground = "#${base04-hex}"; }; + } + { + name = "Embedded"; + scope = [ "punctuation.section.embedded" "variable.interpolation" ]; + settings = { foreground = "#${base0C-hex}"; }; + } + { + name = "Tag"; + scope = + [ "entity.name.tag" "meta.tag.sgml" "markup.deleted.git_gutter" ]; + settings = { foreground = "#${base08-hex}"; }; + } + { + name = "Function, Special Method"; + scope = [ + "entity.name.function" + "meta.function-call" + "variable.function" + "support.function" + "keyword.other.special-method" + ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "Block Level Variables"; + scope = [ "meta.block variable.other" ]; + settings = { foreground = "#${base08-hex}"; }; + } + { + name = "Other Variable, String Link"; + scope = [ "support.other.variable" "string.other.link" ]; + settings = { foreground = "#${base08-hex}"; }; + } + { + name = "Number, Constant, Function Argument, Tag Attribute, Embedded"; + scope = [ + "constant.numeric" + "constant.language" + "support.constant" + "constant.character" + "constant.escape" + "keyword.other.unit" + "keyword.other" + ]; + settings = { foreground = "#${base09-hex}"; }; + } + { + name = "String, Symbols, Inherited Class, Markup Heading"; + scope = [ + "string" + "constant.other.symbol" + "constant.other.key" + "entity.other.inherited-class" + "markup.heading" + "markup.inserted.git_gutter" + "meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js" + ]; + settings = { + fontStyle = ""; + foreground = "#${base0B-hex}"; + }; + } + { + name = "Class, Support"; + scope = [ + "entity.name" + "support.type" + "support.class" + "support.other.namespace.use.php" + "meta.use.php" + "support.other.namespace.php" + "markup.changed.git_gutter" + "support.type.sys-types" + ]; + settings = { foreground = "#${base0A-hex}"; }; + } + { + name = "Storage Type, Import Class"; + scope = [ + "storage.type" + "storage.modifier.package" + "storage.modifier.import" + ]; + settings = { foreground = "#${base0A-hex}"; }; + } + { + name = "Fields"; + scope = [ "entity.name.variable.field" ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "Entity Types"; + scope = [ "support.type" ]; + settings = { foreground = "#${base0C-hex}"; }; + } + { + name = "CSS Class and Support"; + scope = [ + "source.css support.type.property-name" + "source.sass support.type.property-name" + "source.scss support.type.property-name" + "source.less support.type.property-name" + "source.stylus support.type.property-name" + "source.postcss support.type.property-name" + ]; + settings = { foreground = "#${base0C-hex}"; }; + } + { + name = "Sub-methods"; + scope = [ + "entity.name.module.js" + "variable.import.parameter.js" + "variable.other.class.js" + ]; + settings = { foreground = "#${base08-hex}"; }; + } + { + name = "Language methods"; + scope = [ "variable.language" ]; + settings = { + fontStyle = "italic"; + foreground = "#${base08-hex}"; + }; + } + { + name = "entity.name.method.js"; + scope = [ "entity.name.method.js" ]; + settings = { + fontStyle = "italic"; + foreground = "#${base0D-hex}"; + }; + } + { + name = "meta.method.js"; + scope = [ + "meta.class-method.js entity.name.function.js" + "variable.function.constructor" + ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "Attributes"; + scope = [ "entity.other.attribute-name" ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "HTML Attributes"; + scope = [ + "text.html.basic entity.other.attribute-name.html" + "text.html.basic entity.other.attribute-name" + ]; + settings = { + fontStyle = "italic"; + foreground = "#${base0A-hex}"; + }; + } + { + name = "CSS Classes"; + scope = [ "entity.other.attribute-name.class" ]; + settings = { foreground = "#${base0A-hex}"; }; + } + { + name = "CSS ID's"; + scope = [ "source.sass keyword.control" ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "Inserted"; + scope = [ "markup.inserted" ]; + settings = { foreground = "#${base0B-hex}"; }; + } + { + name = "Deleted"; + scope = [ "markup.deleted" ]; + settings = { foreground = "#${base08-hex}"; }; + } + { + name = "Changed"; + scope = [ "markup.changed" ]; + settings = { foreground = "#${base0E-hex}"; }; + } + { + name = "Regular Expressions"; + scope = [ "string.regexp" ]; + settings = { foreground = "#${base0C-hex}"; }; + } + { + name = "Escape Characters"; + scope = [ "constant.character.escape" ]; + settings = { foreground = "#${base0C-hex}"; }; + } + { + name = "URL"; + scope = [ "*url*" "*link*" "*uri*" ]; + settings = { fontStyle = "underline"; }; + } + { + name = "Decorators"; + scope = [ + "tag.decorator.js entity.name.tag.js" + "tag.decorator.js punctuation.definition.tag.js" + ]; + settings = { + fontStyle = "italic"; + foreground = "#${base0D-hex}"; + }; + } + { + name = "ES7 Bind Operator"; + scope = [ + "source.js constant.other.object.key.js string.unquoted.label.js" + ]; + settings = { + fontStyle = "italic"; + foreground = "#${base0E-hex}"; + }; + } + { + name = "JSON Key - Level 0"; + scope = [ + "source.json meta.structure.dictionary.json support.type.property-name.json" + ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "JSON Key - Level 1"; + scope = [ + "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json" + ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "JSON Key - Level 2"; + scope = [ + "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json" + ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "JSON Key - Level 3"; + scope = [ + "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json" + ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "JSON Key - Level 4"; + scope = [ + "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json" + ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "JSON Key - Level 5"; + scope = [ + "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json" + ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "JSON Key - Level 6"; + scope = [ + "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json" + ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "JSON Key - Level 7"; + scope = [ + "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json" + ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "JSON Key - Level 8"; + scope = [ + "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json" + ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "Markdown - Plain"; + scope = [ + "text.html.markdown" + "punctuation.definition.list_item.markdown" + ]; + settings = { foreground = "#${base05-hex}"; }; + } + { + name = "Markdown - Markup Raw Inline"; + scope = [ "text.html.markdown markup.inline.raw.markdown" ]; + settings = { foreground = "#${base0E-hex}"; }; + } + { + name = "Markdown - Markup Raw Inline Punctuation"; + scope = [ + "text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown" + ]; + settings = { foreground = "#${base0C-hex}"; }; + } + { + name = "Markdown - Line Break"; + scope = [ "text.html.markdown meta.dummy.line-break" ]; + settings = { foreground = "#${base03-hex}"; }; + } + { + name = "Markdown - Heading"; + scope = [ + "markdown.heading" + "markup.heading | markup.heading entity.name" + "markup.heading.markdown punctuation.definition.heading.markdown" + ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "Markup - Italic"; + scope = [ "markup.italic" ]; + settings = { + fontStyle = "italic"; + foreground = "#${base08-hex}"; + }; + } + { + name = "Markup - Bold"; + scope = [ "markup.bold" "markup.bold string" ]; + settings = { + fontStyle = "bold"; + foreground = "#${base08-hex}"; + }; + } + { + name = "Markup - Bold-Italic"; + scope = [ + "markup.bold markup.italic" + "markup.italic markup.bold" + "markup.quote markup.bold" + "markup.bold markup.italic string" + "markup.italic markup.bold string" + "markup.quote markup.bold string" + ]; + settings = { + fontStyle = "bold"; + foreground = "#${base08-hex}"; + }; + } + { + name = "Markup - Underline"; + scope = [ "markup.underline" ]; + settings = { + fontStyle = "underline"; + foreground = "#${base09-hex}"; + }; + } + { + name = "Markdown - Blockquote"; + scope = [ "markup.quote punctuation.definition.blockquote.markdown" ]; + settings = { foreground = "#${base0C-hex}"; }; + } + { + name = "Markup - Quote"; + scope = [ "markup.quote" ]; + settings = { fontStyle = "italic"; }; + } + { + name = "Markdown - Link"; + scope = [ "string.other.link.title.markdown" ]; + settings = { foreground = "#${base0D-hex}"; }; + } + { + name = "Markdown - Link Description"; + scope = [ "string.other.link.description.title.markdown" ]; + settings = { foreground = "#${base0E-hex}"; }; + } + { + name = "Markdown - Link Anchor"; + scope = [ "constant.other.reference.link.markdown" ]; + settings = { foreground = "#${base0A-hex}"; }; + } + { + name = "Markup - Raw Block"; + scope = [ "markup.raw.block" ]; + settings = { foreground = "#${base0E-hex}"; }; + } + { + name = "Markdown - Raw Block Fenced"; + scope = [ "markup.raw.block.fenced.markdown" ]; + settings = { foreground = "#00000050"; }; + } + { + name = "Markdown - Fenced Bode Block"; + scope = [ "punctuation.definition.fenced.markdown" ]; + settings = { foreground = "#00000050"; }; + } + { + name = "Markdown - Fenced Code Block Variable"; + scope = [ + "markup.raw.block.fenced.markdown" + "variable.language.fenced.markdown" + ]; + settings = { foreground = "#${base0E-hex}"; }; + } + { + name = "Markdown - Fenced Language"; + scope = [ "variable.language.fenced.markdown" ]; + settings = { foreground = "#${base08-hex}"; }; + } + { + name = "Markdown - Separator"; + scope = [ "meta.separator" ]; + settings = { + fontStyle = "bold"; + foreground = "#${base0C-hex}"; + }; + } + { + name = "Markup - Table"; + scope = [ "markup.table" ]; + settings = { foreground = "#${base0E-hex}"; }; + } + { + scope = "token.info-token"; + settings = { foreground = "#${base0D-hex}"; }; + } + { + scope = "token.warn-token"; + settings = { foreground = "#${base0A-hex}"; }; + } + { + scope = "token.error-token"; + settings = { foreground = "#${base08-hex}"; }; + } + { + scope = "token.debug-token"; + settings = { foreground = "#${base0E-hex}"; }; + } + ]; + type = "dark"; + }; + "package.json" = __toJSON { + name = "theme"; + displayName = "Generated theme"; + version = "0.0.0"; + publisher = "alukard"; + engines.vscode = "^1.22.0"; + contributes.themes = [{ + label = "Generated theme"; + uiTheme = "vs-dark"; + path = "./theme/generated.json"; + }]; + capabilities = { + untrustedWorkspaces.supported = true; + virtualWorkspaces = true; + }; + }; + }; +in with builtins; +linkFarm "alukard.theme" (attrValues (mapAttrs (name: value: { + name = "share/vscode/extensions/alukard.theme/${name}"; + path = toFile (baseNameOf name) value; +}) theme)) diff --git a/profiles/nix/default.nix b/profiles/nix/default.nix index c47440b..aa453c6 100644 --- a/profiles/nix/default.nix +++ b/profiles/nix/default.nix @@ -8,13 +8,6 @@ with config.deviceSpecific; { optimise.automatic = true; - # package = if !config.deviceSpecific.isServer then - # inputs.nix.defaultPackage.${pkgs.system}.overrideAttrs (oa: { - # patches = [ ./nix.patch ] ++ oa.patches or [ ]; - # }) - # else pkgs.nixFlakes; - package = pkgs.nixFlakes; - extraOptions = '' experimental-features = nix-command flakes ''; diff --git a/profiles/overlay.nix b/profiles/overlay.nix index 3d723be..d197651 100644 --- a/profiles/overlay.nix +++ b/profiles/overlay.nix @@ -30,7 +30,6 @@ with lib; { arkenfox-userjs = pkgs.callPackage ./packages/arkenfox-userjs.nix { arkenfox-repo = inputs.arkenfox-userjs; }; bibata-cursors-tokyonight = pkgs.callPackage ./packages/bibata-cursors-tokyonight.nix { }; ceserver = pkgs.callPackage ./packages/ceserver.nix { }; - # comma = inputs.comma.default; gamescope = custom.gamescope; hyprpaper = pkgs.callPackage ./packages/hyprpaper.nix { src = inputs.hyprpaper; }; ibm-plex-powerline = pkgs.callPackage ./packages/ibm-plex-powerline.nix { }; @@ -49,28 +48,23 @@ with lib; { xray-core = pkgs.callPackage ./packages/xray-core.nix { }; youtube-to-mpv = pkgs.callPackage ./packages/youtube-to-mpv.nix { term = config.defaultApplications.term.cmd; }; vivaldi = master.vivaldi; + waybar = super.waybar.overrideAttrs (old: { + mesonFlags = old.mesonFlags ++ [ + "-Dexperimental=true" + ]; + }); wine = super.wineWowPackages.staging; - # pass-secret-service = super.pass-secret-service.overrideAttrs (_: { - # installCheckPhase = null; - # setuptoolsCheckHook = null; - # postInstall = '' - # mkdir -p $out/share/{dbus-1/services,xdg-desktop-portal/portals} - # mkdir -p $out/lib/systemd/user/ - # cp systemd/org.freedesktop.secrets.service $out/share/dbus-1/services" - # cp systemd/dbus-org.freedesktop.secrets.service $out/lib/systemd/user/ - # cat > $out/share/xdg-desktop-portal/portals/pass-secret-service.portal << EOF - # [portal] - # DBusName=org.freedesktop.secrets - # Interfaces=org.freedesktop.impl.portal.Secrets - # UseIn=gnome - # EOF - # ''; - # }); - # flutter = custom.flutter; # qbittorrent = super.qbittorrent.overrideAttrs (old: rec { # version = "enchanced-edition"; # src = inputs.qbittorrent-ee; # }); + + nix = if !config.deviceSpecific.isServer then + inputs.nix.packages.${system}.default.overrideAttrs (oa: { + doInstallCheck = false; + patches = [ ./nix/nix.patch ] ++ oa.patches or [ ]; + }) + else pkgs.nixFlakes; } ) ]; diff --git a/profiles/workspace/git.nix b/profiles/workspace/git.nix index db188ca..d58b30b 100644 --- a/profiles/workspace/git.nix +++ b/profiles/workspace/git.nix @@ -2,7 +2,7 @@ home-manager.users.alukard = { programs.git = { enable = true; - userEmail = "alukard.develop@gmail.com"; + userEmail = "AlukardBF@users.noreply.github.com"; userName = "Dmitriy Kholkin"; signing = { signByDefault = true; @@ -17,9 +17,6 @@ defaultBranch = "master"; }; pull.rebase = true; - "url \"https://github.com/\"" = { - insteadOf = "git://github.com/"; - }; }; }; }; diff --git a/profiles/workspace/hyprland/default.nix b/profiles/workspace/hyprland/default.nix index eb85c2b..3f1e713 100644 --- a/profiles/workspace/hyprland/default.nix +++ b/profiles/workspace/hyprland/default.nix @@ -18,22 +18,47 @@ let ''; in with config.deviceSpecific; with lib; { imports = [ inputs.hyprland.nixosModules.default ]; + programs.hyprland.enable = true; programs.hyprland.package = null; - environment.loginShellInit = lib.mkAfter '' - [[ "$(tty)" == /dev/tty1 ]] && { - pass unlock - exec Hyprland 2> /tmp/hyprland.debug.log - } - ''; + environment.sessionVariables = { + NIX_OZONE_WL = "1"; + }; + xdg.portal = { + # extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; + wlr = { + enable = true; + settings = { + screencast = { + chooser_type = "dmenu"; + chooser_cmd = "${pkgs.wofi}/bin/wofi --show=dmenu"; + }; + }; + }; +}; home-manager.users.alukard = { - # home.packages = [ pkgs.hyprpaper ]; imports = [ inputs.hyprland.homeManagerModules.default ]; + + programs.zsh.loginExtra = let + initScript = pkgs.writeShellScriptBin "wrappedHypr" '' + export _JAVA_AWT_WM_NONREPARENTING=1 + export XCURSOR_SIZE=${toString thm.cursorSize} + # export XDG_CURRENT_DESKTOP=sway + + exec Hyprland 2> /tmp/hyprland.debug.log + ''; + in lib.mkAfter '' + [[ "$(tty)" == /dev/tty1 ]] && { + pass unlock + exec ${initScript}/bin/wrappedHypr + } + ''; + wayland.windowManager.hyprland = { enable = true; xwayland = true; @@ -43,39 +68,42 @@ in with config.deviceSpecific; with lib; { script = name: content: "${pkgs.writeScript name content}"; in concatStrings [ '' - - monitor=DP-1,2560x1440@59951,0x0,1 + ${if config.device == "AMD-Workstation" then '' + monitor=DP-1,2560x1440@59951,0x0,1 + '' else '' + monitor=,preffered,0x0,1 + ''} general { - sensitivity=1.0 + sensitivity=0.7 apply_sens_to_raw=false main_mod=${modifier} - border_size=3 + border_size=1 no_border_on_floating=false - gaps_in=5 - gaps_out=8 - # col.active_border=col # border color - # col.inactive_border=col # border color + gaps_in=6 + gaps_out=16 + col.active_border=0xAA${thm.base08-hex} # border color + col.inactive_border=0xAA${thm.base0A-hex} # border color # cursor_inactive_timeout=0 damage_tracking=full # layout=dwindle # Available: dwindle, master, default is dwindle # no_cursor_warps=true } decoration { - rounding=10 + rounding=8 multisample_edges=true - active_opacity=0.9 - inactive_opacity=0.7 - fullscreen_opacity=1 + active_opacity=0.92 + inactive_opacity=0.75 + fullscreen_opacity=1.0 blur=true blur_size=2 - blur_passes=2 - # blur_ignore_opacity=false + blur_passes=3 + blur_ignore_opacity=true drop_shadow=true - shadow_range=5 + shadow_range=12 # shadow_render_power=int # (1 - 4), in what power to render the falloff (more power, the faster the falloff) - shadow_ignore_window=false - # col.shadow=col # shadow color - # shadow_offset=vec2 + shadow_ignore_window=true + col.shadow=0xAA${thm.base08-hex} + shadow_offset=0 0 } animations { enabled=true @@ -88,7 +116,7 @@ in with config.deviceSpecific; with lib; { natural_scroll=false numlock_by_default=true force_no_accel=true - sensitivity=1.0 + sensitivity=1 touchpad { natural_scroll=true @@ -106,6 +134,10 @@ in with config.deviceSpecific; with lib; { no_vfr=${boolToString (!isLaptop)} mouse_move_enables_dpms=true } + dwindle { + col.group_border=0xCC${thm.base0A-hex} + col.group_border_active=0xAA${thm.base08-hex} + } '' '' bind=${modifier},q,killactive, bind=${modifier},f,fullscreen,0 @@ -118,8 +150,8 @@ in with config.deviceSpecific; with lib; { bind=${modifier}SHIFT,right,movewindow,r bind=${modifier}SHIFT,up,movewindow,u bind=${modifier}SHIFT,down,movewindow,d - bind=${modifier},f5,exit, - bind=${modifier}SHIFT,f5,forcerendererreload, + bind=${modifier},f5,forcerendererreload, + bind=${modifier}SHIFT,f5,exit, bind=${modifier},f11,exec,sleep 1 && hyprctl dispatch dpms off bind=${modifier},f12,exec,sleep 1 && hyprctl dispatch dpms on @@ -144,10 +176,10 @@ in with config.deviceSpecific; with lib; { bind=${modifier},d,exec,${apps.fm.cmd} bind=${modifier},y,exec,${pkgs.youtube-to-mpv}/bin/yt-mpv bind=${modifier}SHIFT,Y,exec,${pkgs.youtube-to-mpv}/bin/yt-mpv --no-video - bind=${modifier},print,exec,${pkgs.grim}/bin/grim $(xdg-user-dir PICTURES)/Screenshots/$(date +'%Y-%m-%d+%H:%M:%S').png && notify-send 'Screenshot Saved' - bind=${modifier}CTRL,print,exec,${pkgs.grim}/bin/grim - | ${pkgs.wl-clipboard}/bin/wl-copy && notify-send 'Screenshot Copied to Clipboard' - bind=${modifier}SHIFT,print,exec,${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" $(xdg-user-dir PICTURES)/Screenshots/$(date +'%Y-%m-%d+%H:%M:%S').png && notify-send 'Screenshot Saved' - bind=${modifier}CTRLSHIFT,print,exec,${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" - | ${pkgs.wl-clipboard}/bin/wl-copy && notify-send 'Screenshot Copied to Clipboard' + bind=${modifier},print,exec,${pkgs.grim}/bin/grim $(xdg-user-dir PICTURES)/Screenshots/$(date +'%Y-%m-%d+%H:%M:%S').png && ${pkgs.libnotify}/bin/notify-send 'Screenshot Saved' + bind=${modifier}CTRL,print,exec,${pkgs.grim}/bin/grim - | ${pkgs.wl-clipboard}/bin/wl-copy && ${pkgs.libnotify}/bin/notify-send 'Screenshot Copied to Clipboard' + bind=${modifier}SHIFT,print,exec,${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" $(xdg-user-dir PICTURES)/Screenshots/$(date +'%Y-%m-%d+%H:%M:%S').png && ${pkgs.libnotify}/bin/notify-send 'Screenshot Saved' + bind=${modifier}CTRLSHIFT,print,exec,${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" - | ${pkgs.wl-clipboard}/bin/wl-copy && ${pkgs.libnotify}/bin/notify-send 'Screenshot Copied to Clipboard' bind=,xf86audioplay,exec,${pkgs.mpris-ctl}/bin/mpris-ctl pp bind=,xf86audionext,exec,${pkgs.mpris-ctl}/bin/mpris-ctl next bind=,xf86audioprev,exec,${pkgs.mpris-ctl}/bin/mpris-ctl prev @@ -156,6 +188,10 @@ in with config.deviceSpecific; with lib; { bind=SHIFT,xf86audiolowervolume,exec,${pkgs.pamixer}/bin/pamixer -d 2 bind=SHIFT,xf86audioraisevolume,exec,${pkgs.pamixer}/bin/pamixer -i 2 bind=,xf86audiomute,exec,${pkgs.pamixer}/bin/pamixer -t + bind=${modifier},s,togglegroup, + bind=${modifier},x,togglesplit, + bind=${modifier},c,changegroupactive,b + bind=${modifier},v,changegroupactive,f bind=${modifier},1,workspace,1 bind=${modifier},2,workspace,2 @@ -167,8 +203,9 @@ in with config.deviceSpecific; with lib; { bind=${modifier},8,workspace,8 bind=${modifier},9,workspace,9 bind=${modifier},0,workspace,10 - bind=${modifier},c,workspace,name:Music + bind=${modifier},b,workspace,name:Music bind=${modifier},t,workspace,name:Messengers + bind=${modifier},Cyrillic_E,workspace,name:Messengers bind=${modifier}SHIFT,1,movetoworkspacesilent,1 bind=${modifier}SHIFT,2,movetoworkspacesilent,2 bind=${modifier}SHIFT,3,movetoworkspacesilent,3 @@ -179,8 +216,9 @@ in with config.deviceSpecific; with lib; { bind=${modifier}SHIFT,8,movetoworkspacesilent,8 bind=${modifier}SHIFT,9,movetoworkspacesilent,9 bind=${modifier}SHIFT,0,movetoworkspacesilent,10 - bind=${modifier}SHIFT,C,workspace,name:Music - bind=${modifier}SHIFT,T,workspace,name:Messengers + bind=${modifier}SHIFT,B,movetoworkspacesilent,name:Music + bind=${modifier}SHIFT,T,movetoworkspacesilent,name:Messengers + bind=${modifier}SHIFT,Cyrillic_E,movetoworkspacesilent,name:Messengers bind=ALT,1,movetoworkspacesilent,1 bind=ALT,2,movetoworkspacesilent,2 bind=ALT,3,movetoworkspacesilent,3 @@ -191,34 +229,46 @@ in with config.deviceSpecific; with lib; { bind=ALT,8,movetoworkspacesilent,8 bind=ALT,9,movetoworkspacesilent,9 bind=ALT,0,movetoworkspacesilent,10 - bind=ALT,c,workspace,name:Music - bind=ALT,t,workspace,name:Messengers - - bind=ALT,R,submap,resize # will switch to a submap called resize - submap=resize # will start a submap called "resize" - bind=,right,resizeactive,10 0 - bind=,left,resizeactive,-10 0 - bind=,up,resizeactive,0 -10 - bind=,down,resizeactive,0 10 - bind=SHIFT,right,resizeactive,40 0 - bind=SHIFT,left,resizeactive,-40 0 - bind=SHIFT,up,resizeactive,0 -40 - bind=SHIFT,down,resizeactive,0 40 - bind=SHIFT,return,submap,reset # use reset to go back to the global submap - submap=reset # will reset the submap + bind=ALT,b,movetoworkspacesilent,name:Music + bind=ALT,t,movetoworkspacesilent,name:Messengers + bind=ALT,Cyrillic_E,movetoworkspacesilent,name:Messengers + bind=${modifier}ALT,1,movetoworkspace,1 + bind=${modifier}ALT,2,movetoworkspace,2 + bind=${modifier}ALT,3,movetoworkspace,3 + bind=${modifier}ALT,4,movetoworkspace,4 + bind=${modifier}ALT,5,movetoworkspace,5 + bind=${modifier}ALT,6,movetoworkspace,6 + bind=${modifier}ALT,7,movetoworkspace,7 + bind=${modifier}ALT,8,movetoworkspace,8 + bind=${modifier}ALT,9,movetoworkspace,9 + bind=${modifier}ALT,0,movetoworkspace,10 + bind=${modifier}ALT,b,movetoworkspace,name:Music + bind=${modifier}ALT,t,movetoworkspace,name:Messengers + bind=${modifier}ALT,Cyrillic_E,movetoworkspace,name:Messengers '' # (concatMapStrings (title: "windowrule=float,title:" + title) [ # "Steam - News" ".* - Chat" "^Settings$" ".* - event started" ".* CD key" "^Steam - Self Updater$" # "^Screenshot Uploader$" "^Steam Guard - Computer Authorization Required$" "^Steam Keyboard$" # ]) '' - windowrule=workspace 10 silent,^Steam$ - windowrule=workspace name:Music silent,Spotify - windowrule=workspace name:Messengers silent,^Telegram - windowrule=opaque,^(Firefox.*) + windowrule=workspace 10 silent,Steam + windowrule=workspace name:Music silent,(^Spotify) + windowrule=opaque,(^Spotify) + windowrule=workspace name:Messengers silent,telegramdesktop + windowrule=opaque,firefox + + windowrule=float,Waydroid + windowrule=size 2400 1080,Waydroid + windowrule=center,Waydroid + windowrule=opaque,Waydroid + + windowrule=opaque,steam_app.* + windowrule=float,steam_app.* + + windowrule=opaque,virt-manager '' '' exec=${importGsettings} - exec-once=swayidle -w timeout 600 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' + # exec-once=swayidle -w timeout 600 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' exec-once=${pkgs.swaybg}/bin/swaybg -i ${/. + ../../../misc/wallpaper} -m fill '' (concatMapStrings (c: "exec-once=" + c + "\n") config.startupApplications) diff --git a/profiles/workspace/sway/default.nix b/profiles/workspace/sway/default.nix index e71dc5d..6fc380d 100644 --- a/profiles/workspace/sway/default.nix +++ b/profiles/workspace/sway/default.nix @@ -20,7 +20,7 @@ in { xdg.portal = { enable = true; - extraPortals = with pkgs; [ xdg-desktop-portal-wlr xdg-desktop-portal-gtk ]; + extraPortals = with pkgs; [ xdg-desktop-portal-wlr ]; # gtkUsePortal = true; }; diff --git a/profiles/workspace/waybar/default.nix b/profiles/workspace/waybar/default.nix new file mode 100644 index 0000000..0c9bd66 --- /dev/null +++ b/profiles/workspace/waybar/default.nix @@ -0,0 +1,128 @@ +{ config, lib, pkgs, ... }: { + home-manager.users.alukard.programs.waybar = { + enable = true; + settings = { + mainBar = { + layer = "top"; + position = "top"; + modules-left = [ "wlr/workspaces" ]; + modules-right = [ + "cpu" + "custom/separator" + "disk" + "custom/separator" + "clock" + "custom/separator" + "tray" + ]; + cpu = { + interval = 4; + format = "{usage}"; + }; + disk = { + interval = 60; + format = "{free}"; + path = "/"; + }; + clock = { + format = "{:%a, %d %b, %H:%M}"; + }; + "custom/separator" = { + format = "|"; + interval = "once"; + tooltip = false; + }; + "wlr/workspaces" = { + format = "{icon}"; + on-click = "activate"; + format-icons = { + "10" = "0"; + "Messengers" = "Msg"; + "Music" = "Mus"; + }; + }; + }; + }; + style = '' + * { + border: none; + border-radius: 0; + font-family: Roboto, Helvetica, Arial, sans-serif; + font-size: 13px; + min-height: 0; + } + + window#waybar { + background: alpha(@theme_bg_color, 0.8); + border-bottom: 3px solid alpha(@borders, 0.8); + color: white; + } + + tooltip { + background: rgba(43, 48, 59, 0.5); + border: 1px solid rgba(100, 114, 125, 0.5); + } + tooltip label { + color: white; + } + + #workspaces button { + padding: 0 5px; + background: transparent; + color: white; + border-bottom: 3px solid transparent; + } + + #workspaces button.focused { + background: #64727D; + border-bottom: 3px solid white; + } + + #workspaces button.active { + background: @theme_selected_bg_color; + } + + #mode, #clock, #battery { + padding: 0 10px; + } + + #mode { + background: #64727D; + border-bottom: 3px solid white; + } + + #clock { + background-color: #64727D; + } + + #battery { + background-color: #ffffff; + color: black; + } + + #battery.charging { + color: white; + background-color: #26A65B; + } + + @keyframes blink { + to { + background-color: #ffffff; + color: black; + } + } + + #battery.warning:not(.charging) { + background: #f53c3c; + color: white; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; + } + ''; + systemd.enable = true; + systemd.target = "hyprland-session.target"; + }; +} \ No newline at end of file diff --git a/profiles/workspace/zsh.nix b/profiles/workspace/zsh.nix index b5681e8..9783c4a 100644 --- a/profiles/workspace/zsh.nix +++ b/profiles/workspace/zsh.nix @@ -13,11 +13,11 @@ plugins = [ "git" "dirhistory" ]; }; plugins = [ - { - name = "zsh-nix-shell"; - file = "nix-shell.plugin.zsh"; - src = inputs.zsh-nix-shell; - } + # { + # name = "zsh-nix-shell"; + # file = "nix-shell.plugin.zsh"; + # src = inputs.zsh-nix-shell; + # } { name = "zsh-autosuggestions"; src = inputs.zsh-autosuggestions; @@ -47,13 +47,18 @@ "redd" = "systemctl --user stop gammastep.service &"; "show-packages" = "_ nix-store -q --references /run/current-system/sw"; "nsp" = "nix-shell --run zsh -p"; - "grep" = "${pkgs.ripgrep}/bin/rg"; + "nd" = "nix develop"; + "nb" = "nix build"; + "nr" = "nix run"; + "e" = "$EDITOR"; + "q" = "qalc"; + # "grep" = "${pkgs.ripgrep}/bin/rg"; "man" = "${pkgs.pinfo}/bin/pinfo"; - "l" = "${pkgs.exa}/bin/exa -lahgF@ --git --group-directories-first"; - "tree" = "${pkgs.exa}/bin/exa -T"; - "ltree" = "${pkgs.exa}/bin/exa -lhgFT@ --git"; - "atree" = "${pkgs.exa}/bin/exa -aT"; - "latree" = "${pkgs.exa}/bin/exa -lahgFT@ --git"; + "l" = "exa -lahgF@ --git --group-directories-first"; + "tree" = "exa -T"; + "ltree" = "exa -lhgFT@ --git"; + "atree" = "exa -aT"; + "latree" = "exa -lahgFT@ --git"; # "gif2webm" = "(){ ${pkgs.ffmpeg.bin}/bin/ffmpeg -i $1 -c:v libvpx-vp9 -crf 20 -b:v 0 $1.webm ;}"; "hpc" = "bluetoothctl connect D8:37:3B:60:5D:55"; "hpd" = "bluetoothctl disconnect D8:37:3B:60:5D:55"; diff --git a/roles/desktop.nix b/roles/desktop.nix index 6a111be..731b470 100644 --- a/roles/desktop.nix +++ b/roles/desktop.nix @@ -30,7 +30,7 @@ spotify steam syncthing - vivaldi + # vivaldi vscode waydroid @@ -44,11 +44,11 @@ light mako nix-index - # picom print-scan proxy - sway + # sway hyprland + waybar vscode-server ]; diff --git a/scripts/vscode_update_extensions.sh b/scripts/vscode_update_extensions.sh index 3fd53bc..6fff745 100755 --- a/scripts/vscode_update_extensions.sh +++ b/scripts/vscode_update_extensions.sh @@ -4,7 +4,7 @@ set -eu -o pipefail # can be added to your configuration with the following command and snippet: -# $ ./pkgs/misc/vscode-extensions/update_installed_exts.sh > extensions.nix +# $ ./pkgs/applications/editors/vscode/extensions/update_installed_exts.sh > extensions.nix # # packages = with pkgs; # (vscode-with-extensions.override { @@ -40,7 +40,7 @@ function get_vsixpkg() { URL="https://$1.gallery.vsassets.io/_apis/public/gallery/publisher/$1/extension/$2/latest/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage" # Quietly but delicately curl down the file, blowing up at the first sign of trouble. - curl --silent --show-error --fail -X GET -o "$EXTTMP/$N.zip" "$URL" + curl --silent --show-error --retry 3 --fail -X GET -o "$EXTTMP/$N.zip" "$URL" # Unpack the file we need to stdout then pull out the version VER=$(jq -r '.version' <(unzip -qc "$EXTTMP/$N.zip" "extension/package.json")) # Calculate the SHA @@ -76,7 +76,7 @@ fi trap clean_up SIGINT # Begin the printing of the nix expression that will house the list of extensions. -printf '[\n' +printf '{ extensions = [\n' # Note that we are only looking to update extensions that are already installed. for i in $($CODE --list-extensions) @@ -87,4 +87,4 @@ do get_vsixpkg "$OWNER" "$EXT" done # Close off the nix expression. -printf ']\n' +printf '];\n}'