diff --git a/flake.lock b/flake.lock index 8c9fb05..8a76cc0 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "fromYaml": "fromYaml" }, "locked": { - "lastModified": 1746562888, - "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", + "lastModified": 1755819240, + "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=", "owner": "SenchoPens", "repo": "base16.nix", - "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", + "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6", "type": "github" }, "original": { @@ -38,11 +38,11 @@ "base16-helix": { "flake": false, "locked": { - "lastModified": 1748408240, - "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=", + "lastModified": 1752979451, + "narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e", + "rev": "27cf1e66e50abc622fb76a3019012dc07c678fac", "type": "github" }, "original": { @@ -79,11 +79,11 @@ ] }, "locked": { - "lastModified": 1760299432, - "narHash": "sha256-OEsLiZvC+WOssGIzUx0miuKsODlp7IGax8XVhNCw8wY=", + "lastModified": 1762776565, + "narHash": "sha256-Trd4uVhg9OggkxBMn3qUv74z9rNZE/s7iT7llTYQ0ZU=", "owner": "HeitorAugustoLN", "repo": "cosmic-manager", - "rev": "a61b25313a83d32de4769fbb4026d93bde00b256", + "rev": "f26cdfef90b8db37db913f7c72a609c997700e59", "type": "github" }, "original": { @@ -95,11 +95,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1748383148, - "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=", + "lastModified": 1758112371, + "narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf", + "rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d", "type": "github" }, "original": { @@ -137,11 +137,11 @@ ] }, "locked": { - "lastModified": 1759362264, - "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", + "lastModified": 1763759067, + "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", + "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", "type": "github" }, "original": { @@ -158,11 +158,11 @@ ] }, "locked": { - "lastModified": 1749398372, - "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", + "lastModified": 1756770412, + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", + "rev": "4524271976b625a4a605beefd893f270620fd751", "type": "github" }, "original": { @@ -208,18 +208,20 @@ "gnome-shell": { "flake": false, "locked": { - "lastModified": 1744584021, - "narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=", + "host": "gitlab.gnome.org", + "lastModified": 1762869044, + "narHash": "sha256-nwm/GJ2Syigf7VccLAZ66mFC8mZJFqpJmIxSGKl7+Ds=", "owner": "GNOME", "repo": "gnome-shell", - "rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae", - "type": "github" + "rev": "680e3d195a92203f28d4bf8c6e8bb537cc3ed4ad", + "type": "gitlab" }, "original": { + "host": "gitlab.gnome.org", "owner": "GNOME", - "ref": "48.1", + "ref": "gnome-49", "repo": "gnome-shell", - "type": "github" + "type": "gitlab" } }, "home-manager": { @@ -229,16 +231,16 @@ ] }, "locked": { - "lastModified": 1758463745, - "narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=", + "lastModified": 1764736872, + "narHash": "sha256-4mqLegNQeD54X7enm6EI9aNWl6CaIfyhl5PaYoGYwqk=", "owner": "nix-community", "repo": "home-manager", - "rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3", + "rev": "3366918730bb6b699395a9d237397f1d710a94b3", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-25.05", + "ref": "release-25.11", "repo": "home-manager", "type": "github" } @@ -276,11 +278,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1756852730, - "narHash": "sha256-qPere4RBHoZxiEGl8zXU8gjroZg4gkYGEwaAbKmL4vE=", + "lastModified": 1764554060, + "narHash": "sha256-vewrwjGqublgja1bvlIybRnlltKHLNlnP7WYDg+9h1Y=", "owner": "musnix", "repo": "musnix", - "rev": "7ccc92050e43dc92309396c6f2fe1f542214a242", + "rev": "599562080b2901046829ca69e0d1461041d27b32", "type": "github" }, "original": { @@ -301,11 +303,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1761187190, - "narHash": "sha256-5ln16iOeWpEX5MO7M3jzFEBNFE42gpFsCvSvPjtF6tQ=", + "lastModified": 1764721873, + "narHash": "sha256-EHMH54iI7MYYb7mUBE6JUtbbVhHTF7jtkuZ0Lo1bkBg=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "77a07f5d3b775fba67550c38122ebb8d3ee3ba1c", + "rev": "f3935696628433007c582fc323730ba18f137a1d", "type": "github" }, "original": { @@ -334,11 +336,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1760940149, - "narHash": "sha256-KbM47vD6E0cx+v4jYQZ8mD5N186AKm2CQlyh34TW58U=", + "lastModified": 1764678181, + "narHash": "sha256-TMs2Px19UAG06zITXAH7efl7X8G7BDyMCy1ilX/8wy0=", "owner": "YaLTeR", "repo": "niri", - "rev": "b3245b81a6ed8edfaf5388a74d2e0a23c24941e5", + "rev": "f874b2fce50e0f7ba21e270c86cfa168a1506b82", "type": "github" }, "original": { @@ -349,11 +351,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1764242076, + "narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4", "type": "github" }, "original": { @@ -365,11 +367,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1761016216, - "narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=", + "lastModified": 1764560356, + "narHash": "sha256-M5aFEFPppI4UhdOxwdmceJ9bDJC4T6C6CzCK1E2FZyo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "481cf557888e05d3128a76f14c76397b7d7cc869", + "rev": "6c8f0cca84510cc79e09ea99a299c9bc17d03cb6", "type": "github" }, "original": { @@ -381,26 +383,26 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1761016216, - "narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=", + "lastModified": 1764522689, + "narHash": "sha256-SqUuBFjhl/kpDiVaKLQBoD8TLD+/cTUzzgVFoaHrkqY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "481cf557888e05d3128a76f14c76397b7d7cc869", + "rev": "8bb5646e0bed5dbd3ab08c7a7cc15b75ab4e1d0f", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-25.05", + "ref": "nixos-25.11", "type": "indirect" } }, "nixpkgs_3": { "locked": { - "lastModified": 1761114652, - "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", + "lastModified": 1764517877, + "narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", + "rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c", "type": "github" }, "original": { @@ -420,16 +422,16 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1760795571, - "narHash": "sha256-gi+tWWAknKuTNso3yMeKsT9nj0jx+tuYF7g7nmLUWT8=", + "lastModified": 1764755396, + "narHash": "sha256-f6UrlGdwg+TIxxyDjeq1M7WGNZH/vpbOm0yzPgkMy9c=", "owner": "nix-community", "repo": "nixvim", - "rev": "6c945865ba5de87fa2d0dd8a0e66ca572ddf9043", + "rev": "64d9e2616f4ee2acee380d61ccf1f3d610e7e969", "type": "github" }, "original": { "owner": "nix-community", - "ref": "nixos-25.05", + "ref": "nixos-25.11", "repo": "nixvim", "type": "github" } @@ -443,15 +445,14 @@ "nixpkgs": [ "stylix", "nixpkgs" - ], - "treefmt-nix": "treefmt-nix" + ] }, "locked": { - "lastModified": 1751320053, - "narHash": "sha256-3m6RMw0FbbaUUa01PNaMLoO7D99aBClmY5ed9V3vz+0=", + "lastModified": 1758998580, + "narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=", "owner": "nix-community", "repo": "NUR", - "rev": "cbde1735782f9c2bb2c63d5e05fba171a14a4670", + "rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728", "type": "github" }, "original": { @@ -470,11 +471,11 @@ ] }, "locked": { - "lastModified": 1760652422, - "narHash": "sha256-C88Pgz38QIl9JxQceexqL2G7sw9vodHWx1Uaq+NRJrw=", + "lastModified": 1761730856, + "narHash": "sha256-t1i5p/vSWwueZSC0Z2BImxx3BjoUDNKyC2mk24krcMY=", "owner": "NuschtOS", "repo": "search", - "rev": "3ebeebe8b6a49dfb11f771f761e0310f7c48d726", + "rev": "e29de6db0cb3182e9aee75a3b1fd1919d995d85b", "type": "github" }, "original": { @@ -503,11 +504,11 @@ ] }, "locked": { - "lastModified": 1760998189, - "narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=", + "lastModified": 1764483358, + "narHash": "sha256-EyyvCzXoHrbL467YSsQBTWWg4sR96MH1sPpKoSOelB4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3", + "rev": "5aca6ff67264321d47856a2ed183729271107c9c", "type": "github" }, "original": { @@ -537,16 +538,16 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1760478648, - "narHash": "sha256-Y4l+Y3zUvqIDbyLrtOrzNvp1o50Fp9TYK+iwtwweFU4=", + "lastModified": 1764695017, + "narHash": "sha256-hJVPGt8MqRL0WHkNRclT4J1rJMurYsPw7dL8UwlFoaI=", "owner": "danth", "repo": "stylix", - "rev": "1ec254101285777db13922303cc47ded06e10bb3", + "rev": "a1e741dbce6e846129777c2a017e1354bc87b92b", "type": "github" }, "original": { "owner": "danth", - "ref": "release-25.05", + "ref": "release-25.11", "repo": "stylix", "type": "github" } @@ -632,11 +633,11 @@ "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1750770351, - "narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=", + "lastModified": 1757716333, + "narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=", "owner": "tinted-theming", "repo": "schemes", - "rev": "5a775c6ffd6e6125947b393872cde95867d85a2a", + "rev": "317a5e10c35825a6c905d912e480dfe8e71c7559", "type": "github" }, "original": { @@ -648,11 +649,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1751159871, - "narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=", + "lastModified": 1757811970, + "narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "bded5e24407cec9d01bd47a317d15b9223a1546c", + "rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e", "type": "github" }, "original": { @@ -664,11 +665,11 @@ "tinted-zed": { "flake": false, "locked": { - "lastModified": 1751158968, - "narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=", + "lastModified": 1757811247, + "narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=", "owner": "tinted-theming", "repo": "base16-zed", - "rev": "86a470d94204f7652b906ab0d378e4231a5b3384", + "rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e", "type": "github" }, "original": { @@ -677,28 +678,6 @@ "type": "github" } }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "stylix", - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, "xwayland-satellite-stable": { "flake": false, "locked": { @@ -719,11 +698,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1761173223, - "narHash": "sha256-FumZh+fPRaKXkl9Y1uTh5KV7Io/AyOZso+UkqLhLArs=", + "lastModified": 1764721075, + "narHash": "sha256-ChH4nq0cMEEkzkHqKlQt5Z7wxrk8ybcEHuA1YKAYmV0=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "bf745144acda1343934e9a094cf9458a54d57889", + "rev": "1b918e29b419e89910014054e8b71d54c9235ea5", "type": "github" }, "original": { @@ -737,11 +716,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1761192367, - "narHash": "sha256-HdAtNWms1rrswlfuX5NUR9RYCMLUJHEzF986hQ0tUCw=", + "lastModified": 1764648680, + "narHash": "sha256-B/nmawJ75/951Xs9ludSxDVd/txFY+odmcbinySqMQo=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "1ce32754f78d1d7d6bf9cb44a48a06dac8bb6785", + "rev": "897df2f2ad4880563ce801fa29f348a4e98f0a20", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f7c8766..dc82f00 100644 --- a/flake.nix +++ b/flake.nix @@ -1,14 +1,14 @@ { description = "A flake using my config"; inputs = { - nixpkgs.url = "nixpkgs/nixos-25.05"; + nixpkgs.url = "nixpkgs/nixos-25.11"; musnix.url = "github:musnix/musnix"; home-manager = { - url = "github:nix-community/home-manager/release-25.05"; + url = "github:nix-community/home-manager/release-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; stylix = { - url = "github:danth/stylix/release-25.05"; + url = "github:danth/stylix/release-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { @@ -16,7 +16,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; nixvim = { - url = "github:nix-community/nixvim/nixos-25.05"; + url = "github:nix-community/nixvim/nixos-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; zen-browser = { @@ -67,13 +67,11 @@ ./hardware/framework-13.nix ./nixos/workstation.nix ./nixos/modules/work.nix - ./nixos/programs/cosmic.nix ./nixos/programs/niri.nix ]; home-modules = [ ./home/programs/work.nix ./home/programs/graphical.nix - ./home/desktop/cosmic/. ]; }; diff --git a/hardware/framework-13.nix b/hardware/framework-13.nix index 120e188..dd70137 100644 --- a/hardware/framework-13.nix +++ b/hardware/framework-13.nix @@ -57,6 +57,8 @@ networking.hostName = "framework-13"; + services.hardware.bolt.enable = true; + system.stateVersion = "24.11"; # do not change home-manager.users.${config.user}.imports = [ { @@ -77,6 +79,41 @@ } ''; }; + + programs.niri.settings.outputs = { + # Laptop display + "eDP-1" = { + mode = { + width = 2256; + height = 1504; + refresh = 59.999; + }; + }; + "HP Inc. HP 24x 1CR9500W9Q" = { + mode = { + width = 1920; + height = 1080; + refresh = 144.001; + }; + scale = 1.0; + position = { + x = 2256; + y = 0; + }; + }; + "Ancor Communications Inc ASUS VS228 F3LMTF154813" = { + mode = { + width = 1920; + height = 1080; + refresh = 60.0; + }; + scale = 1.0; + position = { + x = 2256 + 1920; + y = 0; + }; + }; + }; } ]; diff --git a/hardware/zenix.nix b/hardware/zenix.nix index daba723..5d950c5 100644 --- a/hardware/zenix.nix +++ b/hardware/zenix.nix @@ -68,10 +68,6 @@ hardware.amdgpu = { opencl.enable = true; - amdvlk = { - enable = true; - support32Bit.enable = true; - }; }; networking.hostName = "zenix"; diff --git a/home/default.nix b/home/default.nix index 824d722..b68866f 100644 --- a/home/default.nix +++ b/home/default.nix @@ -29,7 +29,7 @@ mosh ripgrep usbutils - du-dust + dust htop btop libsixel diff --git a/home/desktop/utils/waybar.nix b/home/desktop/utils/waybar.nix index 5248e7e..2c3d23c 100644 --- a/home/desktop/utils/waybar.nix +++ b/home/desktop/utils/waybar.nix @@ -42,17 +42,12 @@ on-click = "pwvucontrol"; }; mpris = { - format = "{player_icon} {title}"; - format-paused = "⏸️ {player_icon} {title}"; - player-icons = { - default = "▢️"; - mpd = "🎡"; - kdeconnect = "☎️"; - }; + format = "▢️ {title}"; + format-paused = "⏸️ {title}"; }; battery = { format = "{icon} {capacity}%"; - format-icons = ["🀏" "πŸͺ«" "πŸ”‹" "πŸ”‹"]; + format-icons = ["πŸͺ«" "πŸ”‹" "πŸ”‹"]; format-charging = "πŸ”Œ {capacity}%"; states = { warning = 30; diff --git a/home/modules/email.nix b/home/modules/email.nix index ccd0249..5a55dd6 100644 --- a/home/modules/email.nix +++ b/home/modules/email.nix @@ -35,9 +35,9 @@ in { } ]; - programs.git = { - userName = config.home.userFullname; - userEmail = cfg.email; + programs.git.settings.user = { + name = config.home.userFullname; + email = cfg.email; }; accounts.email.accounts.${cfg.email} = lib.mkIf cfg.terminal { diff --git a/home/programs/gamer.nix b/home/programs/gamer.nix index e58aa94..99e8627 100644 --- a/home/programs/gamer.nix +++ b/home/programs/gamer.nix @@ -2,7 +2,7 @@ home.packages = with pkgs; [ # Games airshipper - minetest + luanti superTuxKart xonotic diff --git a/home/programs/git.nix b/home/programs/git.nix index cc2b2ab..f950f88 100644 --- a/home/programs/git.nix +++ b/home/programs/git.nix @@ -6,11 +6,11 @@ }: { programs.git = { enable = true; - extraConfig = { + settings = { rerere.enabled = true; rebase.updateRefs = true; }; - aliases = { + settings.aliases = { ui = "!lazygit"; graph = "log --oneline --all --graph"; amend = "commit --amend --no-edit"; @@ -44,10 +44,8 @@ git fetch origin $opts ''}/bin/bare-clone"; }; - difftastic = { - enable = true; - }; }; + programs.difftastic = {enable = true;}; programs.lazygit = { enable = true; diff --git a/home/programs/graphical.nix b/home/programs/graphical.nix index 9cb3e2c..c21ccd5 100644 --- a/home/programs/graphical.nix +++ b/home/programs/graphical.nix @@ -28,7 +28,7 @@ # other element-desktop - bitwarden + bitwarden-desktop inputs.zen-browser.packages.x86_64-linux.default ]; diff --git a/home/programs/personal/default.nix b/home/programs/personal/default.nix index e1ec3a1..8d4c32d 100644 --- a/home/programs/personal/default.nix +++ b/home/programs/personal/default.nix @@ -38,7 +38,6 @@ krita organicmaps anki - bookworm jellyfin-mpv-shim ]; } diff --git a/home/programs/work.nix b/home/programs/work.nix index 65a96ff..410713c 100644 --- a/home/programs/work.nix +++ b/home/programs/work.nix @@ -1,6 +1,7 @@ { config, pkgs, + lib, ... }: let modifier = config.windowManager.modifierKey; @@ -13,7 +14,7 @@ in { email = "tristan.beedell@cryoserver.com"; terminal = false; }; - programs.git.extraConfig = { + programs.git.settings.extraConfig = { "includeIf \"gitdir:~/Documents/personal/\"" = { path = "~/Documents/personal/.gitconfig"; }; @@ -43,13 +44,8 @@ in { home.sessionVariables = { CYPRESS_INSTALL_BINARY = 0; CYPRESS_RUN_BINARY = "${pkgs.cypress}/bin/Cypress"; - MONGOMS_SYSTEM_BINARY = "${pkgs.callPackage ../../pkgs/mongodb.nix pkgs}/bin/mongod"; }; - gtk.gtk3.bookmarks = [ - "file:///home/tristan/OneDrive/ OneDrive" - ]; - programs.vscode = { package = pkgs.vscode; profiles.default.extensions = with pkgs; [ diff --git a/home/programs/zsh.nix b/home/programs/zsh.nix index 2978de1..e5056e5 100644 --- a/home/programs/zsh.nix +++ b/home/programs/zsh.nix @@ -7,7 +7,7 @@ programs.starship.enable = true; programs.zsh = { enable = true; - dotDir = ".config/zsh"; + dotDir = "${config.xdg.configHome}/zsh"; history = { path = "${config.xdg.dataHome}/zsh/zsh_history"; }; diff --git a/home/workstation.nix b/home/workstation.nix index 2e9b0c2..f4e68c0 100644 --- a/home/workstation.nix +++ b/home/workstation.nix @@ -28,7 +28,6 @@ playerctl quickemu devenv - bottles ]; services.udiskie = { diff --git a/lib/mkconf.nix b/lib/mkconf.nix index 972a413..2c40ce7 100644 --- a/lib/mkconf.nix +++ b/lib/mkconf.nix @@ -30,7 +30,7 @@ in users.${user}.imports = home-modules ++ [ - nixvim.homeManagerModules.nixvim + nixvim.homeModules.nixvim ../home/. { options.home.userFullname = nixpkgs.lib.mkOption {default = userFullname;}; diff --git a/lib/nixvim.nix b/lib/nixvim.nix index 1248388..a716d1e 100644 --- a/lib/nixvim.nix +++ b/lib/nixvim.nix @@ -294,7 +294,6 @@ in { }; yamlls.enable = true; gopls.enable = true; - ansiblels.enable = true; }; keymaps = { lspBuf = { @@ -359,27 +358,6 @@ in { enable = true; folding = true; }; - treesitter-textobjects = { - enable = true; - select = { - enable = true; - lookahead = true; - keymaps = { - "af" = { - query = "@function.outer"; - desc = "Function Outer"; - }; - "ac" = { - query = "@comment.outer"; - desc = "Comment Outer"; - }; - "if" = { - query = "@function.inner"; - desc = "Function Inner"; - }; - }; - }; - }; oil = { enable = true; diff --git a/nixos/modules/work.nix b/nixos/modules/work.nix index cd358c3..2669124 100644 --- a/nixos/modules/work.nix +++ b/nixos/modules/work.nix @@ -11,11 +11,10 @@ in { "vscode" "steam-run" "postman" - "drawio" # the creator had a hissyfit over a negative review: https://github.com/jgraph/drawio/discussions/4623 + "drawio" ]; nixpkgs.config.permittedInsecurePackages = [ - "openssl-1.1.1w" # required for mongodb "electron-27.3.11" ]; @@ -30,8 +29,6 @@ in { nixpkgs.overlays = [(import ../../lib/cypress.nix)]; - services.onedrive.enable = true; - users.users.${user}.extraGroups = ["docker"]; virtualisation.docker = { enable = true; diff --git a/nixos/services/authentik.nix b/nixos/services/authentik.nix index 3f95bab..186ca42 100644 --- a/nixos/services/authentik.nix +++ b/nixos/services/authentik.nix @@ -10,7 +10,7 @@ }; authentik-config = { autoStart = true; - image = "ghcr.io/goauthentik/server:2025.6.3"; + image = "ghcr.io/goauthentik/server:2025.8.4"; volumes = ["/home/tristan/pods/authentik/media:/media"]; environment = { AUTHENTIK_POSTGRESQL__USER = postgres.user; diff --git a/nixos/services/grafana.nix b/nixos/services/grafana.nix index c6790ba..9c8497d 100644 --- a/nixos/services/grafana.nix +++ b/nixos/services/grafana.nix @@ -1,15 +1,27 @@ -{config, lib, pkgs, ...}: let +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.grafana; secrets = config.sops.secrets; - mkDashboards = dashboards: pkgs.symlinkJoin { - name = "dashboards"; - paths = map mkDashboard dashboards; - }; - mkDashboard = {name, url, sha256, patch ? lib.id}: pkgs.writeTextFile { - inherit name; - text = patch (builtins.readFile ( builtins.fetchurl {inherit url sha256;} )); - destination = "/dash/${name}.json"; - }; + mkDashboards = dashboards: + pkgs.symlinkJoin { + name = "dashboards"; + paths = map mkDashboard dashboards; + }; + mkDashboard = { + name, + url, + sha256, + patch ? lib.id, + }: + pkgs.writeTextFile { + inherit name; + text = patch (builtins.readFile (builtins.fetchurl {inherit url sha256;})); + destination = "/dash/${name}.json"; + }; in { sops.secrets."grafana/oidc_client_secret" = { owner = "grafana"; @@ -34,24 +46,26 @@ in { role_attribute_path = "contains(groups[*], 'Grafana Admins') && 'Admin' || contains(groups[*], 'Grafana Editors') && 'Editor' || 'Viewer'"; }; }; - provision.dashboards.settings.providers = [{ - name = "Node Exporter"; - type = "file"; - options.path = mkDashboards [ + provision.dashboards.settings.providers = [ { - name = "node-exporter"; - url = "https://grafana.com/api/dashboards/1860/revisions/37/download"; - sha256 = "sha256:0qza4j8lywrj08bqbww52dgh2p2b9rkhq5p313g72i57lrlkacfl"; - # https://github.com/rfmoz/grafana-dashboards/issues/169 - patch = builtins.replaceStrings ["$__rate_interval"] ["$__range"]; + name = "Node Exporter"; + type = "file"; + options.path = mkDashboards [ + { + name = "node-exporter"; + url = "https://grafana.com/api/dashboards/1860/revisions/37/download"; + sha256 = "sha256:0qza4j8lywrj08bqbww52dgh2p2b9rkhq5p313g72i57lrlkacfl"; + # https://github.com/rfmoz/grafana-dashboards/issues/169 + patch = builtins.replaceStrings ["$__rate_interval"] ["$__range"]; + } + { + name = "synapse"; + url = "https://raw.githubusercontent.com/element-hq/synapse/refs/heads/master/contrib/grafana/synapse.json"; + sha256 = "sha256:0yzj1i4zbjy9cms75ip6ad8qyjgv9kka42gxsbzyzr2syznsmqw0"; + } + ]; } - { - name = "synapse"; - url = "https://raw.githubusercontent.com/element-hq/synapse/refs/heads/master/contrib/grafana/synapse.json"; - sha256 = "sha256:16fl81sx1by0wldw4vda0zr1pvbq1dpih1fikzwlvmk63mpc80kb"; - } - ]; - }]; + ]; }; services.nginx.virtualHosts = { ${cfg.settings.server.domain} = { diff --git a/nixos/services/jellyfin.nix b/nixos/services/jellyfin.nix index 91c4347..3a74d6f 100644 --- a/nixos/services/jellyfin.nix +++ b/nixos/services/jellyfin.nix @@ -1,10 +1,11 @@ -{ +{pkgs, ...}: { users.groups.media = {}; services.jellyfin = { enable = true; group = "media"; # access to user stuff openFirewall = true; }; + environment.variables.JELLYFIN_FFMPEG = "${pkgs.jellyfin-ffmpeg}/bin/ffmpeg"; services.nginx.virtualHosts."movies.tristans.cloud" = { forceSSL = true; enableACME = true; diff --git a/nixos/services/mautrix/signal.nix b/nixos/services/mautrix/signal.nix index 45f45d1..10a782a 100644 --- a/nixos/services/mautrix/signal.nix +++ b/nixos/services/mautrix/signal.nix @@ -1,10 +1,13 @@ -{config, lib, ...}: let +{ + config, + lib, + ... +}: let inherit (import ./lib.nix) toAppRegistration; inherit (config.sops) templates placeholder; in { - virtualisation.oci-containers.containers.mautrix-signal = { - image = "dock.mau.dev/mautrix/signal:v0.8.3"; + image = "dock.mau.dev/mautrix/signal:v25.10"; dependsOn = ["mautrix-signal-psql"]; volumes = [ "/home/tristan/pods/signal-bridge/mautrix-signal:/data:z" @@ -15,16 +18,15 @@ in { ]; }; -# when you get around to backing this up -# 1. stop the server. -# 2. backup the db. -# 3. migrate to newer version of postgres -# 4. migrate db to local + # when you get around to backing this up + # 1. stop the server. + # 2. backup the db. + # 3. migrate to newer version of postgres + # 4. migrate db to local virtualisation.oci-containers.containers.mautrix-signal-psql = { image = "docker.io/postgres:14-alpine"; - # ports = [ "127.0.0.1:5435:5432" ]; - ports = [ "5435:5432" ]; - volumes = [ "/home/tristan/pods/signal-bridge/db:/var/lib/postgresql/data" ]; + ports = ["5435:5432"]; + volumes = ["/home/tristan/pods/signal-bridge/db:/var/lib/postgresql/data"]; environmentFiles = [templates."mautrix-signal/psql.env".path]; }; sops.templates = { @@ -58,5 +60,4 @@ in { services.matrix-synapse.settings.app_service_config_files = [ templates."mautrix-signal/appservice.yaml".path ]; - } diff --git a/nixos/services/mautrix/whatsapp.nix b/nixos/services/mautrix/whatsapp.nix index 59e6da8..786e4d9 100644 --- a/nixos/services/mautrix/whatsapp.nix +++ b/nixos/services/mautrix/whatsapp.nix @@ -1,5 +1,4 @@ -{config, ...}: -{ +{config, ...}: { nixpkgs.config.permittedInsecurePackages = [ "olm-3.2.16" ]; @@ -7,9 +6,9 @@ enable = true; registerToSynapse = true; settings = { - appservice.database = { - type = "sqlite3"; - uri = "/var/lib/mautrix-whatsapp/mautrix-whatsapp.db"; + database = { + type = "sqlite3-fk-wal"; + uri = "file:/var/lib/mautrix-whatsapp/mautrix-whatsapp.db?_txlock=immediate"; }; homeserver = { address = "http://localhost:8008"; @@ -20,12 +19,13 @@ "tristans.cloud" = "user"; "@tristan:tristans.cloud" = "admin"; }; - encryption = { - allow = true; - appservice = false; - }; personal_filtering_spaces = true; }; + encryption = { + allow = true; + appservice = false; + pickle_key = "maunium.net/go/mautrix-whatsapp"; + }; }; }; } diff --git a/nixos/services/monero.nix b/nixos/services/monero.nix index c502f0d..6fdf924 100644 --- a/nixos/services/monero.nix +++ b/nixos/services/monero.nix @@ -8,9 +8,13 @@ extraConfig = '' prune-blockchain=1 confirm-external-bind=1 - out-peers=64 # This will enable much faster sync and tx awareness; the default 8 is suboptimal nowadays - in-peers=1024 # The default is unlimited; we prefer to put a cap on this + out-peers=8 + in-peers=16 zmq-pub=tcp://localhost:18083 + add-priority-node=p2pmd.xmrvsbeast.com:18080 + add-priority-node=nodes.hashvault.pro:18080 + enable-dns-blocklist=1 + enforce-dns-checkpointing=1 ''; }; } diff --git a/nixos/services/synapse/default.nix b/nixos/services/synapse/default.nix index 229063e..c80c8d8 100644 --- a/nixos/services/synapse/default.nix +++ b/nixos/services/synapse/default.nix @@ -36,6 +36,11 @@ in { "synapse/secrets.yaml" = { owner = "matrix-synapse"; content = builtins.toJSON { + jwt_config = { + enabled = true; + secret = sops.placeholder."synapse/oidc_client_secret"; + algorithm = "RS256"; + }; oidc_providers = [ { idp_id = "authentik"; @@ -84,6 +89,21 @@ in { ]; } ]; + # log_config = pkgs.writeTextFile { + # name = "synapse-logging.json"; + # text = builtins.toJSON { + # version = 1; + # root = { + # level = "INFO"; + # handlers = ["console"]; + # }; + # formatters.precise.format = "%(levelname)s - %(name)s - %(message)s"; + # handlers.console = { + # class = "logging.StreamHandler"; + # formatter = "precise"; + # }; + # }; + # }; }; }; diff --git a/nixos/workstation.nix b/nixos/workstation.nix index daf35cd..8d36e30 100644 --- a/nixos/workstation.nix +++ b/nixos/workstation.nix @@ -22,6 +22,7 @@ hardware.bluetooth.enable = true; services.blueman.enable = true; + services.power-profiles-daemon.enable = true; services.gnome.gnome-keyring.enable = true; @@ -68,7 +69,7 @@ }; emoji = { - package = pkgs.noto-fonts-emoji; + package = pkgs.noto-fonts-color-emoji; name = "Noto Color Emoji"; }; }; diff --git a/pkgs/mpv-skipsilence.nix b/pkgs/mpv-skipsilence.nix index 1391603..c7e318b 100644 --- a/pkgs/mpv-skipsilence.nix +++ b/pkgs/mpv-skipsilence.nix @@ -10,7 +10,7 @@ buildLua { src = fetchgit { url = "https://codeberg.org/ferreum/mpv-skipsilence.git"; - hash = "sha256-+sOMWFFumJUk5gFE1iCTvWub3PWzYOkulXJLCGS4fYA="; + hash = "sha256-XmrVZRJAQctIiuznw/fQzs+9+QKOyTnJI2JOEWBWnVA="; }; passthru.updateScript = gitUpdater {};