diff --git a/.helix/languages.toml b/.helix/languages.toml index 29fc7109..5dd999ea 100644 --- a/.helix/languages.toml +++ b/.helix/languages.toml @@ -1,11 +1,6 @@ -[language-server.nixd] -command = "nixd" -# args = ["--log=debug"] -[language-server.nixd.config.nixd] -nixpkgs = { expr = "import (builtins.getFlake (builtins.toString ./.)).inputs.nixpkgs { }" } -options = { nixos = { expr = "(builtins.getFlake (builtins.toString ./.)).colmenaHive.nodes.theseus.options" }}#, home-manager = { expr = "(builtins.getFlake (builtins.toString ./.)).colmenaHive.nodes.theseus.options.home-manager.users.type.getSubOptions []" } } - +[language-server.nil] +command = "nil" [[language]] name = "nix" formatter = {command = "nixfmt"} -language-servers = [ "nixd" ] +language-servers = [ "nil" ] diff --git a/flake.lock b/flake.lock index 205a4e41..7a14a408 100644 --- a/flake.lock +++ b/flake.lock @@ -16,11 +16,11 @@ "uv2nix": "uv2nix" }, "locked": { - "lastModified": 1761726959, - "narHash": "sha256-SGndrZx7I0z4vITH1Arf60OTSfkQVMZRTcRgtPIBVtg=", + "lastModified": 1759322529, + "narHash": "sha256-yiv/g/tiJI3PI95F7vhTnaf1TDsIkFLrmmFTjWfb6pQ=", "owner": "nix-community", "repo": "authentik-nix", - "rev": "ea1e06f9fe7cbf59c61b2ec4f2979801ff395d8e", + "rev": "69fac057b2e553ee17c9a09b822d735823d65a6c", "type": "github" }, "original": { @@ -138,11 +138,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1760948891, - "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", + "lastModified": 1756770412, + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", + "rev": "4524271976b625a4a605beefd893f270620fd751", "type": "github" }, "original": { @@ -277,11 +277,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1761920229, - "narHash": "sha256-KeTcNpj5UloRTq8fO43NKEFf9a7dpETQq9ynCSgUoxM=", + "lastModified": 1761141169, + "narHash": "sha256-5IZjbTvP5dNTD8CbEYlNbicdGcbCN9SC9ksMm2ZEXH0=", "owner": "helix-editor", "repo": "helix", - "rev": "5a92474bf0453715e3139eccaaccf3264bfb2001", + "rev": "d79cce4e4bfc24dd204f1b294c899ed73f7e9453", "type": "github" }, "original": { @@ -297,11 +297,11 @@ ] }, "locked": { - "lastModified": 1761878381, - "narHash": "sha256-lCRaipHgszaFZ1Cs8fdGJguVycCisBAf2HEFgip5+xU=", + "lastModified": 1761191301, + "narHash": "sha256-xsRL2Oyb4YRZZ1Tu4WzR2uFg1n931bH+PfLdFcqtLg8=", "owner": "nix-community", "repo": "home-manager", - "rev": "4ac96eb21c101a3e5b77ba105febc5641a8959aa", + "rev": "4958aafe7b237dc1e857fb0c916efff72075048f", "type": "github" }, "original": { @@ -378,9 +378,7 @@ "nixpkgs" ], "pre-commit-hooks-nix": "pre-commit-hooks-nix", - "rust-overlay": [ - "rust-overlay" - ] + "rust-overlay": "rust-overlay_2" }, "locked": { "lastModified": 1737639419, @@ -400,11 +398,11 @@ "mobile-nixos": { "flake": false, "locked": { - "lastModified": 1761853569, - "narHash": "sha256-miiMKVgC2WVi4ItD8rWD0ngou5WicEDAuZGhI0TfEIw=", + "lastModified": 1759261417, + "narHash": "sha256-TjuoBb8+isL3KTdGgtYh90XPyeUMFbgNAOG9l23CB3A=", "owner": "mobile-nixos", "repo": "mobile-nixos", - "rev": "1e38d4027bbb944f2af1b3241eabd9ad9c950c84", + "rev": "e6f6d527bf6abf94dd52fbba3143a720cef96431", "type": "github" }, "original": { @@ -476,14 +474,14 @@ "nixpkgs": [ "nixpkgs-master" ], - "rust-overlay": "rust-overlay_2" + "rust-overlay": "rust-overlay_3" }, "locked": { - "lastModified": 1761888958, - "narHash": "sha256-YgArUHI81Esn6fOCwVSrMI2G4RI3f3BPbRbPWsJubAc=", + "lastModified": 1760940149, + "narHash": "sha256-KbM47vD6E0cx+v4jYQZ8mD5N186AKm2CQlyh34TW58U=", "owner": "YaLTeR", "repo": "niri", - "rev": "e2576879216a39e5c45b9d2906531bc2065e724c", + "rev": "b3245b81a6ed8edfaf5388a74d2e0a23c24941e5", "type": "github" }, "original": { @@ -497,7 +495,7 @@ "nixpkgs": [ "nixpkgs" ], - "rust-overlay": "rust-overlay_3" + "rust-overlay": "rust-overlay_4" }, "locked": { "lastModified": 1760113386, @@ -520,11 +518,11 @@ ] }, "locked": { - "lastModified": 1761451000, - "narHash": "sha256-qBJL6xEIjqYq9zOcG2vf2nPTeVBppNJzvO0LuQWMwMo=", + "lastModified": 1760846226, + "narHash": "sha256-xmU8kAsRprJiTGBTaGrwmjBP3AMA9ltlrxHKFuy5JWc=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "ed6b293161b378a7368cda38659eb8d3d9a0dac4", + "rev": "5024e1901239a76b7bf94a4cd27f3507e639d49e", "type": "github" }, "original": { @@ -535,11 +533,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1761933221, - "narHash": "sha256-rNHeoG3ZrA94jczyLSjxCtu67YYPYIlXXr0uhG3wNxM=", + "lastModified": 1760958188, + "narHash": "sha256-2m1S4jl+GEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "7467f155fcba189eb088a7601f44fbef7688669b", + "rev": "d6645c340ef7d821602fd2cd199e8d1eed10afbc", "type": "github" }, "original": { @@ -551,11 +549,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1761907660, - "narHash": "sha256-kJ8lIZsiPOmbkJypG+B5sReDXSD1KGu2VEPNqhRa/ew=", + "lastModified": 1761114652, + "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15", + "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", "type": "github" }, "original": { @@ -582,11 +580,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1762001846, - "narHash": "sha256-3lzK9u1Q/suUswwNSSfQbpY2dcmlVZw0AB4GWFDrxoc=", + "lastModified": 1761228883, + "narHash": "sha256-8jKkT4Yc8I/PnDczaD9diDcJkckwP7WAstQcYbMSo4s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1cda940125aa2b345c46a5be46bc0c598f87745f", + "rev": "0cfbb4d10f6e813e6e9750fbf5396747cf3b6212", "type": "github" }, "original": { @@ -655,11 +653,11 @@ ] }, "locked": { - "lastModified": 1759113590, - "narHash": "sha256-fgxP2RCN4cg0jYiMYoETYc7TZ2JjgyvJa2y9l8oSUFE=", + "lastModified": 1757296493, + "narHash": "sha256-6nzSZl28IwH2Vx8YSmd3t6TREHpDbKlDPK+dq1LKIZQ=", "owner": "pyproject-nix", "repo": "build-system-pkgs", - "rev": "dbfc0483b5952c6b86e36f8b3afeb9dde30ea4b5", + "rev": "5b8e37fe0077db5c1df3a5ee90a651345f085d38", "type": "github" }, "original": { @@ -676,11 +674,11 @@ ] }, "locked": { - "lastModified": 1760402624, - "narHash": "sha256-jF6UKLs2uGc2rtved8Vrt58oTWjTQoAssuYs/0578Z4=", + "lastModified": 1757246327, + "narHash": "sha256-6pNlGhwOIMfhe/RLjHdpXveKS4FyLHvlGe+KtjDild4=", "owner": "pyproject-nix", "repo": "pyproject.nix", - "rev": "84c4ea102127c77058ea1ed7be7300261fafc7d2", + "rev": "8d77f342d66ad1601cdb9d97e9388b69f64d4c8e", "type": "github" }, "original": { @@ -707,7 +705,6 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixpkgs-master": "nixpkgs-master", - "rust-overlay": "rust-overlay_4", "sops-nix": "sops-nix", "terranix": "terranix", "xwayland-satellite": "xwayland-satellite", @@ -736,6 +733,27 @@ } }, "rust-overlay_2": { + "inputs": { + "nixpkgs": [ + "lanzaboote", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1731897198, + "narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "0be641045af6d8666c11c2c40e45ffc9667839b5", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_3": { "inputs": { "nixpkgs": [ "niri", @@ -756,7 +774,7 @@ "type": "github" } }, - "rust-overlay_3": { + "rust-overlay_4": { "inputs": { "nixpkgs": [ "nix-ci", @@ -777,26 +795,6 @@ "type": "github" } }, - "rust-overlay_4": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1761964689, - "narHash": "sha256-Zo3LQQDz+64EQ9zor/WmeNTFLoZkjmhp0UY3G0D3seE=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "63d22578600f70d293aede6bc737efef60ebd97f", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "rust-overlay_5": { "inputs": { "nixpkgs": [ @@ -933,11 +931,11 @@ ] }, "locked": { - "lastModified": 1761101082, - "narHash": "sha256-4Kt3RsfJgg6HzmDCc44ZN//xB8n7KGEGxxt9dNjqPQc=", + "lastModified": 1757925761, + "narHash": "sha256-7Hwz0vfHuFqCo5v7Q07GQgLBWuPvZCuf/5/pk4NoADg=", "owner": "pyproject-nix", "repo": "uv2nix", - "rev": "e6e728d9719e989c93e65145fe3f9e0c65a021a2", + "rev": "780494c40895bb7419a73d942bee326291e80b3b", "type": "github" }, "original": { @@ -955,11 +953,11 @@ "rust-overlay": "rust-overlay_5" }, "locked": { - "lastModified": 1761622056, - "narHash": "sha256-fBrUszJXmB4MY+wf3QsCnqWHcz7u7fLq0QMAWCltIQg=", + "lastModified": 1761173223, + "narHash": "sha256-FumZh+fPRaKXkl9Y1uTh5KV7Io/AyOZso+UkqLhLArs=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "0728d59ff6463a502e001fb090f6eb92dbc04756", + "rev": "bf745144acda1343934e9a094cf9458a54d57889", "type": "github" }, "original": { @@ -976,11 +974,11 @@ ] }, "locked": { - "lastModified": 1761970869, - "narHash": "sha256-dlcxJTY+MwR9u3yTkBkzqfHY2+MKonDS7UzoOLlGpuw=", + "lastModified": 1761180075, + "narHash": "sha256-V4WLeUQ4gCGZiVihlXWBOZ/1FNcL0jM4zgTY1haJLvY=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "5855db6427f25672d7f02e19af418a38fe82e26e", + "rev": "771a2604606905d8c0ffe3b818dc2cc5bd1405d8", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 6e9f09ca..3f8f6c0a 100644 --- a/flake.nix +++ b/flake.nix @@ -16,16 +16,11 @@ colmena.inputs.nixpkgs.follows = "nixpkgs"; # software - rust-overlay = { # https://github.com/nix-community/lanzaboote/issues/485#issuecomment-3466684727 - url = "github:oxalica/rust-overlay"; - inputs.nixpkgs.follows = "nixpkgs"; - }; lanzaboote = { url = "github:nix-community/lanzaboote/v0.4.2"; # Optional but recommended to limit the size of your system closure. inputs.nixpkgs.follows = "nixpkgs"; - inputs.rust-overlay.follows = "rust-overlay"; }; zen-browser.url = "github:0xc000022070/zen-browser-flake"; @@ -118,19 +113,11 @@ importConfigs = n: map (x: { - ${x} = - { nodes, pkgs, ... }: - { - nixpkgs.overlays = overlays; - nix.package = pkgs.unstable.lixPackageSets.latest.lix; - networking.hostName = x; - imports = modules ++ [ (./instances/${x}) ]; - _module.args.otherNodes = lib.filterAttrs (n: v: n != x) nodes; - deployment.privilegeEscalationCommand = [ - "run0" - "--unit=colmena-apply" - ]; - }; + ${x} = {nodes, ...}: { + networking.hostName = x; + imports = modules ++ [ (./instances/${x}) ]; + _module.args.otherNodes = lib.filterAttrs (n: v: n != x) nodes; + }; }) n; in lib.foldl' lib.recursiveUpdate { } ( @@ -143,6 +130,10 @@ specialArgs = { inherit inputs; }; nixpkgs = genPkgs "x86_64-linux"; }; + deployment.privilegeEscalationCommand = [ + "run0" + "--unit=colmena-apply" + ]; } (importConfigs [ "ds9" @@ -187,7 +178,6 @@ devShells.${system}.default = pkgs.mkShell { packages = [ pkgs.nixfmt-rfc-style - pkgs.nixd pkgs.nil pkgs.sops (pkgs.runCommand "nix-config-bin" { } '' diff --git a/hm-modules/firefox.nix b/hm-modules/firefox.nix index 6fc04d5b..a930af34 100644 --- a/hm-modules/firefox.nix +++ b/hm-modules/firefox.nix @@ -362,7 +362,7 @@ in "user-filters" = ''marketplace.visualstudio.com##+js(rpnt, script, /"(DisableVSCodeDownloadButtonEnabled|Microsoft\\.VisualStudio\\.Services\\.Gallery\\.DisableVSCodeDownloadButton)":true/, "$1":false)''; "hostnameSwitchesString" = - "no-large-media: behind-the-scene false\nno-remote-fonts: * false\nno-csp-reports: * true"; + "no-large-media: behind-the-scene false\nno-remote-fonts: * true\nno-csp-reports: * true"; }; }; diff --git a/hm-modules/git.nix b/hm-modules/git.nix index 41076a40..bf999b94 100644 --- a/hm-modules/git.nix +++ b/hm-modules/git.nix @@ -9,14 +9,13 @@ in { options.xyno.git.enable = lib.mkEnableOption "xynos git config"; config = lib.mkIf cfg.enable { - programs.difftastic.git.enable = true; - programs.difftastic.enable = true; programs.git = { enable = true; + difftastic.enable = true; lfs.enable = true; # Default configs - settings = { + extraConfig = { commit.gpgSign = true; gpg.format = "ssh"; diff --git a/hm-modules/helix.nix b/hm-modules/helix.nix index 13a3ca50..a123f96a 100644 --- a/hm-modules/helix.nix +++ b/hm-modules/helix.nix @@ -22,21 +22,20 @@ in # nodePackages_latest.prettier dprint markdown-oxide - # codebook + codebook ## python # ruff-lsp # nodePackages_latest.pyright # inputs.csharp-language-server.packages.${pkgs.system}.csharp-language-server ] ++ (optionals cfg.withLargeLSPs [ + netcoredbg nodePackages_latest.typescript-language-server nodePackages_latest.vscode-langservers-extracted typescript # jsonnet-language-server # jsonnet lazygit - ltex-ls-plus # languagetool - tinymist # typst lsp ]); programs.helix = { @@ -108,7 +107,8 @@ in keys = { normal = { space."=" = ":fmt"; - "C-g" = ":sh tmux popup -d \"#{pane_current_path}\" -xC -yC -w80%% -h80%% -E lazygit"; + "C-g" = + ":sh tmux popup -d \"#{pane_current_path}\" -xC -yC -w80%% -h80%% -E lazygit"; "C-t" = ":sh tmux split-window -v -l '35%%'"; "C-h" = ":sh tmux select-pane -t '{left-of}'"; "C-l" = ":sh tmux select-pane -t '{right-of}'"; @@ -143,143 +143,55 @@ in language-server.csharp = { command = "csharp-language-server"; }; - language-server.ltex = { - command = "ltex-ls-plus"; - config = { - additionalRules.motherTongue = "de-DE"; - additionalRules.enablePickyRules = true; - language = [ - "en-US" - "de-DE" - ]; - }; + language-server.codebook = { + command = "codebook-lsp"; + args = ["serve"]; }; - language-server.tinymist = { - command = "tinymist"; - }; - # language-server.nil = { - # command = "nil"; - # config.nil.nix = { - # maxMemoryMB = 5120; - # flake = { - # autoEvalInputs = true; - # autoArchive = true; - # }; - # }; - # }; - language = - let - applySingleConfig = - languages: config: - let - applied = - foldl' - ( - acc: l: - if (any (x: l.name == x) config.languages) then - { - done = acc.done ++ [ - (mkMerge [ - l - config.conf - ]) - ]; - notFound = filter (x: x != l.name) acc.notFound; - } - else - { - done = acc.done ++ [ l ]; - notFound = acc.notFound; - } - ) - { - done = [ ]; - notFound = config.languages; - } - languages; - in - applied.done ++ (map (x: { name = x; } // config.conf) applied.notFound); - applyConfs = lspConfs: languages: foldl' applySingleConfig languages lspConfs; - in - applyConfs + language = flatten [ + (map + (x: { + name = x; + language-servers = [ + "typescript-language-server" + "eslint" + ]; + #formatter = { command = "dprint"; args = [ "fmt" "--stdin" x ]; }; + # formatter = { command = "prettier"; args = [ "--parser" "typescript" ]; }; + }) [ - { - languages = [ - "typescript" - "javascript" - "jsx" - "tsx" - ]; - conf = { - language-servers = [ - "typescript-language-server" - "eslint" - ]; - }; - } - { - languages = [ - "markdown" - "typst" - "bibtex" - "comment" - "latex" - "html" - ]; - conf = { - language-servers = [ - "ltex" - ]; - }; - } + "typescript" + "javascript" + "jsx" + "tsx" ] - [ - { - name = "__common__"; - scope = "source.__common__"; - file-types = [ ]; - language-servers = [ - "ltex" - ]; - } - # { - # name = "nix"; - # language-servers = [ - # "nixd" - # ]; - # formatter = { - # command = "nixpkgs-fmt"; - # }; - # } - { - name = "python"; - language-servers = [ - "pyright" - "ruff" - ]; - } - { - name = "markdown"; - language-servers = [ - "markdown-oxide" - ]; - } - { - name = "typst"; - language-servers = [ - "tinymist" - ]; - } - { - name = "c-sharp"; - language-servers = [ "csharp" ]; - formatter = { - command = "dotnet"; - args = [ "csharpier" ]; - }; - - } + ) + { + name = "nix"; + formatter = { + command = "nixpkgs-fmt"; + }; + } + { + name = "python"; + language-servers = [ + "pyright" + "ruff" ]; + } + { + name = "markdown"; + language-servers = ["codebook"]; + } + { + name = "c-sharp"; + language-servers = [ "csharp" ]; + formatter = { + command = "dotnet"; + args = [ "csharpier" ]; + }; + + } + ]; }; }; }; diff --git a/instances/theseus/configuration.nix b/instances/theseus/configuration.nix index 56a9d837..96d46ee9 100644 --- a/instances/theseus/configuration.nix +++ b/instances/theseus/configuration.nix @@ -48,7 +48,7 @@ in pandoc tectonic rquickshare - unstable.supersonic-wayland + supersonic-wayland nheko anki-bin gimp3 diff --git a/modules/desktop/fcitx5.nix b/modules/desktop/fcitx5.nix new file mode 100644 index 00000000..b57073f8 --- /dev/null +++ b/modules/desktop/fcitx5.nix @@ -0,0 +1,27 @@ +{ + pkgs, + config, + lib, + ... +}: +let + cfg = config.xyno.desktop.fcitx5; +in +{ + options.xyno.desktop.fcitx5.enable = lib.mkEnableOption "enable fcitx5 input daemon thing"; + config = lib.mkIf cfg.enable { + i18n.inputMethod = { + type = "fcitx5"; + enable = true; + fcitx5.addons = with pkgs; [ + fcitx5-table-other + ]; + fcitx5.waylandFrontend = true; + fcitx5.quickPhrase = { + ":pleading:" = "🥺"; + ":pointing_right:" = "👉"; + ":pointing_left:" = "👈"; + }; + }; + }; +} diff --git a/modules/desktop/ibus.nix b/modules/desktop/ibus.nix deleted file mode 100644 index c9e6beff..00000000 --- a/modules/desktop/ibus.nix +++ /dev/null @@ -1,81 +0,0 @@ -{ - pkgs, - config, - lib, - ... -}: -with lib; -let - cfg = config.xyno.desktop.ibus; -in -{ - options.xyno.desktop.ibus.enable = mkEnableOption "enable ibus input daemon thing"; - options.xyno.desktop.ibus.wantedBy = mkOption { - type = types.str; - default = "niri.service"; - }; - config = mkIf cfg.enable { - services.libinput.enable = true; - - # just... enable ibus as input method and maybe now we have consistent unicode input everywhere - # fuck qt tbh - i18n.inputMethod = { - enable = true; - package = pkgs.ibus-patched; - # ibus.engines = with pkgs.ibus-engines; [ uniemoji ]; - }; - # home-manager.sharedModules = [ - # ( - # { lib, ... }: - # { - # dconf.settings = { - # "org/gnome/desktop/input-sources" = { - # sources = [ - # (lib.hm.gvariant.mkTuple [ - # "xkb" - # "us" - # ]) - # (lib.hm.gvariant.mkTuple [ - # "ibus" - # "libpinyin" - # ]) - # (lib.hm.gvariant.mkTuple [ - # "ibus" - # "mozc-jp" - # ]) - # ]; - # }; - # }; - # } - # ) - # ]; - - systemd.user.services."org.freedesktop.IBus.session.generic".wantedBy = [ cfg.wantedBy ]; - systemd.packages = [ pkgs.ibus-patched ]; - # systemd.user.services.ibus = - # let - # ibusPackage = config.i18n.inputMethod.package; - # in - # assert hasPrefix "ibus-with-plugins" ibusPackage.name; - # { - # # panel is weird... - # # default is ${ibusPackage}/libexec/ibus-ui-gtk3 which works but sends a notification that it's misconfigured - # # wayland support can be enabled with --enable-wayland-im but that segfaults (possible due to zwp_input_method_v1 not being available?) - # script = '' - # exec ${ibusPackage}/bin/ibus-daemon --xim --replace --panel '${ibusPackage}/libexec/ibus-ui-gtk3' - # ''; - # serviceConfig = { - # Type = "dbus"; - # BusName = "org.freedesktop.IBus"; - # Restart = "on-abnormal"; - # }; - # unitConfig = { - # CollectMode = "inactive-or-failed"; - # }; - # # yeah we hardcoding this now, fuck it - # wantedBy = [ cfg.wantedBy ]; - # partOf = [ "graphical-session.target" ]; - # }; - - }; -} diff --git a/modules/desktop/niri.nix b/modules/desktop/niri.nix index 64bdf838..f93e1d31 100644 --- a/modules/desktop/niri.nix +++ b/modules/desktop/niri.nix @@ -14,8 +14,6 @@ let "KeePassXC" "org.gnome.NautilusPreviewer" "io.github.Qalculate.qalculate-qt" - "ibus-ui-emojier" - "ibus-ui-gtk3" ]; matchFloat = concatStringsSep "\n" ( map (x: '' @@ -54,22 +52,20 @@ in value = 1; } ]; - home-manager.sharedModules = [ - ( - { ... }: - { - xyno.dark-theme.enable = true; - # home.file.".config/xdg-desktop-portal-termfilechooser/config".text = '' - # [filechooser] - # cmd=${pkgs.xdg-desktop-portal-termfilechooser}/share/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh - # default_dir=$HOME - # env=TERMCMD=footclient --app-id floating-alacritty - # open_mode = suggested - # save_mode = suggested - # ''; - } - ) - ]; + home-manager.users.${config.xyno.system.user.name} = mkIf config.xyno.presets.home-manager.enable ( + { ... }: + { + xyno.dark-theme.enable = true; + # home.file.".config/xdg-desktop-portal-termfilechooser/config".text = '' + # [filechooser] + # cmd=${pkgs.xdg-desktop-portal-termfilechooser}/share/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh + # default_dir=$HOME + # env=TERMCMD=footclient --app-id floating-alacritty + # open_mode = suggested + # save_mode = suggested + # ''; + } + ); xdg.portal = { extraPortals = [ @@ -92,16 +88,7 @@ in environment.systemPackages = with pkgs; [ playerctl xwayland-satellite - nirius ]; - systemd.user.services.niriusd = { - unitConfig.PartOf = "graphical-session.target"; - unitConfig.After = "graphical-session.target"; - unitConfig.Requisite = "graphical-session.target"; - serviceConfig.Restart = "on-failure"; - wantedBy = [ "niri.service" ]; - script = "exec ${pkgs.nirius}/bin/niriusd"; - }; programs.niri.enable = true; environment.etc."niri/config.kdl".mode = "444"; # copy file so niri detects changes environment.etc."niri/config.kdl".text = '' @@ -123,9 +110,6 @@ in Mod+Shift+N { spawn "makoctl" "dismiss" "-a"; } Mod+N { spawn "makoctl" "dismiss"; } Mod+E { spawn "makoctl" "menu" "fuzzel -d"; } - Mod+G { spawn "nirius" "toggle-follow-mode"; } - Mod+Shift+bracketleft { spawn "nirius" "scratchpad-show"; } - Mod+Shift+bracketright { spawn "nirius" "scratchpad-toggle"; } XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.03+"; } XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.03-"; } XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } diff --git a/modules/module-list.nix b/modules/module-list.nix index 3351eefb..65fff1c0 100644 --- a/modules/module-list.nix +++ b/modules/module-list.nix @@ -5,9 +5,9 @@ ./desktop/audio.nix ./desktop/common-programs.nix ./desktop/easyeffects.nix + ./desktop/fcitx5.nix ./desktop/foot.nix ./desktop/fuzzel.nix - ./desktop/ibus.nix ./desktop/mako.nix ./desktop/niri.nix ./desktop/shikane.nix @@ -21,8 +21,8 @@ ./presets/common.nix ./presets/development.nix ./presets/gui.nix - ./presets/home-manager.nix ./presets/server.nix + ./presets/home-manager.nix ./services/authentik ./services/caddy ./services/monitoring.nix @@ -30,8 +30,8 @@ ./system/impermanence.nix ./system/meta.nix ./system/user.nix - ./to-upstream/fido2-hid-bridge.nix ./user-services/khal.nix ./user-services/syncthing.nix + ./to-upstream/fido2-hid-bridge.nix ] diff --git a/modules/presets/cli.nix b/modules/presets/cli.nix index 2b51fd1a..408cfc02 100644 --- a/modules/presets/cli.nix +++ b/modules/presets/cli.nix @@ -130,7 +130,7 @@ in imagemagick jq lm_sensors - moor + moar neofetch nix-output-monitor poppler @@ -145,7 +145,7 @@ in programs.mosh.enable = true; environment.variables.EDITOR = "hx"; environment.variables.VISUAL = "hx"; - environment.variables.PAGER = "moor"; + environment.variables.PAGER = "moar"; environment.shellAliases = { l = "ls -alh"; @@ -161,7 +161,7 @@ in p = "cd ~/proj"; ytl = ''yt-dlp -f "bv*+mergeall[vcodec=none]" --audio-multistreams''; sudo = "run0"; - less = "moor"; + less = "moar"; }; }; } diff --git a/modules/presets/gui.nix b/modules/presets/gui.nix index 6aa8b62e..81680433 100644 --- a/modules/presets/gui.nix +++ b/modules/presets/gui.nix @@ -21,7 +21,6 @@ in pkgs.yubikey-personalization ]; xyno.desktop.niri.enable = true; - xyno.desktop.ibus.enable = true; xyno.desktop.audio.enable = mkDefault true; xyno.user-services.khal.enable = true; boot.kernelPackages = mkDefault pkgs.linuxPackages_zen; @@ -42,8 +41,8 @@ in qt = { enable = true; style = "breeze"; + # platformTheme = "gnome"; }; - environment.variables.QT_STYLE_OVERRIDE = lib.mkForce "breeze-dark"; programs.yazi = { settings.keymap.mgr.prepend_keymap = [ @@ -71,31 +70,11 @@ in # enable the gnome shit services.gnome.gnome-keyring.enable = true; services.gnome.gnome-online-accounts.enable = true; - environment.systemPackages = with pkgs;[ - gnome-calendar - gnome-clocks - gnome-font-viewer - mate.engrampa - papirus-folders - kdePackages.gwenview - kdePackages.skanlite - kdePackages.okular - kdePackages.breeze-gtk - kdePackages.breeze.qt5 - kdePackages.breeze - kdePackages.breeze-icons - nautilus # for xdg portal - ]; + services.gnome.core-apps.enable = true; services.gnome.gcr-ssh-agent.enable = mkForce false; - # services.gnome.sushi.enable = true; + services.gnome.sushi.enable = true; services.gnome.gnome-settings-daemon.enable = true; - - programs.thunar = { - enable = true; - plugins = with pkgs.xfce; [ thunar-archive-plugin thunar-volman ]; - }; - services.tumbler.enable = true; # thunar image preview - services.gvfs.enable = true; # thunar network device mount + services.gvfs.enable = true; xdg.terminal-exec = { enable = true; @@ -131,6 +110,12 @@ in # }; }; + environment.systemPackages = with pkgs; [ + kdePackages.breeze-gtk + kdePackages.breeze.qt5 + kdePackages.breeze + kdePackages.breeze-icons + ]; # fonts fonts.fontconfig.defaultFonts = { diff --git a/overlays/default.nix b/overlays/default.nix index e5344178..8391833c 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -27,16 +27,16 @@ inputs: self: super: { fido2-hid-bridge = super.callPackage ../packages/fido2-hid-bridge.nix {}; python-uhid = super.callPackage ../packages/uhid.nix {}; caddy-desec = super.callPackage ../packages/caddy-desec.nix {}; - ibus-patched = super.unstable.ibus.overrideAttrs (old: { - patches = old.patches ++ [ - # (builtins.head old.patches) - # (builtins.head (builtins.tail old.patches)) + + # todo: remove on next supersonic release + supersonic-wayland = super.supersonic-wayland.overrideAttrs (old: { + patches = (if old?patches then old.patches else []) ++ [ (self.fetchpatch2 { - url = "https://github.com/ibus/ibus/commit/dde00b1b689037e70d79a703aa028f7c3de289e2.patch"; - hash = "sha256-Q5XANWsN7f9Kcno8Icgn8wlXL489YlcrlUrqeA67nWU="; + url = "https://github.com/dweymouth/supersonic/commit/ee742cf34ef7225d345c16354d9c21d72a41bf4a.patch"; + hash = "sha256-kSeEbzrfJ4Pe8JC4rIWlSmADOcjrCRBNWlcO8VfVnn4="; }) ]; + vendorHash = "sha256-Sh3PxRwb6ElSeWzdvIQ+nD9VVGlpUDwxG7nAoGWPTRQ="; }); - }