diff --git a/flake.lock b/flake.lock index e6c17d9..2a45ff2 100644 --- a/flake.lock +++ b/flake.lock @@ -84,11 +84,11 @@ ] }, "locked": { - "lastModified": 1772718834, - "narHash": "sha256-/RtaLou67cDUWO1ewGrEOfvCi3tuz7TjIcawqGHxAcM=", + "lastModified": 1774983044, + "narHash": "sha256-XfoC6wpoDN3CNVY8U6tqpPa0oiHoKpE9G9xYNfI1ZME=", "owner": "HeitorAugustoLN", "repo": "betterfox-nix", - "rev": "4bd94674fbe4949b14207b2c4b7d832760b920e3", + "rev": "a18e05401186690925d5c493240908852cdb43ea", "type": "github" }, "original": { @@ -202,11 +202,11 @@ ] }, "locked": { - "lastModified": 1774834131, - "narHash": "sha256-VmZeKzrqEYTegpn1NISdyuhjpQMX3r3tGwvQrghOL/o=", + "lastModified": 1775923326, + "narHash": "sha256-6RoCtc7k7f/tFPlyL9amGXJGvOyImuFlNIsDOZV9aX4=", "owner": "AvengeMedia", "repo": "dms-plugin-registry", - "rev": "6e2686ab7d7e5d24c23a1089538e22869eba7238", + "rev": "2fb23b8034e2dec8c655eef6ff4abdeef45d6c50", "type": "github" }, "original": { @@ -254,11 +254,11 @@ ] }, "locked": { - "lastModified": 1772408722, - "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", + "lastModified": 1775087534, + "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", + "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", "type": "github" }, "original": { @@ -314,11 +314,11 @@ ] }, "locked": { - "lastModified": 1774861927, - "narHash": "sha256-FB1fbeJQjaTMI2JFAa0LNMaYXiShiYbJA6puGQC4xdg=", + "lastModified": 1775585728, + "narHash": "sha256-8Psjt+TWvE4thRKktJsXfR6PA/fWWsZ04DVaY6PUhr4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "9c4469b68b62e122c3b3d2ab0ed3caeb04ff1ac4", + "rev": "580633fa3fe5fc0379905986543fd7495481913d", "type": "github" }, "original": { @@ -374,11 +374,11 @@ ] }, "locked": { - "lastModified": 1774875830, - "narHash": "sha256-WPYlTmZvVa9dWlAziFkVjBdv1Z6giNIq40O1DxsBmiI=", + "lastModified": 1775425411, + "narHash": "sha256-KY6HsebJHEe5nHOWP7ur09mb0drGxYSzE3rQxy62rJo=", "owner": "nix-community", "repo": "home-manager", - "rev": "7afd8cebb99e25a64a745765920e663478eb8830", + "rev": "0d02ec1d0a05f88ef9e74b516842900c41f0f2fe", "type": "github" }, "original": { @@ -438,7 +438,7 @@ "flake-parts" ], "nixpkgs": [ - "nixpkgs" + "nixpkgs-unstable" ], "systems": [ "systems" @@ -448,11 +448,11 @@ ] }, "locked": { - "lastModified": 1774883035, - "narHash": "sha256-qDBsLwPwx2aCX9vsKxkL4Shkh/NfoXRiHS7wbbQUYRQ=", + "lastModified": 1775934219, + "narHash": "sha256-AR6Hm6rwVRvF3ORRlFD2k0251D3Bul+mmkGMic97fqQ=", "owner": "numtide", "repo": "llm-agents.nix", - "rev": "9faeb868fef42c7b5800b6f6ac642678d4d3e091", + "rev": "7867b4f8040bd7faa84ded4331e3196561e729aa", "type": "github" }, "original": { @@ -468,11 +468,11 @@ ] }, "locked": { - "lastModified": 1774508874, - "narHash": "sha256-Tq967iKyYI1D05IDYW7bG3OQpWHtOvvFoz1mF/rES8g=", + "lastModified": 1775901136, + "narHash": "sha256-5J+54o9YDgAeY1iYuSN7kVt0cTB90x4zO5whqdPg3Tw=", "owner": "natsukium", "repo": "mcp-servers-nix", - "rev": "a58f8c3f34c0ab2facb42ea7074e45ac5cca2b43", + "rev": "59335c80be7b719df7b6e6473f14424b1e6647df", "type": "github" }, "original": { @@ -537,11 +537,11 @@ ] }, "locked": { - "lastModified": 1774840705, - "narHash": "sha256-qHQCPuNj3Rug8NzxK3YhCx8N2RJBNr6nyAS2tqaLYNo=", + "lastModified": 1775877135, + "narHash": "sha256-nAqtUMy22olwyiOJB0CASVrbu5XB5+43GjlbIJ1KuvQ=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "622435f64df8f7294293f2dfd59852614edacda4", + "rev": "f943da038fd668d435c2d17916577f295faa8839", "type": "github" }, "original": { @@ -640,11 +640,11 @@ ] }, "locked": { - "lastModified": 1774839512, - "narHash": "sha256-1b3R3cCujPtSwc90gZjlCUinWo585QQTNjIQ7jlzLxM=", + "lastModified": 1775875492, + "narHash": "sha256-xZXo5nKPMp7GLti08n+jSp8cHcZIV+N9mL1x9lzOkX0=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "f3396cbc8dc9c9fd4e024ca450f0adb1f560b7ba", + "rev": "5a0a7103219f62e46433e193fc2fc7a00568747d", "type": "github" }, "original": { @@ -660,11 +660,11 @@ ] }, "locked": { - "lastModified": 1774762074, - "narHash": "sha256-89Mh4Eb/5stVJX6kGagVMijcU2FmfeD8Qv7UXc5d92o=", + "lastModified": 1775365369, + "narHash": "sha256-DgH5mveLoau20CuTnaU5RXZWgFQWn56onQ4Du2CqYoI=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "bc13aeaed568be76eab84df88ff39261bb52ff70", + "rev": "cef5cf82671e749ac87d69aadecbb75967e6f6c3", "type": "github" }, "original": { @@ -689,11 +689,11 @@ ] }, "locked": { - "lastModified": 1774861939, - "narHash": "sha256-szIJ1F+1ZlXFnSmGEWUU4v6b+inBP/End34wOeyEC1Y=", + "lastModified": 1775902385, + "narHash": "sha256-Y3hDPDxelMYssDK+z1REuhh1I9ykuPGo2IMpnF0muy8=", "owner": "kaylorben", "repo": "nixcord", - "rev": "a2378a550701e720bc4b4d8599344ff58111666e", + "rev": "ebae44d65ab37fccd66e03db7d75fc434e2069f6", "type": "github" }, "original": { @@ -711,18 +711,18 @@ "flake-parts" ], "nixpkgs": [ - "nixpkgs" + "nixpkgs-unstable" ], "optnix": [ "optnix" ] }, "locked": { - "lastModified": 1774427328, - "narHash": "sha256-KtGThScvwNbCm+6XwUKRfpTjJVKV9SHswm29px3m4pw=", + "lastModified": 1775864461, + "narHash": "sha256-6hN7zlkKcm23odUYkqztX3Rrreb0fs9sTbha3k1SUgQ=", "owner": "nix-community", "repo": "nixos-cli", - "rev": "23e7540706eb5271f4ab37b9e52532637d57c63b", + "rev": "220f5a2346d28758145270ae51a94cdca7cafbf0", "type": "github" }, "original": { @@ -749,11 +749,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1774388614, - "narHash": "sha256-cUgsPWt0NJz21K4i/5191mWaizw4XtT20WFqyxzSuQI=", - "rev": "1073dad219cb244572b74da2b20c7fe39cb3fa9e", + "lastModified": 1775811116, + "narHash": "sha256-VLpXI9ENHktgKNXHXFLFLLic6crXitfAcbogAOMG35s=", + "rev": "54170c54449ea4d6725efd30d719c5e505f1c10e", "type": "tarball", - "url": "https://releases.nixos.org/nixos/25.11/nixos-25.11.8107.1073dad219cb/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixos/25.11/nixos-25.11.9067.54170c54449e/nixexprs.tar.xz" }, "original": { "type": "tarball", @@ -762,11 +762,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1774709303, - "narHash": "sha256-D4ely1FsBcvtj/qSrNhSWpq+CUZKNiKwJIxpxnfy9o4=", - "rev": "8110df5ad7abf5d4c0f6fb0f8f978390e77f9685", + "lastModified": 1775710090, + "narHash": "sha256-WGjBfvXv/mcg5yBg+AtK1Q3FHyXfjAAeJROmg7DLYfM=", + "rev": "4c1018dae018162ec878d42fec712642d214fdfa", "type": "tarball", - "url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre971119.8110df5ad7ab/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre977467.4c1018dae018/nixexprs.tar.xz" }, "original": { "type": "tarball", @@ -783,11 +783,11 @@ ] }, "locked": { - "lastModified": 1774884327, - "narHash": "sha256-NSs/GwHCkwbK3AJLCtIDyYkRojyaPKhUwH63U5Uz2cY=", + "lastModified": 1775940704, + "narHash": "sha256-GPiwy/KJooO7oVdHFQzWvI99caFohg0R+PLny3LvN+k=", "owner": "nix-community", "repo": "NUR", - "rev": "333d355904136c1ebb56e83c4b23464bd815653c", + "rev": "f130511dd85d26b1f515c3ced2d2501ba753a2ad", "type": "github" }, "original": { @@ -917,11 +917,11 @@ ] }, "locked": { - "lastModified": 1774760784, - "narHash": "sha256-D+tgywBHldTc0klWCIC49+6Zlp57Y4GGwxP1CqfxZrY=", + "lastModified": 1775682595, + "narHash": "sha256-0E9PohY/VuESLq0LR4doaH7hTag513sDDW5n5qmHd1Q=", "owner": "Mic92", "repo": "sops-nix", - "rev": "8adb84861fe70e131d44e1e33c426a51e2e0bfa5", + "rev": "d2e8438d5886e92bc5e7c40c035ab6cae0c41f76", "type": "github" }, "original": { @@ -957,11 +957,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1774194089, - "narHash": "sha256-SCczWhr8y8aaXVHG+gOGcRahNb0BU1Z5zYZuv9W/nA8=", + "lastModified": 1775935110, + "narHash": "sha256-twTHKUFXjNNsaAvX0KoaIClt+923jXDRbfCd9PC/f0o=", "owner": "nix-community", "repo": "stylix", - "rev": "7c34241d80ea64dd2039bb3a786fb66b4c6261d9", + "rev": "14f248ad1a7668e7858c6d9163608c208b7daf02", "type": "github" }, "original": { @@ -1074,11 +1074,11 @@ ] }, "locked": { - "lastModified": 1773297127, - "narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=", + "lastModified": 1775636079, + "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "71b125cd05fbfd78cab3e070b73544abe24c5016", + "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 2b13f95..edc9c23 100644 --- a/flake.nix +++ b/flake.nix @@ -78,7 +78,7 @@ blueprint.follows = "blueprint"; bun2nix.follows = "bun2nix"; flake-parts.follows = "flake-parts"; - nixpkgs.follows = "nixpkgs"; + nixpkgs.follows = "nixpkgs-unstable"; systems.follows = "systems"; treefmt-nix.follows = "treefmt-nix"; }; @@ -131,7 +131,7 @@ inputs = { flake-compat.follows = "flake-compat"; flake-parts.follows = "flake-parts"; - nixpkgs.follows = "nixpkgs"; + nixpkgs.follows = "nixpkgs-unstable"; optnix.follows = "optnix"; }; }; diff --git a/nix/modules/home-manager/byedpi-service.nix b/nix/modules/home-manager/byedpi-service.nix new file mode 100644 index 0000000..3380ce3 --- /dev/null +++ b/nix/modules/home-manager/byedpi-service.nix @@ -0,0 +1,53 @@ +{ + lib, + config, + pkgs, + ... +}: + +let + cfg = config.services.byedpi; +in +{ + options.services.byedpi = { + enable = lib.mkEnableOption "the ByeDPI service"; + package = lib.mkPackageOption pkgs "byedpi" { }; + extraArgs = lib.mkOption { + type = with lib.types; listOf str; + default = [ ]; + example = [ + "--disorder" + "1" + "--auto=torst" + "--tlsrec" + "1+s" + ]; + description = "Extra command line arguments"; + }; + }; + + config = lib.mkIf cfg.enable { + home.packages = [ cfg.package ]; + + systemd.user.services.byedpi = { + Unit = { + Description = "ByeDPI"; + Documentation = [ "https://github.com/hufrea/byedpi" ]; + }; + + Service = { + ExecStart = lib.escapeShellArgs ([ (lib.getExe cfg.package) ] ++ cfg.extraArgs); + NoNewPrivileges = true; + PrivateTmp = true; + ProtectSystem = "full"; + StandardError = "journal"; + StandardOutput = "null"; + TimeoutStopSec = "5s"; + }; + + Install = { + WantedBy = [ "default.target" ]; + }; + }; + }; +} diff --git a/nix/users/ilkecan/default.nix b/nix/users/ilkecan/default.nix index 95f6515..d8cccd2 100644 --- a/nix/users/ilkecan/default.nix +++ b/nix/users/ilkecan/default.nix @@ -24,7 +24,6 @@ in home.packages = with pkgs; [ unstable.overskride pwvucontrol - wasistlos unstable.telegram-desktop # https://github.com/NixOS/nixpkgs/issues/497549 ruffle # https://github.com/ruffle-rs/ruffle diff --git a/nix/users/ilkecan/internet/instant-messaging/default.nix b/nix/users/ilkecan/internet/instant-messaging/default.nix index 05058df..25e43e5 100644 --- a/nix/users/ilkecan/internet/instant-messaging/default.nix +++ b/nix/users/ilkecan/internet/instant-messaging/default.nix @@ -1,5 +1,6 @@ { lib, + pkgs, ... }: @@ -10,4 +11,8 @@ let in { imports = collectImports ./.; + + home.packages = with pkgs; [ + wasistlos + ]; } diff --git a/nix/users/ilkecan/internet/instant-messaging/discord.nix b/nix/users/ilkecan/internet/instant-messaging/discord.nix index 3399d83..15576f6 100644 --- a/nix/users/ilkecan/internet/instant-messaging/discord.nix +++ b/nix/users/ilkecan/internet/instant-messaging/discord.nix @@ -1,46 +1,25 @@ { + pkgs, ... }: { - # programs.nixcord = { - # enable = true; - # # quickCss = "some CSS"; # quickCSS file - # config = { - # useQuickCss = true; - # themeLinks = [ - # "https://raw.githubusercontent.com/link/to/some/theme.css" - # ]; - # frameless = true; # Set some Vencord/Equicord options - # plugins = { - # hideAttachments.enable = true; # Enable a plugin (works with both Vencord and Equicord) - # ignoreActivities = { # Enable a plugin and set some options - # enable = true; - # ignorePlaying = true; - # ignoreWatching = true; - # ignoredActivities = [ "someActivity" ]; - # }; - # }; - # }; - # dorion = { - # enable = true; - # theme = "dark"; - # zoom = "1.1"; - # blur = "acrylic"; # "none", "blur", or "acrylic" - # sysTray = true; - # openOnStartup = true; - # autoClearCache = true; - # disableHardwareAccel = false; - # rpcServer = true; - # rpcProcessScanner = true; - # pushToTalk = true; - # pushToTalkKeys = ["RControl"]; - # desktopNotifications = true; - # unreadBadge = true; - # }; - # extraConfig = { - # # Some extra JSON config here - # # ... - # }; - # }; + programs.nixcord = { + enable = true; + dorion = { + enable = true; + package = pkgs.unstable.dorion; # NOTE: building the default package fails with: substituteInPlace called without any files to operate on (files must come before options!) + cacheCss = true; + desktopNotifications = true; + proxyUri = "socks5://localhost:1080"; + startMaximized = true; + sysTray = true; + + extraSettings = { + }; + + keybinds = { + }; + }; + }; } diff --git a/nix/users/ilkecan/llm/claude-code.nix b/nix/users/ilkecan/llm/claude-code.nix index 41b35d2..cc57a74 100644 --- a/nix/users/ilkecan/llm/claude-code.nix +++ b/nix/users/ilkecan/llm/claude-code.nix @@ -19,16 +19,9 @@ programs = { claude-code = { enable = true; - package = - (pkgs.llm-agents.claude-code.override { - disableTelemetry = true; - }).overrideAttrs - (prev: { - # TODO: remove this after 26.05 - meta = prev.meta // { - maintainers = [ ]; - }; # to fix `attribute 'ryoppippi' missing` - }); + package = pkgs.llm-agents.claude-code.override { + disableTelemetry = true; + }; enableMcpIntegration = true; settings = { }; diff --git a/nix/users/ilkecan/networking/default.nix b/nix/users/ilkecan/networking/default.nix index 0a41cf4..82255d3 100644 --- a/nix/users/ilkecan/networking/default.nix +++ b/nix/users/ilkecan/networking/default.nix @@ -30,6 +30,26 @@ in }; services = { + byedpi = { + enable = true; + extraArgs = [ + "-Ku" + "-a5" + "-An" + "-Kt" + "-V443" + "-o1" + "-An" + "-f-1" + "-t6" + "-T0.5" + "-Ars" + "-d0+sm" + "-t6" + "-At" + "-r1+s" + ]; + }; network-manager-applet.enable = true; }; } diff --git a/nix/users/ilkecan/wayland/niri/window-rules.nix b/nix/users/ilkecan/wayland/niri/window-rules.nix index 644ea63..cbd207a 100644 --- a/nix/users/ilkecan/wayland/niri/window-rules.nix +++ b/nix/users/ilkecan/wayland/niri/window-rules.nix @@ -5,6 +5,12 @@ { programs.niri.settings.window-rules = [ + { + matches = [ { app-id = "^Dorion$"; } ]; + block-out-from = "screen-capture"; + open-maximized = true; + open-on-workspace = "messaging"; + } { matches = [ { app-id = "^alacritty-config$"; } ]; open-maximized = true;